山东大学单片机实验-(实验6).doc

山东大学单片机实验-(实验6).doc

ID:58581396

大小:417.00 KB

页数:16页

时间:2020-10-19

山东大学单片机实验-(实验6).doc_第1页
山东大学单片机实验-(实验6).doc_第2页
山东大学单片机实验-(实验6).doc_第3页
山东大学单片机实验-(实验6).doc_第4页
山东大学单片机实验-(实验6).doc_第5页
资源描述:

《山东大学单片机实验-(实验6).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、信息科学与工程学院2016-2017学年第二学期实验报告课程名称:单片机原理与应用实验名称:3.7LCD1602显示实验实验报告【实验题目】本实验利用LCD1602和16个按键实现简单的十进制数的加减乘除四则混合运算。其中按键KEY0~KEY9分别代表数字0~9,;按键KEY10~KEY13分别代表运算符“+”“-”“*”“/”;按键KEY15代表“=”;按键KEY14代表清除命令,以便进行下一次的输入和计算。不管什么时候按下“清除”按键,计算过程均将停止,两个输入变量都将清0,屏幕将清屏。【实验要求】1.编写源程序并进行必要的注释;2.记录实验过

2、程;3.记录程序运行结果;【实验过程及结果记录】自我完成实验A.电路图B.运行结果【实验源程序】#include#include#defineuintunsignedint#defineucharunsignedcharucharcodeKEY_TABLE[]={0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82,0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88};sbitLCD_RS=P1^7;sbitLCD_RW=P1^6;sbitLCD_EN=P

3、1^5;longintnum1=0;longintnum2=0;ucharflag=0;ucharKEYY=0;uchartemp,key,num,n1,n2;longintresults,shang,yu;voiddelay_ms(uintxms){uinti,j;for(i=xms;i>0;i--){for(j=110;j>0;j--);}}bitlcd_busy();LCD忙检查子程序{bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bi

4、t)(P2&0x80);LCD_EN=0;returnresult;}voidlcd_wcmd(ucharcmd);写命令子程序{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;}voidlcd_clr();LCD清屏子程序{lcd_wcmd(0x01);delay_ms(2);}voidlcd_wd

5、at(uchardat);写数据子程序{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;}voidlcd_init()//初始化子程序{delay_ms(15);lcd_wcmd(0x38);//8位数据总线,显示2行,5*7点阵delay_ms(5);lcd_wcmd(0x0c);//显示开,关光标

6、,不闪烁delay_ms(5);lcd_wcmd(0x06);//进入模式设置指令中,地址自动增加delay_ms(5);lcd_wcmd(0x01);//清除LCD显示内容delay_ms(5);}voidlcd_wrst(longintrst){ucharscw;ucharzdw=0;scw=rst/;rst=rst%;if(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

7、(scw);delay_ms(10);}else{if(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);}else{if(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_m

8、s(10);}else{if(scw!=0){zdw=1;scw=scw+'0';lcd_wdat(scw);delay_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。