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

正文內(nèi)容

基于單片機(jī)的數(shù)字溫度計(jì)和數(shù)字鐘設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 路設(shè)計(jì)繁雜,能量損耗大;方案二的設(shè)計(jì) 電路簡(jiǎn)單,顯示界面美觀、友好 ,并且軟件設(shè)計(jì)也比較簡(jiǎn)單,所以本系統(tǒng)選用 方案二 實(shí)現(xiàn) 實(shí)時(shí)溫度和同步的時(shí)間日歷 的顯示功能 。 顯示電路 顯示電路采用 液晶顯示屏 LCD1604 進(jìn)行顯示 , 單片機(jī)從 P0 口 傳輸 溫度 和 時(shí)間 數(shù)據(jù)驅(qū)動(dòng) LCD1604 進(jìn)行顯示 。例如屏的第一行的亮暗由 RAM區(qū)的 00H~00FH的 16字節(jié)的內(nèi)容決定,當(dāng) (000)=FFH時(shí),如屏的左上角顯示一條短亮線(xiàn),長(zhǎng)度為 8個(gè)點(diǎn);當(dāng) (3FFH)=FFH時(shí),則顯示屏的右下角顯示一條短亮線(xiàn);當(dāng)(000H)=FFH, (001H)=00H, (002H)=FFH, (003H)=00H, ? (00EH)=FFH, (00FH)=00H時(shí),武漢理工大學(xué)《專(zhuān)業(yè)課程設(shè)計(jì) 2》課程設(shè)計(jì)說(shuō)明書(shū) 4 則在屏的頂部顯示一條由 8段亮線(xiàn)和 8段暗線(xiàn)組成的虛線(xiàn)。 溫度傳感器 溫度傳感器 DS18B20 是 一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等 測(cè)溫元件相比, 能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 9~ 12 位的數(shù)字值讀數(shù)方式。 DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存 RAM和一個(gè)非易失性 1可電擦除的 EERAM。 DS18B20 工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。單片機(jī)通過(guò)單線(xiàn)接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在 前 ,高位在后,數(shù)據(jù)格式以 ℃ / LSB 形式表示。若 T> TH 或 T< TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并 響應(yīng) 主機(jī)發(fā)出的報(bào)警搜索命令。 圖 4 DS18B20 測(cè)溫原理圖 減法計(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ù) 。系統(tǒng)對(duì) DS18B20 的各種操作按協(xié)議進(jìn)行。 同時(shí)可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。 DS1302內(nèi)部有一個(gè) 318 的用于臨時(shí)性存放數(shù)據(jù)的 RAM 寄存器。 單片機(jī)主板電路 中的按健復(fù)位電路是上電復(fù)位加手動(dòng)復(fù)位,使用 比較方便,在程序跑飛時(shí),可以手動(dòng)復(fù)位,這樣就不用在重起單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位。采用寄 生電源供電方式時(shí) VDD 端接地。 圖 8 DS1302 實(shí)時(shí)時(shí)鐘電路 系統(tǒng)整體硬件電路 圖 9 系統(tǒng)整體硬件 電路 武漢理工大學(xué)《專(zhuān)業(yè)課程設(shè)計(jì) 2》課程設(shè)計(jì)說(shuō)明書(shū) 10 4 系統(tǒng)軟件 設(shè)計(jì) 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。其程序流程圖如 上 圖 圖 11 所 示 。 圖 13 計(jì)算溫度流程圖 開(kāi)始 溫度零下 ? 溫度值取補(bǔ)碼置“ — ”標(biāo)志 計(jì)算小數(shù)位溫度 BCD值 計(jì)算整數(shù)位溫度 BCD值 結(jié)束 置“ +”標(biāo)志 N Y 武漢理工大學(xué)《專(zhuān)業(yè)課程設(shè)計(jì) 2》課程設(shè)計(jì)說(shuō)明書(shū) 12 顯示數(shù)據(jù)刷新子程序 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中 的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為 0 時(shí)將符號(hào)顯示位移入下一位。總體上講,符合設(shè)計(jì)要求。 經(jīng)反復(fù)測(cè)試,本系統(tǒng)很好的完成了各項(xiàng) 功能,完全符合系統(tǒng) 設(shè)計(jì)要求。尤其重要的是讓我們養(yǎng)成了科學(xué)的習(xí)慣,在設(shè)計(jì)過(guò)程中一定要注意掌握設(shè)計(jì)進(jìn)度,按預(yù)定計(jì)劃完成階段性的目標(biāo),在底圖設(shè)計(jì)階段,注意設(shè)計(jì)計(jì)算與結(jié)構(gòu)設(shè)計(jì)畫(huà)圖交替進(jìn)行,采用正確的設(shè)計(jì)方法。本次 單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì) 及液晶顯示 , 不僅 需要巧妙的程序算法, 而且需要一些單片機(jī)編程經(jīng)驗(yàn)。只有把所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,所學(xué)的知識(shí)才會(huì)有價(jià)值,學(xué)習(xí)單機(jī)片機(jī)更是如此, 軟件編程能力 只有在經(jīng)常的寫(xiě)與讀的過(guò)程中才能 得到 提高,這是我在這次課程設(shè)計(jì)中的最大收獲。 //flag 是時(shí)鐘冒號(hào)閃爍標(biāo)志, sflag是溫度負(fù)號(hào)顯示標(biāo)志 void Disp_line1(void)。 //顯示屏幕第二行 void id_case1_key()。//顯示模式 1 //*********** DS1302 時(shí)間顯示定義部分 ************************* sbit T_CLK=P1^3。//顯示模式鍵 sbit P3_4=P3^4。 sbit P2_1=P2^1。 sbit P1_0=P1^0。 /* 輸入 1Byte */ uchar RTOutputByte(void)。 //設(shè)置時(shí)間 bit sec,min,hour,year,mon,day,weekk。 typedef unsigned int word。 byte read_byte(void)。 //下限閃爍標(biāo)志 bit th_flash_flag。 //溫度零下標(biāo)志 0:零上, 1:零下 char tempid。 //設(shè)置溫度下限 signed char tl=20,th=25。 //上限越限報(bào)警 3 LCD1604 驅(qū)動(dòng) //******* LCD1604 驅(qū)動(dòng) ********************************************************** void WriteDataLCM(unsigned char WDLCM)。 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)。 unsigned char code week[]={Week:}。 //延時(shí)片刻 (可不要 ) mychar()。 EA=1。//打開(kāi)充電二極管 一個(gè)二極管串聯(lián)一個(gè) 2K 電阻 W1302(0x8e,0x80)。 0x5f: while(1) { if (P3_3==0) {dipsmodid++。 } switch(dipsmodid) { case 0: Disp_mod0()。 } } } //選擇顯示模式 void Dispmod_id_case_key() { if (P3_3==0) {dipsmodid++。 } if ((P3_4|P3_5)==0) //初始化 { Delay5Ms()。 if(P3_6==0){id++。 Disp_line1()。 Disp_line1()。 case 2://月 year=0。 id_case1_key()。 Disp_line1()。 case 4://星期 day=0。 id_case1_key()。 Disp_line1()。 case 6://分鐘 hour=0。 id_case1_key()。 Disp_line1()。 } } //顯示模式 1 void Disp_mod1(void) { if(lmcinit_or_not==1) {LCMInit()。T39。)。 DisplayOneChar(7,1,39。H39。)。 } } switch(tempid) { case 0: tl_flash_flag=0。 case 1: tl_flash_flag=1。 break。 Set_TH_Temp()。 Th_Al()。 if(tl_sign) { tl_bw=(~(tl1))/100。 tl_sw=(tltl_bw*100)/10。 DisplayOneChar(5,1,tl_gw+0x30)。 } } else {DisplayOneChar(3,1,0x20)。 DisplayOneChar(4,1,tl_sw+0x30)。//計(jì)算百位 th_sw=((~(th1))th_bw*100)/10。 th_gw=thth_bw*100th_sw*10。 } else { DisplayOneChar(10,1,th_bw+0x30)。 ACC = d。 /*相當(dāng)于匯編中的 RRC */ T_CLK = 1。 for(i=8。 T_CLK
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1