




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机系统与接口课程设计院部名称 京江学院 专业班级 J计1002 姓 名 张星宇 学 号 3101110041 指导教师 金 华 一、课程设计目的:掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;掌握实时处理程序的编制和调试方法二、课程设计要求和内容:用实验仪器上的并行接口控制七段数码管显示,设计一个定时显示装置,用六个数码管显示时间(左边两位显示小时值,中间两位显示分值,右边两位显示秒值)。用开关(模块A5)控制计时和显示:K1键(清除):显示00-00-00;K2键(启动):显示XX-XX-XX变化的时间值;K3键(停止):显示XX-XX-XX不变;K4键(设置):设置XX-XX-XX时间值,时间值由模块B2开关输入。三、实验提示(1)硬件连线本实验主要用到开关和数码管两个设备,开关值需要4个输入端口控制。模块A5开关由74LS244控制,模块B2开关输入由8255(模块E3)的三个端口控制。数码管的显示由E4模块8255的A口、B口控制。用8253计时,并向8259发中断信号。(2)端口地址E3模块8255端口地址固定为:0FF28H 0FF2BH;E4模块8255端口地址固定为:0FF20H 0FF23H(A口为位控制端口,B口为段控制端口);8253的通道地址固定为0040H0043H;74LS244和8259的端口地址由用户任意选择译码输出接线而定。(3)程序主要模块设计提示:(注:实验台存储空间分配用户数据程序区为01000H 0FFFFH 。)主程序模块:对8253、8259、8255进行初始化,设置中断向量,读取A5开关值作相应的处理。8253中断服务程序:计时时间到一秒,修改当前时间。8253可设定成每一秒产生一次中断。数码管显示控制子程序:通过段、位控制控制端口控制数码管相应显示对应值。四、硬件电路设计:1)设计思路:(1)在主程序中要分别对8253、8259、8255进行初始化编程,8253的计数器2可在方式0下工作。(2)8255的A口、B口都设为方式0,为基本的输入输出方式。(3)在中断服务程序中对中断次数进行统计,当满10次时就进行一次时、分、秒的处理。时、分、秒分别对应6个存储单元,分别存放时、分、秒的十位和个位。当中断次数满10次时,将秒的个位加1,同理对分,时亻相应处理。(4)七段数码管显示作为子程序,鹇时、分、秒对应存储单元的内容分别取出并转换成相应的段码,从8255的B口输出,A口输出对应位的位选信号,延时后进行下一位的显示。k1k16K1 K2K3 K4图4 硬件连接的整体思想图 1/64 1/32分频电路 4McsD0D78253GATE0 CLK0 OUT0csGATE1 CLK1 OUT1+5V8259IR0IR1IR2IR3IR48255两个 csPA0PA7PB0PB7PC0PC78255两个cs7cs5cs3cs1cs6cs4cs2cs0cs PA0PA7PB0PB7PC0PC76个八段译码管图5 具体硬件连接图K1K2K3K4k1.k16五、软件程序设计图6主程序流程图图7 中断服务程序流程图 六、课程设计结果分析及心得体会 结果分析:最后,我们得到了预期的结果,电路能完成准确的硬件定时和显示。在一开始的连线中,因为粗心,没有把片选信号连正确,后来参考了网上的一些资料,仔细的盘查,才发现了错误,在实验过程中有些实验箱也可能会存在一些问题,有时可以换个实验箱解决问题心得体会: 总的来说,本次实验过程中,我们很快的完成了硬件连线过程,实现了基本的电子钟的功能,能够准确的定时,从中,我们意识到,虽然过程简单,但也是要细心的,特别是涉及到8253定时器的模块,要格外的小心,本以为已经结束,没想到真正遇到的困难是后面程序的理解,由于没有系统的学过汇编语言,很难理解面向机器的汇编语言,特别的抽象,看的那个无聊啊,后来想了一个办法,我们先去网上下了此次课设的基本资料,先了解了整个的流程和各个工作模块,同时又查阅了8259、8253、8255芯片的一些引脚和编程方法,以及实现中断的理念,定时器的定时方法,和8255的扩展功能,大家坐在一起仔细的解读每一条指令,相互的补充纠正,最后终于完成了整个浩大的工程。附录(电子钟的程序):CONTROL EQU 0C003H ;8253控制口 COUNT0 EQU 0C000H COUNT1 EQU 0C001H COUNT2 EQU 0C002H MD8255 EQU 82H ;8255控制字 PA8255 EQU 8000H CTL8255 EQU 8003H OUTBIT EQU 08002H ;位控制口 OUTSEG EQU 08004H ;段控制口 ICW1 EQU 00010011B ;8259,上升沿中断,要写ICW4 ICW2 EQU 00100000B ;中断号为20H ICW4 EQU 00000001B ;工作在8086/88方式 OCW1 EQU 11111110B ;只响应INT0中断 CS8259A EQU 0D000H ;8259地址 CS8259B EQU 0D001H DATA SEGMENT CNT DB 0 LEDBUF DB 6 DUP(?) ;显示缓冲 NUM DB 1 DUP(?) ;显示的数据 DELAYT DB 1 DUP(?) HOUR DB 0 MINUTE DB 0 SECOND DB 0 LEDMAP: ;八段管显示码 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA DELAY PROC NEAR ;延时子程序 PUSH AX PUSH CX MOV AL,0 MOV CX,AX LOOP $ POP CX POP AX RET DELAY ENDP DISPLAYLED PROC NEAR ;数码管显示控制子程序 MOV BX,OFFSET LEDBUF MOV CL,6 ;共6个八段管 MOV AH,00100000B ;从左边开始显示 DLOOP: MOV DX, OUTBIT MOV AL, 0 OUT DX, AL ;关所有八段管 MOV AL, BX MOV DX, OUTSEG OUT DX, AL MOV DX, OUTBIT MOV AL, AH OUT DX, AL ;显示一位八段管 PUSH AX MOV AH,1 CALL DELAY POP AX SHR AH,1 INC BX DEC CL JNZ DLOOP MOV DX,OUTBIT MOV AL,0 OUT DX,AL ;关所有八段管 RET DISPLAYLED ENDP IENTER PROC NEAR ;8253中断服务程序 PUSH AX PUSH DX INC SECOND ;秒加1 MOV AL,SECOND CMP AL,60 ;秒数与60比较 JNE EXIT MOV SECOND,0 ;秒清零 INC MINUTE ;分加1 MOV AL,MINUTE CMP AL,60 ;分数与60比较 JNE EXIT MOV MINUTE,0 ;分清零 INC HOUR ;时加1 MOV AL,HOUR CMP AL,24 ;时数与24比较 JNE EXIT MOV HOUR,0 ;时清零 EXIT: MOV DX,CS8259A MOV AL,20H OUT DX,AL ;结束本次中断 POP DX POP AX IRET IENTER ENDP IINIT PROC ;初始化8259的命令字和操作命令字 MOV DX,CS8259A MOV AL,ICW1 OUT DX,AL MOV DX,CS8259B MOV AL,ICW2 OUT DX,AL MOV AL,ICW4 OUT DX,AL MOV AL,OCW1 OUT DX,AL RET IINIT ENDP START: MOV AX,DATA MOV DS,AX MOV HOUR,0 ;时、分、秒清零 MOV MINUTE,0 MOV SECOND,0 CLI ;清除中断标志位 MOV AX,0 MOV DS,AX MOV AL,76H ;8253控制字 MOV DX,CONTROL OUT DX,AL MOV AX,62500 ;利用8253计数器1分频 MOV DX,COUNT1 OUT DX,AL MOV AL,AH OUT DX,AL MOV AL,MD8255 MOV DX,CTL8255 OUT DX,AL MOV BX,4*ICW2 ;中断号 MOV AX,CODE SHL AX,4 ;*16 ADD AX,OFFSET IENTER ;中断入口地址(段地址为0) MOV BX,AX MOV AX,0 INC BX INC BX MOV BX,AX ;代码段地址为0 CALL IINIT MOV AX,DATA MOV DS,AX MOV CNT,0 ;计数值初始为0 MOV AL,CNT MOV DX,PA8255 OUT DX,AL STI ;开中断 LP: MOV AL,HOUR MOV AH,0 MOV CL,10 DIV CL MOV CH,AH MOV AH,0 MOV BX,OFFSET LEDMAP ADD BX,AX MOV AL,BX ;时的十位转换成显示码 MOV LEDBUF,AL ;显示码存入显示缓冲区 MOV BX,OFFSET LEDMAP MOV AL,CH MOV AH,0 ADD BX,AX MOV AL,BX ;时的个位转换成显示码 OR AL,80H MOV LEDBUF+1,AL ;显示码存入后一位显示缓冲区 MOV AL,MINUTE MOV AH,0 MOV CL,10 DIV CL MOV CH,AH MOV AH,0 MOV BX,OFFSET LEDMAP ADD BX,AX MOV AL,BX ;分的十位转换成显示码 MOV LEDBUF+2,AL MOV BX,OFFSET LEDMAP MOV AL,CH MOV AH,0 ADD BX,AX MOV AL,BX ;分的个位转换成显示码 OR AL,80H MOV LEDBUF+3,AL MOV AL,SECOND MOV AH,0 MOV CL,10 DIV CL MOV CH,AH M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司组织健步走活动方案
- 公司植树节项目活动方案
- 2025年运动医学职业资格考试试卷及答案
- 拓展知识-室外消火栓系统的工作原理
- 2025年心理咨询与治疗的基础知能力考试卷及答案
- 2025年小儿医学基础与临床技能考试卷及答案
- 2025年心理健康教育考试试卷及答案
- 2025年社会心理学基础知识考试试卷及答案
- 2025年生物技术专业研究生入学考试试卷及答案
- 2025年企业培训与发展专业毕业生测评试卷及答案
- 高中生物2015-2024年10年高考真题专题分类汇编-专题14体液调节考点2激素调节的过程
- 2024年四川省成都市中考地理试卷(含答案与解析)
- 典当行内部基本管理制度
- 2024年内蒙古呼和浩特中考满分作文《留在记忆里的芬芳》
- GB/T 29456-2025能源管理体系实施、保持和改进GB/T 23331能源管理体系指南
- 北京市清华附小2024-2025学年数学三下期末质量检测模拟试题含解析
- (2025春新版本)北师大七年级下册生物全册教案
- 2025年教科新版五年级语文下册阶段测试试卷
- 《MLCC制程介绍》课件
- 关于物业客服培训的
- 医院感染管理制度培训
评论
0/150
提交评论