完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
5个回答
|
|
谢谢大家
|
|
|
|
//注意晶振需为11.0592M。
//若为其他数值晶振,请改变TH0与TL0参数值,否则计时会有很大误差 。 #include #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; unsigned char j,k,c1,c0,m,n=255; unsigned char pp; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(unsigned char i) { for(j=i;j>0;j--) for(k=125;k>0;k--); } void display(uchar a,uchar b) { P0=table[a]; dula=1; dula=0; P0=0xef; wela=1; wela=0; delay(5); P0=table[b]; dula=1; dula=0; P0=0xdf; wela=1; wela=0; delay(5); } void main() { TMOD=0x01; //模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,M0=1)。 TR0=1; //打开定时器 TH0=(65536-46080)/256;// 由于晶振为11.0592,故所记次数应为46080,计时器每隔50000微秒发起一次中断。 TL0=(65536-46080)%256;//46080的来历,为50000*11.0592/12 ET0=1; //开定时器0中断 EA=1; //开总中断 while(1) { if(pp==20) { pp=0; m++; n--; P1=n;//闪烁灯 if(m==100) { m=0; //若到了100s,则归零 } } c0=m%10; //取出当前描述的个位与十位 c1=m/10; display(c1,c0); //显示 } } void time0() interrupt 1 {TH0=(65536-46080)/256; TL0=(65536-46080)%256; pp++; } |
|
|
|
//注意晶振需为11.0592M。
//若为其他数值晶振,请改变TH0与TL0参数值,否则计时会有很大误差 。 #include #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; unsigned char j,k,c1,c0,m,n=255; unsigned char pp; unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(unsigned char i) { for(j=i;j>0;j--) for(k=125;k>0;k--); } void display(uchar a,uchar b) { P0=table[a]; dula=1; dula=0; P0=0xef; wela=1; wela=0; delay(5); P0=table[b]; dula=1; dula=0; P0=0xdf; wela=1; wela=0; delay(5); } void main() { TMOD=0x01; //模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,M0=1)。 TR0=1; //打开定时器 TH0=(65536-46080)/256;// 由于晶振为11.0592,故所记次数应为46080,计时器每隔50000微秒发起一次中断。 TL0=(65536-46080)%256;//46080的来历,为50000*11.0592/12 ET0=1; //开定时器0中断 EA=1; //开总中断 while(1) { if(pp==20) { pp=0; m++; n--; P1=n;//闪烁灯 if(m==100) { m=0; //若到了100s,则归零 } } c0=m%10; //取出当前描述的个位与十位 c1=m/10; display(c1,c0); //显示 } } void time0() interrupt 1 {TH0=(65536-46080)/256; TL0=(65536-46080)%256; pp++; } |
|
|
|
写的这么复杂
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12025 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 07:36 , Processed in 0.684715 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号