1、1二一 一 二一二学年第 二 学期信息科学与工程学院课程设计报告书课程名称: 微机原理课程设计 班 级: 电子信息工程 2009 级 6 班 学 号: 200904135150 姓 名: 张 强 指导教师: 徐 守 明 二一二年 二 月 二十 日2目 录1、课程设计的目的和要求 32、系统的主要功能、作用及主要性能指标 13、总体设计 13.1 基本工作原理 13.2 硬件总体设计 23.2.1 硬件电路设计 23.2.2 原理及连线图 23.3 软件总体设计 33.3.1 主程序流程图 33.3.2 中断服务子程序流程图 43.4 调试过程 44、硬件设计 55、软件设计 56、系统操作说明
2、 87、结束语 88、参考文献 83一、 课程设计的目的和要求课程设计的目的和意义:微机原理与接口技术是计算机、电子类专业的专业基础课。在课程体系种占有重要的位置。课程设计的目的是配合平时的教学和实验,以达到巩固和消化课堂教学内容,进一步加强综合应用能力,启发创新思维的目的。是培养学生综合素质,提高动手能力,提高发现问题和解决问题能力的重要阶段。课程设计的基本要求:接口设计:根据所选题目和所用的接口电路芯片设计出完整的接口电路。程序设计:要求画出程序流程图,设计出全部程序并给出程序设计说明和程序注释。课程设计说明书:a、本次课程设计的目的和意义。b、设计报告:字数约 20003000 字(不包
3、括程序清单) ,内容包括:设计题目; 1系统的主要功能、作用以及主要技术性能指标; 2总体设计方案、工作和组成原理(框图)或设计说明、采用的技 3术路线等;系统设计:接口电路设计,程序设计(程序流程图和程序清单及 4注释)以及其他有关的理论分析和计算;设计总结:对整个设计工作过程进行归纳和综合,对设计中所存 5在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识、收获和提高。c、作品的使用或操作说明。d、设计图纸或图表(如接口电路原理图等) 。装订时将课程设计说明书附在封面的 3 页之后。二、 系统的主要功能、作用及主要性能指标按照时间控制原则,利用并行接口和定时器,
4、采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30 秒,准备时间 3 秒,在准备时间里黄灯闪烁 3 次,闪烁频率为 0.5 秒,周而复始。可利用 8255、8253、8259 等接口电路。三、 总体设计1、基本工作原理4设有一个十字路口,1 、3 为南,北方向, 2、4 为东,西方向。 初始化之后, 1、3 路口的绿灯亮, 2、4 路口的红灯亮, 1、3 路口方向通车。 延迟一段时间(30 秒)后, 1、3 路口的绿灯熄灭,而 1、3 路口的黄灯开始闪烁。闪烁 3 次(延时 3 秒)后, 1、3 路口的红灯亮, 同时 2、4 路口的绿灯亮, 2、4 路口方向开始通车。
5、 延迟一段时间(30 秒)后, 2、4 路口的绿灯熄灭,而黄灯开始闪烁。闪烁 3 次(延时 3 秒)后,再切换到 1、3 路口方向。 之后,重复上述过程2 、硬件总体设计(1)硬件电路设计各芯片主要管脚的功能如下:8255APC0:和 8253 的 OUT0 端相与后得到黄灯信号,其中 1 表示亮,0 表示暗PC1:表示绿灯信号,其中 1 表示亮,0 表示暗PC2:表示红灯信号,其中 1 表示亮,0 表示暗PC3:和 8253GATE1 端相连,为时器 1 的门控型号PC4: 和 8253GATE2 端相连,为时器 2 的门控型号PA0PA7,PB0PB7:可接两个 8 段 LED 显示器,用
6、于显示当前等亮时间8253:定时器 0:输入信号设为 10KHZ,工作在方式 3,输出为 1HZ方波,OUT0 和 PC0 相与得到黄灯信号。定时器 1:输入信号为 OUT0,工作站方式 2,计数初值为30,实现延迟 30S 后产生中断。控制字为: 01010100定时器 2:输入信号为 OUT0,工作站方式 2,计数初值为3,实现延迟 3S 后产生中断。控制字为: 100101008259:采用边沿触发,没有级联,需要设 ICW1,ICW2,ICW4,不用ICW3。5(2)原理及连接图3 、软件总体设计系统流程图如下图所示:6中断服务流程图如下图:4.调试过程(1)、 根 据 硬 件 线 路
7、 设 计 将 硬 件 的 线 路 连 好 。(2)、根据软件设计的程序流程图编好原程序。(3)、将程序在 PC 机上编译通过,并将 PC 机与硬件连好,进行连接和运行调试。四、 硬件设计介绍本系统所选用的各种芯片的引脚、功能、相应的命令字控制格式。8255 芯片引角图 8259 芯片引角图 8253 芯片引角图7(1)8255A 的控制字:8255A 方式选择控制字端口 C 按位置 1/复 0 控制(2)8259A 的操作命令字OCW1:A0 D7 D6 D5 D4 D3 D2 D1 D0注:M7 M0 分别对应 IR7IR0OCW2:A0 D7 D6 D5 D4 D3 D2 D1 D0优先级
8、方式控制位 决定了 OCW2 中 L2L0 位是否有效 当 SL时,SL为有效 用来指定SL0,L2L0 无效 OCW2 选定的操作作用于哪一级 IR 码。1 M7 M6 M5 M4 M3 M2 M1 M00 R SL EOI 0 0 L2 L1 L08(3)8253 命令字的格式:D7 D6 D5 D4 D3 D2 D1 D000 计数器 0 00 计数器锁存读命令 000 方式 0 D0=0 按二进制格式计数01 计数器 1 01 只读/写低字节 001 方式 1 D0=1 按 BCD 码格式计数10 计数器 2 10 只读/写高字节 *10 方式 211 非法 11 先读/写低字节 *1
9、1 方式 3,后读/写高字节 100 方式 4101 方式 5五、 软件设计源程序清单:源程序(带注释):AD1_8253 EQU 00D0HAD2_8253 EQU 00D1HAD3_8253 EQU 00D2HAD4_8253 EQU 00D3HAD1_8255 EQU 00C0HAD2_8255 EQU 00C2HAD3_8255 EQU 00C4HAD4_8255 EQU 00C6HAD0_8259 EQU 00A0HAD1_8259 EQU 00A1HDATA SEGMENTOLDOC1 DD ?OLDOC2 DD ?R_G DB 0H ;下一次应该亮红灯,还是绿灯, 0(绿),-1
10、(红)。DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODEMAIN: MOV AX,DATAMOV DS,AX;-;中断服务程序;函数名:RED_GREEN;功 能:当红绿亮完后设置系统状态RED_GREEN PROC FARPUSH AXSTIMOV AL,R_GSC1 SC0 RW1 RW0 M2 M1 M0 BCD9NOT AL ;将 R_G 取反MOV R_G,ALMOV AL,00000010B ;PC1 置 0,即绿灯变暗OUT AD4_8255,ALMOV AL,00000100B ;PC2 置 0,即红灯变暗OUT AD4_8255,ALMO
11、V AL,00000001B ;PC0 置 1,即黄灯变亮OUT AD4_8255,ALMOV AL,00000110B ;PC3 清 0,GATE1 低电平,计数器 1暂停计数OUT AD4_8255,ALMOV AL,00001001B ;PC4 置 1,GATE2 高电平,计数器 2开始计数CLIPOP AXIRETRED_GREEN ENDP;函数名:YELLOW;功 能:当黄灯亮完后设置系统状态YELLOW PROC FARPUSH AXSTIMOV AL,R_GCMP AL,0HJNE CHANGE_REDMOV AL,00000011B ;PC1 置 1,即绿灯亮OUT AD4_
12、8255,ALJMP ENDCHANGECHANGE_RED: MOV AL,00000101B ;PC2 设置 1,即红灯亮OUT AD4_8255,ALENDCHANGE: MOV AL,00000000B ;PC0 清零,即黄灯暗MOV AL,R_GNOT AL ;将 R_G 取反MOV R_G,ALOUT AD4_8255,ALMOV AL,00000111B ;PC3 置 1,gate1 高电平,计数器 1 开始计数OUT AD4_8255,ALMOV AL,00001000B ;PC4 置 0,gate2 低电平,计数器 2 暂停计数CLIPOP AXIRET10YELLOW EN
13、DP;-;初始化 8253MOV AL,00010111B ;(定时器 0,方式 3,BCD 计数,初值 10000)OUT AD4_8253,ALMOV AL,01010100B ;(定时器 1,工作方式 2,2 进制计数,初值30)OUT AD4_8253,ALMOV AL,10010100B ;(定时器 2,工作方式 2,2 进制计数,初值3)MOV AL,00H ;给定时器 0 付初值 0,表示最大值10000OUT AD1_8253,ALMOV AL,1EH ;给定时器 1 付初值 30OUT AD2_8253,ALMOV AL,03H ; 给定时器 2 付初值 30OUT AD3_
14、8253,AL;-;初始化 8255MOV AL,10000000B ;8255 各口都工作在方式 0,都作为输出口OUT AD4_8255,ALMOV AL,00000000B ;将 PC0 清零,即黄灯暗OUT AD4_8255,ALMOV AL,00000010B ;将 PC1 清零,即绿灯暗OUT AD4_8255,ALMOV AL,00000101B ;将 PC2 置 1,即红灯亮OUT AD4_8255,ALMOV AL,00000111B ;将 PC3 置 1,即定时器 1 开始计时OUT AD4_8255,ALMOV AL,00001000B ;将 PC4 清零 0,即定时器
15、2 暂停计时OUT AD4_8255,AL;-;初始化 8259MOV AL,00010011B ;边沿触发,要用 ICW4,没有级联,不用ICW3OUT AD0_8259,ALJMP SHORT $+2 ;I/0 端口延时MOV AL,00001000B ;ICW2,设置中断向量,起始中断向量为08Hout AD1_8259,AL ;即 IR6,IR7 的中断类型号分别是0EH,0FHMOV AL,00010001B ;ICW4,特殊全嵌套,非缓冲方式,正常结束;-11;写入 IR6 中断处理程序YELLOWMOV AX,350EHINT 21HMOV WORD PTR OLDOC1,BXM
16、OV WORD PTR OLDOC1+2,ESMOV AX,CODEMOV DS,AXMOV DX,OFFSET YELLOWMOV AX,250EHINT 21H;-;写入 IR7 中断处理程序RED_GREENMOV AX,350FHINT 21HMOV WORD PTR OLDOC2,BXMOV WORD PTR OLDOC2+2,ESMOV AX,CODEMOV DS,AXMOV DX,OFFSET RED_GREENMOV AX,250FHINT 21H;-EXIT: MOV AH,4CHINT 21HCODE ENDSEND MAIN程序运行结果:1即东西方向的绿灯和南北方向的红灯
17、同时点亮 1 分钟;21 分钟后,东西方向的黄灯闪烁 5 秒钟, 。此时南北方向仍维持红灯点亮。3东西方向的黄灯闪烁 5 秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮 20 秒钟;4 20 秒钟后,转为南北方向的黄灯闪烁 5 秒钟,此时东西方向仍维持红灯点亮。5南北方向的黄灯闪烁 5 秒钟后,东西方向的绿灯和南北方向的红灯同时点亮 1 分钟。如此循环重复。6. 由于数码显示模块没有完成,数码管没有倒计时显示。六、系统操作说明七、结束语12本次课程设计的总结与体会:微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部
18、分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。这次实验并不是很难
19、,主要的困难来自对程序的理解。功夫不负有心人,经过多个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。这次课设却让我们对实验芯片有了足够的了解,让我们知道了实验芯片的用法;而且它还让我们对自己动手写程序来控制芯片的运作有了一定的基础。虽然只是一个小型的课程设计,但是通过学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。实验中个人的力量是不及群体的力量的,我们几个人分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队
20、中要善于与人相处,与人共事,不要一个人解决所有问题。总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我们更应该注重的是这一整个过程。于是,我坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何书,程序由自己独立完成,与用 8255 来制作的交通灯控制系统相比,程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。 13八、参考文献1.微机原理与接口技术 ,洪永强,北京:科学出版社,20042.微机原理与接口技术 ,雷丽文、朱晓华、蔡征宇、缪均达,北京:电子工业出版社 1997;3.微型计算机系统原理及应用 ,周明德,北京:清华大学出版社,1998;4.微机原理与接口技术(第二版) ,倪继烈,刘新民主编,电子科技大学出版社,2004;