51單片機(jī)電子鐘制作-升級版
新增功能:1. K1模式轉(zhuǎn)換,可自由切換:主界面顯示,時間調(diào)整,鬧鐘設(shè)置,溫度上下限設(shè)定等。等 2. K2選定需要調(diào)整的位數(shù)。
本文引用地址:http://butianyuan.cn/article/201611/323297.htm切換至?xí)r間調(diào)整時,通過K3-"加",K4-"減"按鍵調(diào)整數(shù)值。
切換至鬧鐘設(shè)置時,通過K3-"加",K4-"減"按鍵調(diào)整數(shù)值。
切換至溫度上下限設(shè)定時,通過K3-"加",K4-"減"按鍵調(diào)整數(shù)值。
準(zhǔn)備擴(kuò)展的新功能:鬧鐘音樂,喇叭開啟和關(guān)閉,。
操作說明:
開機(jī)進(jìn)入主界面,顯示時鐘和溫度。按下K1時,進(jìn)入模式選擇,(有時間調(diào)整,鬧鐘設(shè)置,溫度上下限設(shè)定等),當(dāng)K1按下四次后,長響一聲,回到主界面。
當(dāng)K1(模式選擇鍵)按下第一次,選擇在時間調(diào)整時,按下K2,選定需要調(diào)整的位數(shù),選定的位數(shù)會一秒鐘不停的閃爍。然后按下K3 “加”或者K4 “減”按鍵,進(jìn)行數(shù)值的加減,當(dāng)K2按到五次時,返回時間調(diào)整界面。
再按下K1(模式選擇鍵)按下第二次,進(jìn)入到下一個模式,鬧鐘設(shè)置。按下K2,選定需要調(diào)整的位數(shù),選定的位數(shù)會一秒鐘不停的閃爍。然后按下K3 “加”或者K4 “減”按鍵,進(jìn)行數(shù)值的加減,當(dāng)K2按到五次時,返回鬧鐘設(shè)置界面。
再按下K1(模式選擇鍵)按下第三次,進(jìn)入到下一個模式,溫度上下限設(shè)定。按下K2,選定需要調(diào)整的位數(shù),選定的位數(shù)會一秒鐘不停的閃爍。然后按下K3 “加”或者K4 “減”按鍵,進(jìn)行數(shù)值的加減,當(dāng)K2按到五次時,返回溫度上下限設(shè)定界面。
當(dāng)K1(模式選擇鍵)按下第四次,返回到時鐘和溫度主界面顯示。
下面是我錄制的一段視頻文件:
采用的是stc89c51單片機(jī),代碼為自己原創(chuàng),沒有進(jìn)行整理和優(yōu)化,有點(diǎn)亂,還有些沒有加注釋說明
完整的源代碼下載地址:http://www.51hei.com/f/dianzz5.rar
#include"reg51.h"#define uchar unsigned char #define uint unsigned int/****溫度 端口定義******/sbit wx5=P2^4;sbit wx6=P2^5;sbit wx7=P2^6;sbit wx8=P2^7;sbit DQ=P3^6;uint temp, temp1,temp2, xs,H1,H2,L1,L2; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0X9c,0xc6,0x91,0xfc,0XE3}; /******延時程序*******/ void delay1(uint m){uint i,j;for(i=m;i>0;i--)for(j=110;j>0;j--);}void delay(unsigned int m){while(m--);}void Init_DS18B20() {unsigned char x=0;DQ = 1; //DQ復(fù)位 ds18b20通信端口 delay(8); //稍做延時DQ = 0; //單片機(jī)將DQ拉低delay(80); //精確延時 大于 480usDQ = 1; //拉高總線 delay(4);x=DQ; //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗delay(20);}
評論