标题:
单片机60秒计时秒表(仿真+程序)
[打印本页]
作者:
新乡工程学院
时间:
2023-11-3 22:06
标题:
单片机60秒计时秒表(仿真+程序)
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif
(70.8 KB, 下载次数: 29)
下载附件
2023-11-4 01:05 上传
单片机源程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit shi=P0^0;
sbit ge=P0^1;
sbit key0 = P1^5;
sbit key1 = P1^6;
sbit key2 = P1^7;
uint num = 0;
bit key0_enter=0;
bit key1_enter=0;
bit key2_enter=0;
void init(void)
{
ge = 1;
shi = 1;
EA = 1;
IT0 = 1;
}
void delay(uchar ms)
{
uchar i ,j;
for (i=0;i<ms;i++)
for(j=101;j>0;j--);
}
void key_loop()
{
if ((key0==0)&&(key0_enter==0))
{
key0_enter=1;
EX0=1;
}
if(key0==1)
{
key0_enter=0;
}
if ((key1==0)&&(key1_enter==0))
{
key1_enter=1;
EX0=0;
}
if(key1==1)
{
key1_enter=0;
}
if ((key2==0)&&(key2_enter==0))
{
key2_enter=1;
num = 0;
}
if(key2==1)
{
key2_enter=0;
}
}
void display()
{
static uchar nms=0;
static bit wei=0;
uchar ges=0;
uchar shis=0;
nms++;
if(nms>5)
{
nms=0;
if(wei)
{
shis=(num/10)%10;
ge=0;
shi=0;
P2=table[shis];
shi=1;
wei=0;
}
else
{
ges=num%10;
ge=0;
shi=0;
P2=table[ges];
ge=1;
wei=1;
} }
}
void main()
{
init();
for(;;)
{
key_loop();
display();
delay(1);
}
}
void waibu() interrupt 0
{
num++;
}
复制代码
仿真程序51hei附件下载:
共阳极单片机.7z
(69.93 KB, 下载次数: 29)
2023-11-4 01:05 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
点点卖豆腐
时间:
2024-1-3 19:33
这是AT89C51板子吗
作者:
Noki715
时间:
2024-1-4 12:54
点点卖豆腐 发表于 2024-1-3 19:33
这是AT89C51板子吗
这个就是at89c51的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1