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

正文內(nèi)容

基于51單片機(jī)的多功能電子鐘設(shè)計(jì)畢業(yè)設(shè)計(jì)(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2024-07-25 00:16 本頁面
 

【文章內(nèi)容簡介】 8中,DS18B20采用外接電源方式。本設(shè)計(jì)采用38所示接線,即外接電源工作方式[11]。 圖37 DS18B20接寄生電源圖 圖38 DS18B20外接電源圖 液晶顯示屏LCD1602 (一)LCD1602特點(diǎn)說明[12] [13]液晶顯示模塊由于具有低功耗、壽命長、體積小、顯示內(nèi)容豐富、價(jià)格低、接口控制方便等優(yōu)點(diǎn),因此在各類電子產(chǎn)品中被極廣泛地推廣和應(yīng)用。字符型液晶顯示模塊是一類專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式液晶顯示模塊。本系統(tǒng)設(shè)計(jì)采用字符型液屏顯示模塊LCD1602 作為顯示器件,這樣不僅簡化了系統(tǒng)的硬件設(shè)計(jì),而且極大地提高了系統(tǒng)的可靠性。字符型液晶顯示模塊LCD1602是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件。LCD1602 可以顯示兩行,每行16 個字符,采用+5V 電源供電,外圍電路配置簡單,價(jià)格便宜,具有很高的性價(jià)比[14]。(二)LCD1602功能介紹 LCD1602各引腳功能如表37所示。表37 LCD1602管腳功能表(1)基本操作時序:LCD1602 讀寫操作時序總體上來說是比較簡單的,掌握其有兩種方法:一種是直接看時序圖,另外一種方法是直接記憶和總結(jié)讀寫時電平高低和變化。很顯然第二種更簡單、直接,下面就列出典型讀寫的時序要求,以方便編寫程序。讀狀態(tài)輸入:RS=L,R/W=H,E=H 輸出:D0D7=狀態(tài)字寫指令輸入:RS=L,R/W=L,D0D7=指令碼,E=高脈沖 輸出:無讀數(shù)據(jù)輸入:RS=H,R/W=H,E=H 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù)輸入:RS=H,R/W=L,D0D7=數(shù)據(jù),E=高脈沖 輸出:無(2)狀態(tài)字說明: 表38 狀態(tài)字表對控制器每次進(jìn)行讀寫操作之前,都必須進(jìn)行讀寫檢測,確保STA7為0(3)指令說明: 表39 顯示模式設(shè)置表表310 顯示開/關(guān)及背光燈設(shè)置表(4)數(shù)據(jù)控制控制器內(nèi)部有一個數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部80字節(jié)RAM(5)數(shù)據(jù)指針設(shè)置 表311 數(shù)據(jù)指針設(shè)置表(6)其他設(shè)置 表312 其他設(shè)置指令表(三)LCD1602初始化過程(1)延時15ms(2)寫指令38H(不檢測忙信號)(3)延時5ms(4) 寫指令38H(不檢測忙信號)(5)寫指令5ms(6) 寫指令38H(不檢測忙信號)(7)之后每次寫指令、讀/寫數(shù)據(jù)操作之前均需檢測忙信號(8)寫指令38H:顯示模式設(shè)置(9)寫指令08H:顯示關(guān)閉(10) 寫指令01H:顯示清屏幕(11) 寫指令06H:顯示光標(biāo)移動設(shè)置(12) 寫指令0CH:顯示及光標(biāo)設(shè)置 系統(tǒng)硬件架構(gòu)本設(shè)計(jì)以模塊化的方式來進(jìn)行硬件電路的設(shè)計(jì)和調(diào)試。單片機(jī)的模塊化就是把系統(tǒng)分成各個具有獨(dú)立功能又可以互相銜接的簡單模塊,將復(fù)雜難懂的指令、語法、編程及其電路分解,使設(shè)計(jì)簡單化[15]。本設(shè)計(jì)的電路模塊可以分為單片機(jī)最小系統(tǒng)模塊,時鐘模塊,溫度傳感器模塊,液晶顯示模塊,按鍵模塊,蜂鳴器報(bào)警模塊。 單片機(jī)最小系統(tǒng)本設(shè)計(jì)的單片機(jī)最小系統(tǒng)主要包括STC89C52芯片,晶振電路和復(fù)位電路。(一)晶振電路 最小系統(tǒng)晶振電路如圖39所示。 圖39 晶振電路圖STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL0和XTAL1分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖39所示,在XTAL0和XTAL1引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路?!?2MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調(diào)的作用。單片機(jī)晶振兩個電容的作用:這兩個電容叫晶振的負(fù)載電容,分別接在晶振的兩個腳上和對地的電容,一般在幾十pf。它會影響到晶振的諧振頻率和輸出幅度。晶振的負(fù)載電容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg為分別接在晶振的兩個腳上和對地的電容,Cic(集成電路內(nèi)部電容)+△C(PCB上電容)經(jīng)驗(yàn)值為3至5pf。(二)復(fù)位電路 最小系統(tǒng)復(fù)位電路如圖310所示。 圖310 復(fù)位電路圖無論使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì).而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個系統(tǒng)工作的可靠性.許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的[16]。復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)過一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分合過程中引起的抖動而影響復(fù)位。單片機(jī)復(fù)位電路參數(shù)的選定須在振蕩穩(wěn)定后保證復(fù)位高電平持續(xù)時間大于2個機(jī)器周期。單片機(jī)復(fù)位電路主要有四種類型:微分型復(fù)位電路;積分型復(fù)位電路;比較器型復(fù)位電路;看門狗型復(fù)位電路[17]。(三)最小系統(tǒng)整體圖最小系統(tǒng)整體電路如圖311所示。圖311 最小系統(tǒng)電路圖 時鐘模塊本設(shè)計(jì)中的DS12887芯片AD0AD7引腳與STC89C52芯片的P2口相連接。MOT引腳接地,為INTEL總線時序方式。因此R/W和DS引腳也為對應(yīng)INTEL的操作模式。時鐘模塊電路如圖312所示。 圖312 時鐘模塊電路圖 溫度傳感器模塊溫度傳感器DS18B20的接法很簡單。這里只用到一個溫度傳感器,若要使用多個則只需將所有的DS18B20的I/O口接在一起即可,在具體操作時,通過讀取每個芯片的內(nèi)部序列號來識別[18]。溫度傳感器模塊電路如圖313所示。圖313 溫度傳感器模塊 液晶顯示模塊液晶LCD1602的D0D7引腳與STC89C52芯片的P2口相接,而控制引腳RS,R/W,。引腳3接一個1K的電位器來調(diào)整對比度,從而達(dá)到合適的背光燈對比度。液晶顯示模塊電路如圖314所示。圖314 液晶顯示模塊 按鍵模塊74LS21芯片為兩組 4 輸入與門(正邏輯)。本設(shè)計(jì)中的四個按鍵分別接到74LS21芯片的1A,1B,1C,1D,即4輸入與門的4個輸入。(INT0)引腳,由于該引腳為低電平有效,當(dāng)警報(bào)發(fā)生時按下四個按鍵中任意一個都會使輸出1Y變?yōu)榈碗娖?,則芯片發(fā)生中斷,報(bào)警停止。同時。四個按鍵中S1為切換鍵,S2為設(shè)定鍵,S3為上調(diào)鍵,S4下調(diào)鍵。按鍵模塊電路如圖315所示。 圖315 按鍵模塊 蜂鳴器報(bào)警模塊蜂鳴器報(bào)警模塊的作用:當(dāng)定時鬧鐘時間到時,蜂鳴器發(fā)出預(yù)設(shè)的聲音,而發(fā)光二極管則會隨著音樂閃爍。本模塊采用PNP三極管為蜂鳴器放大電流,集電極直接接地,發(fā)射極接發(fā)光二極管和蜂鳴器。 報(bào)警模塊電路如圖316所示。圖316 報(bào)警模塊 第四章 軟件設(shè)計(jì) 軟件設(shè)計(jì)總體說明本系統(tǒng)的程序采用C語言編寫,為了便于修改和調(diào)試,系統(tǒng)軟件采用模塊化設(shè)計(jì),程序的編寫編譯在WAVE6000軟件中完成。首先對STC89C5DS1288LCD160DS18B20進(jìn)行初始化,日歷和溫度信息通過LCD1602顯示出來,當(dāng)當(dāng)前時間與設(shè)定的鬧鐘時間相同后,LCD1602上顯示的時間停止,但,實(shí)際上芯片內(nèi)部的時間仍然在走。時鐘芯片向單片機(jī)發(fā)出中斷請求,單片機(jī)通過報(bào)警模塊進(jìn)行警報(bào),此時,若按下四個按鍵中的任意一個,報(bào)警停止,LCD1602顯示的時間繼續(xù)精確顯示。[20]系統(tǒng)中有四個按鍵,即:設(shè)置鍵S切換鍵S上調(diào)鍵S下調(diào)鍵S4。(1)按下S1鍵,系統(tǒng)進(jìn)入設(shè)置狀態(tài),再按下S2鍵可在除了溫度外的項(xiàng)目,如年、月、日、時、分、秒、星期、鬧鐘上停留,此時再按下上調(diào)鍵S3即可進(jìn)行加一操作,按下下調(diào)鍵S4即可進(jìn)行減一的操作。(2)同時按下S1鍵和S2鍵會將當(dāng)前的時間恢復(fù)到程序中設(shè)定的默認(rèn)時間。(3)同時按下S3鍵和S4鍵可對鬧鐘進(jìn)行開啟和關(guān)閉的操作。 主程序軟件實(shí)現(xiàn)圖41 主程序流程圖void main(){ lcd_init()。 //LCD初始化 Start_calendar ()。 //日歷開啟 initial_irq ()。 //中斷開啟 enable_set = F。 //設(shè)置禁止 while(1) { if ( enable_play_song ) //鈴聲使能 { play_song()。 //播放鈴聲 enable_play_song = F。 //禁止鈴聲 } update_display_data ()。 //更新顯示數(shù)據(jù) display_calender_and_temp ()。 //顯示日歷及溫度 if (enable_set) //設(shè)置使能 { delay (100)。 //延時100ms update_set_display (cur_set_pos)。 //更新設(shè)置的信息 display_calender_and_temp ()。 //顯示日歷及溫度信息 delay (100)。 //延時100ms date_time[TIME_SIGN_POS] = 39。:39。 //時間的時和分之間顯示‘:’ continue。 //繼續(xù)循環(huán) } delay (200)。 //延時200ms flash_time_sign ()。 //‘:’閃爍 } } DS18B20模塊軟件實(shí)現(xiàn) DS18B20模塊子程序流程圖圖42 DS18B20子程序流程圖 DS18B20模塊子程序代碼include include include include include sbit dq= P1^7。void delay_temperature(uint t){ uint i。 while(t) { for(i=0。i125。i++){} }}void txreset(void){ uint i。 dq=0。 i=100。 while(i0) i。 dq=1。 i=4。 while(i0) i。}void rxwait(void){ uint i。 while(dq) 。 while(~dq)。 i=4。 while (i0) i。}bit rdbit(void){ uint i。 bit b。 dq=0。 i++。 dq=1。 i++。i++。 b=dq。 i=8。 while(i0) i。 return(b)。}uchar rdbyte(void){ uchar i,j,b。 b=0。 for(i=1。i=8。i++){ j=rdbit()。 b=(j7)|(b1)。 }return(b)。}void wrbyte(uchar b){ uint i。 uchar j。 bit btmp。 for(j=1。j=8。j++) { btmp=bamp。0x01。 b=b1。 if(btmp) { dq=0。 i++。i++。 dq=1。 i=8。 while (i0) i。 } else { dq=0。 i=8。 while(i0) i。 dq=1。 i++。i++。 } }}void convert(void){ txreset()。 rxwait()。 delay_temperature(1)。 wrbyte(0xcc)。 wrbyte(0x44)。}float rdtemp(void){ unsigned char tplsb=0。 unsigned char tpmsb=0。 unsigned int t=0。 float tt=0。 float point_val = 。 txreset()。 rxwait()。 delay_temperature(1)。 wrbyte(0xcc)。
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1