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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)-計(jì)算器-文庫吧資料

2025-07-02 12:47本頁面
  

【正文】 前,由于操作數(shù)的數(shù)據(jù)類型弄錯(cuò)了,所以可能導(dǎo)致其他運(yùn)算的結(jié)果可能也是錯(cuò)誤的。在這次運(yùn)算中,我再次輸入了上次的運(yùn)算式,結(jié)果不負(fù)所望,輸出為‘E’。然后我修改了程序,將操作數(shù)的定義改為了單精度浮點(diǎn)型,然后再次運(yùn)行。按下任意鍵后LCD清屏。 //將各個(gè)標(biāo)志位恢復(fù)初始化 } …… }第四章 系統(tǒng)調(diào)試與分析 調(diào)試過程與結(jié)果本次課程設(shè)計(jì)中,我使用了Proteus作為硬件仿真軟件,Keil作為軟件編寫編譯軟件,通過兩者的協(xié)調(diào),來實(shí)現(xiàn)仿真模擬。 //等號(hào)清空 xsd=0。 j=0。 //操作符清空 flag=0。 //清屏 a=b=0。 }while(n==17)。 //若結(jié)果超過四位數(shù)則輸出錯(cuò)誤信息 n=17。 //除 } //計(jì)算 if(a9999) //判斷結(jié)果是否超過四位數(shù) { sprintf(temp,%s,Error)。: a=a/b。 //乘 case 39。: a=a*b。 //減 case 39。: a=ab。 //加 case 39。: a=a+b。switch(fuhao) //判斷操作符是哪個(gè) { case 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)志。 //等待,直到按鍵松掉 } ……} 運(yùn)算子程序接收操作數(shù)a,b,fha=a+bfh=’+’? Ya=abfh=’’? fh=’*’?a=a*ba=a/bfh=’/’? a9999?輸出錯(cuò)誤提示信息輸出計(jì)算結(jié)果 運(yùn)算子程序流程圖,在取得操作數(shù)一、操作數(shù)二、運(yùn)算符后,判斷操作符的性質(zhì),然后根據(jù)操作符來進(jìn)行加減乘除的計(jì)算,將計(jì)算結(jié)果保存在a中,并判斷計(jì)算結(jié)果的值是否超過四位數(shù),若超過,則在屏幕上輸出錯(cuò)誤提示信息,否則在屏幕上輸出正確結(jié)果。break。//第三列 case 0x70:n=39。=39。break。//第一列 case 0xd0:n=39。c39。0xf0。 //為P1賦值,選中第一行 if(P1!=0xfe) //P1發(fā)生變化 { delay(200)。void key_scan(void) //鍵盤掃描處理子程序{ unsigned char temp。在掃描到按鍵值后,將按鍵值保存在全局變量n中,以便其他函數(shù)使用、處理該值。 s ++。\039。 //寫入待顯示數(shù)據(jù),調(diào)用LCD寫數(shù)據(jù)函數(shù)}void LCD_dsp_string(unsigned char X,unsigned char Y,unsigned char *s)//字符串顯示函數(shù){ LCD_set_xy( X, Y )。 //設(shè)置數(shù)據(jù)指針位置,調(diào)用LCD寫命令函數(shù)}LCD顯示函數(shù):void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat)//單個(gè)字符顯示函數(shù){ LCD_set_xy( x, y )。 //x=0為一行的第一個(gè) else //第二行 address =0xc0+ x。LCD顯示位置設(shè)置函數(shù):void LCD_set_xy( unsigned char x, unsigned char y )//設(shè)置LCD顯示的位置{ unsigned char address。LCD的顯示程序中主要的部份為L(zhǎng)CD顯示位置的設(shè)置以及LCD顯示數(shù)據(jù)的輸出。之所以對(duì)單字符和字符串設(shè)置不同的顯示函數(shù),是為了實(shí)現(xiàn)程序?qū)纹瑱C(jī)資源的最優(yōu)利用,因?yàn)閱巫址徽紦?jù)一個(gè)字節(jié)的存儲(chǔ)區(qū),而字符串則至少占用兩個(gè)字節(jié)。若不是‘=’,則判斷是否是第一次按下清零鍵,若是,則顯示小數(shù)點(diǎn),并再次調(diào)用keyscan()函數(shù),獲取下一個(gè)按鍵,若不是第一次按下,則再次執(zhí)行LCD初始化程序。若按鍵不是數(shù)字,則判斷是否為操作符,若是,則執(zhí)行LCD_dsp_char(x,y,dat)顯示操作符,然后將flag標(biāo)志位置1,代表第一個(gè)操作數(shù)輸入結(jié)束。然后執(zhí)行keyscan()函數(shù)判斷是否有按鍵輸入,若有則讀取按鍵,否則循環(huán)掃描,直到有按鍵按下。程序上的具體實(shí)現(xiàn):在單片機(jī)上電后,執(zhí)行兩個(gè)函數(shù)LCD_dsp_string(4,0,Wele!)以及LCD_dsp_string(1,1,ZCY39。其次對(duì)功能鍵的程序段進(jìn)行相應(yīng)的設(shè)計(jì)。對(duì)于數(shù)字鍵的程序段進(jìn)行相應(yīng)的設(shè)計(jì),如果運(yùn)算鍵(+、-,*,/)相應(yīng)標(biāo)志不為一,則將輸入的數(shù)字送入第一個(gè)操作數(shù)緩存區(qū),并且清空所有響應(yīng)位。 Y 程序流程圖本次設(shè)計(jì)采用模塊化設(shè)計(jì)思想,包括主程序和初始化子程序、延時(shí)子程序、輸出數(shù)據(jù)子程序、檢測(cè)是否有按鍵按下子程序、確定按鍵子程序、清第一行屏與顯示“Wele”子程序、換算第一個(gè)數(shù)子程序、運(yùn)算子程序、顯示結(jié)果子程序等子程序。 LCD1602(LM016L)仿真接線圖第三章 軟件設(shè)計(jì) 系統(tǒng)軟件結(jié)構(gòu),系統(tǒng)啟動(dòng)后,執(zhí)行LCD初始化程序,然后調(diào)用LCD顯示程序,在屏幕上輸出歡迎信息。~、RW、E端口相連,用來對(duì)顯示芯片進(jìn)行控制。操作控制注:關(guān)于E=H脈沖——開始時(shí)初始化E為0,然后置E為1。第15引腳背光正極,第16引腳背光負(fù)極。第7~14引腳:D0~D7為8位雙向數(shù)據(jù)端。第5引腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1引腳:GND為電源地第2引腳:VCC接5V電源正極第3引腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。在按下其中一個(gè)鍵時(shí),其對(duì)應(yīng)的行與列將都會(huì)變成低電平,此時(shí),即可通過判斷P1口的值來確定輸入的是哪一個(gè)按鍵,然后將所取得的按鍵通過軟件來進(jìn)行接下
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1