简易秒表控制一位数码管用于循环显示0-9数字,数字间隔为一秒,一秒定时间间隔用定时器中断实现
答案:1 悬赏:50 手机版
解决时间 2021-04-18 00:37
- 提问者网友:沦陷
- 2021-04-17 16:17
简易秒表控制一位数码管用于循环显示0-9数字,数字间隔为一秒,一秒定时间间隔用定时器中断实现
最佳答案
- 五星知识达人网友:春色三分
- 2021-04-17 17:47
#include
sbit Axs=P1^0; ;//数码管位选端口
char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码
void YS(char hs); void XS(int xm,int xs); void Time1(void);int n,s;//变量及函数声明
void main(void){Time1();while(1){XS(s);}}//主函数
void int1() interrupt 1 //定时器中断
{
TH0=(65536-1000)/256; TL0=(65536-1000)%256; n++;
if(n>1000){n=0;s++; if(s>9){s=0;}}//变量累加,一秒加一次
}
void Time1(void)//定时器初始化
{
TH0=(65536-921)/256; TL0=(65536-921)%256;
TMOD=0x01; EA=1; ET0=1; TR0=1;
}
void XS(int xs) //数码管显示
{
P0=table[xs]; Axs=0; YS(10); Axs=1;//个位显示
}
void YS(char hs){char hk;for(;hs>0;hs--){for(hk=200;hk>0;hk--);}}//延时函数
端口使用略有不同,请自己修改下即可,若有不懂之处,尽请留言
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯