freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)-畢業(yè)論文-閱讀頁(yè)

2025-07-12 19:54本頁(yè)面
  

【正文】 動(dòng)芯片MAX7219,右上部分是一個(gè)八段的數(shù)碼管顯示屏,數(shù)碼管下面為四個(gè)按鍵,圖中的左下部的那個(gè)芯片為時(shí)鐘芯片DS1302,時(shí)鐘芯片右部為蜂鳴器,原理圖中還有單片機(jī)的晶振電路和單片機(jī)的復(fù)位電路。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。該芯片具有10MHz傳輸率的三線串行接口可與任何微處理器相連,只需一個(gè)外接電阻即可設(shè)置所有LED的段電流。此外它還支持多片7219串聯(lián)方式,這樣MCU就可以通過3根線(即串行數(shù)據(jù)線、串行時(shí)鐘線和芯片選通線)控制更多的數(shù)碼管顯示。顯示驅(qū)動(dòng)芯片MAX7219是連接單片機(jī)和數(shù)碼管的芯片。按鍵是對(duì)時(shí)間、日期等的調(diào)整或輸入,其具體操作方法下節(jié)有具體介紹。蜂鳴器起鬧鐘揚(yáng)聲功能。 整機(jī)的仿真及調(diào)試調(diào)試:把編寫完的源程序放在KEIL軟件中,先自行檢查下程序是否有誤,更改有誤的部分,再創(chuàng)建工程進(jìn)行程序一個(gè)一個(gè)地調(diào)試,把調(diào)試結(jié)果顯示有誤的部分找出,檢查錯(cuò)誤的原因然后再進(jìn)行更改,更改后再進(jìn)行調(diào)試,再找出錯(cuò)誤進(jìn)行更改,依次循環(huán)進(jìn)行,至到程序調(diào)試成功為止。 :該設(shè)計(jì)在仿真及調(diào)試過程中應(yīng)注意以下幾點(diǎn):。,需要反復(fù)修改程序中的給定的時(shí)間,直到整體上的顯示效果較好,不會(huì)有閃爍的現(xiàn)象產(chǎn)生。 (2)按鍵說(shuō)明:①?gòu)?fù)位鍵,當(dāng)發(fā)現(xiàn)系統(tǒng)運(yùn)行不正常,進(jìn)入死循環(huán),顯示數(shù)值。強(qiáng)行使單片機(jī)從頭開始運(yùn)行,跳出錯(cuò)誤區(qū)。通過中斷服務(wù)子程序來(lái)達(dá)到顯示的年、月、日、星期的目的。中斷程序只進(jìn)行一秒,后返回主程序,顯示時(shí)、分、秒、溫度。ADD鍵表示增加,每按一下增加一,DWC鍵表示減少,每按一下減少一,三個(gè)鍵組合在一起完成調(diào)時(shí)功能。按下第三個(gè)鍵K3,實(shí)現(xiàn)日期\時(shí)間調(diào)整及\定時(shí)功能,等數(shù)字閃爍后,按一二鍵進(jìn)行加減,從而可以進(jìn)行具體日期時(shí)間調(diào)整。按下第四個(gè)鍵K4,可以進(jìn)行時(shí)間\日期切換,8位LED數(shù)碼管將顯示時(shí)間或日期,采用24小時(shí)制。在設(shè)計(jì)過程中,吸收了前輩的一些先進(jìn)的理論成果,也對(duì)彭小軍同志的時(shí)鐘設(shè)計(jì)經(jīng)驗(yàn)進(jìn)行了借鑒。因?yàn)椴煌脑O(shè)計(jì)技術(shù)或者設(shè)計(jì)思想都有自身的優(yōu)點(diǎn)和局限性,只有根據(jù)具體的設(shè)計(jì)要求,才能順利地進(jìn)行設(shè)計(jì)仿真,也才能對(duì)己有的設(shè)計(jì)方法進(jìn)行創(chuàng)新。由于時(shí)間和日期都是通過特定的芯片來(lái)獲得的,單片機(jī)只起到控制和轉(zhuǎn)換的作用,在精度方面不受單片機(jī)性能和程序的限制,故容易保障其精度和效率。也學(xué)習(xí)了時(shí)鐘芯片12887的基本原理和使用方法。但是設(shè)計(jì)還有諸多功能沒有完善,以后有機(jī)會(huì)會(huì)繼續(xù)完善其相應(yīng)的功能。 本系統(tǒng)上可實(shí)現(xiàn)的功能:; ,當(dāng)所定的時(shí)間到時(shí),產(chǎn)生斷續(xù)的蜂鳴聲;,例如:距科技文化藝術(shù)節(jié)開幕還有**天;以上的功能由于時(shí)間緊迫未能完成。報(bào)告結(jié)束,請(qǐng)老師和同學(xué)們批評(píng)指正! 謝謝大家!致 謝本課題的研究和論文的完成是在曾老師的悉心指導(dǎo)和熱情關(guān)懷下完成的。老師豁達(dá)的胸懷對(duì)我樹立正確的人生觀和價(jià)值觀產(chǎn)生了積極的影響。我在人生道路上的每一個(gè)腳印都凝聚著老師的心血。在此謹(jǐn)向曾老師表示崇高的敬意和衷心的感謝!感謝老師在研究工作中對(duì)我進(jìn)行的悉心指導(dǎo),并為我的學(xué)習(xí)提供了良好的條件,使我的論文的撰寫得以順利進(jìn)行。最后感謝生我育我的父母!感謝你們一直以來(lái)對(duì)我的無(wú)私關(guān)愛和默默奉獻(xiàn)。uint8 Time[7]={55,59,11,22,2,2,11}。uint8 Num, Led_n=0, T_n=0。}/* * 初始化系統(tǒng)定時(shí)器*/void systimer_init(void){ TMOD = 0x01。 TL0 = 0xCC。 ET0 = 1。= 0x0F。 TH1 = 0xDC。 TR1 = 0。 EA = 1。 KeyOut1 = 0。 KeyOut3 = 1。 if (KeyIn4 == 0) { delay(KEY_DELAY)。 } while ((KeyIn1 == 0)||(KeyIn2 == 0)||(KeyIn3 == 0)||(KeyIn4 == 0))。 KeyOut2 = 0。 KeyOut4 = 1。 if (KeyIn4 == 0) val = K_LEFT。 KeyOut1 = 1。 KeyOut3 = 0。 if (KeyIn4 == 0) { delay(KEY_DELAY)。 } while ((KeyIn1 == 0)||(KeyIn2 == 0)||(KeyIn3 == 0)||(KeyIn4 == 0))。 KeyOut2 = 1。 KeyOut4 = 0。 if (KeyIn2 == 0) val = K_SET。 if (KeyIn3 == 0) val = K_ENTER。 if (KeyIn4 == 0) val = K_RIGHT。 return val。 Led_buf[0] = 0x7F amp。 Led_buf[1] = Ledcode[Time[0]/10]。 Ledcode[Time[1]%10]。 Led_buf[4] = 0x7F amp。 Led_buf[5] = Ledcode[Time[2]/10]。}/* * 啟動(dòng)clock數(shù)字閃爍*/void start_flash(void){ T_n = 0。 Ledcode[Time[Num]%10]。 TH1 = 0xDC。 TR1 = 1。}/* * 停止clock數(shù)字閃爍*/void stop_flash(void){ ET1 = 0。 Led_buf[2*Num] = 0x7F amp。 Led_buf[2*Num+1] = Ledcode[Time[Num]/10]。 Num = 0。 if (k_val == 0) { if (flag == 0) { start_flash()。 } continue。 stop_flash()。 break。 else Time[Num]++。 else Time[Num]++。 case K_SUB: if (Num == 2) { if (Time[Num] == 0) Time[Num] = 23。 } else { if (Time[Num] == 0) Time[Num] = 59。 } break。 else Num++。 case K_RIGHT: if (Num == 0) Num = 2。 break。 } make_led_number()。 switch (Led_n) { case 0: ADDR0 = 0。 ADDR2 = 0。 break。 ADDR1 = 0。 P0 = buf[1]。 case 2: ADDR0 = 0。 ADDR2 = 0。 break。 ADDR1 = 1。 P0 = buf[3]。 case 4: ADDR0 = 0。 ADDR2 = 1。 break。 ADDR1 = 0。 P0 = buf[5]。 } ENLED = 0。 else Led_n++。 ADDR3 = 1。 systimer_init()。 //初始時(shí)間設(shè)定 TR0 = 1。 make_led_number()。 if (k_val == K_SET) set_clock()。 TH0 = 0xF8。 show_num(Led_buf)。}void time1_isr() interrupt 3{ ET1 = 0。 // 定時(shí)10ms TL1 = 0x00。 if (T_n == 50) // { Led_buf[2*Num] = 0x7F amp。 Led_buf[2*Num+1] = Ledcode[10]。 Led_buf[2*Num] = 0x7F amp。 Led_buf[2*Num+1] = Ledcode[Time[Num]/10]。} 個(gè)人信息 :41
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1