标题:
51单片机0-99
[打印本页]
作者:
asd132
时间:
2018-10-17 14:33
标题:
51单片机0-99
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
char _data,j; //变量的定义数据、循环次数。
uint a;// 变量,秒的判断
bit miao;//秒到了
uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//断码缓冲区,0xff是用来消隐
uchar bit_[]={0x01,0x02,0x04};//位缓冲区
uchar buffer[3];//显示缓冲区
uchar code TH0val=63075/256;//timer0中断符初值,2.5ms
uchar code TL0val=63075%256;//
main()
{
_data=0;//数据初始化
TMOD=0X01;//中断初始化
TR0=1;
ET0=1;
TH0= TH0val;
TL0=TL0val;
EA=1;
while(1)//主循环
{
if(_data<10)//
{
buffer[0]=10;//消隐
}
else
{
buffer[0]=_data/10;//十位数
}
buffer[1]=_data%10;//个位数
if(miao)
{
_data++;//数据加一
miao=0;//秒味清零
}
if(_data==100)//数据恢复初值
{
_data=0;
}
}
}
void timer0() interrupt 1
{ uchar tmp;
TH0= TH0val;
TL0=TL0val;
a++;
if(a==400)//是否到了一秒
{
miao=1;//秒位置1
a=0;
}
tmp=bit_[j];//显示数据
P2=tmp;
tmp=buffer[j];
tmp=tab[tmp];
P0=tmp;
j++;
if(j==2)
j=0;
}
作者:
admin
时间:
2018-10-17 15:20
补全原理图或者详细说明一下电路连接即可获得100+黑币
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1