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

下载本文档

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

文档简介

1、单片机得键盘与显示实验报告实验目得掌握单片机I/O得工作方式;2.3.2.3.4.掌握单片机以吊行口方武0匸作得LED显示; 掌握键盘与LED显示得编程方法.实验器材G6W仿真器。一台MC S51实验板。一台PC机03台电源实验内容及要求实验硬件线路图见附图从线路图可见,80 5 1单片机得Pi 口作为8个按键得输入端构成独立式 键盘。四个LED显示器通过四个ftV并移位寄存器7 4 LS I 64接口至8 051得串行口,该审行口应工作在方式0发送状态下RXD端送出要显示得段码数 据,TXD则作为发送时钟来对显示数据进行移位操作。编写一个计算器程序,当某一键按下时可执行相应得加、减、乘、除运

2、算 方式,在四个显示器上显示数学算式与最终计算结果。注:通过按键来选择加、减、乘、除四种运算方式。输入两个数字均为一位十进制数,可预先放在内存中。实验框图(见下页)思考题1. 当键盘采用中断方式时/更件电路应怎样连接?PU 4P1、7就是键输出线F1、0P1、3就是扫描输入线。输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至805 1得外部中断输入端。2、74LS16 4移位寄存器得移位速率就是多少?实验中要求讣算得式子与结果之间相差一秒移位寄存器得移位速率应该就是每秒一位吧。其实这个问题确实不知道怎么回答。LED显示用得段码与教科书所提供得不同,本实

3、验采用如下段码:显示数符段码显示数符段码0BBHADBHI09HBF 1 II2EAHCB2H36BHDE9II459HEF2H573HFD2H6F3II4on7OBH04H8FBH|_|AlH97BH|_|lAH灭OOHpdaii实验代码:ORG OOOOHA J M P MAINORG0 0 30H;对几个存放地址进行初始化MAIN: MOV41 lU #0BBHMOV42H#OBBHMOV 4 31I#OBBHMOV 441b #0B BHMOV SCON,#OOHLCAL L DISPLAYKEY:MOV R3, #0811MOV R4#0 2HMO V P 1 .OFFH;初始化串行

4、口控制寄存器,设這英为方式0;初始化显示;用来存放两个数据MOV ATICPLAJZ KEYLC ALL DELAY 1MOV A, P 1:初始化Pl 口:读取按键状态;取正逻辑,高电平表示有键按下;A=0时无键按下,重新扫描键盘;消抖:再次读取按键状态CPL AJZKE Y:再次判别就是否有键按下PU SH AKEYLMOV A. PlCPLAANL A.#0FHJNZ KEYlLCAL L DE LAY 1POP AJB ACC、0. AD D;判别按键释放;按键未释放,等待;释放,延时去抖动J B ACC、LSUBlJBACC、2.MUL1JB ACC、3, D I VILJMP KE

5、YADD1:LCALL BUFFER;KI按下转去ADDl:Kl按下转去SUBl:KI按下转去MULl:Kl按下转去DIV 1:显示加数与被加数MOV 4 3H. #O49H:显示加号LCALLD I SPLAYMOVA.R3AD D A, R4DAAMOV R3.A;相加结果放入R6AN L A.OFHMOV R 4, A:结果个位放入R7MOV AR3SWAPA:半字节交换,髙四位放入低四位ANL A#0FHMOV R3. A:结果得高位放入R6LCALL Lw显示缓存区设置延时一秒后显示LCALL DELAY2I-CALLD1S PLAYLJ MP KEYSUB I :LCALLBUFF

6、ER:显示减数与被减数MOV 43H.#40HLCALLDISPLA Y;显示减号MOVA, R3CLRCYSUBBA, R 4:CY清零:做减法RLCPUSH:带进位循环左移,最髙位放入CYJCF:判断最高位,若为1则跳转到负数ZHENG:POP AMOV R4.AMOV R3#OOH:高位淸零SJ MP OUTFU:POP ACPL A;取绝对值INC AM0VR4, AMOV R3, #11HOUT:LCALL L:显示负号:显示缓存区设置LCALLDELA Y2:延时Is后显示LCALL DISP LAYUMP KEYMULLLCA LL BUFFER;显示两位乘数MOV 43 H,

7、#99H:显示乘号LCAL L DISPLAYMOV A. R 3MOV BR4MULABMOV B,DIV ABMOV R 4 BMOV R3, A:结果放入AB.A中就是低8位,B中就是髙8位 #0AH;十进制转换:结果个位放入R7;结果得十位放入R6LCALLLLCA L L DE L AY2LCALL D 1 SPLAY;延时Is后显示LJ MP KEYD I V 1 : LCALL BUFFER:显示除数与被除数MOV 4 3H. #6 2HLCALL DISPLAY:显示除号MOV A.R3MOVB. R4DIV ABMOVR4.BMOVR3, A:A除以B;余数放在R4中:商放在

8、R 3中MOV A.R4Move A> A+DPT RMOV41H, AMOV A.R3;调用段选号;显示余数Move A, A+DPTRMO VMOV43H.A42H# OOH;显示商MOV44H #0011LCALLDELAY2:延时IS后显示LCALL DIS P LAYLJMP KEYBUFFER: MOV 4111, #22H 显示等号:显示初始化,在做讣算之前显示两个操作数,MOVDPTR. #TABLMOVA.R4MOVCA, A+DPTRMOV 42H, AMOV A,R3Move A,A+DPTRMOV 44H,RETDISPLAY: MOVR5, #0;共四位需要显示

9、MOV RO, #4 IHDISPLAYl: MOVA.roMOV S BUF. ADISPL A Y2: JNB TLDISP LAY 2°:就是否传完了CLR TIINC R 0DJNZ R5. DISPLAY 1RETL: MOV AR4MOVCA, A+ DPTR:R4对应得段码MOV4 1 H. AMOVA. R3MOV A, Pl;再次读取按键状态Move Ar A+DPTRMOV 4 2H. A:R3对应得段码MOV 43H#OOHMOV 44H, # OOHRETDELAYl:oMOV Rh#2 OH;普通延时DSh -MOV R2. # 0 FFHDS 2 : DJ

10、NZR2.DS2sDJNZRl, DS1RETDELAY2 : MOVR6#14H肚时1SMOV TMOD#01H#3CHDS3: MOVTHO ,MOV TLO,S ETB TROLOOP: JNBTFO,#0 B 0HL OOP:50msCLRTFOCLR TRODJNZR6.DS3RETTABL: DB OBBH 0 9HOEAH6BII1 s到,中断返回:段码表DB 59H73H 0F3H OBHDB 0 FB!I 7BH00H0DBHDB 0 F1H0B2HDB 0D2II 40H0E9H 0F2H实验结果及分析结果:108- 2 =结果:8*2 =结果:1 68/2 =结果:4从上而得结果可以瞧出,本次实验基本完成了实验要求。本次实验主要运用了键盘接口 与L ED显示方而得知识,掌握了如何读取键盘状态与消抖:MOV Ph#0FFHMOV A. P 1;初始化Pl 口:读取按键状态:取正逻辑,高电平表示有键按下:A=O时无键按下,重新扫描键盘 曲肖抖CPL AJZ KEYLCALL DELAYlCPL AJZ KEY;再次判别就是否有键按下PUSH AKEYl: MOV A.P 1CPL AANL A#0FHJNZ KEYlLCALL DELA Y1;判别按键释放:按键未释放,等待释放,延时去抖动POP A在il算过程得显示中复习了宦时器得知识:崔时1 SDELAY2

温馨提示

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

评论

0/150

提交评论