9.doc

采用8255的7x8键盘8253定时器及8段数码管接口电路

收藏

压缩包内文档预览:
预览图
编号:516561    类型:共享资源    大小:239.29KB    格式:RAR    上传时间:2015-11-12 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
机械毕业设计
资源描述:
采用8255的7x8键盘8253定时器及8段数码管接口电路,机械毕业设计
内容简介:
2、主程序 STACK SEGMENT PARA STACK STACK DB 500DUP( 0) STACK ENDS DATA SEGMENT BUF: DB 01H DB 02H DB 03H DB 04H DB 05H DB 06H DB 07H DB 08H DB 09H DB 0AH DB 0BH DB 0CH DB 0DH DB 0EH DB 0FH DB 10H DB 11H DB 12H DB 13H DB 14H DB 15H DB 16H DB 18H DB 19H DB 1AH DB 1BH DB 1CH DB 1DH DB 1EH DB 1FH DB 20H DB 21H DB 22H DB 23H DB 24H DB 25H DB 26H DB 27H ntsDB 28H DB 29H DB 2AH DB 2BH DB 2CH DB 2DH DB 2EH DB 2FH DB 30H DB 31H DB 32H DB 33H DB 34H DB 35H DB 36H DB 37H DB 38H KEYBUF: DB 7FBFH DB 7FDF H DB 7FEF H DB 7FF7 H DB 7FFB H DB 7FFD H DB 7FFE H DB BFBF H DB BFDF H DB BFEF H DB BFF7 H DB BFFB H DB BFFDH DB BFFEH DB DFBFH DB DFDFH DB DFEFH DB DFF7H DB DFFBH DB DFFDH DB DFFEH DB EFBFH DB EFDFH DB EFEFH DB EFF7H DB EFFBH DB EFFDH ntsDB EFFEH DB F7BFH DB F7DF H DB F7EF H DB F7F7 H DB F7FB H DB F7FD H DB F7FE H DB FBBFH DB FBDF H DB FBEF H DB FBF7 H DB FBFB H DB FBFD H DB FBFE H DB FDBFH DB FDDF H DB FDEF H DB FDF7 H DB FDFB H DB FDFD H DB FDFE H DB FEBFH DB FEDF H DB FEEF H DB FEF7 H DB FEFB H DB FEFD H DB FEFE H DDBUF: DB 40H DB 4FH DB 24H DB 30H DB 19H DB 12H DB 02H DB 78H DB 00H DB 10H DB 3FH TABLE: DB 20H DB 01H DB 03H DB 05H ntsDB 07H DB 09H DB 0FFH DB 20H DB 02H DB 04H DB 06H DB 08H DB 00H DB 20H 。 。 。 。 。 。 。 DISBUF: DB DUP(?) DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: CLI MOV SI, OFFSET MOV BP, 0064H MOV AL, 36H OUT 0D3H, AL MOV AL, 00H OUT 0DOH, AL MOV AL, 30H OUT 0D0H, AL MOV AL, 17H OUT 0C0H, AL MOV AL, 20H OUT 0C1H, AL MOV AL, 1H OUT 0C1H, AL MOV AL, 0FEH OUT 0C1H, AL MOV AL, 91H OUT 0E3H, AL STI RECE: CALL KEY MOV SI, OFFSET BUF MOV AL, SI CMP AL, 26H JNZ PP1 CALL CPRO JMP RECE PP1: CMP AL, 2CH JNZ PP2 CALL SPRO JMP RECE PP2: CMP AL, 18H JNZ PPP CALL GPRO JMP RECE PPP: CMP AL, 06H JNZ PPP CALL SPRO JMP RECE KEY: DI, OFFSET KEYBUF SCAN: MOV AL, 00 OUT 0E1H, AL IN AL, 0E0H OR AL, 80H ntsCMP AL, 0FFH JZ SCAN MOV CX, 14FEH CYCLE: LOOP CYCLE MOV CX, 0008H MOV AH, 7FH SCAN1: MOV AL, AH OUT 0E2H, AL IN AL, OE0HH OR AL80H CMP AL, 0FFH JNZ KEYN ROR AH, 1 LOOP SCAN1 JMP SCAN KEYN: IN AL, 0E0H OR AL, 80H CMP AL, 0FFH JNZ RELEA MOV AX, DI ADD DI, 0002 CMP AX, 0DFFDH JNZ SCAN MOV SI, OFFSET KEYBUF SUB DI, SI ROR DI, 1 MOV CX, DI MOV DI, OFFSET KEYBUF MOV SI, OFFSET BUF KEYTRA: CALL TRAN RET TRAN: PUSH CX MOV AX, DI MOV CX, 007 STC CHACL: RCR AL, 1 JNB TRAN LOOP CHACL PUSH CX STC CHAROW: RCR AH, 1 JNB TRAN LOOP CHAROW MOV AX, CX MOV DL, 07H MUL DL POP SI ADD SI, AL ADD DI, 0002 INC SI POP CX RET CPRO: CLI MOV DI, OFFSET DISBUF MOV DI, 0 MOV DI+1, 0 MOV D+20, 0 MOV DI+3, 0 MOV DI+4, 0 MOV DI+5, 0 STI RET SPRO: CLI PUSH BX MOV BX, OFFSET TABLE MOV AL, SI+01 XLAT MOV DI, OFFSET DISBUF MOV DI+1, AL MOV AL, SI+02 XLAT MOV DI+2, AL MOV AL, SI+04 XLAT MOV DI+3, AL MOV AL, SI+05 XLAT MOV DI+4, AL MOV DI, 00 POP BX STI RET GPRO: CLI MOV DI, OFFSET DISBUF MOV DI, 01 STI RET ESPRO: CLT ntsMOV DI, OFFSET DISBUF MOV DI, O STI RET INTR: PUSH SI PUSH AX DEC BP JNZ DISPLAY MOV DI, OFFSET DISBUF CMP DI, 01 JNZ DISPLAY INC DI MOV BP, 0064H INC DI+04 CMP DI+04, 0AH JNZ DISPLAY MOV DI+04, 00 INC DI+03 CMP DI+03, 06 JNZ DISPLAY MOV DI+03, 00 INC DI+02 CMP 0AH JNZ DISPLAY MOV DI+02, 00 INC DI+01 CMP DI+01, 06 JNZ DISPLAY MOV DI+01, 00 DISPLAY: CALL DISPL POP AX POP SI IRET DISPL: PUSH DX PUSH CX PUSH BX PUSH SI MOV CX, 0005 MOV BX, OFFSET DDBUF MOV SI, OFFSET DISBUF INC SI MOV AH, 0EFH DISPL1: MOV DX, 0101H MOV AL, 0FFH OUT DX, AL PUSH CX MOV CX, 0500H WAIT1: LOOP WAIT1 MOV DX, 0100H MOV AL, SI XLAT OUT DX, AL MOV DX, 0101H MOV AL, AH OUT DX, AL MOV CX, 0500H WAIT2: LOOP WAIT2 POP CX ROR AH, 1 INC SI LOOP DISPL1 POP SI POP BX POP CX POP DX RET nts四、体会及感想 课程设计是培养学生综合运用所学知识 ,发现 ,提出 ,分析和解决实际问题 ,锻炼实践能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程 .随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整 一个 星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而 且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好通过这次课程设计之后, 我 一定 要 把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,终于游逆而解 , 在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! nts综合课程设计任务书 题 目 : 采用 8255的 7X8键盘, 8253定时器及 8段数码管接口电路。 设计要求 : 在 8088CPU上连接 1个 7X8键盘 ,并连接 6个LED;使用系统中的 8253提供时钟,设计 1个定时装置,显示分和秒;要求在按下某些特定键时,实现指定的功能:按下 C键时,清除计数 ,显示00-00;按下 S键时,设置时钟初始值;按下 G键,启动记时 , 6个 LED上显示时间计数;按下 ESC键时,停止计数, LED上显示当时的时间。 工作计划 : 1查阅相关资料,作出总体设。 2作出系统硬件设计。 3作出相应软件设计。 4撰写报告。 5修改打印设计报告。 nts一、 原理及总体方案 对显示部分采用软件译码,既在程序中设置一个段码表,存放对应于每个显示数字的七段显示代码, CPU直接往 LED输出七段代码,这样就省去了硬件译码器。 CPU 每隔一定时间执行一次显示程序,只要这个时间不太长,由于人眼的视觉惯性, 就可以在 6个 LED上同时见到数字显示。 对计时部分,要对各个芯片进行初始化。初始化时让 8253 工作在方式 3,每隔 10毫秒产生一次方波。输入时钟频率为 1.2288兆赫兹,定时常数为 3000H,则定时周期刚好为 10毫秒。 由 8253的输出作为中断请求给 8259,既系统每隔10毫 秒便由 8253对 8259产生一次中断请求而执行一次中断处理。这样将时间密切相关的显示与计数模块放在中断处理程序中,保证了 LED 的数字没隔 10毫秒刷新一次,保证了数字显示的稳定。中断处理程序每隔 10毫秒执行一次,但计时并不是以 10毫秒为单位进行的,而是以秒为单位 进行的,所以计时功能的实现一方面利用 10毫秒这个基准时间单元,另一方面借助于一个计数单元。计数单元的初始值为 100,没进行一次中断,使计数的内容减 1,也就是每 10毫秒作一次计数。每当计数单元从 100减到 0时,使秒位加 1,这时判断是否进位,如有进位则实现正确的修改,修改后再将 LED显示一遍。 原理概念框图 nts二、硬件系统形成 显示部分的硬件用了 6个共阴极 LED作为显示管,用 2块 74LS273 分别作为段码和位码的锁存器。由于 LED 导通时,没一段所需电流 10 毫安左右,74lS273不能直接驱动 LED。在 LED的的阳极和 74LS273之间连接 DM7404N作为驱动器,而在 LED 的阴极和位锁存器之间连接 SN75452BP 作为驱动器。SN75452BP 具有反相作用。 LED 的每段外接 200 欧的电阻起限流作用。段码锁存器和位码锁存器均连接在数据线的反相端 D7-D0, CPU往数据总线送出的数据到底是送入位码锁 存器还是送入段码锁存器,这由 74LS138 对地址译码得到的 译码输出信号 Y6和 Y7来决定。当 A8=1,而 A0=0时, Y7=1,而 Y6=0,于是,短锁存器被选中, CPU 输出的代码作为段码锁存到段码锁存器中;当A8=1,而 A0=1 时, Y7=0,而 Y6=1,于是,位码锁存器被选中,此时, CPU输出的代码作为位码锁存到位码锁存器中。 所以,我们用 0100H和 0101H分别作为位码输出通道和段码输出通道的地址,这样,当软件使 CPU往 0100H地址送一个数是,此数据便作为段码锁存到 74LS273中;然后,再让 CPU往 0101H地址送另一个数据,此数据便作为位码锁存到另一个 74LS273 中。当然位码应该保证 1 位为 0,其余各位为 1,经过两次反相后,送到 LED 阴极 。 显示程序只要做到每送一次段码就接着送一次位码,并且,每送一次位码后,将位码中的0右移 1位作为下一次的位码,即第一个位码中 D6为 0,第二个位码中 D5为 0依次等等。那么,就可以从左到右使 6个 LED依次显示相应的数字。 本系统所用的键盘是一个 7X8的键矩阵。设计时,用 8255的两个端口连接键盘。端口 B 作为输出端口,输出 键扫描信号;端口 A 作为输入,读进列值。扫描码总是使其中一行为低电平,其余各行为高电平,当此行上有键被按下时,则从 A 端口读得的列值一定不是 FFH。将输出的行值和读得的列值合起来就是键值。键值和键之间有一一对的关系,因此,软件根据键值便可判断按下了那个键。 1、 程序中用到输入和输出指令时,要直接使用端口地址,而端口地址由硬件决定。 计 数
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:采用8255的7x8键盘8253定时器及8段数码管接口电路
链接地址:https://www.renrendoc.com/p-516561.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!