久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
八位數碼管電子時鐘 protues模擬
[打印本頁]
作者:
AllenWei
時間:
2020-12-2 21:41
標題:
八位數碼管電子時鐘 protues模擬
八位數碼管電子時鐘
代碼
#include <reg51.h>
sbit key1 = P1^0;
bit flag1s = 0;
bit KeySta = 1;
unsigned char hour = 8;
unsigned char minute = 31;
unsigned char second = 59;
unsigned char mode = 0;
void FreshTime();
void TimeInit();
void IntInit();
void InitLedBuff();
void keyscan();
unsigned char code LedChar[] = { //共陰數碼管顯示字符轉換表
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00};
unsigned char LedBuff[8] = { //數碼管顯示緩沖區
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void main()
{
TimeInit();
IntInit();
InitLedBuff();
while(1)//顯示內容處理
{
if(flag1s&&!mode) //時間顯示模式
{
flag1s = 0;
FreshTime();
}
else if(mode == 1) //校準分鐘
{
LedBuff[0] = 17;
LedBuff[1] = 17;
LedBuff[4] = 17;
LedBuff[5] = 17;//不顯示
LedBuff[6] = 17;
LedBuff[7] = 17;
LedBuff[2] = minute/10;
LedBuff[3] = minute%10;
}
else if(mode == 2) //校準小時
{
LedBuff[2] = 17;
LedBuff[3] = 17;
LedBuff[4] = 17;
LedBuff[5] = 17;//不顯示
LedBuff[6] = 17;
LedBuff[7] = 17;
LedBuff[0] = hour/10;
LedBuff[1] = hour%10;
}
else if(mode == 3) //校準完成重新顯示
{
InitLedBuff();
mode = 0;
}
keyscan();
}
}
void InitLedBuff()//初始化時間到顯示緩沖區
{
LedBuff[0] = hour/10;
LedBuff[1] = hour%10;
LedBuff[2] = minute/10;
LedBuff[3] = minute%10;
LedBuff[4] = second/10;
LedBuff[5] = second%10;
}
void FreshTime()//刷新時間到顯示緩沖區
{
second++;
if(second == 60)//進位
{
second = 0;
minute++;
if(minute==60)//進位
{
minute=0;
LedBuff[2] = minute/10;
LedBuff[3] = minute%10;
hour++;
if(hour == 24)
hour = 0;
LedBuff[0] = hour/10;
LedBuff[1] = hour%10;
}
}
LedBuff[4] = second/10;
LedBuff[5] = second%10;
}
void TimeInit()//定時器初始化
{
TMOD = 0X11; //設置定時器為模式1
TL0 = 0xB0;
TH0 = 0x3C; //定時初值 50ms
TL1 = 0x18; //
TH1 = 0xFC; //定時初值 1ms
TR0 = 1; //定時器0開始計時
TR1 = 1; //定時器1開始計時
ET1 = 1; //使能定時器1
ET0 = 1; //使能定時器0
PT0 = 1; //提高計時準確性,提高定時器0中斷優先級
EA = 1; //打開總中斷
}
void IntInit()//外部中斷初始化
{
IT0 = 1; //下降沿觸發
EX0 = 1; //使能外部中斷0
}
void keyscan() //按鍵掃描及處理
{
static bit backup = 1;
if (KeySta != backup) //當前值與前次值不相等說明此時按鍵有動作
{
if (backup == 0) //如果前次值為0,則說明當前是彈起動作
{
if(mode == 1) //校準分鐘時,分鐘加一
{
minute++;
if(minute==60)
minute = 0;
}
else if(mode == 2) //校準小時,小時加一
{
hour++;
if(hour==24)
hour = 0;
}
}
backup = KeySta; //更新備份為當前值,以備進行下次比較
}
}
void Int0() interrupt 0
{
mode++;
if(mode == 4)
{
mode = 0;
}
}
void Ledfresh() //數碼管顯示刷新
{
static unsigned char i = 0;
switch(i)
{
case 0 : P2 = ~(0x01<<i);P0 = LedChar[LedBuff[0]];i++;break;
case 1 : P2 = ~(0x01<<i);P0 = LedChar[LedBuff[1]];i++;break;
case 2 : P2 = ~(0x01<<i);P0 = 0x40;i++;break;//時分間隔線
case 3 : P2 = ~(0x01<<i);P0 = LedChar[LedBuff[2]];i++;break;
case 4 : P2 = ~(0x01<<i);P0 = LedChar[LedBuff[3]];i++;break;
case 5 : P2 = ~(0x01<<i);P0 = 0x40;i++;break;//分秒間隔線
case 6 : P2 = ~(0x01<<i);P0 = LedChar[LedBuff[4]];i++;break;
case 7 : P2 = ~(0x01<<i);P0 = LedChar[LedBuff[5]];i=0;break;
}
}
void Time0() interrupt 1 // 50ms
{
static unsigned char n = 0;
TL0 = 0xB0;
TH0 = 0x3C;
n++;
if(n==20)
{
n=0;
flag1s = 1;//1s標志位
}
}
void Time1() interrupt 3 // 1ms
{
static unsigned char keybuff = 0xff;
TL1 = 0x18; //
TH1 = 0xFC; //定時初值 1ms
Ledfresh();
keybuff = (keybuff<<1)|key1;
if (keybuff == 0x00)
{ //連續8次掃描值都為0,即16ms內都只檢測到按下狀態時,可認為按鍵已按下
KeySta = 0;
}
else if (keybuff == 0xFF)
{ //連續8次掃描值都為1,即16ms內都只檢測到彈起狀態時,可認為按鍵已彈起
KeySta = 1;
}
else
{} //其它情況則說明按鍵狀態尚未穩定,則不對KeySta變量值進行更新
}
八位數碼管電子時鐘.zip
2020-12-2 21:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
18.14 KB, 下載次數: 64, 下載積分: 黑幣 -5
作者:
王企鵝
時間:
2022-10-8 23:59
程序寫的非常不錯的
作者:
abslearn
時間:
2023-2-10 15:42
我是來拿程序看看的··謝謝分享···
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
美女黄色一级片
|
久久伊人网站
|
亚洲aaaaaa
|
精品视频在线免费观看
|
国产精品国产精品国产专区不片
|
天天色天天爱
|
九九在线观看高清免费
|
超碰国产在线
|
美日韩一区二区三区
|
色婷婷综合在线
|
国产尤物视频
|
成人黄色一级片
|
日本美女一级片
|
国产日韩欧美亚洲
|
亚洲最大黄色网址
|
欧美日韩中文在线
|
免费观看a级片
|
国产成人精品视频
|
黄色小视频在线
|
国产成人精品三级麻豆
|
欧美成人一级片
|
视频一区二区三区在线观看
|
国产主播精品
|
夜夜骑夜夜
|
香蕉久久a毛片
|
国产精品久久久精品
|
男女操操操
|
久久精品一区二区三区不卡牛牛
|
午夜激情福利视频
|
午夜精品久久久久久久久久久久
|
欧美视频在线观看
|
成人亚洲精品
|
视频在线观看网站免费
|
看逼网站
|
综合久久99
|
少妇一级淫片免费看
|
91精品国产综合久久久蜜臀
|
亚洲成人免费av
|
国产小视频在线
|
日韩免费高清视频
|
欧美丰满少妇
|