完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用AT89C51设计转速测量系统,需要做一个串口通信,在proteus上的虚拟终端显示,但是C51的两个定时器已经被转速测量程序给占用了,我现在如何把其中一个定时器转换为用来设置波特率的
附上我现在还没加串口通信的代码,现在本地能显示 #include #define uchar unsigned char #define uint unsigned int uint mm=00; uint num; uchar code table[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,}; delay(uint m) { uint i,j; for(i=m;i>0;i--) for(j=60;j>0;j--); } xian_shi() { uchar qian,bei,shi,ge; uint jj; jj=mm; qian=jj/1000; bei=jj%1000/100; shi=jj%100/10; ge=jj%10; P2=0x10; P0=table[qian]; delay(1); P2=0x20; P0=table[bei]; delay(1); P2=0x40; P0=table[shi]; delay(1); P2=0x80; P0=table[ge]; delay(1); //P2=0; } timer_init() { EA=1; ET0=1; ET1=1; TMOD=0X51; TH0=(65535-50000)/256; TL0=(65535-50000)%256; TH1=0; TL1=0; TR0=1; TR1=1; } main() { timer_init(); P0=0; while(1) { xian_shi(); delay(2); } } void timer0() interrupt 1 { TR0=0; TH0=(65535-50000)/256; TL0=(65535-50000)%256; if(num==19) {TR1=0; num=0; mm=0; mm|=TH1; mm=(mm<<8)|TL1; TH1=0; TL1=0; TR0=1; TR1=1;} else { num++; TR1=1; TR0=1; } } void timer1() interrupt 3 { TR1=0; TR0=0; mm=0; }没办法要求不能换单片机哎~~ 求大神指教,必有重谢~~ 最好能帮我把串口通信的程序加进去~~ 我现在的想法是通过C51接MAX232接COMPIM再接虚拟终端然后显示,求大神指正 急求急求~~必有重谢 |
|
相关推荐
2个回答
|
|
分时复用,或者外接串口转换芯片,芯片资源就那么多
|
|
|
|
支持支持,谢谢楼主!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-搭建自己的ubuntu系统之ubuntu系统安装
470 浏览 0 评论
国产芯上运行TinyMaxi轻量级的神经网络推理库-米尔基于芯驰D9国产商显板
497 浏览 0 评论
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
1782 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
1135 浏览 0 评论
1496 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10649 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-13 13:12 , Processed in 0.502211 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191