键盘输入与七段数码管显示实验_第1页
键盘输入与七段数码管显示实验_第2页
键盘输入与七段数码管显示实验_第3页
键盘输入与七段数码管显示实验_第4页
键盘输入与七段数码管显示实验_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、贵州大学实验报告学院:电气工程学院 专业:电子信息工程 班级:电信091姓名学号09080402实验组实验时间6.13指导教师老师成绩实验项目名称实验四: 键盘输入与七段数码管显示实验实验目的学会利用8255扩展I/O口;掌握行列式键盘、7段数码显示器接口的设计方法,验证7段数码管显示原理;通过软硬件结合,了解单片机应用中软硬件的相依性。实验要求1. 根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学2. 要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应包括实验预习、实验记录和实验报告等三部分内容。实验原理1实验原理:实验电路原理图如图41所

2、示 图41 实验电路原理图实验软件参考框图如图42所示开 始8255初始化(PA口输入,PB口输出,PC口输出)读PA口译键判断口有键按下否?YN10取段码取段码取段码取段码送PB口。 图42 软件参考框图 实验程序根据本实验内容由学生自行编制。注意:PA口地址为8000H,PB 口地址为8001H、PC 口地址为8002H,8255控制口地址为8003H。2实验方法:根据上面实验原理图,通过软硬件相结合,用扩展的8255的三个I/O口控制键盘的输入和对应键值符号的显示。实验手段:利用微型电子计算机和THGMW-1型单片机实验开发系统实验箱组成的实验系统进行实验。实验仪器1主要仪器设备微型电子

3、计算机 (型号:启天2710) 20台 . 单片机实验开发系统实验箱 (型号:THGMW-1) 20个实验步骤1按照实验指导教师的指导和本实验指导书附录二的内容正确连接实验系统;2在THGMW-1单片机实验开发系统实验箱内找到CPU模块(F3区)、8255 模块(C6 区)、8279 键盘与显示模块(E7 区);3. 用8位数据线对应连接8255 模块的JD3C(PA 口)、JD4C(PB 口)、JD5C(PC 口)到8279模块的JD3E、JD2E、JD4E,用导线连接8255模块的片选端CS_8255到CPU模块中的8000H; 4. 将显示模块(E7 区)中U9E(74LS07)集成电路

4、取下,用一根导线将U9E(74LS07)集成电路插座上的第8脚与第7脚(“GND”)连接(使显示模块中右起第一个七段数码管共阴极接“地”,这是为使本实验能按图41 所示的实验电路原理进行而做的必要改动);5向微机中输入实验程序;6. 编辑程序;7. 编译、连接、定位,载入程序;8单步或全速执行程序,观察键盘键值能否在七段数码显示器上正常显示;9. 结果符合本实验要求,本实验完成;否则,检查排除硬件问题重复步骤6、7、8;或检查排除软件问题重复步骤5、6、7、8;直到七段数码显示器上显示的数字与键盘上按下的键号一致。实验内容扩展一片8255芯片,A口接一个16位行列式键盘输入,B口输出控制一只L

5、ED七段数码管显示器;通过编程并全速运行,在按下相应按键时,七段数码管显示器上显示相应的符号(定义16个字符,设定为:0A)。实验数据实验程序:ORG 0000HLJMP STARTORG 0100HSTART: MOV DPTR, #8003H ;指向8255控制口MOV A, #90H MOVX DPTR, A ;送90H控制字到8255控制口MOV DPTR, #8001H ;指向指向8255B口CLR A ; A累加器清0MOVX DPTR, A ;送B口,让7段数码管无显示KEY1: ACALL KS1 ;调用判断有无键按下子程序JNZ LK1 ;有键按下时,(A)不为0转消抖动延时

6、AJMP KEY1 ;无键按下是返回LK1: ACALL T12MS ;调12MS延时子程序ACALL KS1 ;再查有无键按下JNZ LK2 ;若有,则(A)不为0,可确认有键按下,转逐列;扫描AJMP KEY1 ;否则(A)为0,不是真有键按下,则返回LK2: MOV R2, #0FEH ;初始列扫描字(0列)送入R2MOV R4, #00H ;初始列(0列)号送入R4LK4: MOV DPTR, #8002H ;指向8255控制C口MOV A, R2 MOVX DPTR, A ;列扫描字送8255控制C口DEC DPTR ;DPTR指向8255A口DEC DPTRMOVX A, DPTR

7、 ;从8255A口读入行状态JB ACC.0, LONE ;查第0行无键按下,转查第1行MOV A, #00H ;第0行有键按下,行首键码#00H送(A)AJMP LKP ;转求键码LONE: JB ACC.1, LTWO ;查第1行无键按下,转查第2行MOV A, #01H ;第1行有键按下,行首键码#01H送(A)AJMP LKP ;转求键码LTWO: JB ACC.2, LTHR ;查第2行无键按下,转查第3行MOV A, #02H ;第2行有键按下,行首键码#02H送(A)AJMP LKP ;转求键码LTHR: JB ACC.3, LFOU ;查第3行无键按下,转查第4行MOV A,

8、#03H ;第3行有键按下,行首键码#03H送(A)AJMP LKP ;转求键码LFOU: JB ACC.4, LFIV ;查第4行无键按下,转查第5行MOV A, #04H ;第4行有键按下,行首键码#04H送(A)AJMP LKP ;转求键码LFIV: JB ACC.5, LSIX ;查第5行无键按下,转查第6行MOV A, #05H ;第5行有键按下,行首键码#05H送(A)AJMP LKP ;转求键码LSIX: JB ACC.6, LSEV ;查第6行无键按下,转查第7行MOV A, #06H ;第6行有键按下,行首键码#06H送(A)AJMP LKP ;转求键码LSEV: JB AC

9、C.7, NEXT ;查第7行无键按下,转查下1列MOV A, #07H ;第7行有键按下,行首键码#07H送(A)LKP: ADD A, R4 ;求键码, 键码=行首键码+列号,在本程序中设第0;列的列号为“0”,第1列的列号为“8”PUSH ACC ;键码进栈保护LK3: ACALL KS1 ;等待键释放JNZ LK3 ;键未释放,继续等待POP ACC ;键释放,键码送(A)ACALL DISP ;调显示子程序(输出键码到七段数码显示器)AJMP KEY1 ;转继续查键NEXT: MOV A, R4 ;ADD A, #08H ;将第1列的列号改成“8”MOV R4, A ;第1列列号送入

10、R4MOV A, R2 ;取扫描字JNB ACC.1, KEND ;判断2列扫描完否?扫描完返回继续查键RL A ;未扫描完,扫描字左移1位,变为下一列扫描字MOV R2, A ;扫描字送R2AJMP LK4 ;转下1列扫描KEND: AJMP KEY1 ; ;查有无键按下子程序KS1: MOV DPTR, #8002H ;DPTR指向8255C口MOV A, #00H ;全扫字送(A)MOVX DPTR, A ;全扫字送8255C口DEC DPTR ;DPTR指向8255A口DEC DPTRMOVX A, DPTR ;读入A口行状态CPL A ;变正逻辑,以高电平表示有键按下RET ;出口状

11、态(A)不等于0时有键按下T12MS: MOV R7, #18H ;延时12MS子程序TM: MOV R6, #0FFHTM6: DJNZ R6, TM6DJNZ R7, TMRET ;显示子程序,将键码转换成显示段码DISP: MOV DPTR, #8001H ;指向8255B口ADD A, #02H ;将键值加一个偏移量02MOVC A, A+PC ;取段码MOVX DPTR, A ;将段码送8255B口RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;“0”-“F”字符的段码表DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND在调试程序没有错误后,我们全速运行了程序。开始我们并没有成功,后来老师说是因为设备箱没有初始化好。经过努力,我们做成功了实验,当我们按下任意键后,数码管上就能显示出与之相对应的数字。我们显示过数字也显示过字母A到F.实验总结这次实验我们遇到了很多的问题,他不象前几次哪样能很快的解决。一开始,我们把程序输入计算机后有很多错误,好不容易才把程序改对但却运行部出结果,我们在那是绞尽脑汁的想啊,看啊,最后还是没有找到问题。得出的结论都一样。我们这根本没问题,可为什么就运行部出结果

温馨提示

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

评论

0/150

提交评论