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

正文內(nèi)容

基于at89s51單片機(jī)的電子時(shí)鐘(帶溫度顯示)-wenkub

2023-07-11 13:15:03 本頁(yè)面
 

【正文】 即從0000H地址單元開(kāi)始執(zhí)行程序。 按鍵部分本設(shè)計(jì)總的用了四個(gè)按扭開(kāi)關(guān)作為鍵盤,其中一個(gè)是復(fù)位鍵,另三個(gè)中的其中兩個(gè)是調(diào)整時(shí)間增加、減少的鍵,第三個(gè)是切換年、月、日及時(shí)、分、秒的顯示狀態(tài)并在所切換的顯示狀態(tài)下配合加減兩個(gè)鍵調(diào)整時(shí)間。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。(2)內(nèi)因 振蕩源的穩(wěn)定性,主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定 起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類型溫度和電壓等參數(shù)影響復(fù)位電路的可靠性。 時(shí)間計(jì)數(shù)器電路 時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器及時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器電路構(gòu)成,其中秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器而根據(jù)設(shè)計(jì)要求,時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器為12進(jìn)制計(jì)數(shù)器。從以上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。方案二:液晶顯示方式。閏年的判斷規(guī)則為,如果該年份是4或100的整數(shù)倍或者是400的整數(shù)倍,則為閏年;否則為非閏年。時(shí)間控制程序主要是定時(shí)器0計(jì)時(shí)中斷程序每隔10ms中斷一次當(dāng)作一個(gè)計(jì)數(shù),每中斷一次則計(jì)數(shù)加1,當(dāng)計(jì)數(shù)100次時(shí),則表示1秒到了,秒變量加1,同理再判斷是否1分鐘到了,再判斷是否1小時(shí)到了,再判斷是否1天到了,再判斷是否1月到了,再判斷是否1年到了,若計(jì)數(shù)到了則相關(guān)變量清除0。根據(jù)各自芯片的功能互相連接成電子萬(wàn)年歷的控制電路。成本也相對(duì)低一些。它的準(zhǔn)確度相當(dāng)高,并且C語(yǔ)言和匯編兼容的編程環(huán)境也很方便來(lái)實(shí)現(xiàn)一些遞歸調(diào)用。設(shè)計(jì)起來(lái)結(jié)構(gòu)清晰,各個(gè)模塊,從硬件上設(shè)計(jì)起來(lái)相對(duì)簡(jiǎn)單,控制與顯示的模塊間的連接也會(huì)比較方便。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。LCD1602基于AT89S51單片機(jī)的電子時(shí)鐘(帶溫度顯示)設(shè)計(jì)摘要 11 設(shè)計(jì)要求 22 方案論證與設(shè)計(jì) 2 用可編程邏輯器件設(shè)計(jì) 2 3 顯示部分的方案選擇 3 系統(tǒng)設(shè)計(jì) 3 晶體振蕩器電路 ………………………………………………………………………………..3 分頻器電路 ………………………………………………………………………………..3 時(shí)間計(jì)數(shù)器電路 …………………………………………………………………………..3 時(shí)鐘電路 ……………………………………………………………………………………..4 復(fù)位電路 ……………………………………………………………………………………. 4………………………………………………………………………...4 按鍵部分………………………………………………………………………………………..5 根據(jù)各模塊的功能互相連接成電子時(shí)鐘的控制電路……………………………………53各硬件介紹 6 AT89S51的引腳說(shuō)明 7 發(fā)光二極管指示電路設(shè)計(jì)……………………………………………………………………………8 LCM1602簡(jiǎn)介…………………………………………………………………………9 DS1302 簡(jiǎn)介 104 系統(tǒng)硬件設(shè)計(jì)所需的器材……………………………………………………………….115 系統(tǒng)軟件總體設(shè)計(jì) 116 主程序流程圖 147 安裝制作 ……………………………………………………………………………….148 調(diào)試與檢測(cè)安全 ……………………………………………………………………….149結(jié)束語(yǔ) 15前言 電子時(shí)鐘是實(shí)現(xiàn)對(duì)年,月,日,時(shí),分,秒數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭,辦公室,銀行大廳等場(chǎng)所,成為人們?nèi)粘I钪械谋匦杵贰k娮訒r(shí)鐘。軟件設(shè)計(jì)采用模塊化結(jié)構(gòu),C語(yǔ)言編程。系統(tǒng)通過(guò)LCD顯示數(shù)據(jù),可以顯示日期(年、月、日、時(shí)、分、秒)以及溫度。溫度傳感器。數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表。因此,研究數(shù)字時(shí)鐘及擴(kuò)大其應(yīng)用有著非常現(xiàn)實(shí)的意義。但是考慮到本設(shè)計(jì)的特點(diǎn),EDA在功能擴(kuò)展上比較受局限,而且EDA占用的資源也相對(duì)多一些。I/O口功能也比較強(qiáng)大,方便使用。但是,在控制與顯示的結(jié)合上有些復(fù)雜,顯示模組資源相對(duì)有限,而且單片機(jī)的穩(wěn)定性不是很高,而且就需要完成萬(wàn)年歷這個(gè)不太復(fù)雜的設(shè)計(jì)可以不必用凌陽(yáng)16位單片機(jī)來(lái)完成,采用51單片機(jī)既能夠?qū)崿F(xiàn)既定功能,成本也不高。軟件控制程序主要有主控程序、電子萬(wàn)年歷的時(shí)間控制程序、時(shí)間顯示及星期顯示程序等組成。先給出一般年份的每月天數(shù)。在我們的這個(gè)設(shè)計(jì)中由于只涉及100年范圍內(nèi),所以判斷是否閏年就只需要用該年份除4來(lái)判斷就行了。液晶顯示效果出眾,可以運(yùn)用菜單項(xiàng)來(lái)方便操作,比較簡(jiǎn)單,所以,最后選擇液晶顯示方案。 (2).方案二的總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89S51,溫度傳感器采用DS18B20,用LCD1602顯示溫度 系統(tǒng)設(shè)計(jì) 晶體振蕩器電路 晶體振蕩器電路給數(shù)字鐘提供一個(gè)頻率穩(wěn)定準(zhǔn)確的32768Hz的方波信號(hào),可保證數(shù)字鐘的走時(shí)準(zhǔn)確及穩(wěn)定。 時(shí)鐘電路內(nèi)部時(shí)鐘電路如圖所示,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就產(chǎn)生自激振蕩。復(fù)位是單片機(jī)的初始化操作。 復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。圖6 按鍵電路 Key circuit3各硬件介紹 AT89S51的引腳說(shuō)明AT89S51系列單片機(jī)中有PDIP,PLCC,TQFP多種封裝形式。(2)Pin29:PESN當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。  它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能;常簡(jiǎn)寫為L(zhǎng)ED。當(dāng)電子和空穴復(fù)合時(shí)釋放出的能量多少不同,釋放出的能 量越多,則發(fā)出的光的波長(zhǎng)越短。 LCD1602簡(jiǎn)介 圖11 LCM1602 LCM1602LCM1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為地電源 第2腳:VDD接5V正電源 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第15~16腳:空腳 DS1302 簡(jiǎn)介1 DS1302 的結(jié)構(gòu)及工作原理DS1302[1]是美國(guó)DALLAS 公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,~。 引腳功能表及內(nèi)部結(jié)構(gòu)圖DS1302 的引腳及內(nèi)部結(jié)構(gòu)如圖1 所示,引腳功能如表1 所示。最低有效位(位0)如為0 表示要進(jìn)行寫操作,為1 表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。如果在傳送過(guò)程中置 為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/O 引腳變?yōu)楦咦钁B(tài)。同樣,在緊跟8 位的控制指令字后的下一個(gè)SCLK 脈沖的下降沿讀出DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0 位至高位7,數(shù)據(jù)讀寫時(shí)序見(jiàn)圖3。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。(底視圖) DS18B20表1 DS18B20詳細(xì)引腳功能描述序號(hào)名稱引腳功能描述1GND地信號(hào)2DQ數(shù)據(jù)輸入/輸出引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。表1 DS18B20溫度轉(zhuǎn)換時(shí)間表 DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。主機(jī)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。DS18B20的寫時(shí)序?qū)τ贒S18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過(guò)程。軟件控制程序主要有主控程序、電子時(shí)鐘的時(shí)間控制程序h和溫度顯示程序組成。//sbit rs = P2^5。// 1302 IO口位定義sbit io = P3^4。//sbit key4 = P1^3。 //臨時(shí)變量高位uint temperature。 //對(duì)應(yīng)字符為: { 0 1 2 3 4 5 6 7 8 9 : }uchar tab_time[] = {1,2,10,3,4,10,5,6}。xz。}//***************************/****************************************************************************函數(shù)功能:延時(shí)子程序入口參數(shù):k出口參數(shù):****************************************************************************/void delay18b20(unsigned int k){ unsigned int n。 } /****************************************************************************函數(shù)功能:DS18B20初始化子程序入口參數(shù):出口參數(shù):****************************************************************************/Init_DS18B20(void){ unsigned char x=0。 //發(fā)送復(fù)位脈沖 delay18b20(85)。 unsigned char dat=0。 delay18b20(1)。 if(DQ) dat|=0x80。 for(i=8。0x01。 } delay18b20(4)。 //啟動(dòng)溫度轉(zhuǎn)換 delay18b20(125)。 //讀溫度寄存器(頭兩個(gè)值分別為溫度的低位和高位) tempL=ReadOneChar()。 return(temperature)。i8。 else io = 0。 } sclk = 0。i8。 sclk = 0。 sclk = 0。 sclk = 0。 sclk = 0。 sclk = 0。 temp = dat1 * 10 + dat2。 //初始化秒 50; write_add(0x82,59)。 //初始化月 12; write_add(0x8c,10)。 //打開(kāi)寫保護(hù),讀出時(shí)間; second = read_add(0x81)。 //從1302讀出時(shí)間日; month = read_add(0x89)。 rw = 0。 delay(5)。}//***************************//寫數(shù)據(jù)函數(shù)*****************void write_data(uchar date){ rs = 1。 P0 = date。 en = 0。 tab_time[3] = minute /10。 tab_date[2] = year / 10。 tab_date[8] = d
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1