标题:
00-99计数器的proteus仿真电路及C语言程序设计
[打印本页]
作者:
zzxxnn
时间:
2016-12-8 20:45
标题:
00-99计数器的proteus仿真电路及C语言程序设计
例2 00-99计数器的proteus仿真电路及C语言程序设计
0.png
(27.47 KB, 下载次数: 43)
下载附件
2017-1-7 21:17 上传
#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;
}
复制代码
0.png
(78.33 KB, 下载次数: 43)
下载附件
2017-1-7 21:16 上传
所有资料下载:
例2 00-99计数器的proteus仿真电路及C语言程序设计.zip
(52.24 KB, 下载次数: 21)
2016-12-8 20:45 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
苏苏s
时间:
2018-12-17 10:29
你这个真的帮了我大忙,谢谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1