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

正文內(nèi)容

基于lcd1602電子時(shí)鐘課程設(shè)計(jì)報(bào)告-預(yù)覽頁

2024-09-28 15:25 上一頁面

下一頁面
 

【正文】 模塊,然后 按 下 按鍵 1 進(jìn)入設(shè)置時(shí)間模塊; 按鍵 2進(jìn)入最高溫度報(bào)警模塊; 按鍵 3進(jìn)入 設(shè)置鬧鐘模塊,最后按 下 按鍵 4退出當(dāng)前狀態(tài)。 通電后,進(jìn)入歡迎界面,前后延時(shí) ,,后顯示當(dāng)前實(shí)時(shí)時(shí)間,若按下按鍵 1就進(jìn)入調(diào)節(jié)狀態(tài),此時(shí)在按下按鍵 1為設(shè)置時(shí)間狀態(tài),按下 按鍵 2 為設(shè)置最大溫度報(bào)警狀態(tài),按按鍵 3 為設(shè)置鬧鐘狀態(tài),按下按鍵 4 為退出調(diào)節(jié)狀態(tài);若按下按鍵 2則是顯示當(dāng)前溫度,5s后自動(dòng)跳回顯示當(dāng)前實(shí)時(shí)時(shí)間。 調(diào)試方法采用先分別調(diào)試各單元模塊,調(diào)通后再進(jìn)行整 體 調(diào)試的方法,以提高調(diào)試效率。 六、 結(jié)論 這次課程設(shè)計(jì)達(dá)到了預(yù)期的 90%,有顯示實(shí)時(shí)時(shí)間和實(shí)時(shí)溫度,但是溫度的顯示不完全正確,在負(fù)數(shù)時(shí)有三個(gè)溫度值顯示錯(cuò)誤,時(shí)間的設(shè)置邏輯比較啰嗦,沒有做到簡單化。到導(dǎo)入 PCB 時(shí)也是要特別注意的,布板不當(dāng)也是直接影響實(shí)物的制作。后來下了很大的功夫且在老師及同學(xué)的指導(dǎo)下慢慢的進(jìn)入了狀態(tài)。 ( 1) 歡迎界面的時(shí)間太長。 解決方案: 通過修改溫度函數(shù)使其高位的零自動(dòng)隱藏,但是 溫度在 16, 32, 48 度時(shí)仍然會(huì)出現(xiàn)錯(cuò)誤,比實(shí)際的溫度高 16度,其余溫度值時(shí) 顯示 正確 。 解決方案:把 1602 的字符閃爍指令改為光標(biāo)指 令。 在做課程設(shè)計(jì)的日子里得到了大量課內(nèi)外的知識(shí)鞏固 , 使得我們的動(dòng)手能力和專業(yè)技能都有了很大的提高。 八、 參考文獻(xiàn) 【 1】 .常敏 .王涵 《 單片機(jī)應(yīng)用程序開發(fā)與實(shí)踐 》 P219 【 2】 .江志紅 . 《 51 單片機(jī)技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選 》 【 3】 .趙明明、索世文、王守中《 51 單片機(jī)應(yīng)用開發(fā)手冊(cè) — 指令、模塊、實(shí)例》 【 4】 .王守中 .《 51 單片機(jī)開發(fā)入門與典型實(shí)例 》 P149 【 5】 .天津銳志單片機(jī)開發(fā)網(wǎng) 14 【 6】 .楊黎 《 基于 C 語音的單片機(jī)應(yīng)用技術(shù)與 Proteus 仿真 》 P21 九、 附 錄 儀器與設(shè)備 清單 工 具、設(shè)備和耗材 數(shù)量 電腦 1 臺(tái) KeiluKision4 1 套 軟件 1 套 單片機(jī)實(shí)訓(xùn)板 1 塊 杜邦導(dǎo)線 16 條 Protel99SE 1 套 萬用表 1 套 元器件清單 元件名稱 型號(hào) 數(shù)量(個(gè)) 編號(hào) 價(jià)格 (元 /個(gè) ) 單片機(jī) STC89C52RC 1 A1 4 液晶 LMD16L 1 Y1 18 芯片 DS1302 1 Y2 3 溫度芯片 DS18B20 1 Y3 13 晶振 12MHZ, 2 JZ1, JZ2 1 瓷片電容 22pF 2 C1,C2 電解電容 22u10uf 1 C3 排阻 10k 1 RP1 按鈕 6*6*5 5 K1~K5 電阻 10k,1k 2 R1,r2 可調(diào)電阻 1k 1 POT1 電池 2 DC 電源插座 1 DY 2 撥動(dòng)開關(guān) ** 1 KG 發(fā)光二極管 LED 1 LED 蜂鳴器 TMB12A05 1 LB 排針 1* 2(排 ) CON 0 原理圖 (見圖 一 ) PCB圖 ( 見圖 三 ) 實(shí)物圖 (見圖四) 操作說明書 a、 正常顯示時(shí)按下 K1 進(jìn)入調(diào)節(jié)狀態(tài), 此時(shí)按下 K1為設(shè)置時(shí)間狀態(tài) ; 按下 K2 為設(shè)置最大溫度報(bào)警狀態(tài) ; 按 K3為設(shè)置鬧鐘狀態(tài) ; 按下 K4 為退出調(diào)節(jié)狀態(tài);在調(diào)節(jié)狀態(tài)時(shí) K2為對(duì)應(yīng)增加鍵, K3 為對(duì)應(yīng)減鍵, K4為退出按鍵。 //歡迎界面 unsigned char code overtemperature[]={OVERTEMPERATURE!}。 //DS1302時(shí)鐘輸入 sbit DATE=P1^1。 //增加 sbit RED=P1^6。 while(i) for(j=76。k1。in。i0。h3。 for(j=0。 } } /*******DS1302模塊 *************/ void Write1302(unsigned char date)//向 1302寫數(shù)據(jù) { unsigned char i。i8。 delaynus(2)。 } } void WriteSet1302(unsigned char cmd,unsigned char date) //根據(jù)相應(yīng)的命令輸入相應(yīng)的數(shù)據(jù) { REST=0。 delaynus(5)。 } unsigned char Read1302(void) //讀取 1302數(shù)據(jù) { unsigned char i,date。i++) { date=1。 SCLK=0。 REST=0。 delaynus(2)。 return date。0x80) { //判斷時(shí)鐘芯片是否關(guān)閉 WriteSet1302(0x8E,0x00)。 //根據(jù)寫小時(shí)寄存器命令字,寫入小時(shí)的初始值 WriteSet1302(0x86,((0/10)4|(0%10)))。 //打開充電功能 選擇 2K電阻充電方式 WriteSet1302(0x8E,0x80)。 sbit BF=P0^7。 E=1。 result=BF。 E=0。 20 RW=0。 _nop_()。 _nop_()。 _nop_()。 } /*寫數(shù)據(jù) */ void Write_Date(unsigned char date) { RS=1。 _nop_()。 _nop_()。 _nop_()。 } /*初始化 */ void Lcd_Int(void) { Write_(0x38)。 Write_(0x06)。 Write_(0x01)。D39。)。 Write_Date(39。:39。 delay1ms(1)。 Write_Address(0x0D)。 Write_Address(0x42)。 Write_Date(39。M39。)。 Write_Address(0x4A)。 Write_Address(0x4D)。 Write_Address(0x06)。 Write_Date(39。 i=second/10。 22 Write_Date(digit[j])。 j=minute%10。 delay1ms(1)。 Write_Address(0x48)。 } void display_Day(unsigned char day) //在液晶上顯示日 { unsigned char i,j。 Write_Date(digit[i])。 i=month/10。 Write_Date(digit[j])。 j=year%10。 delay1ms(1)。 Write_Address(0x44)。 i=x/10。 Write_Date(digit[j])。 seconds=(((valueamp。 value=ReadSet1302(0x83)。 display_Minute(minutes)。0x0f))。0x70)4)*10+(valueamp。 month=(((valueamp。 24 value=ReadSet1302(0x8D)。 display_Year(year)。\039。 } i=0。) { Write_Date(displaywish[i])。 while(j) { Write_(0x18)。 } void gbdisplay(unsigned char address) //時(shí)間調(diào)整時(shí)光標(biāo)閃爍 { Write_Address(address)。 } void displaymaxt(unsigned char x) //顯示最大溫度 { unsigned char i,j,k。 i=x/100。 Write_Date(digit[j])。 //防止多次觸發(fā) WriteSet1302(0x8e,0x00)。0x0f))。 while(ADD==0)。 if(hour==0) hour=23。 delay1ms(1)。 if(hour=24) hour=0。 break。 WriteSet1302(0x8e,0x00)。0x0f))。 while(ADD==0)。 if(minute==0) minute=59。 delay1ms(1)。 if(minute=60) minute=0。 break。 WriteSet1302(0x8e,0x00)。0x0f))。 while(ADD==0)。 } } timevalue=(((second/10)4)|(second%10))。 Write_Address(0x4f)。 if(CANL==0) { mode=0。 } void yearset(void) //調(diào)年 { unsigned char datevalue,year。 year=(((datevalueamp。 if(ADD==0) { year++。 delay1ms(300)。 delay1ms(5)。 delay1ms(5)。 } } WriteSet1302(0x8e,0x80)。 datevalue=ReadSet1302(0x89)。 while(1) { if(ADD==0) { delay1ms(10)。 } } if(RED==0) { delay1ms(10)。 while(RED==0)。 display_Month(month)。 Write_(0x0c)。 delay1ms(500)。0x70)4)*10+(datevalueamp。 if(day31) day=1。 delay1ms(300)。 WriteSet1302(0x86,datevalue)。 delay1ms(5)。 } } WriteSet1302(0x8e,0x80)。 if(ADD==0) { Write_(0x0c)。 while(ADD==0)。 while(RED==0)。 if(CANL==0) { delay1ms(500)。 if(minutea59) minutea=0。 if(minutea==0) minutea=59。 if(CANL==0) { delay1ms(500)。 if(SET==0) { mode++。 delay1ms(500)。} case(3):{gbdisplay(0x4f)。yearset()。delay1ms(500)。} default:{break。 unsigned char code displaypart1[]={WenDu:}。 unsigned char time。time2。time200。time10。time200。 unsigned char dat。 _nop_()。 for(time=0。 if(DQ==1) dat=dat|0x80。time++)。i8。 DQ=dateamp。time++)。time++)。time++)。 delay1ms(200)。 35 } /*************在 1602液晶上顯示相關(guān)信息模塊 **********************/ /****************當(dāng)未檢測(cè)到 DS18B20時(shí)顯示信息模塊 ****************/ void Display_Error(void) { unsigned char i=0。) { Write_Date(displayerror[i])。 i=0。) { Write_Date(displayerror1[i])。 } /*************溫度顯示模塊 ****************/ void Display_Explain(void) { unsigned char i=0。\039。 } i=0。) { Write_Date(displaypart1[i])。 Write_Address(0x4C)。 i++。.39。 i=x/100
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1