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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)-計(jì)算器(完整版)

  

【正文】 次按下清零鍵,若是,則顯示小數(shù)點(diǎn),并再次調(diào)用keyscan()函數(shù),獲取下一個(gè)按鍵,若不是第一次按下,則再次執(zhí)行LCD初始化程序。 //x=0為一行的第一個(gè) else //第二行 address =0xc0+ x。 s ++。0xf0。=39。在我的程序中,我設(shè)置了較多的標(biāo)志位,比如fuhao為負(fù)號(hào)標(biāo)志,xsd為小數(shù)點(diǎn)標(biāo)志,dh為等號(hào)標(biāo)志,flag為操作數(shù)標(biāo)志。: a=ab。: a=a/b。 //清屏 a=b=0。 //將各個(gè)標(biāo)志位恢復(fù)初始化 } …… }第四章 系統(tǒng)調(diào)試與分析 調(diào)試過(guò)程與結(jié)果本次課程設(shè)計(jì)中,我使用了Proteus作為硬件仿真軟件,Keil作為軟件編寫(xiě)編譯軟件,通過(guò)兩者的協(xié)調(diào),來(lái)實(shí)現(xiàn)仿真模擬。最后,我猜測(cè),在我改進(jìn)程序之前,由于操作數(shù)的數(shù)據(jù)類型弄錯(cuò)了,所以可能導(dǎo)致其他運(yùn)算的結(jié)果可能也是錯(cuò)誤的。 結(jié)果分析 在輸入計(jì)算表達(dá)式后,系統(tǒng)成功得出了正確的計(jì)算結(jié)果,并且由于溢出判斷的存在,保證了計(jì)算結(jié)果不會(huì)超出四位數(shù),滿足了設(shè)計(jì)要求。同時(shí),51單片機(jī)也是學(xué)習(xí)和理解其他高級(jí)單片機(jī)的最好的入門(mén)平臺(tái),本次的實(shí)驗(yàn)也將增強(qiáng)了我對(duì)學(xué)習(xí)好其他高級(jí)單片機(jī)的決心和信心。 //字符顯示extern void write_(unsigned char )。 //小數(shù)點(diǎn) LCD_dsp_string(4,0,Wele!)。(flag==1)amp。\039。39。939。.39。)|(n==39。\039。 break。: LCD_dsp_char(j++,0,n)。)amp。=39。: a=ab。: a=a/b。 //清屏 a=b=0。 //恢復(fù)初始化 } else { sprintf(temp,%g,a)。 i=0。 //指令、數(shù)據(jù)選擇端sbit busy=P0^7。 lcden=0。 check()。}void init() //初始化LCD{ write_(0x38)。 write_(address)。 //指向下一個(gè)字符 } }3.includeextern void delay(int ms)。c39。 case 0x70:n=39。 switch(temp) { case 0xe0:n=39。break。0xf0。639。 if(P1!=0xf7) { temp=P1amp。 case 0xb0:n=39。 }}} }。break。 switch(temp) { case 0xe0:n=39。 case 0x70:n=39。439。39。break。break。 case 0xd0:n=39。 //外部變量聲明void key_scan(void){ unsigned char temp。 //設(shè)置顯示位置 write_data(dat)。 //開(kāi)顯示,光標(biāo)不顯示、不閃爍 write_(0x06)。}void write_data(unsigned char date) //寫(xiě)顯示數(shù)據(jù){ P0=date。 lcden=1。 for(n=0。 dh=0。 } } if(n==39。 flag=0。 } //計(jì)算 if(a9999) { sprintf(temp,%s,Error)。 case 39。 //顯示等號(hào) switch(fuhao) { case 39。 temp[i]=39。 case 39。39。 //轉(zhuǎn)換為數(shù)據(jù) i=0。)|(n==39。 //防止再次按下c后繼續(xù)出現(xiàn)小數(shù)點(diǎn) } temp[i++]=n。c39。 LCD_dsp_char(j++,0,n)。 //將temp數(shù)據(jù)指針移向后一個(gè)空位,將LCD顯示指針移向下一個(gè)空位 } if((i==0)amp。 //清屏 LCD_dsp_string(0,0,temp)。s Caculator)。 //臨時(shí)存儲(chǔ)區(qū) char i=0,j=0,fuhao。 附錄1. includeincludeincludeunsigned char n。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。輸入第一個(gè)操作數(shù),同時(shí),在我的設(shè)計(jì)中,將清零鍵與小數(shù)點(diǎn)鍵設(shè)置成了同一個(gè)鍵,以滿足4*4鍵盤(pán)要求。按下任意鍵后LCD清屏。 //操作符清空 flag=0。 //除 } //計(jì)算 if(a9999) //判斷結(jié)果是否超過(guò)四位數(shù) { sprintf(temp,%s,Error)。 //減 case 39。switch(fuhao) //判斷操作符是哪個(gè) { case 39。//第三列 case 0x70:n=39。c39。在掃描到按鍵值后,將按鍵值保存在全局變量n中,以便其他函數(shù)使用、處理該值。 //設(shè)置數(shù)據(jù)指針位置,調(diào)用LCD寫(xiě)命令函數(shù)}LCD顯示函數(shù):void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat)//單個(gè)字符顯示函數(shù){ LCD_set_xy( x, y )。之所以對(duì)單字符和字符串設(shè)置不同的顯示函數(shù),是為了實(shí)現(xiàn)程序?qū)纹瑱C(jī)資源的最優(yōu)利用,因?yàn)閱巫址徽紦?jù)一個(gè)字節(jié)的存儲(chǔ)區(qū),而字符串則至少占用兩個(gè)字節(jié)。程序上的具體實(shí)現(xiàn):在單片機(jī)上電后,執(zhí)行兩個(gè)函數(shù)LCD_dsp_string(4,0,Wele!)以及LCD_dsp_string(1,1,ZCY39。 LCD1602(LM016L)仿真接線圖第三章 軟件設(shè)計(jì) 系統(tǒng)軟件結(jié)構(gòu),系統(tǒng)啟動(dòng)后,執(zhí)行LCD初始化程序,然后調(diào)用LCD顯示程序,在屏幕上輸出歡迎信息。第7~14引腳:D0~D7為8位雙向數(shù)據(jù)端。在按下其中一個(gè)鍵時(shí),其對(duì)應(yīng)的行與列將都會(huì)變成低電平,此時(shí),即可通過(guò)判斷P1口的值來(lái)確定輸入的是哪一個(gè)按鍵,然后將所取得的按鍵通過(guò)軟件來(lái)進(jìn)行接下來(lái)的處理、運(yùn)算等工作。 單元電路設(shè)計(jì) 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)就是支持主芯片正常工作的最小電路部分,包括主控芯片、復(fù)位電路和晶振電路。主控芯片使用8051系列的AT89C52單片機(jī),其中帶有非易失性Flash程序存儲(chǔ)器,它是一種高性能、低功耗的8位CMOS微處理芯片,市場(chǎng)應(yīng)用最多。最終評(píng)定成績(jī): 指導(dǎo)教師簽名: 年 月 日目 錄第一章 設(shè)計(jì)論證 1 設(shè)計(jì)分析 1 設(shè)計(jì)方案 1第二章 硬件設(shè)計(jì) 2 硬件結(jié)構(gòu)與工作原理 2 單元電路設(shè)計(jì) 2第三章 軟件設(shè)計(jì) 7 系統(tǒng)軟件結(jié)構(gòu) 7 主要功
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1