久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機多功能數字時鐘程序,可顯示時分秒,可定鬧鐘
[打印本頁]
作者:
余城
時間:
2021-4-21 16:28
標題:
51單片機多功能數字時鐘程序,可顯示時分秒,可定鬧鐘
附帶c代碼和仿真圖
51hei圖片_20210421162309.png
(132.43 KB, 下載次數: 123)
下載附件
2021-4-21 16:27 上傳
#include "main.h"
//延時函數
void delay(unsigned int time)
{
unsigned int j = 0;
for(;time>0;time--) //執行空語句,消耗CPU時間。
for(j=0;j<125;j++);
}
void main(void)
{
//時分秒初始化
m_shi=num/10;
m_ge=num%10;
f_shi=f/10;
f_ge=f%10;
h_shi=h/10;
h_ge=h%10;
//初始化定時器1和定時器0
TMOD=0x10;
//設置定時器溢出值
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
//開總中斷
EA=1;
//開啟定時器中斷
ET1=1;
//開啟定時器
TR1=1;
//開外部中斷0
EX0 = 1;
//設置外部中斷0的觸發方式為下降沿
IT0 = 1;
while(1)
{
if (key1 == 0)
{
//按鍵松手檢測
while (key1 == 0);
mode++;
Beep = 1;
flag = 0;
if (mode == 3)
{
//刷新數值并顯示
m_shi=alarm_num/10;
m_ge=alarm_num%10;
f_shi=alarm_f/10;
f_ge=alarm_f%10;
h_shi=alarm_h/10;
h_ge=alarm_h%10;
}
else
{
//刷新數值并顯示
m_shi=num/10;
m_ge=num%10;
f_shi=f/10;
f_ge=f%10;
h_shi=h/10;
h_ge=h%10;
}
if (mode == 4)
{
mode = 1;
}
}
if (mode == 1)//時鐘模式
{
display();
}
//調試模式
if (mode == 2)
{
adjust_time();
}
//設置鬧鐘
if(mode == 3)
{
adjust_alarm();
}
//打開鬧鐘
if ((alarm_num == num) && (alarm_f == f) && (alarm_h == h))
{
//num2 = 0;
alarm_clock = 1;
}
//關閉鬧鐘
if (alarm_clock == 0)
{
Beep = 1;
}
}
}
void display(void)
{
//把時的十位送到P0端口
duang_clk = 1; //開啟573鎖存引腳
P0=LED[h_shi];
delay(1);
duang_clk = 0; //關閉573鎖存引腳
//調時閃爍
if (flag == 1)
{
if (ok == 0)
{
wei_clk = 1;
P0=0xfe;
delay(1);
P0=0xff;
wei_clk = 0;
}
else
{
wei_clk = 1;
P0=0xff;
wei_clk = 0;
}
}
else
{
wei_clk = 1;
P0=0xfe;
delay(1);
P0=0xff;
wei_clk = 0;
}
//把時的個位送到P0端口
duang_clk = 1;
P0=LED[h_ge];
delay(1);
duang_clk = 0;
//調時閃爍
if (flag == 1)
{
if (ok == 0)
{
wei_clk = 1;
P0=0xfd;
delay(1);
P0=0xff;
wei_clk = 0;
}
else
{
wei_clk = 1;
P0=0xff;
wei_clk = 0;
}
}
else
{
wei_clk = 1;
P0=0xfd;
delay(1);
P0=0xff;
wei_clk = 0;
}
//-
duang_clk = 1;
P0=LED[10];
delay(1);
duang_clk = 0;
wei_clk = 1;
P0=0xfb;
delay(1);
P0=0xff;
wei_clk = 0;
//把分的十位到P0端口
duang_clk = 1;
P0=LED[f_shi];
delay(1);
duang_clk = 0;
//調分閃爍
if (flag == 2)
{
if (ok == 0)
{
wei_clk = 1;
P0=0xf7;
delay(1);
P0=0xff;
wei_clk = 0;
}
else
{
wei_clk = 1;
P0=0xff;
wei_clk = 0;
}
}
else
{
wei_clk = 1;
P0=0xf7;
delay(1);
P0=0xff;
wei_clk = 0;
}
//把分的個位送到P0端口
duang_clk = 1;
P0=LED[f_ge];
delay(1);
duang_clk = 0;
//調分閃爍
if (flag == 2)
{
if (ok == 0)
{
wei_clk = 1;
P0=0xef;
delay(1);
P0=0xff;
wei_clk = 0;
}
else
{
wei_clk = 1;
P0=0xff;
wei_clk = 0;
}
}
else
{
wei_clk = 1;
P0=0xef;
delay(1);
P0=0xff;
wei_clk = 0;
}
//-
duang_clk = 1;
P0=LED[10];
delay(1);
duang_clk = 0;
wei_clk = 1;
P0=0xdf;
delay(1);
P0=0xff;
wei_clk = 0;
//把秒的十位到P0端口
duang_clk = 1;
P0=LED[m_shi];
delay(1);
duang_clk = 0;
if (flag == 3)
{
if (ok == 0)
{
wei_clk = 1;
P0=0xbf;
delay(1);
P0=0xff;
wei_clk = 0;
}
else
{
wei_clk = 1;
P0=0xff;
wei_clk = 0;
}
}
else//調秒閃爍
{
wei_clk = 1;
P0=0xbf;
delay(1);
P0=0xff;
wei_clk = 0;
}
//把秒的個位送到P0端口
duang_clk = 1;
P0=LED[m_ge];
delay(1);
duang_clk = 0;
//調秒閃爍
if (flag == 3)
{
if (ok == 0)
{
wei_clk = 1;
P0=0x7f;
delay(1);
P0=0xff;
wei_clk = 0;
}
else
{
wei_clk = 1;
P0=0xff;
wei_clk = 0;
}
}
else
{
wei_clk = 1;
P0=0x7f;
delay(1);
P0=0xff;
wei_clk = 0;
}
}
//定時器1中斷服務函數,50ms進入一次中斷
void T1_time() interrupt 3
{
//重裝載定時器1的初始值
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
//沒20ms加一次
num2++;
//鬧鐘響
if (alarm_clock == 1)
{
if (num2 % 20 == 0)
{
alarm_clock_counte++;
Beep = !Beep;
if (alarm_clock_counte == 7)
{
Beep = 1;
alarm_clock_counte=0;
alarm_clock = 0;
}
}
}
if (num2 % 10 == 0)
{
ok = !ok;
}
//50ms * 20 = 1s
if(num2==20)
{
//清零
num2=0;
//只有在走時模式秒鐘才動作
if (mode == 1)
{
//秒計數加1
num++;
//更新數值
m_shi=num/10;
m_ge=num%10;
}
//1s * 60 = 60s = 1分鐘
if(num==60)
{
//清零
num=0;
//分計數加1
f++;
//更新數值
m_shi=num/10;
m_ge=num%10;
f_shi=f/10;
f_ge=f%10;
//1分鐘 * 60 = 1小時
if (f == 60)
{
//清零
f = 0;
//時計數加1
h++;
//更新數值
f_shi=f/10;
f_ge=f%10;
h_shi=h/10;
h_ge=h%10;
//1小時 * 24 = 1天
if (h == 24)
{
//清零
h = 0;
//更新數值
h_shi=h/10;
h_ge=h%10;
}
}
}
}
}
//外部中斷0中斷服務函數
void int0() interrupt 0
{
alarm_clock = 0;
Beep = 1;
}
//調時間
void adjust_time(void)
{
if (key2 == 0)
{
//按鍵松手檢測
while (key2 == 0);
flag++;
if(flag == 4)
{
flag = 1;
}
}
if (flag == 1)
{
if (key3 == 0)
{
while (key3 == 0);
h++;
if (h == 24)
{
h=0;
}
}
if (key5 == 0)
{
while (key5 == 0);
h--;
if (h == -1)
{
h=23;
}
}
}
if (flag == 2)
{
if (key3 == 0)
{
while (key3 == 0);
f++;
if (f == 60)
{
f=0;
}
}
if (key5 == 0)
{
while (key5 == 0);
f--;
if (f == -1)
{
f=59;
}
}
}
if (flag == 3)
{
if (key3 == 0)
{
while (key3 == 0);
num++;
if (num == 60)
{
num=0;
}
}
if (key5 == 0)
{
while (key5 == 0);
num--;
if (num == -1)
{
num=59;
}
}
}
//刷新數值并顯示
m_shi=num/10;
m_ge=num%10;
f_shi=f/10;
f_ge=f%10;
h_shi=h/10;
h_ge=h%10;
display();
}
void adjust_alarm(void)
{
if (key2 == 0)
{
//按鍵松手檢測
while (key2 == 0);
flag++;
if(flag == 4)
{
flag = 1;
}
}
if (flag == 1)
{
if (key3 == 0)
{
while (key3 == 0);
alarm_h++;
if (alarm_h == 24)
{
alarm_h=0;
}
}
if (key5 == 0)
{
while (key5 == 0);
alarm_h--;
if (alarm_h == -1)
{
alarm_h=23;
}
}
}
if (flag == 2)
{
if (key3 == 0)
{
while (key3 == 0);
alarm_f++;
if (alarm_f == 60)
{
alarm_f=0;
}
}
if (key5 == 0)
{
while (key5 == 0);
alarm_f--;
if (alarm_f == -1)
{
alarm_f=59;
}
}
}
if (flag == 3)
{
if (key3 == 0)
{
while (key3 == 0);
alarm_num++;
if (alarm_num == 60)
{
alarm_num=0;
}
}
if (key5 == 0)
{
while (key5 == 0);
alarm_num--;
if (alarm_num == -1)
{
alarm_num=59;
}
}
}
//刷新數值并顯示
m_shi=alarm_num/10;
m_ge=alarm_num%10;
f_shi=alarm_f/10;
f_ge=alarm_f%10;
h_shi=alarm_h/10;
h_ge=alarm_h%10;
display();
}
復制代碼
作者:
天下第一詩人
時間:
2021-7-1 17:12
有沒有比較清楚的仿真圖
作者:
ZQ01
時間:
2021-10-22 22:43
可以發一下仿真文件嗎?謝謝
作者:
1020410405
時間:
2021-11-28 12:15
可以看一下前面的幾行程序嗎
作者:
1296809905
時間:
2021-11-29 11:08
樓主,有沒有仿真文件呀
作者:
yangbulasi
時間:
2022-5-10 20:06
還缺少變量定義
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
三级a毛片
|
超碰一区二区
|
免费av网址在线观看
|
亚洲国产小视频
|
天天插天天透
|
成人影片在线
|
国产成人一区二区三区
|
一级香蕉视频
|
在线观看不卡av
|
亚洲激情五月
|
1024日韩
|
四虎成人网
|
国内福利视频
|
www久久久
|
欧美日韩免费在线
|
成人一级黄色片
|
欧美一区二区在线播放
|
在线视频黄
|
91手机看片
|
香蕉av在线
|
成人av资源
|
日本视频免费观看
|
99自拍视频
|
黄色成人在线观看
|
欧美精品亚洲精品
|
久久夜色精品国产欧美乱极品
|
欧美伊人久久
|
日本一区二区三区在线视频
|
欧美日韩一区在线观看
|
日韩欧美一级
|
深夜福利视频在线观看
|
国产日韩欧美日韩大片
|
国产精品久久久久久久久久久久久
|
久久精选视频
|
国产精品黄
|
国产精品视频一区二区三区
|
一级免费片
|
少妇高潮露脸国语对白
|
在线观看国产小视频
|
国产欧美一区二区三区在线看蜜臀
|
av天天操
|