单片机键盘显示实验报告_第1页
单片机键盘显示实验报告_第2页
单片机键盘显示实验报告_第3页
单片机键盘显示实验报告_第4页
单片机键盘显示实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机键盘显示实验报告.z.单片机的键盘和显示实验报告㈠实验目的掌握单片机I/O的工作方式;掌握单片机以串行口方式0工作的LED显示;掌握键盘和LED显示的编程方法。㈡实验器材G6W仿真器 一台MCS—51实验板 一台PC机 一台电源一台㈢实验容及要求实验硬件线路图见附图从线路图可见,8051单片机的P1口作为8个按键的输入端,构成独立式键盘。四个LED显示器通过四个串/并移位存放器74LS164接口至8051的串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示的段码数据,TXD那么作为发送时钟来对显示数据进展移位操作。编写一个计算器程序,当某一键按下时可执行相应的加、减、乘、除运算方式,在四个显示器上显示数学算式和最终计算结果。注:①通过按键来选择加、减、乘、除四种运算方式。②输入两个数字均为一位十进制数,可预先放在存中。㈣实验框图(见下页)单片机键盘显示实验报告全文共8页,当前为第1页。㈤思考题单片机键盘显示实验报告全文共8页,当前为第1页。当键盘采用中断方式时,硬件电路应怎样连接?P1.4~P1.7是键输出线,P1.0~P1.3是扫描输入线。输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5V电源,输出端接至8051的外部中断输入端。2.74LS164移位存放器的移位速率是多少?单片机键盘显示实验报告全文共8页,当前为第2页。实验中要求计算的式子和结果之间相差一秒,移位存放器的移位速率应该是每秒一位吧。其实这个问题确实不知道怎么答复。。。。。单片机键盘显示实验报告全文共8页,当前为第2页。否否有否P1口置输入读P1口开始显示"0000〞是否有键按下?延迟消抖是否有键按下?是读键码加法运算减法运算除运算单片机键盘显示实验报告全文共8页,当前为第3页。LED显示用的段码与教科书所提供的不同,本实验采用如下段码:单片机键盘显示实验报告全文共8页,当前为第3页。显示数符段码显示数符段码0BBHADBH109HBF1H2EAHCB2H36BHDE9H459HEF2H573HFD2H6F3H—40H70BH.04H8FBH┗┛A1H97BH┗┛1AH灭00HPDAH实验代码:ORG0000HAJMPMAINORG0030HMAIN:MOV41H,#0BBH;对几个存放地址进展初始化MOV42H,#0BBHMOV43H,#0BBHMOV44H,#0BBHMOVSCON,#00H;初始化串行口控制存放器,设置其为方式0LCALLDISPLAY;初始化显示KEY:MOVR3,#08H ;用来存放两个数据MOVR4,#02HMOVP1,#0FFH;初始化P1口MOVA,P1;读取按键状态CPLA;取正逻辑,高电平表示有键按下JZKEY;A=0时无键按下,重新扫描键盘LCALLDELAY1 ;消抖MOVA,P1;再次读取按键状态CPLAJZKEY;再次判别是否有键按下PUSHAKEY1:MOVA,P1CPLAANLA,#0FH;判别按键释放JNZKEY1;按键未释放,等待单片机键盘显示实验报告全文共8页,当前为第4页。LCALLDELAY1 ;释放,延时去抖动单片机键盘显示实验报告全文共8页,当前为第4页。POPAACC.0,ADD1;K1按下转去ADD1ACC.1,SUB1;K1按下转去SUB1ACC.2,MUL1;K1按下转去MUL1ACC.3,DIV1;K1按下转去DIV1LJMPKEYADD1:LCALLBUFFER;显示加数和被加数MOV43H,#049HLCALLDISPLAY;显示加号MOVA,R3ADDA,R4DAAMOVR3,A;相加结果放入R6ANLA,#0FHMOVR4,A;结果个位放入R7MOVA,R3SWAPA;半字节交换,高四位放入低四位ANLA,#0FHMOVR3,A;结果的高位放入R6LCALLL ;显示缓存区设置LCALLDELAY2 ;延时一秒后显示LCALLDISPLAYLJMPKEYSUB1:LCALLBUFFER;显示减数和被减数MOV43H,#40HLCALLDISPLAY;显示减号MOVA,R3CLRCY;CY清零SUBBA,R4;做减法PUSHARLCA;带进位循环左移,最高位放入CYJCF;判断最高位,假设为1那么跳转到负数ZHENG:POPAMOVR4,AMOVR3,#00H;高位清零SJMPOUTFU:POPACPLA;取绝对值INCAMOVR4,AMOVR3,#11H;显示负号OUT:LCALLL;显示缓存区设置LCALLDELAY2;延时1s后显示单片机键盘显示实验报告全文共8页,当前为第5页。LCALLDISPLAY单片机键盘显示实验报告全文共8页,当前为第5页。LJMPKEYMUL1:LCALLBUFFER;显示两位乘数MOV43H,#99HLCALLDISPLAY;显示乘号MOVA,R3MOVB,R4MULAB;结果放入AB,A中是低8位,B中是高8位MOVB,#0AHDIVAB;十进制转换MOVR4,B;结果个位放入R7MOVR3,A;结果的十位放入R6LCALLLLCALLDELAY2LCALLDISPLAY;延时1s后显示LJMPKEYDIV1:LCALLBUFFER;显示除数和被除数MOV43H,#62HLCALLDISPLAY;显示除号MOVA,R3MOVB,R4DIVAB;A除以BMOVR4,B;余数放在R4中MOVR3,A;商放在R3中MOVA,R4MOVCA,A+DPTR;调用段选号MOV41H,A;显示余数MOVA,R3MOVCA,A+DPTRMOV43H,A;显示商MOV42H,#00HMOV44H,#00HLCALLDELAY2;延时1S后显示LCALLDISPLAYLJMPKEYBUFFER:MOV41H,#22H;显示初始化,在做计算之前显示两个操作数,显示等号MOVDPTR,#TABLMOVA,R4MOVCA,A+DPTRMOV42H,AMOVA,R3MOVCA,A+DPTRMOV44H,A单片机键盘显示实验报告全文共8页,当前为第6页。RET单片机键盘显示实验报告全文共8页,当前为第6页。DISPLAY:MOVR5,#04H ;共四位需要显示MOVR0,#41HDISPLAY1:MOVA,R0MOVSBUF,ADISPLAY2:JNBTI,DISPLAY2 ;是否传完了CLRTIINCR0DJNZR5,DISPLAY1RETL:MOVA,R4MOVCA,A+DPTRMOV41H,A;R4对应的段码MOVA,R3MOVCA,A+DPTRMOV42H,A;R3对应的段码MOV43H,#00HMOV44H,#00HRETDELAY1:;普通延时 MOVR1,#20HDS1: MOVR2,#0FFHDS2: DJNZR2,DS2 DJNZR1,DS1 RETDELAY2: MOVR6,#14H;定时1SMOVTMOD,#01HDS3:MOVTH0,#3CHMOVTL0,#0B0H;50msSETBTR0LOOP:JNBTF0,LOOPCLRTF0CLRTR0DJNZR6,DS3;1s到,中断返回RETTABL:DB0BBH09H0EAH6BH;段码表DB59H73H0F3H0BHDB0FBH7BH00H0DBHDB0F1H0B2H0E9H0F2HDB0D2H40H实验结果及分析单片机键盘显示实验报告全文共8页,当前为第7页。按键1:8+2=结果:10单片机键盘显示实验报告全文共8页,当前为第7页。按键2:8-2=结果:6按键3:8*2=结果:16按键4:8/2=结果:4从上面的结果可以看出,本次实验根本完成了实验要求。本次实验主要运用了键盘接口和LED显示方面的知识,掌握了如何读取键盘状态和消抖:MOVP1,#0FFH;初始化P1口MOVA,P1;读取按键状态CPLA;取正逻辑,高电平表示有键按下JZKEY;A=0时无键按下,重新扫描键盘LCALLDELAY1 ;消抖MOVA,P1;再次读取按键状态CPLAJZKEY;再次判别是否有键按下PUSHAKEY1:MOVA,P1CPLAANLA,#0FH;判别按键释放JNZKEY1;按键未释放,等待LCALLDELAY1 ;释放,延时去抖动POPA在计算过程的显示中复习了定时器的知识:DELAY2: MOVR6,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论