永发信息网

关于51单片机利用内部定时计数器使数码管前两位数从00变到59 的问题

答案:2  悬赏:20  手机版
解决时间 2021-02-01 10:04
# include
# define uint unsigned int
# define uchar unsigned char
uchar code weixuan []={0xfe,0xfd,0xff,0xff,0xff,0xff,0xff,0xff};
uchar code duanxuan []={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar xianshi [10];
uint m,n;
void delay (uint i)
{
uint j=30;
for (;i>0;i--)
for (;j>0;j--);
}
void main ()
{
uint i,j;
TMOD=0x01; //确定工作方式
EA=1; //开总中断
ET0=1; //开定时计数器0中断
TR0=1; //打开定时器0
TH0=(65536-50000)/256; //给定时器赋初值
TL0=(65536-50000)%256;

xianshi [0]=duanxuan [n%100/10];
xianshi [1]=duanxuan [n%10];
xianshi [2]=0x00;
xianshi [3]=0x00;
xianshi [4]=0x00;
xianshi [5]=0x00;
xianshi [6]=0x00;
xianshi [7]=0x00;
for (i=0;i<8;i++)
{
P1=weixuan [i];
P0=xianshi [i];
delay (1);
P0=0x00;
}
}
void time0 () interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
m++;
if (m==20)
{
m=0;
n++;
}
}
如题,还需要怎么修改,我感觉中断没有使n的值加一
最佳答案
① n 值操作符合程序自加要求,但不符合时钟要求(秒的有效值是0-59),判断:程序功能为秒表;
② 该程序 n 能引起的问题只有:每隔655次(共18时12分16秒) 35 到 36 的显示,都会出现一次 35 到 0(n=65535,+1=0),修正方法:制定有效显示范围,从程序看出,只需显示2位数,即0-99秒,可以设置 n 的范围为 0-99(n=++n%100),那 n 也就用不上 uint 型了,uchar 够了。
③ 未分析出 有 00 直接到59 的显示过程,请LZ 将问题描述清楚。
④ m 的值可以使用 uchar 型的(非必须项)
全部回答
你好! 看手册啊,没用过这东西 不过估计是中断里处理不对,中断先清中断标志,不用重新配置计时器。 如有疑问,请追问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
纯棉毛巾与超细纤维毛巾的区别是什么?
世界上真的有唐三藏 孙悟空 沙悟净 猪八戒 这
我肚子里的孩子是谁的?
校花的贴身保镖 求个 可以免费看更新的网站
【b衰变】什么叫B衰变?
猜字谜:SEND+MORE=MONEY,求S、E、N、D、M、
研磨时光洛社(哥伦布店)地址在什么地方,我要
磁铁厂女人都做些什么工作
CAFEBAR地址有知道的么?有点事想过去
下列关于名义利率和有效利率的说法,不正确的
住校都需要拿些什么
丝瓜炒不熟可以吃吗
已经发生关系的男朋友不理我是渣男吗
别人先动手我把别人打成轻微伤我该怎么办我被
120平方裸铜绞线1米多少公斤?
推荐资讯
115网盘能看片吗
在瑞士境内购买手表,品种会不会比国内(包括
什么季节去四川成都玩是最好
与老当益壮相匹配的词语
老边区安全生产监督管理局地址在什么地方,想
女神卫生巾地址在哪,我要去那里办事
请问,3级药师怎么练呢,3级 的生产技能怎么弄
七彩美甲(君山中路店)地址在哪,我要去那里办
什么儿童绘本比较有趣?
鱼子草有什么作用我脖子用化妆品过敏很厉害他
读“我国西气东输主干道走向示意图”和“我国
新车上中山牌怎么上啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?