版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上單片機(jī)實(shí)訓(xùn)報(bào)告 簡(jiǎn)易計(jì)算器姓 名 * 學(xué) 號(hào) * 專(zhuān) 業(yè) * 學(xué) 校 * 指導(dǎo)教師 * 實(shí)訓(xùn)時(shí)間 2014.06.23-2014.06.29 目錄中文摘要1關(guān)鍵詞 1 2.1 方案論證1 2.2 系統(tǒng)框圖23 控制軟件設(shè)計(jì) 2 3.1 程序時(shí)序總圖 2 3.2 液晶顯示軟件設(shè)計(jì)3 3.3 鍵盤(pán)輸入軟件設(shè)計(jì) 5 3.4 計(jì)算函數(shù)設(shè)置 74 軟件調(diào)試8個(gè)人小結(jié)8參考文獻(xiàn)9附錄9專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)摘 要:計(jì)算器是人們的日常生活中是最常見(jiàn)的電子產(chǎn)品之一,它應(yīng)用極廣、發(fā)展迅猛,并且不斷出現(xiàn)著擁有更加強(qiáng)大功能的計(jì)算器。為了解和研究計(jì)算器,本次實(shí)訓(xùn)設(shè)計(jì)制作了一個(gè)簡(jiǎn)易計(jì)算器,能夠在五位
2、的計(jì)算范圍內(nèi)進(jìn)行“+”、“-”、“*”、“/”的基本運(yùn)算,能進(jìn)行負(fù)數(shù)的精確結(jié)果顯示。該計(jì)算器以AT89C51單片機(jī)芯片作為核心。采用LCD1602工業(yè)字符液晶進(jìn)行顯示。完成的計(jì)算器經(jīng)過(guò)檢驗(yàn)?zāi)軌蛲暾膶?shí)現(xiàn)預(yù)設(shè)功能,各種細(xì)節(jié)完善,具有很高的使用價(jià)值。關(guān)鍵詞:?jiǎn)纹瑱C(jī);簡(jiǎn)易計(jì)算器;AT89C51;LCD16021實(shí)訓(xùn)任務(wù)1.1 主要功能設(shè)計(jì)以AT89C51單片機(jī)芯片為核心來(lái)制作一個(gè)簡(jiǎn)易計(jì)算器,外部由4*4矩陣鍵盤(pán)和一個(gè)LCD1602工業(yè)字符型液晶顯示屏構(gòu)成,內(nèi)部由一塊AT89C51單片機(jī)構(gòu)成,通過(guò)軟件編程可實(shí)現(xiàn)簡(jiǎn)單加減乘除。1.2 任務(wù)目的通過(guò)本次實(shí)訓(xùn)提高我們的單片機(jī)硬件設(shè)計(jì)、軟件編程能力,自主學(xué)習(xí)到
3、更多的單片機(jī)應(yīng)用知識(shí)。2 整體設(shè)計(jì)方案2.1 方案論證計(jì)算器電路包括三個(gè)部分:顯示電路、4*4鍵掃描電路、單片機(jī)微控制電路。 具體如下:(1)LCD顯示電路LCD1602作為一個(gè)成熟的產(chǎn)品,使用簡(jiǎn)單,模式固定,便于移植到各種類(lèi)型的程序,但是初學(xué)者往往要注意結(jié)合LCD本身的時(shí)序圖來(lái)完善初始化程序。又以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),故采用LCD.(2)4*4鍵盤(pán)掃描電路對(duì)鍵盤(pán)上的某一行送低電平,其他行為高電平,然后讀取列值。若列值中有一位是低,則表明該行與低電平對(duì)應(yīng)列的鍵被按下;否則,掃描下一行。根據(jù)讀到的值組合就可以查表1 得到的鍵碼,因?yàn)榫幊痰姆绞剑敬螌?shí)訓(xùn)采用逐行掃描來(lái)
4、讀取鍵值,方便程序編寫(xiě)。(3)單片機(jī)微控制電路:微控制電路就是以AT89C51為核心的控制核心,主要注意晶振電路的接法和復(fù)位電路的接法。2.2 系統(tǒng)框圖51系列單片機(jī)系統(tǒng)4*4鍵盤(pán)LCD顯示 時(shí)鐘電路復(fù)位電路系統(tǒng)框圖3 控制軟件設(shè)計(jì):實(shí)訓(xùn)中采用C語(yǔ)言對(duì)單片機(jī)進(jìn)行編程,采用的是自下而上的設(shè)計(jì)方式,先設(shè)計(jì)出每一個(gè)模塊(子程序),然后再慢慢擴(kuò)大,最后組成程序。3.1 程序總時(shí)序圖3.2 液晶顯示軟件設(shè)計(jì)(1)顯示流程液晶初始化調(diào)用顯示字序液晶顯示結(jié)束開(kāi)始(2)1602液晶顯示時(shí)序圖,通過(guò)時(shí)序圖,所有編程問(wèn)題都可以得以解決。(3)由時(shí)序圖可以寫(xiě)出液晶的初始化函數(shù)、功能設(shè)置函數(shù)、清屏函數(shù)、寫(xiě)指令函數(shù)、寫(xiě)
5、數(shù)據(jù)函數(shù)。void delay1() /采用軟件實(shí)現(xiàn)延時(shí),5個(gè)機(jī)器周期_nop_();_nop_();_nop_();void int1() /LCD初始化lcd_w_cmd(0x3c);lcd_w_cmd(0x0c);lcd_w_cmd(0x01);lcd_w_cmd(0x06);lcd_w_cmd(0x80);unsigned char lcd_r_start() /讀狀態(tài)字unsigned char s;RW=1;delay1();RS=0;delay1();E=1;delay1();s=P1;delay1();E=0;delay1();RW=0;delay1();return(s);v
6、oid lcd_w_cmd(unsigned char com) /寫(xiě)命令字unsigned char g;dog=lcd_r_start();g=g&0x80;delay(2);while(g!=0);RW=0;delay1();RS=0;delay1();E=1;delay1();P1=com;delay1();E=0;delay1();RW=1;delay(255);void lcd_w_dat (unsigned char dat) /寫(xiě)數(shù)據(jù)unsigned char g;dog=lcd_r_start();g=g&0x80;delay(2);while(g!=0);R
7、W=0;delay1();RS=1;delay1();E=1;delay1();P1=dat;delay1();E=0;delay1();RW=1;delay(255);3.3 鍵盤(pán)輸入軟件設(shè)計(jì)(1)鍵盤(pán)輸入程序運(yùn)行時(shí)序圖(2)鍵盤(pán)掃描程序unsigned char scan_key()unsigned char i,temp,m,n,k;bit find=0;P0=0xff;k=0x01;for(i=0;i<4;i+)P2=k;temp=P0;temp=temp&0x0f;k<<=1;if(temp!=0x00)m=i;find=1;switch(temp)case
8、 0x01:n=0;break;case 0x02:n=1;break;case 0x04:n=2;break;case 0x08:n=3;break;default:break;if(find=0) return 0xff;else return(n*4+m);3.4 計(jì)算函數(shù)設(shè)置因?yàn)橹挥?6個(gè)健,所以計(jì)算上只設(shè)計(jì)了加減乘除的功能,下面是幾個(gè)計(jì)算的程序unsigned int jian() /減法函數(shù)if(a>=b)q=0;return(a-b);if(a<b)q=1;return(b-a);if(a2i<10&&m=0) /第一個(gè)數(shù)a=a*10+a2i;i
9、f(a2i!=14&&a2i>9) /四則運(yùn)算的判斷m=1; w=a2i;if(a2i<10&&m=1) /第二個(gè)數(shù)b=b*10+a2i;if(a2i=13|o=1) /清零o=0;lcd_w_cmd(0x01);lcd_w_cmd(0x80);a=0;b=0;wan=0;qian=0;bai=0;shi=0;ge=0;m=0;sum=0;if(a2i=14) /等號(hào)l+;p=jian(); /調(diào)用減法函數(shù)switch(w)case 10:sum=a/b;break; /除法case 11:sum=a*b;break; /乘法case 12:sum=
10、p;if(q=1)lcd_w_dat('-');break; /減法case 15:sum=a+b;break; /加法default:break;wan=sum/10000; /萬(wàn)位qian=(sum-wan*10000)/1000; /千位bai=(sum-wan*10000-qian*1000)/100; /百位shi=(sum-wan*10000-qian*1000-bai*100)/10; /十位ge=sum%10; /個(gè)位if(wan!=0) /萬(wàn)位顯示lcd_w_dat(a1wan);lcd_w_dat(a1qian);lcd_w_dat(a1bai);lcd_w
11、_dat(a1shi);lcd_w_dat(a1ge);if(wan=0&&qian!=0) /千位顯示lcd_w_dat(a1qian);lcd_w_dat(a1bai);lcd_w_dat(a1shi);lcd_w_dat(a1ge);if(wan=0&&qian=0&&bai!=0) /百位顯示lcd_w_dat(a1bai);lcd_w_dat(a1shi);lcd_w_dat(a1ge);if(wan=0&&qian=0&&bai=0&&shi!=0) /十位顯示lcd_w_dat(a1s
12、hi);lcd_w_dat(a1ge);if(wan=0&&qian=0&&bai=0&&shi=0) /個(gè)位顯示lcd_w_dat(a1ge);if(l%2!=0) /換行l(wèi)cd_w_cmd(0xc0);if(l%2=0) /換屏lcd_w_cmd(0x80);o=1;a=0;b=0;wan=0;qian=0;bai=0;shi=0;ge=0;m=0;sum=0; /運(yùn)算完一次全部清零4 軟件調(diào)試:(1)編程前先畫(huà)了流程圖,這樣思路清晰,能按部就班的完成。(2)子函數(shù)有顯示部分、鍵盤(pán)掃描部分和計(jì)算部分,編寫(xiě)好后綜合在一起。(3)在將程序?qū)懺谝黄鸬倪^(guò)程中,使用ISIS進(jìn)行了仿真,仿真過(guò)程模擬了鍵盤(pán)的輸入,同時(shí)觀察各種情況時(shí)液晶的輸出情況。個(gè)人小結(jié):第一天:剛開(kāi)始不知道實(shí)訓(xùn)室的電腦不行,走很多彎路,弄了整整一天,只是把教材的程序搬了上去,僅此而已,可以說(shuō),毫無(wú)收獲。第二天:早上也是毫無(wú)收獲,下午才發(fā)現(xiàn)電腦的問(wèn)題,一下子就搞好了鍵盤(pán)輸入。可是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉(cāng)庫(kù)擴(kuò)大補(bǔ)充協(xié)議書(shū)
- 第9課-2023-2024學(xué)年初中信息技術(shù)七年級(jí)上冊(cè)(人教版)-說(shuō)課稿-制作電子表格
- 變更扶養(yǎng)協(xié)議書(shū)
- 北京房屋租賃合同2008
- 防火應(yīng)急疏散演練幼兒園
- 天津市南開(kāi)區(qū)2024-2025學(xué)年高一上學(xué)期11月期中考試語(yǔ)文試題(含答案)
- 遼寧省錦州市某校2024-2025學(xué)年高二上學(xué)期期中質(zhì)量檢測(cè)英語(yǔ)試卷(無(wú)答案)
- 糖尿病的演講
- 《纖維繩索彎曲疲勞試驗(yàn)方法》
- 飼料級(jí)磷酸鹽相關(guān)項(xiàng)目投資計(jì)劃書(shū)范本
- 廣東省深圳市2023一2024學(xué)年三年級(jí)上學(xué)期科學(xué)期中核心素養(yǎng)提升試卷
- 人教版九年級(jí)道德與法治 上冊(cè) 第三單元《文明與家園》大單元整體教學(xué)設(shè)計(jì)
- 食堂副食品配送服務(wù)投標(biāo)方案(技術(shù)方案)
- (4.43)-在馬克思墓前的講話(huà)?cǎi)R克思主義基本原理
- 冬季混凝土施工現(xiàn)場(chǎng)測(cè)溫安排
- 神經(jīng)源性膀胱診療指南解讀課件
- 施工作業(yè)單位安全培訓(xùn)教育試題(含答案)
- 四年級(jí)下冊(cè)書(shū)法說(shuō)課稿-學(xué)習(xí)與運(yùn)用-蘇少版
- ABB 產(chǎn)品手冊(cè) OmniCore C30 手冊(cè)(中文)
- 深信服SCTP認(rèn)證考試復(fù)習(xí)題庫(kù)(濃縮300題)
- 醫(yī)院紀(jì)委辦運(yùn)用PDCA循環(huán)提高醫(yī)院重點(diǎn)領(lǐng)域監(jiān)督覆蓋率PDCA成果匯報(bào)
評(píng)論
0/150
提交評(píng)論