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

正文內(nèi)容

基于單片機(jī)的智能溫度計(jì)-預(yù)覽頁

2025-07-13 12:55 上一頁面

下一頁面
 

【正文】 化成串行數(shù)字量供微處理器處理。因而在本次設(shè)計(jì)中,選用的是數(shù)字溫度傳感器DS18B20,故采用的是方案二。LCD顯示屏是一種低壓、微功耗的顯示器件,只要23伏就可以工作了,工作電流僅為幾微安,是其它顯示器無法比擬的,同時(shí)可以顯示大量信息,除數(shù)字外,還可以顯示字母,曲線,比傳統(tǒng)的LED數(shù)碼顯示器的畫面有了質(zhì)的提高。方案一:44矩陣式鍵盤。在本設(shè)計(jì)中所需要的控制點(diǎn)數(shù)的較少,只需要幾個(gè)功能鍵,簡便、易操作、成本低就成了首要考慮的因素。在錄、放音過程中由單片機(jī)控制D/A轉(zhuǎn)換器,將存儲(chǔ)器中的數(shù)據(jù)轉(zhuǎn)化成聲音信號。該芯片采用多電平直接模擬量存儲(chǔ)專利技術(shù),每個(gè)采樣值可直接存儲(chǔ)在片內(nèi)單個(gè)EEPROM單元中,因此能夠非常真實(shí)、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲。 CPU即中央處理器的簡稱,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CPU由運(yùn)算器和控制器兩部分電路組成。 c. 定時(shí)器/計(jì)數(shù)器 MCS-51單片機(jī)片內(nèi)有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,即定時(shí)器0和定時(shí)器1。P0口為三態(tài)雙向口,能帶8個(gè)TTL門電路,PP2和P3口為準(zhǔn)雙向口,負(fù)載能力為4個(gè)TTL門電路。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,~12MHz,典型取值為6MHz。: AT89C51管腳圖AT89C51的引腳功能VCC:接正極電源+5vGND:接地RST:復(fù)位信號輸入引腳XTAL1,XTAL2:接外部晶振引腳,外部時(shí)鐘電路如圖16P0,P1,P2,P3:不擴(kuò)展功能作雙向I/O口用,訪問外部存儲(chǔ)器時(shí),P2,P0分別做地址總線高低8位地址。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。該模塊在硬件設(shè)計(jì)方面,其外圍電路提供能使之工作的晶振脈沖、復(fù)位按鍵,四個(gè)I/O口分別用于外圍設(shè)備連接。復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過電容加到RST復(fù)位引腳一個(gè)短暫的高電平信號,這個(gè)復(fù)位信號隨著VCC對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。因此,時(shí)鐘頻率直接影響單片機(jī)的速度時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。濾波電容使用電解電容與小電容并聯(lián)的方式,能夠有效消除高頻自激現(xiàn)象。DS18B20是美國DALLAS 公司生產(chǎn)的單總線數(shù)字溫度傳感器,可把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供微處理器處理,而且可以在一條總線上掛接任意多個(gè)DS18B20芯片,構(gòu)成多點(diǎn)溫度檢測系統(tǒng)無需任何外加硬件。計(jì)數(shù)器被預(yù)置到對應(yīng)于55的一個(gè)值。斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以期測溫時(shí)獲得比較高的分辨力,這是通過改變計(jì)數(shù)器對溫度每增加一度所需計(jì)數(shù)的值來實(shí)現(xiàn)的。數(shù)據(jù)通過單線接口以串行方式傳輸。 DS18B20測溫原理圖: DS18B20 測溫原理框圖可用下述方法獲得更高的分辨力。用戶可以用下面的公式計(jì)算實(shí)際溫度值: DS18B20與AT89C51的接口電路設(shè)計(jì)DS18B20可以從單總線上得到能量并儲(chǔ)存在內(nèi)部電容中,該能量是當(dāng)信號線處于低電平期間消耗,在信號線為高電平時(shí)能量得到補(bǔ)充,這種供電方式稱為寄生電源供電。 DS18B20與AT89C51的接口電路按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。準(zhǔn)確判斷去執(zhí)行相應(yīng)的程序。第5腳:RW為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。由上可知1602基本操作時(shí)序如表4。ISD1400系列語音芯片采用直接存儲(chǔ)模擬信號,自動(dòng)待機(jī)省電,可編程電擦除只讀存儲(chǔ)和總線技術(shù)。 ISD1420語音芯片錄放音電路設(shè)計(jì)分段錄音時(shí),ISD1420的A0A7用作地址輸入線,AA7不可同時(shí)為高電平,所以地址范圍為00H9FH,即為十進(jìn)制碼0159 共160個(gè)數(shù)值。 語音芯片錄音和放音電路其中ISD1420各引腳說明如下:A0A7—地址輸入端,當(dāng)A6和A7不全為高電平時(shí),A0A7為分段錄音信息地址線,不同的地址對應(yīng)不同的錄音片斷。ANA OUT—預(yù)放大器的輸出端,預(yù)放大器的電壓增益取決于AGC電平,對于小信號輸入電平,其增益最大為24dB,對于強(qiáng)信號,增益較低。XCLK—外接時(shí)鐘輸入端,ISD1420具有內(nèi)部時(shí)鐘,一旦接人外部時(shí)鐘,內(nèi)部時(shí)鐘會(huì)自動(dòng)失去作用。PLAYE—邊沿觸發(fā)放音控制端,該端輸人一低脈沖,芯片即進(jìn)入放音狀態(tài),直至遇到信息結(jié)束標(biāo)記(EOM)或到存儲(chǔ)空間的末尾時(shí)回放過程結(jié)束,電路自動(dòng)進(jìn)入準(zhǔn)備狀態(tài)。錄音期間REC 應(yīng)始終保持低電平,REC變高或存儲(chǔ)空間變滿時(shí)錄音過程結(jié)束,這時(shí)在錄音截止的地方會(huì)記錄一個(gè)信息結(jié)束標(biāo)記(EOM)。LED和限流電阻組成錄放音指示電路,當(dāng)錄音結(jié)束、錄音超出時(shí)限(存儲(chǔ)器溢出)或放音結(jié)束時(shí),ISD1420的25腳呈高電平,LED熄滅。另外,A0和A1都需要接地,所以至少要四段,否則錄音的信息可能會(huì)重疊,導(dǎo)致放音時(shí)達(dá)不到自己的要求。單片機(jī)某一段的起始地址進(jìn)行放音操作,遇到段結(jié)束標(biāo)志(EOM)即自動(dòng)停止放音,單片機(jī)收到段結(jié)束標(biāo)志(EOM)就開始觸發(fā)下一段語音的起始地址,如此控制,即可以將很多、不同段的語音組合在一起成一句話放音出來,實(shí)現(xiàn)語音的自動(dòng)組合。Keil c51匯編,PLM語言和C語言的程序設(shè)計(jì),界面友好。另外重要的一點(diǎn),只要看一下編譯后生產(chǎn)的匯編代碼,就能體會(huì)到KeilC51DE 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解,在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。再顯示電路在LCD上顯示。閉合和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。 按鍵功能表按鍵實(shí)現(xiàn)功能SW5按下一次進(jìn)入時(shí)間秒設(shè)置模式SW5按下二次進(jìn)入時(shí)間分設(shè)置模式SW5按下三次進(jìn)入時(shí)間時(shí)設(shè)置模式SW5按下四次進(jìn)入溫度上限設(shè)置模式SW5按第五次進(jìn)入溫度下限設(shè)置模式SW5按下第六次退出設(shè)置模式SW6按下一次在設(shè)置模式下對應(yīng)數(shù)值加一SW7按下一次在設(shè)置模式下對應(yīng)數(shù)值減一SW8按下一次播報(bào)當(dāng)時(shí)溫度值開始鍵盤開始掃描ct==0。if(ct==4||ct==5)顯示溫度上下限子程序;else顯示時(shí)間子程序If(ct=0)無效。If(ct=1)秒減1。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。令 指令代碼 操 說定時(shí)時(shí)間=(65536T0初值)*時(shí)鐘周期*12。在子函數(shù)中為了使液晶顯示更加穩(wěn)定,可以最簡短的延時(shí)。查閱了大量的關(guān)于傳感器、單片機(jī)及其接口電路、以及控制方面的理論。這些培養(yǎng)和鍛煉對于我們這些即將走向工作崗位的大學(xué)生來說,是很重要的。謝 辭經(jīng)過半年的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)??粕漠厴I(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。 其次要感謝和我一起作畢業(yè)設(shè)計(jì)的其他同學(xué),他們在設(shè)計(jì)中勤奮工作,克服了許多困難來完成此次畢業(yè)設(shè)計(jì),并承擔(dān)了大部分的工作量。Playback Ics [G].2000.[14] DALLAS. Understanding and Using Cyclic Redundancy Checks with Dallas Semiconductor iButtonTM Products[EB/OL].://[15]DALLAS. High Precision lwire174。 j++)。 bottom_temp = 1。 initTemp()。 //鍵盤掃描子函數(shù) delayMs(10)。 //顯示溫度子函數(shù) if(DisplayTimeFlag) //判斷顯示模式 displayClock()。 //數(shù)據(jù)/命令端sbit LCM_RW=P3^6。 //LCD初始化子程序void lcd_wait(void)。 //顯示指定坐標(biāo)的一個(gè)字符子函數(shù)void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData)。i++) {for(j=0。 DATAPORT=WCLCM。 _nop_()。 }void WriteDataLCM(unsigned char WDLCM) // 寫數(shù)據(jù)到LCM子函數(shù){ lcd_wait( )。 // 寫模式 LCM_EN=1。 LCM_EN=0。 LCM_RW=1。 while(DATAPORTamp。 LCM_EN=1。}void initLCM( ) // LCM初始化子函數(shù){ DATAPORT=0。 WriteCommandLCM(0x38,0)。 WriteCommandLCM(0x38,1)。 //顯示光標(biāo)右移設(shè)置,檢測忙信號 WriteCommandLCM(0x0c,1)。=15。 WriteDataLCM(DData)。 Xamp。 X++。extern unsigned char mstt。 //clock延時(shí)子程序void displayClock(void)。unsigned char mstt=0。 //time0為定時(shí)器,方式1 TCON = 0x01 。 ET0=1。 //顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信號 DisplayListChar(0,0,str0)。 DisplayOneChar(7,0,minite%10+0x30)。 TL0=0xb0。 } if(seconde=60) {minite++。 } if(hour=24 ) {hour=0。void delay_key(unsigned int ms){ unsigned char j。}void scan_key(void) //鍵盤掃描{ static char ct=0。 if(ct5) ct=0。}} else if(ENTER) { delay_key(10)。} delay_key(100)。}else {seconde=0。 if(hour=24) hour=0。 if(bottom_temp=top_temp) bottom_temp=1。} else if(ct==2) { if(minite=0) minite=59。} else if(ct==4) { top_temp。 if(bottom_temp=30) bottom_temp=1。void Init_DS18B20(void) 。 }void Init_DS18B20(void) //ds18b20初始化函數(shù){ unsigned char x=0。 //單片機(jī)將DQ拉低delay_18B20(80)。 //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 delay_18B20(20)。i0。 // 給脈沖信號 if(DQ) dat|=0x80。 for (i=8。0x01。}}endif/*********** **********/ifndef __TEMP_H__define __TEMP_H__include include include extern unsigned char temp1,temp2。void ReadTemperature(void)。unsigned char temp1,temp2。void delay_Temp(unsigned int ms) //延時(shí)K*1ms,{ unsigned char j。}}void ReadTemperature(void) //讀取ds18b20當(dāng)前溫度{ unsigned char a=0。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度值高8位 temp1=b4。0x0f。 initLCM()。 if(((char)temp1)0) DisplayOneChar(5,1,39。139。)。}void displayTempLim(void) //液晶顯示溫度范圍子函數(shù)1正常顯示{ char bt=0。39。 39。 DisplayOneChar(8,0, (bt%10)+0x30)。void beep()。 j++)。i++) { delay_BEEP(5) 。 //開始播音口extern const unsigned char speak_world[]。 while(ms) {for(j=0。 //寫地址 playe =
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1