5级微机原理课程设计.docx
《5级微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《5级微机原理课程设计.docx(21页珍藏版)》请在冰豆网上搜索。
5级微机原理课程设计
《微机原理与接口技术课程设计》
设计报告
姓名:
班级:
15电气1班
专业:
电气工程及其自动化
学院:
电气与信息工程学院
2018年3月
目录
一、课程设计内容1
二、系统功能要求1
2.1基本功能要求1
2.2附件功能要求1
三、系统方案论证1
3.1方案一1
3.3方案比较2
四、系统硬件设计3
4.1系统硬件原理3
4.1180x86简介
4.2功能模块设计.....9
4.3遇到问题及解决措施11
五、系统软件设计15
5.1总体设计思想15
5.2功能模块设计17
5.3遇到问题及解决措施21
六、总结22
七、附录22
模拟空调控制系统设计
一、课程设计内容
(1)利用8255A芯片,在数码管上实时显示温度或其他信息;
(2)利用8254芯片,调控电机工作时间;
(3)利用8259A芯片,设置按键或开关中断控制功能;
(4)利用0809芯片,采集室内温度,控制电机旋转。
二、系统功能要求
2.1基本功能要求
(1)能够实现在数码管上实时显示室内的温度;
(2)能够实现按键控制操作,比如设置“启动键”、“关闭键”、“调档健”等;
(3)能够实现用指示灯区分不同的档位,其中3档时电机转速最高;
(4)能够实现室温与设定的温度一致时,蜂鸣器响3-5声;
(5)能够通过8254实现电机的调速功能;
(6)能够通过8259A控制按键,假设电机正转表示降温,反转表示增温;
(7)能够通过0809采集室内的温度值。
2.2附件功能要求
(1)能够实现在数码管上显示时间;
(2)室内温度调节范围比较大;
(3)自己设计的其他有特色的功能。
三、系统方案论证
3.1方案一
本次模拟空调控制系统的设计实验主要使用微机原理实验箱上的8255A,8259A,8254,ADC0809芯片,包含的输入设备主要有启动按钮,关闭按钮,档位选择按钮(可分1档、2档、3档等,3档转速最高)。
主要的输出设备包含指示灯,步进电机,蜂鸣器,数码管等。
本次设计的模拟空调控制系统包含主要的几个部分先确定好大致的硬件组成及其结构,根据系统的各个功能分成几个不同的模块,然后分步实现每个模块的功能,再汇编语句把各个模块组合起来成为一个整体,可以完整连续的实现整个系统的功能,完成本次设计。
3.2方案二
本次设计实验使用8255A芯片,在数码管上显示档位和时间倒计时,并且具有换档功能,按下一档键相应的数码管上会显示一,设置时间并且在空调控制系统开始工作时倒计时,选择4个数码管作为信号输出,以状态输入开关作为输入信号,都连接至8255A芯片上。
温度调节功能通过设置步进电机完成,四相步进电机有双四拍,双八拍双六拍等方式,实验平台可连接的步进电机为四项八拍电机,电压为DC12V。
步进电机由8255A的PC4~PC7口驱动。
同时,上述过程的时间都由8254提供定时信号实现在预定时间状态的转换。
通过8259A设置按键或中断,运用AD0809采集温度传感器的值,用来作为控制电机转动的信号。
选档,拨动启动开关后,系统开始检测室温,并在数码管上实时显示室内的温度,当室温未达到设定的温度时,步进电机开始转动,电机正转表示降温,反转表示增温。
在实现室温与设定的温度一致时,蜂鸣器鸣响3-5声。
对于各个连续自动的功能以及独立实现的功能,整个过程可以通过先画出一个流程图,可以清晰地看出每个功能之间的关系以及组合方式,在对芯片初始化之后,先判断输入信号的状态,根据输入状态的不同调用不同的子程序,鉴于定时程序在很多子程序里调用到,多次编写加长了程序的长度,所以每次在调用之前先将计数值读入一个寄存器中,在延时程序中读取此寄存器中的数值即可。
当按照输入状态运行完之后,最后检测到已完成的时候就启动蜂鸣报警,温度调节过程完成。
3.3方案比较
方案一的思路相对简单一点,对于做过的微机实验相当于已经熟悉了每个芯片的引脚以及功能,并且完成过每个芯片对应的实验,因此,可以很快的单独实现每个模块的功能,但是,不容易将每个模块有机的整合起来时,会出现接口冲突,处理起来比较麻烦,而方案二从整体出发,充分分配好各个端口的配置及用途,避免了方案一中的冲突,所以方案二更合适,更有效率。
四、系统硬件设计
4.1系统硬件原理
4.1180x86简介
80x86是Intel系列的16位微处理器,采用HMOS工艺,内部包含29000个晶体管,内部总线16位,外部总线8位。
主要用于兼容当时的外围接口芯片。
8086CPU有两部分组成,指令执行部件EU和总线接口部件BIU。
80x86内部结构图如图1所示:
图18086CPU内部结构框图
80x86引脚图如图2所示:
图280x86CPU引脚图
80x86的基本性能指标如下所示:
(1)16位微处理器;
(2)采用高速运算性能的HMOS工艺制造,芯片上集成了2.9万只晶体管;
(3)使为5MHz~10MHz,基本指令执行时间为0.3ms~0.6ms;
(5)16根数据线和20根地址线,可寻址的地址空间达1MB;
(6)8086可以和浮点运算器、输入/输出处理器或其他处理器组成多处理器系统,从而极大地提高了系统的数据吞吐能力和数据处理能力。
在这个系统中8086作为整个系统的主控芯片,用来控制协调整个系统的工作。
4.128255A芯片
8255A的功能介绍如下:
(1)Intel8255A是一个通用的可编程的并行接口芯片,内部有2个8位I/O口(A、B),两个4位I/O口(PC7~4、PC3~0);
(2)通过编程可设置3种工作方式,可适用于PUC与I/O设备之间的多种数据传送方式的要求;
(3)C口可作为数据口,可作为信号线(CPU与I/O设备之间的应答信号),可作为状态口,可按位置位/复位;
(4)价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。
8255A的内部结构框图如图3所示:
图38255A内部结构框图
8255A的引脚分配:
(1)D0~D7:
8位,双向,三态数据线,用来与系统数据总线相连;
(2)与外设相连的24个引脚:
PA0~PA7(A组数据信号,用来连接外设);PB0~PB7(B组数据信号,用来连接外设);PC0~PC7(C组数据信号,用来连接外设或者作为控制信号)。
(3)CS、RESET、WR、RD、A1、A0(内部4个端口);
(5)VCC、GND。
8255A外部引脚分配如图4所示:
图48255A外部引脚图
8255A的工作方式:
方式0――简单输入/输出――查询方式;A,B,C三个端口均可;
方式1――选通输入/输出――中断方式;A,B,两个端口均可;
方式2――双向输入/输出――中断方式。
只有A端口才有。
工作方式的选择可通过向控制端口写入控制字来实现。
4.138259A芯片
Intel8259A是与8086系列CPU兼容的可编程中断控制器,具有8级优先权控制,通过级联可以扩展至64级优先权控制,在中断响应周期,8259A可提供相应的中断矢量,从而能迅速地转至中断服务子程序,具有多种工作方式,可以通过软件编程进行选择。
芯片内含中断请求寄存器,中断屏蔽寄存器,优先级分析器,正在服务寄存器以及数据总线缓冲器,级联缓冲器/比较器,读/写控制电路和控制逻辑电路。
8259A内部结构框图如图5所示:
图58259A的内部结构框图
8259A引脚图如图6所示:
图68259A的外部引脚图
4.14ADC0809芯片
ADC0809转换器,它由一个八路模拟开关,一个地址译码器,一个A/D转换器和一个三态输出所存器组成,分辨率为8位。
采用逐次逼近的转换方法,三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
AD0809的工作原理:
IN0-IN7:
8条模拟量输入通道
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入端前加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效,当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量通过转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
ADC0809转换器通道选择表如下表1所示:
表10809通道选择表
ADDC
ADDB
ADDA
被选中的模拟通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在跳转期间,ST应保持低电平,EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则表明正在进行A/D转换,OE为输出允许信号,用于控制三条输出锁存器想单片机输出转换得到的数据,OE=1,输出转换得到的数据OE=0输出数据线呈高阻状态。
D7-D0为数字量输出线CLK为时钟输入信号线,因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常频率为500KHZ。
VREF(+),VREF(-)为参考电压输入。
ADC0809转换器内部结构框如图7所示:
图7ADC0809内部结构框图
ADC0809转换器引脚图如图8所示:
图8ADC0809引脚
4.158254芯片
8254芯片是一款使用十分广泛的可编程定时,计数芯片,其主要功能是定时和计数的功能。
8254芯片主要由四部分组成:
(1)数据总线缓冲器是一个三态、双向8位寄存器主要作用是与cpu进行数据交换,8位数据线D7~D0与CPU的系统数据总线连接,构成CPU和8254之间信息传送的通道,CPU通过数据总线缓冲器向8254写入控制命令、计数初始值或读取计数值。
(2)读写逻辑是芯片的控制部分,编程人员通过控制信号的选择来选择芯片的工作方式。
读/写控制逻辑用来接收CPU系统总线的读、写控制信号和端口选择信号,用于控制8254内部寄存器的读/写操作。
(3)控制寄存器是一个只能写不能读的8位寄存器,系统通过指令将控制字写入控制寄存器,设定8254的不同工作方式。
(4)8254内部有三个结构完全相同而又相互独立的16位减“1”计数器,每个计数器有六种工作方式,各自可按照编程设定的方式工作。
8254芯片共有六种工作方式,分别对应与六种不同的用途。
(1)方式0:
计数到0结束输出正跃变信号方式。
(2)方式1:
硬件可重触发单稳方式。
(3)方式2:
频率发生器方式。
(4)方式3:
方波发生器。
(5)方式4:
软件触发选通方式。
(6)方式5:
硬件触发选通方式。
8254内部结构框图如图9所示:
图98254内部结构框图
8254引脚图如图10所示:
图108254引脚图
4.2功能模块设计
在硬件设计中,主要是通过步进电机模块、按键数码管模块、