欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 【51单片机2位数码管100毫秒的9.9秒表】2022-5-16

【51单片机2位数码管100毫秒的9.9秒表】2022-5-16

2025/8/13 8:08:58 来源:https://blog.csdn.net/xianfajushi/article/details/124802546  浏览:    关键词:【51单片机2位数码管100毫秒的9.9秒表】2022-5-16

缘由

这一题刚设计好要去回复就看到结帖了,好似看到我设计完成就盗窃去了,如此下面类似题目很容易也懒得回复了。

#include "reg52.h"
sbit k0=P3^0;
sbit k1=P3^1;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111};//0-9
unsigned char Js=0,miao=0,hm=0;//中断计时 秒 毫秒
void smxs(unsigned char mz,unsigned char w,unsigned char d)
{unsigned char Xd=0;P0=255;P0=255-((d==1?SmZiFu[mz]:(SmZiFu[mz]|0x80)));//小数点闪烁段数据显示P2=~w;//位选while(++Xd);//数码管延时
}
void ZhongDuanSheZhi()
{TH0+=(65536-9216)/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/TL0+=(65536-9216)%256; TMOD=0X01;//模式设置TR0=0; //开定时器ET0=1; //启定时器EA=1; //全局中断开关
}
void jishi()//计时
{if(Js==10)//100毫秒{if(++hm==10){hm=0;++miao;}else;if(miao==10)miao=hm=0;else;Js=0;}else;
}
void main()
{unsigned char JZhi=0;ZhongDuanSheZhi();while(1){smxs(miao,2,0);smxs(hm,1,1);//数码管驱动if(hm==9&&miao==9)TR0=0;else;//计数满停止定时器jishi();if(!k0&&!++JZhi){TR0=1;while(!k0);}//按键消抖等待释放处理启动定时器if(!k1&&!++JZhi){Js=miao=hm=0;while(!k1);}//清零停止定时器}
}
void ZhongDuan() interrupt 1
{++Js;TH0+=(65536-9216)/256;/*定时器赋初值,定时10ms触发中断,自动补偿方式*/TL0+=(65536-9216)%256;      
}

单片机定时器模拟信号灯-嵌入式-CSDN问答
关于#单片机#的问题:求在P1.0引脚接有虚拟示波器,观察P1.0引脚输出的矩形脉冲波形-嵌入式-CSDN问答

单片机外部中断实验(写程序)-嵌入式-CSDN问答

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词