No.16213 作者:淮工王大师 邮件:wuliwb@yahoo.com.cn ID:108988 登陆:4次 文章数:4篇 最后登陆IP:222.45.156.30 最后登陆:2009/12/9 20:40:05 注册:2008/4/24 10:04:02 财富:113 发帖时间:2008/10/27 8:35:33 发贴者IP:122.194.216.251 标题:淮工王大师:利用51的计数器T0外部计数测频,怎么误差很大 [讨论] 摘要:No.16213利用51的计数器T0外部计数测频,怎么误差很大 [讨论] #include <reg51.h> #include <1602.h> bit flag=1; int count ; unsigned l,h; char msg[4]="0000"; void uchar2string(int cons) { int b,a; msg[3]=cons%10+'0'; b=cons/10; msg[2]=b%10+'0'; a=b/10; msg[1]=a%10+'0'; msg[0]=a/10+'0'; } void main() { TMOD=0X15; TH1=0X0; TL1=0X0; TH0=0X0; TL0=0X0; ET1=1; EA=1; TR1=1; TR0=1; while(1) { if(flag==1) { flag=0; uchar2string(count); InitLcd(); DisplayMsg(msg); } } } void t1() interrupt 3 { h=TH0; l=TL0; count=h*256+l; flag=1; TH0=0X0; TL0=0X0; } 1602.h #ifndef _1602L_ #define _1602L_ sbit E=P3^5; sbit RW=P3^6; sbit RS=P3^7; #define uchar unsigned char //------------------------------------- void Delay(unsigned int t) // delay 40us { for(;t!=0;t--) ; } //============================= ......
>>返回讨论的主题
|