




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 信息科學(xué)與工程學(xué)院20162017學(xué)年第二學(xué)期實 驗 報 告課程名稱: 單片機原理與應(yīng)用 實驗名稱: 3.7 LCD1602顯示實驗 實驗報告【實驗題目】 本實驗利用LCD1602和16個按鍵實現(xiàn)簡單的十進制數(shù)的加減乘除四則混合運算。其中按鍵KEY0KEY9分別代表數(shù)字09,;按鍵KEY10KEY13分別代表運算符“+”“-” “*”“/”;按鍵KEY15代表“=”;按鍵KEY14代表清除命令,以便進行下一次的輸入和計算。不管什么時候按下“清除”按鍵,計算過程均將停止
2、,兩個輸入變量都將清0,屏幕將清屏。【實驗要求】 編寫源程序并進行必要的注釋;記錄實驗過程;記錄程序運行結(jié)果;【實驗過程及結(jié)果記錄】自我完成實驗A.電路圖B.運行結(jié)果【實驗源程序】#include #include #define uint unsigned int#define uchar unsigned charuchar code KEY_TABLE=0 x11,0 x21,0 x41,0 x81,0 x12,0 x22,0 x42,0 x82,0 x14,0 x24,0 x44,0 x84,0 x18,0 x28,0 x48,0 x88;sbit LCD_RS=P17;sbit LC
3、D_RW=P16;sbit LCD_EN=P15;long int num1=0;long int num2=0;uchar flag=0;uchar KEYY=0;uchar temp,key,num,n1,n2;long int results,shang,yu;void delay_ms(uint xms)uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-); bit lcd_busy();LCD忙檢查子程序bit result;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result
4、=(bit)(P2&0 x80);LCD_EN=0;return result;void lcd_wcmd(uchar cmd);寫命令子程序while(lcd_busy();LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P2=cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_(); _nop_();_nop_();_nop_();LCD_EN=0;void lcd_clr();LCD清屏子程序lcd_wcmd(0 x01);delay_ms(2);void lcd_wdat(uchar dat);寫數(shù)據(jù)
5、子程序while(lcd_busy();LCD_RS=1;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P2=dat;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;void lcd_init()/初始化子程序delay_ms(15);lcd_wcmd(0 x38);/8位數(shù)據(jù)總線,顯示2行,5*7點陣delay_ms(5);lcd_wcmd(0 x0c);/顯示開,關(guān)光標(biāo),不閃爍delay_ms(5);lcd_wcmd(0 x06);/進入模式設(shè)置指令中,
6、地址自動增加delay_ms(5);lcd_wcmd(0 x01);/清除LCD顯示內(nèi)容delay_ms(5);void lcd_wrst(long int rst)uchar scw;uchar zdw=0;scw=rst/;rst=rst%;if(scw!=0)zdw=1;最大位輸出標(biāo)志位scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/;rst=rst%;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_
7、ms(10); scw=rst/;rst=rst%;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/;rst=rst%;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/;rst=rst%;if(zdw=1)scw=scw+0;lcd_wdat(
8、scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/10000;rst=rst%10000;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/1000;rst=rst%1000;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw
9、=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/100;rst=rst%100;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); scw=rst/10;rst=rst%10;if(zdw=1)scw=scw+0;lcd_wdat(scw);delay_ms(10); elseif(scw!=0)zdw=1;scw=scw+0;lcd_wdat(scw);delay_ms(10); rst
10、=rst+0;lcd_wdat(rst);void KEY_SCAN()uchar i;P3=0 xf0;if(P3!=0 xf0)delay_ms(10);P3=0 xf0;if(P3!=0 xf0)KEYY=1;temp=P3;P3=0 x0f;key=temp|P3;key=0 xff-key;for(i=0;i16;i+)if(key=KEY_TABLEi)num=i;break; while(P3!=0 xf0)P3=0 xf0; void main()lcd_init();lcd_clr();delay_ms(5);lcd_wcmd(0 x80);while(1)KEY_SCAN(
11、);if(KEYY=1)KEYY=0;if(num=num2)results=num1-num2;lcd_wcmd(0 x40|0 x80);lcd_wrst(results);while(num!=14)KEY_SCAN(); elseresults=num2-num1;lcd_wcmd(0 x40|0 x80);lcd_wdat(-);lcd_wrst(results);while(num!=14)KEY_SCAN(); break;case 3:results=num1*num2; lcd_wcmd(0 x40|0 x80); lcd_wrst(results); while(num!=14)KEY_SCAN(); break;case 4:if(num2=0)lcd_wcmd(0 x40|0 x80);lcd_wdat(E);delay_ms(5);lcd_wdat(R);delay_ms(5);lcd_wdat(R);delay_ms(5);lcd_wdat(O);delay_ms(5);lcd_wdat(R); break; shang=num1/num2;yu=num1%num2;l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭服務(wù)員合同樣本(2025年)
- 2025年勞動合同中的福利制度與薪酬組合設(shè)計
- 2025年企業(yè)流動資金貸款借款合同模板
- 2025年農(nóng)村信用社企業(yè)信貸合同范文
- 2025年企業(yè)辦公桌采購合同
- 2025年信息技術(shù)員聘用合同范例
- 2025年專業(yè)技術(shù)人員勞動合同格式
- 2025年人壽保險公司健康醫(yī)療保險合同
- 2025年農(nóng)作物耕種承包合同
- 2025年企業(yè)房地產(chǎn)買賣合同協(xié)議文本
- 輪狀病毒性腸炎
- 世界社會主義五百年
- 加氫裂化操作工題庫(合并版)
- 正大集團大豬場開發(fā)流程
- 高中政治必修四知識體系每單元的總體框架
- 房地產(chǎn)金融創(chuàng)新與風(fēng)險防范的理論演進
- GB/T 41255-2022智能工廠通用技術(shù)要求
- GB/T 41029-2021石油天然氣鉆井海洋棄井作業(yè)規(guī)程
- 深入推進依法行政
- GB/T 4026-1992電器設(shè)備接線端子和特定導(dǎo)線線端的識別及應(yīng)用字母數(shù)字系統(tǒng)的通則
- 馬工程教材《公共財政概論》PPT-第二章 公共財政職能
評論
0/150
提交評論