久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機課設源碼 時鐘+鬧鐘 數碼管顯示
[打印本頁]
作者:
小兔仔子
時間:
2017-5-7 09:19
標題:
單片機課設源碼 時鐘+鬧鐘 數碼管顯示
時鐘(帶鬧鐘功能)單片機課設
0.png
(48.18 KB, 下載次數: 95)
下載附件
2017-5-7 16:04 上傳
單片機源程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit key1=P3^0; // 時鐘/鬧鐘/關鬧鐘
sbit key2=P3^1; // 分鐘加
sbit key3=P3^2; // 時鐘加
sbit key4=P3^3; //
sbit beep=P1^6; // 鬧鈴
sbit led1=P1^7;//秒用燈的閃爍表示
sbit smg_q=P3^7;
sbit smg_b=P3^6;
sbit smg_s=P3^5;
sbit smg_g=P3^4;
uchar tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // 0-9
uchar tab_dp[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; // 0.-9.(帶小數點)
uint t,flag,flag1;
uint bbh,bbm,bbs;
uint sec,min,hour; // 定義 秒,分,時
void delay( unsigned int t);
void inter_init();
void time24();
void clock();
void alarm_clock();
void display();
void display_bb();
//---------------------主函數--------------------------------
void main()
{
inter_init();
bbh=1;
bbm=2;
hour=23;
min=59;
sec=50;
while(1)
{
time24();
if(key1==0)
{
flag1=~flag1;
flag=~flag;
while(!key1);
}
if(flag==0)
{
clock();
display(); /*調用顯示函數來顯示*/
}
else
{
alarm_clock();
display_bb();
}
if(hour==bbh && min==bbm && flag1==0)
{
beep=~beep;
delay(1);
}
}
}
/*---------------------延時----------------------- */
void delay( unsigned int t) // 延時函數
{
unsigned int i;
while(t--)
for(i=0;i<125;i++);
}
/*---------------------中斷初始化-------------------------*/
void inter_init()
{ sec=min=hour=0; // 將0賦給時分秒
TMOD=0x01; // 方式1
TH0=0x3c; // 65536-50000=15536=0x3cb0(50ms)
TL0=0xb0;
EA=1; // 開總中斷
TR0=1; // 定時/計數器0開啟
ET0=1; // 定時器/計數器0溢出中斷啟動
}
/*---------------------24小時制--------------------------*/
void time24()
{
if(TF0==1) // 定時器/計數器溢出
{
TF0=0; // 清中斷標志位
t++;
if(t==20) // (50ms*20=1s)
{
t=0;
led1=~led1;
sec++; // 秒加1
if(sec==60) // 秒為60,則清零,分加1
{
sec=0;
min++;
}
if(min==60) // 分為60,則清零,時加1
{
min=0;
hour++;
}
if(hour==24)// 時為24,則清零
{
hour=0;
}
}
}
}
/*-----------按鍵調整子函數(時鐘和鬧鐘)-------------------------------------*/
void clock() //時鐘調整
{
if(key2==0)
{
delay(10);
if(key2==0)
{
min++;
while(!key2);
if(min==60)
{
min=0;
}
}
}
if(key3==0)
{
delay(10);
if(key3==0)
{
hour++;
while(!key3);
if(hour==24)
{
hour=0;
}
}
}
}
void alarm_clock() /*鬧鐘調整*/
{
if(key2==0)
{
delay(10);
if(key2==0)
{
bbm++;
while(!key2);
if(bbm==60)
{
bbm=0;
}
}
}
if(key3==0)
{
delay(10);
if(key3==0)
{
bbh++;
while(!key3);
if(bbh==24)
{
bbh=0;
}
}
}
}
/*---------------------數碼管顯示子函數(時鐘和鬧鐘)-------------------------------------*/
void display() // 顯示時間函數
{
smg_s=0; //時低位
P2=tab_dp[hour%10];
P2=0xff;
smg_s=1;
smg_g=0; //時高位
P2=tab[hour/10];
P2=0xff;
smg_g=1;
smg_q=0; //分低位
P2=tab[min%10];
P2=0xff;
smg_q=1;
smg_b=0; //分高位
P2=tab[min/10];
P2=0xff;
smg_b=1;
}
void display_bb() //顯示鬧鐘函數
{
smg_s=0; //時低位
P2=tab_dp[bbh%10];
P2=0xff;
smg_s=1;
smg_g=0; //時高位
P2=tab[bbh/10];
P2=0xff;
smg_g=1;
smg_q=0; //分低位
P2=tab[bbm%10];
P2=0xff;
smg_q=1;
smg_b=0; //分高位
P2=tab[bbm/10];
P2=0xff;
smg_b=1;
}
復制代碼
全部代碼下載:
時鐘 鬧鐘.zip
(24.47 KB, 下載次數: 33)
2017-5-7 09:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
ppp123
時間:
2019-12-23 16:54
圖呢? 我的哥???
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品欧美一区二区三区久久久
|
婷婷久久精品一区二区
|
国产乱码久久久久久
|
成人午夜免费在线视频
|
国产乱码精品一品二品
|
国产高清精品在线
|
久久久一区二区
|
天天弄
|
久久伊
|
国内精品久久久久久久
|
国产精品久久久久久久一区二区
|
久久精品国产亚洲
|
在线激情视频
|
国产欧美精品一区二区三区
|
性欧美精品一区二区三区在线播放
|
中文字幕免费在线
|
久久精品亚洲
|
99久久久无码国产精品
|
夜夜草
|
欧美一级免费观看
|
天堂一区二区三区
|
男女羞羞网站
|
日韩亚洲视频
|
天天射美女
|
久久爆操
|
夜夜骑首页
|
成人av片在线观看
|
中文字幕在线一区
|
色天天综合
|
精品一区二区视频
|
狠狠操狠狠干
|
欧美日韩国产精品一区二区
|
国产精品99久久久久久www
|
欧美日韩综合精品
|
视频羞羞
|
亚洲精品视频在线播放
|
中文字幕视频在线免费
|
日韩成人在线网址
|
亚洲天堂精品久久
|
久久精品小短片
|
成人精品国产一区二区4080
|