合肥学院计算机科学与技术系微机原理与接口技术课程设计2014~2015学年第一学期课程设计科目检测与报警系统的设计与开发学生姓名学号1204012032班级12计本(2)班指导教师高玲玲、肖连军2014年12月1、题意分析与解决方案1.题义需求分析用STARES8688单板开发机,设计并开发能检测模拟信号,并能产生报警信号的系统。(1)能对输入的0-5V模拟电压信号进行检测。(2)能判断所检测的信号是否越界。(3)若信号越界则进行声(PC机扬声器)、光(发光二极管)报警。根据上述的课程设计要求,我们可以进行如下的分析:第二个设计要求是让我们对输入的0-5V模拟电压信号进行检测。在进行检测时我们输入的量是模拟量,而我们检测时是检测数字信号,自然而然的我们可以想到对于0-5V的模拟电压信号在检测前需要利用A/D转换器将模拟量转换为数字量.第二个设计要求是让我们判断所检测的信号是否越界。那么怎么进行判断呢?因此需要利用按键自行设定越界的接线。第三个设计要求是让我们判断到信号越界则进行声(PC机扬声器)、光(发光二极管)报警。这只是起到提示作用,很简单就能实现。1.2解决问题方法及思路1.2.1硬件部分(1)硬件部分ADC0809模数转换器一片(用于将采集的模拟信号转换成数字信号)可编程并行接口芯片8255一片4*4矩阵键盘(用于设置界限值)发光二极管一只(用于报警时产生光)PC扬声器一个(用于报警声音提示)七段LED显示器(用于显示电压值以及界限值)8086通过8255同ADC0809相连,由电位器将模拟量送入ADC0809,并由8255采用查询工作方式控制ADC0809工作。8086通过8255向报警系统(扬声器、发光二极管)以及七段LED显示器发送控制信号。(2)软件部分首先对8255进行初始化设置,设置8255的工作方式和端口地址,然后启动ADC0809的程序进行模/数转换,通过ADC0809信道0将输入的0—5V的模拟电压信号转换成数字信号并将其保存在AH寄存器中,比较AH的值与事先保存在AL寄存器(矩阵键盘输入的界限值)中的值,若小于则继续采集信号并通过七段LED显示器显示输入值和界限值,若大于或等于则将分别与二极管和扬声器相连的PC6,PC7端口置位(置低电平有效),进行报警并同样通过LED显示,再经过延时后再进行复位重新进行模拟信号的转换。2、硬件设计2.1选择芯片8255A2.1.1芯片8255A在本设计中的作用2.18255A的作用本实验利用8255A将模拟量转换后的数字量传送到CPU。此外,8255采用查询工作方式控制ADC0809工作。8086通过8255向报警系统(扬声器、发光二极管)以及七段LED显示器发送控制信号。2.28255A的功能分析8255A是可编程并行接口,可以根据外界条件(I/O设备需要的信号线和它能提供的状态线)来使其构成多种接口电路。8255A内部有3个数据端口,即A口、B口、C口。A口有三种工作方式:即方式0、方式1和方式2,而B口只能工作在方式0或方式1下,而C口通常作为联络信号使用。本实验将控制字设为90H,初始化8255,使得A口为二进制逻辑开关输入,B口、C口为输出。在三种工作方式中,本设计只使用了方式0,即方式0是基本的输入/输出方式,在这种方式下,三个端口都可以由程序规定为输入/出方式,但是不能既作为输入又作为输出,也没有提供固定的联络信号。C口分为两个4位---高4位和低4位,可以分别设置为输入或输出方式。在此设计中PC6,PC7作为控制端分别接发光二极管和扬声器。2.38255A的技术参数8255A的引脚信号1)与外设相连的PA7~PA0:A口数据信号线。PB7~PB0:B口数据信号线。PC7~PC0:C口数据信号线。2)与CPU相连的RESET:复位信号。当此信号来时,所有寄存器都被清除。同时三个数据端口被自动置为输入端口。D7~D0:它们是8255A的数据线和系统总线相连。CS:片选信号。在系统中,一般根据全部接口芯片来分配若于低位地址(比如A5、A4、A3)组成各种芯片选择码,当这几位地址组成某一个低电平,于8255A被选中。只有当有效时,读信号写才对8255进行读写。RD:读信号。当此信号有效时,CPU可从8255A中读取数据。WR:写信号。当此信号有效时,CPU可向8255A中写入数据。A1、A0:端口选择信号。8255A内部有3个数据端口和1个控制端口,共4个端口。规定:A1、A0为00时,选中A端口;A1、A0为01时,选中B端口;A1、A0为10时,选中C端口;A1、A0为11时,选中控制口。参数名称符号测试条件规范值最大最小输入低电平电压VIL0.8v-0.5v输入高电平电压VIHVcc2.0v输入低电平电压数据总线VOLIOL=2.5mA0.45v——输入低电平电压外部端口VOLIOL=1.7mA0.45v——输入高电平电压数据总线VOHIOH=-400μA——2.4v输入高电平电压VOHIOH=-200μA——2.4v外部端口达林顿驱动电流IDARREXT=750VEXT=1.5v-0.4mA1.0mA电源电流ICC——120mA——输入负载电流IILI=VCC~0v+10mA-10mA输出浮动电流IOFLVOUT=VCco~0v+10mA-10mA图28255A的基本参数表2.48255A的方式控制字8255A的控制字有两种:一种是方式选择控制字,另一种是C口按位置位/复位控制字①方式选择控制字图38255A的方式控制字表②C口按位置位/复位控制字图48255A的置位/控制字表2.2选择转换器1.ADC0809模数转换器1.1ADC0809的作用:计算机CPU能应用的只能是数字量。而本设计中的输入电压为模拟信号,因此需要ADC0809进行模数转换,将采样电压转换为数字信号。1.2ADC0809的功能分析模/数转换是指通过一定的电路将模拟量转变为数字量,由于模拟量是连续的,而数字量是离散的,所以,一般在某个范围中的模拟量对应于某一数字量,这就是说,在A/D转换时,模拟量和数字量之间并不是一一对应的关系。即从理论上,有一个转换精度的问题,转换精度反映了A/D转换器的实际输出接近理想输出的精确程度,A/D转换的精度通常是用数字量的最低有效位(LSB)来表示的,设数字量的最低度有效位于对应于模拟量△,这时,我们称△为数字量的最低有效位的当量,ADC0809采用的是逐位逼近A/D转换,逐位逼近A/D转换时,也用D/A转换器的输出电压来驱动运算放大器的反相端,不同的是用逐位式进行转换时,要用一个逐位逼近寄存器存放转换好的数字量,转换结束时,将数字量送到缓冲寄存器中,当启动信号由高电平变为低电平时,逐位逼近寄存清零,这时D/A转换器输出电压V0也为0,当启动信号变为高电平时,转换开始。同时,逐位逼近寄存进行计数。逐位逼近寄存器工作是从最高位开始,通过设置试探值来计数,在第一个时钟脉冲时,控制电路反最高位送到逐位逼近寄存器,使它输出为10000000,则D/A转换器输出电压V0为满量程值128/255,若V0大于Vi,则作为比较器的运算放大器的输出成为低电平,控制电路据此清除逐位逼近寄存器中的最高位;若V0小于Vi,则比较器输出高电平,控制电路使最高位的1保留下来,如果最高位被保留,则值10000000下一个时钟脉冲使次高位D6为1,于是逐位逼近寄存器值为11000000,V0为满量程值192/255。此后,若V0大于Vi,则比较器输出低电平,从而使次高位D6复位,如果V0小于Vi,则比较器输出高电平,从而保留高位D6为1,再下一个时钟脉冲D5置1,比较……直到D0为1,再与输入电压比较,经N次比较,寄存器中得到的值就是转换后的数据,转换以后,控制电路送出一个低电平作为结束信号,这个信号的下降沿将逐位逼近寄存器中的数字量送入缓冲寄存器,从而得到数字量输出。2.七段LED显示器3.1LED在本设计中的作用LED为发光二极管(Light-EmittingDiode),在本设计中采用7段数字发光二级管,做为终端显示,主要是作为显示采样电压值以及界限值。3.2LED功能分析物理构造:LED发光二级管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。工作原理:当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现。数字成像:将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,便可显示某一数码或字符。7段代码的个位(bit0-bit7)用作a-g和DP的输入。LED数码管及其框图如下:图5LED数码管及其框图字型码表示图如下:dpgfedcba显示数码数值0011111103fh000001101O6H0101101125Bh01001111347H01100110466H0110110156dH0111110167dH00000111707H0111111187fH0110111196fh图6LED字型码表示图1说明:表中个值对应7段LED若相应值为1则LED中该段亮,否则不亮,通过各段真值表的值可以控制显示数字。此外,由于本设计中的数值显示中存在小数位,因此还应将字型码中的DP位置1。dpgfedcba显示数码数值101111110.0BFH100001101.86H110110112.0DBH110011113.0CFH111001104.0E6H111011015.0EDH111111016.0FDH100001117.87H111111118.0FFH111011119.0EFH图7LED字型码表示图23.3LED的技术参数PCWIfVrIrIf^P对应型号散射颜色BJ235-270255≥1.5≤2.5200SEL-10红色BJ1441529100405≥0.5≤2.5565绿色BJ1341529100405≥0.5≤2.5585蓝色图8LED技术参数4.发光二极管4.1发光二极管在本设计中的作用当采集电压值大于界限值时,本设计利用二极管进行发光报警。4.2发光二极管功能分析当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现。4.3发光二极管技术参数发光二极管的压降一般为1.5~2.0V,其工作电流一般取10~20mA为宜。5.蜂鸣器5.1蜂鸣器在本设计中的作用:在本设计中,蜂鸣器用于电压值越界时声音报警。5.2蜂鸣器的功能分析:扬声器是将电能转化成声能,并将声能辐射到空气中去的一种电声转换器件。5.3蜂鸣器的技术参数:它一般包括灵敏度、频率响应、额定功率、额定阻抗、指向性、失真、音质听感评价等。本实验电压范围为0-5V。6.矩阵键盘6.1矩阵键盘在本设计中的作用矩阵键盘在本设计中作为输入设备。用户可以通过按不同按键使用预设电压的界限值。16个按键分别对应16个临界值。6.2按键功能分析如图所示,可以扫描键盘按下状况,改变预设值。6.3按键及其编码开关高电平:+5V、低电平:0V按键编号临界值按键编号临界值00FH88FH11FH99FH22FH100AFH33FH110BFH44FH120CFH55FH130DFH66FH140EFH77FH150FFH图10逻辑开关编码7.硬件总逻辑图及其说明图11硬件总逻辑图①8086的A1,A2,A3分别与ADC0809的ADDA,ADDB,ADDC相连,以确定8路模拟量输入通过(IN0—IN7)中的哪一路通道进行A/D转换,此次设计中设定ADC0809的IN0与模拟电路进行相连,以实现对此模拟电路进行检测。②8255A的PA口同开关电路S1~S8相连,即从PA口读入界限值。③8255A的PB口同G5区GP42相连,即是连接LED显示