1樓:蓮花的葉
#include"reg51.h"
char tab1[10]=;
unsigned char j,sfm,sfm2,s=0,m=0,h=0,sh=0,sl=0,mh=0,ml=0,hh=1,hl=1;
char ah1=0; unsigned long a;
void mdelay(unsigned int delay) }}void led();
main()
hl=hh=0;
}}}}}}
void int0() interrupt 0 using 2}void int1() interrupt 2 using 1if(sh==6)
break;
case 2:
ml++;
if(ml==10)
if(mh==6)
break;
case 0:
hl++;
if(hl==10)
if(hh==2&&hl==4)
break;}}
void led()}}
我們用的是89c51,,,還有沒有硬體,所以鬧鈴用led代替
2樓:匿名使用者
去看看郭天祥的十天學會微控制器,
裡面有詳細的c語言程式。
直接抄先來就可以用。
請教基於at89c51或者c52微控制器的數字時鐘設計完整的電路圖和程式
3樓:士多啤梨啤
我發了~~總共有3個程式,一次為修改之後的,註釋都很清楚,用51 52都可以,程式已經很完善
功能有1、時鐘模式
在其他模式下,長按k2鍵,均可進入時鐘模式,數碼管顯示「12-00-00」(時間),「-」每秒閃爍一次
本時鐘為24小時進位制
系統時間為12-00-00,每次掉電重啟後均更新為預設值
當時小於10,數碼管第一位不顯示0,即不出現0x的時位顯示
短按k1鍵,可進入螢幕保護模式
短按k2鍵,可進入節電模式
長按k1鍵進入時間設定模式
長按k2鍵無效
當鬧鐘鬧鈴時,在該模式下,短按k1或k2鍵均可停止鬧鐘
2、時間設定模式
每次掉電重啟後均進入時間設定模式;在時鐘模式下,長按k1鍵,也可進入時間設定模式
數碼管顯示「c□12.00.00」(□代表該位無顯示,下同),其中,「12」、「00」閃爍
系統預設時間為12-00-00,每次掉電重啟後均更新為預設值
短按k1鍵,可遞增調整時鐘時
短按k2鍵,可遞增調整時鐘分,分、時之間有進位
長按k1鍵,進入鬧鐘設定模式
長按k2鍵,進入時鐘模式
3、鬧鐘設定模式
在時間設定模式下,長按k1鍵,即進入鬧鐘設定模式,數碼管顯示「12.00□off」,其中,「12」閃爍
鬧鐘預設時間是12.00(即12時00分),狀態為關閉(off),每次掉電重啟後均更新為預設值
短按k1鍵,可依次對12(鬧鐘時)、00(鬧鐘分)、off(鬧鐘開關)選中,選中項閃爍。每次進入該模式預設為12(鬧鐘時)選中
當選中項為12(鬧鐘時)時,短按k2鍵,可遞增調整鬧鐘時
當選中項為00(鬧鐘分)時,短按k2鍵,可遞增調整鬧鐘分。分、時之間無進位
當選中項為off(鬧鐘開關)時,短按k2鍵,可開啟鬧鐘,再次短按k2鍵即關閉
鬧鐘每響過一次後自動關閉
當鬧鐘鬧鈴時,在時鐘模式下,短按k1或k2鍵均可停止鬧鐘。其他模式下無此功能
長按k1鍵進入秒錶模式
長按k2鍵進入時鐘模式
4、秒錶模式
在鬧鐘設定模式下,長按k1鍵,即進入秒錶模式,數碼管顯示「□00-00.00」
秒錶預設為歸零,即00(分)-00(秒).00(毫秒),每次啟動均為預設值,退出時自動清零
短按k2鍵開始計時,再次短按k2鍵停止計時,再次短按k2鍵繼續計時
當計時超過99分59秒99後,秒錶歸零溢位,數碼管第一位閃爍「e」(error)字,提示溢位錯誤,即「e00-00.00」
在秒錶停止計時時,短按k1鍵清零。正在計時時,該鍵無效,按下無操作
長按k1或k2鍵均進入時鐘模式,並自動清零
5、螢幕保護模式
在時鐘模式下,短按k1鍵,即可進入螢幕保護模式,數碼管流水迴圈顯示「hello□」
短按k1或k2鍵、長按k1或k2鍵,均返回時鐘模式
當鬧鐘鬧鈴時,在該模式下,短按k1或k2鍵均可停止鬧鐘,並返回時鐘模式
6、節電模式
在時鐘模式下,短按k2鍵,即可進入節電模式,數碼管全部關閉,僅留最後一個小數點每5秒閃爍一次,作為電源指示。系統時鐘正常走時
節電模式下的功率消耗比正常模式低4—5倍
短按k1或k2鍵、長按k1或k2鍵,均返回時鐘模式
當鬧鐘鬧鈴時,在該模式下,短按k1或k2鍵均可停止鬧鐘,並返回時鐘模式
7、其他
按鍵按下後,0.05s—0.5s內放開,認為是短按;0.5s—2s內放開,認為是無效操作;2s後放開,認為是長按
一次按下2s以上只算作一次長按,次數不隨時間累加
4樓:
你好 想要什麼樣子的都有
用微控制器設計一個時鐘,可顯示時和分,可以調時間,也要有鬧鐘功能,要有設計的電路圖 10
5樓:漢馬行
其實不用定時中斷也能實現功能:
#include主函式
unsigned char tab=;定義0-9陣列unsigned int tmp;定義變數void delay(unsigned int xms)定義延時函式void main( )
s++;
while(s==60)秒進一位,到60清0while(m==60)分鐘進一位,到60清0while(h==24)小時進一位,到24清0}}
急求一個用at89c51微控制器設計的數字時鐘程式,只需要顯示時鐘(時、分、秒)不需要鬧鐘
6樓:
網上有一份名稱為 微控制器寶典從硬體到軟體 的資料
這份資料就有這個
7樓:匿名使用者
把原理圖貼上來唄,看看硬體配置怎樣。
其實這個程式很簡單的,你就是想看一下顯示的時鐘效果,所以時鐘晶片都免了。
用定時器就可以做到了,timer0定時50ms,每中斷一次就計數,計夠20就讓秒+1,秒夠60分+1,……
然後用動態掃描的方式把時分秒顯示到數碼管上
8樓:匿名使用者
定時器你會不?
數碼管掃描顯示你會不?
如果這個都不會的話,去看書吧。
一天就足夠了
如果上面的會的話,你可以配置定時器為t時間中斷。假如中斷n次是1秒,你就每次中斷一次,把一個變數加1,直到等於n,這就是1秒,分,時 同理
基於 微控制器at89c51的電子時鐘的電路圖和程式怎麼做啊
9樓:問天
區電子發燒友這個**吧,裡面有
求at89c52微控制器用max485與pc機串列埠通訊程式
void serial rec interrupt 4using 0 需要連續接收 ri 0 if r buf 0 0x41 r buf 1 0x01 r buf 2 0x42 接收到的上一個位元組為 else 問一下你的硬體是怎麼接的,我引用下面的程式出不來 也想要一份 郵箱cfsoft 163....
STC89C52微控制器中斷和定時器問題 TMOD
這些暫存器實 bai際試幾次就能深刻明du白他們的用途了,說的話zhi擔心你可能還是不dao能完全理解。內ea是總中斷開關,當容ea 0時,微控制器不執行任何中斷,因此如果想要微控制器進入中斷,ea必須賦值為1。et0 et1是定時 計數器t0 t1的中斷開關,其值為0時對應的中斷失效 有爭議 tr...
89C89S51前景微控制器問題,89C51 89S51前景 微控制器問題
你如果熟了應用了一個系列的微控制器,其他的原理也相似。再說s51和c51都是51系列的微控制器。一般都是從51學起,市場上教科書c的較多,原因是c的 易移植 好編寫,但是我想為了熟悉硬體彙編也要熟悉的。微控制器應用還是比較廣泛的,但是現在嵌入系統發展很快 基於windowce的功能強大,我認為更注重...