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

正文內(nèi)容

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

2024-12-14 14:56 上一頁面

下一頁面
 

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