1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
做的秒表0.000到9.999的,为什么第一位一直是0,不是毫秒那三位,毫秒那三位不用准确。是秒的那一位一直显示0,应该循环显示0到9的。
#include #define date P0 //用date代替P0 unsigned char t=0; //t为多少毫秒 void display(); //声明数码管显示子函数 void delay(); //声明延时子函数 void main() { TMOD = 0x01; //方式1,为16位定时器 TH0 = 0xFC; //对高8位和低8位分别赋初值,使一个周期为1ms TL0 = 0x66; // EA = 1; //打开总中断 ET0 = 1; //打开定时器0中断 TR0 = 1; //打开定时器0 while(1) { display(); //进入数码管显示的子函数 } } void timer() interrupt 1 //定义定时器,1为定时器中断0 { TL0 = 0x66; //对低8位和高8位赋初值,使一个周期为1ms TH0 = 0xFC; // TF0 = 0; //定时器0溢出,用此语句清0 t++; //t加1毫秒 } /******************数码管*********************/ unsigned char code c[]={0xC00xF90xA40xB00x990x920x820xF80x800x90 //定义一个数组显示0到9 0x880x830xC60xA10x860x8E0xFF}; unsigned char code d[]={0x400x790x240x300x190x120x020x780x000x10}; //定义一个数组显示0到9并带着小数点 void display() //数码管显示 { if(t > 9999) //当t=10000时,也就是10秒时 { t = 0; //t重新为0 } P2 = ~0x08; //第一位 date = c[((t%1000)%100)%10];//第一位显示t的个位数 delay(); //延时 date = c[16]; //消隐 P2 = ~0x04; //第二位 date = c[((t%1000)%100)/10];//第二位显示t的十位数 delay(); //延时 date = c[16]; //消隐 P2 = ~0x02; //第三位 date = c[(t%1000)/100]; //第三位显示t的百位数 delay(); //延时 date = c[16]; //消隐 P2 = ~0x01; //第四位 date = d[t/1000]; //第四位显示t的千位数 delay(); //延时 date = c[16]; //消隐 } void delay() //延时 { unsigned char i = TH0+1; // if(i > 0xFE) // { i = 0xFC; // } while(i != TH0); // } |
|
相关推荐
2个回答
|
|
因为低位更新太快啊。
对人眼来说看不到那么快的频率的。就是0.0X的x位都看不清,更不要说0.00y的y位啦。 所以原来人工按秒表,的x位其实没有多大意义,现在体育赛事中都是用的电子计时才能到y位。 |
|
|
|
unsigned char t, 你猜猜t最大能到多少?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
852 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
592 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
705 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
926 浏览 2 评论
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12005 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 00:05 , Processed in 0.593658 second(s), Total 71, Slave 55 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号