标题:
两位数码管计算时间,我这个是两按键实现开始,暂停和清零,求大佬改成一个按键的
[打印本页]
作者:
爱喝咖啡的死神
时间:
2021-12-12 16:37
标题:
两位数码管计算时间,我这个是两按键实现开始,暂停和清零,求大佬改成一个按键的
程序和文件都在仿真里面,请求大佬改成只有一个按键实现3个功能
LED数码管.zip
2021-12-12 16:37 上传
点击文件名下载附件
104.08 KB, 下载次数: 21
程序和仿真
作者:
18520649817
时间:
2021-12-12 16:37
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[16]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};
uchar i=0,temp,flag;
sbit S1 = P2^0;
sbit S2 = P2^1;
sbit K1 = P3^6;
sbit K2 = P3^7;
uchar Time=0;
uchar mode=0;
void Delay_1ms(uint i)//1msÑóê±
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
//ÏÔê¾oˉêy
void Display(uchar num)
{
P0=0XFF;
S1=1;S2=0;
P0=table[num/10]&0x7f;
Delay_1ms(5);
P0=0XFF;
S1=0;S2=1;
P0=table[num%10];
Delay_1ms(5);
}
void Time_Init(void)
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ET0=1;
TR0=1;
EA=1;
}
//¶áè¡°′¼ü
void Get_Key()
{
if(K1==0&&flag==0)
{
Delay_1ms(1);
if(K1==0)
{
i++;
if(i==4)i=1;
flag=1;
}
}
if(K1==1)flag=0;
}
//Ö÷oˉêy
void main(void)
{
uchar key_num=0;
Time_Init();
while(1)
{
Get_Key();
if(i==1)
{
mode=1;
}
if(i==2)
{
mode=2;
}
if(i==3)
{
mode=0;
}
}
}
void time0(void) interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;//
Display(Time);
if(mode==0)
{
Time=0;
temp=0;
}
else if(mode==1)
{
if(++temp>=10)
{
temp=0;
if(++Time>99)Time=0;
}
}
}
作者:
xianfajushi
时间:
2021-12-12 17:26
https://blog.csdn.net/xianfajushi/article/details/89448933
作者:
小黑屋525
时间:
2021-12-12 19:10
自己的程序自己写!
作者:
wulin
时间:
2021-12-12 20:08
给你一个示例参考
6位百分秒表 仿真.zip
(112.51 KB, 下载次数: 13)
2021-12-12 20:08 上传
点击文件名下载附件
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1