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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)--基于52單片機(jī)的數(shù)字鐘和電子溫度計(jì)液晶顯示-預(yù)覽頁

2024-12-14 15:50 上一頁面

下一頁面
 

【正文】 16021602VCC 圖 LCD1602 連接圖 LCD1602 是 一種用 5x7點(diǎn)陣圖形來顯示字符的液晶顯示器模塊 ,它 顯示的 容量 為 2 行 16 個(gè)字 。 2) 第 2腳: VCC接 +5V電源 。 高電平時(shí)選擇數(shù)據(jù)寄存器 ,否則 選擇指令寄存器。 6) 第 6腳: E端為使能端 。 9) 第 16腳 :背光燈 GND。 指令 1:清顯示,指令碼 01H, 光標(biāo)復(fù)位到地址 00H位置 。高電平表示有效,低電平則無效 。 B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍 。 F: 低電平時(shí)顯示 5X7的點(diǎn)陣字符,高電平時(shí)顯示 5x10的點(diǎn)陣字符 (有些模塊是 DL:高電平時(shí)為 8位總線,低電平時(shí)為 4位總線) 。 BF為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電 平表示不忙 , 模塊 就 能接收 相應(yīng)的 命令或者數(shù)據(jù) 。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符 。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。 15 VCC21X12X23GND4RST5I/O6SCLK7VCC18DS1302DS1302 圖 DS1302 引腳圖 RST 輸入有兩種功能 。上電運(yùn)行時(shí)在 Vcc≥ 之前, RST 必須保持低電平。 本設(shè)計(jì)連接圖如圖 ,其中 C1和 C2起微調(diào)晶振的作用。 16 復(fù)位VCC10uFC110KR11Rst 圖 復(fù)位電路 晶振電路 AT89S52在工作時(shí)需要外部提供時(shí)鐘信號(hào),因此,本設(shè)計(jì)選擇在其 18腳 19腳之間接上12MHz 的晶振,為單片機(jī)提供 1μ s 的機(jī)器振蕩周期。 以下是 程序主程序的一下部分: //主函數(shù) int main() { //初始化溫控芯片 fg=1。//設(shè)置初始時(shí)間,日期,年月 //LCD 初始化 LCDInit()。 //啟動(dòng)等待,等 LCD 講入工作狀態(tài) WriteCommandLCD(0x01,1)。//進(jìn)入模式選擇界面 } } 本章主要介紹程序的調(diào)試。它是目前最好的仿真單片機(jī)及外圍器件的工具。 利用 proteus畫好相應(yīng)的硬件電路圖,并把程序燒入軟件仿真,看是否能顯示功能。修改電路后( P0口接上拉電阻)燒入程序后,程序正常運(yùn)行, LCD1602準(zhǔn)確的顯示。 19 第五章 課程設(shè)計(jì)小結(jié) 單片機(jī)多功能定時(shí)系統(tǒng)理論上能很好的達(dá)到了學(xué)校教學(xué)要求 ,發(fā)揮了單片機(jī)在智能化方面的應(yīng)用。該系統(tǒng)規(guī)模小,但是功能較多,操作簡(jiǎn)單,造價(jià)低,應(yīng)用非常廣泛。既使學(xué)生學(xué)到了單片機(jī)的基本概念,還可以讓學(xué)生進(jìn)行電腦操作和仿真,提高了學(xué)習(xí)的積極性。首先要明確總體的設(shè)計(jì)方案與方法;其次是對(duì)各個(gè)部分進(jìn)行設(shè)計(jì)與改進(jìn);最后將各個(gè)部分整合在一起進(jìn)行比較、觀察。 總的來說,電子鐘的課程設(shè)計(jì)有利于培養(yǎng)我們對(duì)電子設(shè)計(jì)的興趣,是一次很好的理論與實(shí)際的結(jié)合,希望能有更多機(jī)會(huì)進(jìn)行這些課程設(shè)計(jì)。 第二章 方案論證選擇 數(shù)字溫度計(jì)設(shè)計(jì)主要從硬件選型和軟件設(shè)計(jì)兩方面著手 ,可有效 降低功耗 ,延長工作 時(shí)間 ,提高測(cè)量精度。利用 89S52 單片機(jī)該款單片機(jī)強(qiáng)大的運(yùn)行模式和特殊功能 ,本文設(shè)計(jì)了一種數(shù)字式溫度計(jì) ,可方便快捷地實(shí)現(xiàn)低功耗測(cè)量。 LED 顯示分為靜態(tài)顯示和動(dòng)態(tài)顯示。在寫信號(hào)有效時(shí),相隔一個(gè)機(jī)器周期后發(fā)送控制端SEND 有效,即允許 RXD 發(fā)送數(shù)據(jù),同時(shí)允許從 TXD 端輸出移位脈沖。 22 VCC1KR?VSS1VDD2VL3RS4R/W5E6D07D18D29D310D411D512D613D714BLA15BLK1616021602VCC液晶顯示模塊 圖一 液晶顯示模塊 溫度測(cè)試模塊有兩個(gè)設(shè)計(jì)方案 溫度測(cè)試方案一: AD590 溫度傳感器 AD590 是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。 AD590 溫度與電流的關(guān)系如下表所示: 攝氏溫度 AD590 電流 經(jīng) 10KΩ電壓 0℃ μ A V 10℃ μ A V 20℃ μ A V 30℃ μ A V 40℃ μ A V 50℃ μ A V 60℃ μ A V 100℃ μ A V 為了提高精度,擴(kuò)大測(cè)量范圍,在 A/D 轉(zhuǎn)換前還要將信號(hào)加以放大并進(jìn)行零點(diǎn) 遷移,因而一個(gè)高穩(wěn)定性的、高精度的放大電路是必須的。為此我們通過 A/D 轉(zhuǎn)換器 ADC0804 將輸入的模擬值轉(zhuǎn)換成數(shù)字值,經(jīng) AT89C51單片機(jī)處理后輸出到 P1 以控制溫度顯示電路。 ADC0804 輸出的最大轉(zhuǎn)換值為 FFH(255),由于運(yùn)放A3放大5倍,因此本數(shù)字溫度計(jì)的最大測(cè)量溫度為 = ,即 102℃。 : 單線數(shù)字溫度計(jì) DSl820介紹 DSl820數(shù)字溫度計(jì)提供 9位 (二進(jìn)制 )溫度讀數(shù)指示器件的溫度信息經(jīng)過單線接口送入DSl820或從 DSl820送出因此從主機(jī) CPU到 DSl820僅需一條線 (和地線 )DSl820的電源可以由數(shù)據(jù)線本身提供而不需要外部電源因?yàn)槊恳粋€(gè) DSl820在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè) DSl820可以存放在同一條單線總線上這允許在許多不同的地方放置溫度敏感器件DSl820的測(cè)量范圍從 55到 +125增量 值為 l s(典型值 )內(nèi)把溫度變換成數(shù)字 每一個(gè) DSl820包括一個(gè)唯一的 64位長的序號(hào)該序號(hào)值存放在 DSl820內(nèi)部的 ROM(只讀存貯器 )中開始 8位是產(chǎn)品類型編碼 (DSl820編碼均為 10H)接著的 48位是每個(gè)器件唯一的序號(hào)最后 8位是前面 56位的 CRC(循環(huán)冗余校驗(yàn) )碼 DSl820中還有用于貯 存測(cè)得的溫度值的兩個(gè) 8 位存貯器 RAM 編號(hào)為 0 號(hào)和 1 號(hào) 1 號(hào)存貯器存放溫度值的符號(hào)如果溫度為負(fù) ()則 1 號(hào)存貯器 8 位全為 1 否則全為 00 號(hào)存貯器用于存放溫度值的補(bǔ)碼LSB(最低位 )的 1 表示 將存貯器中的二進(jìn)制數(shù) 求補(bǔ)再轉(zhuǎn)換成十進(jìn)制數(shù)并除以 2 就得到被測(cè)溫度值 (550125)DSl820 的引腳如圖 226l 所示每只 D51820 都可以設(shè)置成兩種供電方式即數(shù)據(jù)總線供電方式和外部供電方式采取數(shù)據(jù)總線供電方式可以節(jié)省一根導(dǎo)線但完成溫度測(cè)量的時(shí)間較長采取外部供電方式則多用一根導(dǎo)線但測(cè)量速度較快 第三章 原理設(shè)計(jì)(或基本原理) 基本原理 因?yàn)橛泻芏鄡?nèi)容于上一個(gè)設(shè)計(jì)有很多重復(fù),就不在這多做描述,只針對(duì)不能地方進(jìn)行表述。 DS18B20 的內(nèi)部結(jié)構(gòu)主要包括寄生電源、溫度傳感器、 64 位激光 ROM、高速暫存器、用于存儲(chǔ)用戶設(shè)定的溫度上下限值的 TH 和 TL 觸發(fā)器、存儲(chǔ)與控制邏輯、 8位循環(huán)冗余校驗(yàn)碼發(fā)生器等七部分。 24 1 2 3DS18B20VCCDQ溫度計(jì)芯片 圖二 18B20 溫度芯片 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。 系統(tǒng)組成框圖 系統(tǒng)以 AT89S52 單片機(jī)為控制核心,加上 18B20 測(cè)溫電路、液晶顯示電路以及外圍電源、時(shí)鐘電路等組成。設(shè)置循環(huán)次數(shù) CLR 。釋放總線 MOV B,6 ??偩€低等待 DJNZ ACC,WAITL。設(shè)置時(shí)間常數(shù) CLR 。1us NOP 。等待 56Us POP B SETB 。把寫的位放到 C ACALL WRBIT 。保存 A MOV B,23 。1us 28 NOP 。P1 口讀到 A MOV C,EOH 。1us NOP 。設(shè)置讀位數(shù) ACALL RDBIT ?;謴?fù) B RET 每一片 DSl820在其 ROM中都存有其唯一的 48位序列號(hào)在出廠前已寫入片內(nèi) ROM 中主機(jī)在進(jìn)入操作程序前必須逐一接入 1820用讀 ROM(33H)命令將該 l 820的序列號(hào)讀出并登錄 當(dāng)主機(jī)需要對(duì)眾多在線 1820的某一個(gè)進(jìn)行操作時(shí)首先要發(fā)出匹配 ROM命令 (55H)緊接著主機(jī)提供 64位序列 (包括該 1820的 48位序列號(hào) )之后的操作就是針對(duì)該 1820的而所謂跳過ROM命令即為之后的操作是對(duì)所有 1820的框圖中先有跳過 ROM即是啟動(dòng)所有 1820進(jìn)行溫度變換之后通過匹配 ROM再 逐一地讀回每個(gè) 1820的溫度數(shù)據(jù) 在 1820組成的測(cè)溫系統(tǒng)中主機(jī)在發(fā)出跳過 ROM命令之后再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動(dòng)碼44H就可以實(shí)現(xiàn)所有 1820的統(tǒng)一轉(zhuǎn)換再經(jīng)過 1s后就可以用很少的時(shí)間去逐一讀取這種方式使其 T值往往小于傳統(tǒng)方式由于采取公用的放大電路和 AD 轉(zhuǎn)換器只能逐一轉(zhuǎn)換顯然通道數(shù)越多這種省時(shí)效應(yīng)就越明顯 總體電路圖見附頁 元件列表 AT89S52 一塊 18B20 一塊 1602 一塊 晶振 12M 下載口 一個(gè) 蜂鳴器 一個(gè) PNP 管 一個(gè) 電容 33PF 兩個(gè) 10UF 一個(gè) 電阻 10K 十個(gè) 1K 排阻一排 按鍵 四個(gè) 29 第四章 方案實(shí)現(xiàn)與測(cè)試 流程圖 溫度程序: include define uchar unsigned char define uint unsigned int sbit DQ=P2^3。 sbit EN=P2^7。 sbit key1=P3^1。//定義溫度下限值 uchar code table[]={temp: }。 uchar num,flag,k0,k1,k2。//溫度正負(fù)標(biāo)志 /*************************延時(shí)程序 **************************/ void delay(uint x) { uint i,j。j0。 P0=。 EN=0。 delay(5)。 } void w_temp(uchar add,uchar dat) //寫(調(diào))溫度值上下限 { uchar shi,ge。 31 w_dat(0x30+shi)。 w_(0x38)。 //清屏 w_(0x80)。 delay(5)。num++) { w_dat(table1[num])。num4。//顯示溫度上限值 w_temp(12,l_temp)。 //DQ 復(fù)位 delay_18B20(4)。 //拉高 delay_18B20(40)。i0。 //給脈沖信號(hào) if(DQ) dat|=0x80。 for (i=8。0x01。 } } read_temp()/*讀取溫度值并轉(zhuǎn)換 */ { uchar a,b。//*啟動(dòng)溫度轉(zhuǎn)換 */ ds1820rst()。 b=ds1820rd()。 if(tvalue0x0fff) tflag=0。//溫度值擴(kuò)大 10 倍,精確到 1 位小數(shù) return(tvalue)。//個(gè)位數(shù) disdata[3]=tvalue%10+0x30。//如果百位為 0,不顯示 if(disdata[1]==0x30) { disdata[1]=0x20。 w_dat(disdata[0])。 34 w_dat(disdata[2])。)。 if(t=l_temp) //判斷溫度值,小于下限時(shí),聲光報(bào)警 { beep=0。 } else { i=40。 if(key0==0) { k0++。 w_(0x80+0x40+6)。 w_(0x80+0x40+13)。 flag=0。 if(key1==0) { h_temp++。 while(key1==0)。 } w_temp(5,h_temp)。 if(key1==0) { l_temp++。 while(key1==0)。 } w_temp(12,l_temp)。//初始化顯示 while(1) { show=0。} if(flag==0) ds1820disp()。 這是一個(gè)比較實(shí)用的實(shí)驗(yàn)程序,通過該程序可以學(xué)習(xí)數(shù)碼管的字符顯示、動(dòng)態(tài)刷新、定時(shí)器使用以及中斷方式的處理。 熟悉了 CMOS 系列中、小規(guī)模集成電路的使用
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1