微机原理课程设计
微机原理课程设计
前言
加热器数字控制系统的设计与功能的实现要求学生在学习完微机原理及应用这门课的基础上,在对芯片类知识以及汇编语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。要想很好的完成这个题目,必须对芯片的功能有很详细的了解,同时也要求学生的汇编语言基础要扎实。计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。《微型计算机原理》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机原理课程设计是对《微型计算机原理》课程理论教学和实验教学的综合和总结。
[2]、徐建民·《汇编语言程序设计》[M]·北京:电子工业出版社
[3]、洪永强.微机原理与接口技术.北京:科学出版社. 2004年
课程设计图纸
程序清单
DATA SEGMENT
INTR_IVADDEQU01C8H;INTR对应的中断矢量地址(对应着中断程序入口地址)
INTR_OCW1EQU0A1H;INTR对应PC机内部8259的OCW1地址
MOV AX,SEG MYISR
MOV ES:[DI],AX;ห้องสมุดไป่ตู้置当前中断处理程序入口段地址
MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR的屏蔽位
INAL,DX
MOV IM_BAK,AL;保存INTR原中断屏蔽字
AND AL,INTR_IM
OUTDX,AL
MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1
MOV DI,INTR_IVADD
MOV AX,ES:[DI]
MOV IP_BAK,AX;保存INTR原中断处理程序入口偏移地址
MOV AX,OFFSET MYISR
MOV ES:[DI],AX;设置当前中断处理程序入口偏移地址
ADDDI,2
MOV AX,ES:[DI]
MOV CS_BAK,AX;保存INTR原中断处理程序入口段地址
MOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1
MOV AL,0FEH;打开IR0的屏蔽位
7.小结…………………………………………………………………………13
8.参考文献……………………………………………………………………14
9.设计图纸……………………………………………………………………15
10.程序清单…………………………………………………………………16
课程设计题目:数字控制系统在加热器中的应用
MY8259_ICW3EQU 0000H+01H ;实验系统中8259的ICW3端口地址
MY8259_ICW4EQU 0000H+01H ;实验系统中8259的ICW4端口地址
MY8259_OCW1 EQU0000H+01H;实验系统中8259的OCW1端口地址
MY8259_OCW2EQU0000H+00H;实验系统中8259的OCW2端口地址
2通过可编程并行接口芯片8255A实现电机的正转与反转,加热器与电机的启动与停止,蜂鸣器的启动与停止
3通过可编程中断控制器8259A实现各个中断优先级的排序,以便有序的响应不同的中断信号,不至于时序混乱
总体设计思路
本设计课程题目要求对加热器不同时间间隔采用不同的控制方式,需要用到的芯片为可编程中断控制器8259A,可编程定时器8253,可编程并行接口芯片8255A以及8086微处理器。
PA0
PA1
PA2
PA3
加热器加热
1
加热器停止加热
0
电机正传
1
1
电机反转
1
0
扬声器发声
1
扬声器静音
0
(2)系统流程图:
小结
本次设计需要熟练掌握汇编语言,熟悉中断优先级管理器8259A、可编程并行接口接口芯片8255A、可编程定时器/计数器8253的内部结构、外部引脚和功能。
主要分为软件设计和硬件设计方面。在硬件设计方面主要是要合理的连接各个芯片,同时要方式地址重叠,如全译码电路的设计,译码器的使用,各个芯片片选信号的控制,中断优先级的管理,各个芯片端口的选取等等。有了合理的硬件电路设计才能写出漂亮的汇编语言程序。在软件设计方面主要是汇编语言的编写,需要注意的是各个芯片的初始化程序的编写,对不同的芯片不同的寄存器应该怎样赋值,赋值的时序应该怎样,程序整体框架的设计等等。
2.课程设计题目………………………………………………………………4
3.设计任务分析………………………………………………………………5
4.总体设计思路………………………………………………………………6
5.硬件设计……………………………………………………………………7
6.软件设计……………………………………………………………………11
MY8253_COUNT2 EQU 0010H+02H;8253的计数器2端口地址
MY8253_MODE EQU 0010H+03H;8253的控制寄存器地址
CS_BAK DW ?;保存INTR原中断处理程序入口段地址的变量
IP_BAK DW ?;保存INTR原中断处理程序入口偏移地址的变量
IM_BAK DB ?;保存INTR原中断屏蔽字的变量
对8253定时器,利用了其COUNT0和COUNT2两个计数器,COUNT0用于产生中断请求信号。COUNT2用于控制蜂鸣器的运行。二者接相同的外部时钟信号(频率1.1932MHz)。
8259接受8253 OUT0产生的中断请求信号,产生中断控制信号送给微处理器8086INTR端,微处理器再对当前的响应信号做出操作。
二、课程设计任务介绍
当把物品放入加热器中,首先要启动加热器和电机工作,设定加热时间为5分钟,为使物品均匀加热,每隔30秒电机要反转一次,(正转→反转、反转→正转),加热时间到后,停止加热器和电机工作,并发声,告知加热结束。
设计任务分析
根据题目,要实现的设计任务大致为:
1通过可编程定时器8253实现5分钟与30秒的定时
MY8259_OCW3 EQU0000H+00H;实验系统中8259的OCW3端口地址
MY8255_AEQU0008H +00H;8255的A口地址
MY8255_MODE EQU 0008H+03H;8255的控制寄存器地址
MY8253_COUNT0 EQU 0010H+00H;8253的计数器0端口地址
图2.1255A工作方式控制字和C口按置位/复位控制字格式
8253的使用方法:
8253内有三个相互独立的16位定时/计数器。通过写入控制字确定其工作方式;通过写入定时/计数初值,改变计数/定时器的工作周期。8253有六种不同的工作方式,每种方式输出波形,自动重复功能,GATE对其控制作用不同。
图3.18253控制字格式
硬件设计
一、各芯片的使用方法
8259A的使用方法:
8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1- OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图1.1到1.4所示,OCW1-OCW3各命令字格式如图1.5所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的8操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。
MOV AL,13H;边沿触发、单片8259、需要ICW4
OUTDX,AL
MOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2
MOV AL,08H
OUTDX,AL
MOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4
MOV AL,01H;非自动结束EOI
OUTDX,AL
总体来说,这次课程设计锻炼我的硬件设计能力和语言编写能力,在设计的过程中也暴露了我对于芯片的功能不是很熟悉,对相应的初始化思路不是很严谨等缺点,缺乏对整个系统工作原理的整体认识,让我认识到了微机原理是一门博大精深的课程,还需要我继续认真细心的去研究。
参考文献
[1]、王忠民·《微型计算机原理(第二版)》[M]·陕西:西安电子科大出版社
8253定时器外接的时钟信号频率设置为1.1932MHz,通过设置初始值以及工作方式,可以使8253每隔一定时间产生一个中断信号,将其送给可编程中断控制器8259A,由其判断完中断优先级之后送给8086处理器一个中断请求信号,由8086微处理器对其进行响应,同时通过计数判断对该中断请求信号做出相应的不同的操作,根据判断的结果对可编程并行接口芯片8255A的输出信号做出控制。
一、课程设计的目的意义
通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:
(1)调查研究、分析问题的能力;
(2)使用设计手册、技术规范的能力;
(3)查阅中外文献的能力;
(4)制定设计方案的能力;
(5)计算机应用的能力;
(6)设计计算和绘图的能力;
(7)技术经济指标的分析能力;
(8)语言文字表达的能力。
通过该课程设计,可以使学生对微机原理及应用这门课有更深刻的了解与认识,同时在做课程设计的过程中也锻炼了学生将书本上的知识应用到具体实践上的能力。不仅回顾了上课老师所讲的知识,同时也培养了自身的创新能力,自主设计能力,纠错能力,加强了学生动手的能力。
1.前言…………………………………………………………………………2
INTR_OCW2EQU0A0H;INTR对应PC机内部8259的OCW2地址