久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機八位數碼管顯示的數字鐘代碼及仿真
[打印本頁]
作者:
mcy123
時間:
2019-3-19 15:54
標題:
51單片機八位數碼管顯示的數字鐘代碼及仿真
數字鐘設計:
(1)硬件部分主要分以下電路模塊:顯示電路用8個共陰數碼管分別顯示
(2)星期(年份),小時、分鐘(月份)和秒(日)
(3)通過動態掃描進行顯示
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(14.37 KB, 下載次數: 81)
下載附件
2019-3-19 17:10 上傳
0.png
(10.43 KB, 下載次數: 47)
下載附件
2019-3-19 17:10 上傳
單片機源程序如下:
#include<reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
unsigned char code smgduan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //顯示0~F的值
unsigned char Time; //用來存放定時時間
//--聲明全局函數--//
void DigDisplay(); //動態顯示函數
void DigDisplay1(); //動態顯示函數
void Timer0Cofig(void);
void delay(u16 i);
u8 m,f,s;
u8 nian=19,yue=3,ri=17;
sbit K4=P1^3;
sbit K3=P1^2;
sbit K2=P1^1;
sbit K1=P1^0;
u8 x; //切換顯示界面
u8 x1; //暫停時間,進入調時
void main(void)
{
P2=0X00;
Timer0Cofig();
P1=0XFF;
while(1)
{
if(!K4) //切換顯示界面
{
delay(10);
if(!K4)
x=!x;
while(!K4); //等待按鍵松開
}
if(!K1)
{
delay(10);
if(!K1)
{
TR0=!TR0;
x1=!x1;
}
while(!K1); //等待按鍵松開
}
if(!K2&&x1)
{
delay(10);
if(!K2&&x1)
f++;
while(!K2&&x1); //等待按鍵松開
}
if(!K3&&x1)
{
delay(10);
if(!K3&&x1)
s++;
while(!K3&&x1); //等待按鍵松開
}
if(m==60) //秒進位
{
m=0;
f++;
}
if(f==60) //分鐘進位
{
f=0;
s++;
}
if(s==24) //小時進位
{
s=0;
ri++;
}
if(!x)
DigDisplay();
if(x)
DigDisplay1();
}
}
void delay(u16 i)
{
while(i--);
}
void DigDisplay() //顯示秒分時函數
{
u16 i,i1; //顯示秒
i=m%10;
i1=(m/10)%10;
P2=0X80;
P0=smgduan[i];
delay(1); //間隔一段時間掃描
P2=0X40;
P0=smgduan[i1];
delay(1); //間隔一段時間掃描
P2=0X20; //分隔符
P0=0xBF;
delay(1);
//////////////////////////////顯示分鐘
i=f%10;
i1=(f/10)%10;
P2=0X10;
P0=smgduan[i];
delay(1); //間隔一段時間掃描
P2=0X08;
P0=smgduan[i1];
delay(1); //間隔一段時間掃描
P2=0X04;
P0=0xBF;
delay(1);
//////////////////////////////顯示小時
i=s%10;
i1=(s/10)%10;
P2=0X02;
P0=smgduan[i];
delay(1); //間隔一段時間掃描
P2=0X01;
P0=smgduan[i1];
delay(1);
///////////////////////////////
delay(80); //間隔一段時間掃描
}
void DigDisplay1() //顯示年月日函數
{
u16 i,i1; //顯示日
i=ri%10;
i1=(ri/10)%10;
P2=0X80;
P0=smgduan[i];
delay(1); //間隔一段時間掃描
P2=0X40;
P0=smgduan[i1];
delay(1); //間隔一段時間掃描
P2=0X20;
P0=0xBF;
delay(1);
//////////////////////////////顯示月
i=yue%10;
i1=(yue/10)%10;
P2=0X10;
P0=smgduan[i];
delay(1); //間隔一段時間掃描
P2=0X08;
P0=smgduan[i1];
delay(1); //間隔一段時間掃描
P2=0X04;
P0=0xBF;
delay(1);
//////////////////////////////顯示年
i=nian%10;
i1=(nian/10)%10;
P2=0X02;
P0=smgduan[i];
delay(1); //間隔一段時間掃描
P2=0X01;
P0=smgduan[i1];
delay(1);
///////////////////////////////
delay(80); //間隔一段時間掃描
}
void Timer0Cofig(void)
{
TMOD = 0x01; //定時器0選擇工作方式1
TH0 = 0x3C; //設置初始值,定時50MS
TL0 = 0xB0;
EA = 1; //打開總中斷
ET0 = 1; //打開定時器0中斷
TR0 = 1; //啟動定時器0
}
void Timer0() interrupt 1
{
TH0 = 0x3C; //設置初始值
TL0 = 0xB0;
Time++;
if(Time == 20)
{
m++;
Time = 0;
}
}
復制代碼
所有資料51hei提供下載:
數字鐘.zip
(73.9 KB, 下載次數: 118)
2019-3-19 15:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
一区二区中文字幕
|
男人的天堂在线视频
|
黑色丝袜三级在线播放
|
中文字幕亚洲一区
|
亚洲国产日韩欧美
|
国产精品99久久久久
|
午夜影院在线观看
|
国产一区不卡
|
国产色
|
久久99精品久久久久久
|
天天天天天操
|
久久久久国产一区二区三区四区
|
91精品国产91久久综合桃花
|
成人在线看片
|
久久久高清
|
欧美日韩中文国产一区发布
|
国外成人在线视频
|
一区二区不卡视频
|
国产精品黄色
|
久久精品亚洲
|
欧美精品久久久
|
在线精品亚洲欧美日韩国产
|
成人免费视频
|
日韩成人免费视频
|
伊人看片
|
日韩欧美字幕
|
午夜精品久久久
|
日本91av视频
|
欧洲一区二区三区
|
成人高清视频在线观看
|
色嗨嗨
|
四虎成人免费视频
|
成人精品一区二区三区四区
|
一区二区三区视频在线观看
|
极品的亚洲
|
99久久久久久
|
欧美性受xxxx白人性爽
|
日日夜夜视频
|
91在线视频网址
|
欧美精品在线播放
|
久久剧场
|