微机原理课程设计模拟医院报警系统_第1页
微机原理课程设计模拟医院报警系统_第2页
微机原理课程设计模拟医院报警系统_第3页
微机原理课程设计模拟医院报警系统_第4页
微机原理课程设计模拟医院报警系统_第5页
免费预览已结束,剩余38页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术课程设计课程设计科目模拟医院报警系统设计学生姓名学号班级指导教师一题意分析与解决方案1.1 需求分析采用7个开关为7个病房的开关,其中有两个是高危病房,当有人按下时立即在8个发光二级管上显示出来,并且该位置闪动,同时发出警报,并通过一个数码管显示出来。当有高危病房的按键按下之后,立马将他的病房号调到第一个数码管显示并且相应的数码管显示,警报由一个扬声器发出。设置一个警报清除按键,清除所有报警情况。1.2 算法及思路(1)硬件部分针对需求中的分析,作如下解决:1)LED灯作为刺激信号;2)用按键的高低电平信号作为用户的回馈信号;3)采用0832来控制蜂鸣器发出声音;4)为了显示

2、出病房号,选择了7段数码管作为显示工具,用8255和8279来控制数码管;(2)软件部分首先,根据硬件需求采用8255A,8279A和0832,为实现对数码管、键盘、LED灯和蜂鸣器的控制,采用汇编语言,分别对8255A和0832进行初始化设置,然后采用继承函数从数据库里对8279相关功能进行调用。然后,程序查询8255A的PA口输入的开关信号,决定8255A何时向外部设备发送的刺激信号,即低电平信号(LED灯点亮),通过相关的代码用8279对数码管进行位选和段选。最后,程序查询8255A的PB端口接收缓冲区内回馈电信号,根据所得到的信号(低电平有效),调用相应模式子程序,并且在数码管上显示病

3、房号,蜂鸣器发出声音。二硬件设计2.1芯片82551)芯片8255在本设计中的作用芯片8255在本实验中主要用于控制按键的开关、数码管以及LED灯2)芯片8255的功能分析I/Ogjgji/OPBrPBjf/0P-%I/OPCt-PC,8255内部结构图图2-18255内部结构图8255是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、B口和CD。三个端口都可以作为输入端口或输出端口。A口有三种工作方式:即方式0、方式1和方式2,而B口只能工作在方式0或方式1下,而C口通常作为联络信号使用。8255的工作只有当片选CS效时才能进行。而控制逻辑端口实现对其他端口的控制。使用8255芯片

4、的CO,将其设置为基本输出工作方式,通过PC0输出线连接到芯片8253的GATE2H,使其计数器2正常工作,通过PC0俞出线连接到D1区的CTRL口,控制蜂鸣器的开关。t卖/写控制逻辑,它负责管理8255的数据传输过程。它接收CS及RDWRRESET还有来自系统地址总线的口地址选择信号A0和A10将这些信号组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。3)8255的技术参数表2-18255技术参数参数名称符号测试条件最大规范值最小规范值输入低电平电压VIL0.8V-0.5V输入局电平电压VIHVcc2.0V输入低电平电压(数

5、据总线)VOLIOL=2.5MA0.45V输入低电平电压(外部端口)VOLIOL=1.7MA0.45V输入局电平电压(数据总线)VOHIOH=-400MA2.4V输入高电平电压(外部端口)VOHIOH=-200MA2.4V达林顿驱动电流IDARREXT=750-0.4MA1.0MAVEXT=1.5V电源电流ICC120MA轴入负载电流IILI=Vcc0V+10MA-10MA输出浮动电流IOFLVout=Vcc-0+10MA-10MA2.2芯片82791)芯片8279在本设计中的作用芯片8279在本实验中主要用于控制数码管2)芯片8279的功能分析Hi»-L133卬34.KK*14H3

6、3口tj1On11301之力132a1477XWJ41H?319PIu月InMIm口ML。nrunfn“小卜m口3nstjnrainSLD二1"1IHUZJ(jufuim>T6ZIor11H*OUTAO口m>raini*ii2nOMTA1m>ntXLIAO8279引脚图8279采用单±5V电源供电,40脚封装。DB3DB7:双向数据总线,用来传送8279与CP0间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟周期。RESET复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序|一时钟前置分频器被置为31,RESET信号高

7、电平有效。CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。|A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。RD读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。WR写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。RL2-140-VCCIRQ:中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/传感器RAW有数据时,此中断线变为高电平,在FIFO/传感器RAM5次读出时,中断线就下降为低电平,若在RAM中还有信息,则此线重又变为高电平。在传感器工作方式中,每当探测

8、到传感器信号变化时,中断线就变为高电平。SL0SL3:扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被编程或被译码。RLARL7:回送线,经过按键或传感器开关与扫描线联接,这些回送线内部设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平;无按键闭合时,均保持高电平。SHIFT:换位功能,当有开关闭合时被拉为低电平,没有按下SHIFT开关时,SHIFT输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起被存贮起来。CNTL/STB当CNTL/STBF关闭合时将其拉到低电平,否则始终保持高电平,对于键盘输入方式,此线用作控制输入端,当键被按下

9、时,按键位置就和控制输入状态一起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFORAM中。OUTA3OUTA0JOUTB3OUTB0显示输出A口及B口,这两个口是16X4切换的数字显示。这两个端口可被独立控制,也可看成一个8位端口。BD:空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格命令控制其显示空格字符。VCC:+5Vfe源输入线。VSS:地线输入线。8279的编程方法1.8279可按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU®口功能块控制功能块包括控制和定时寄存器,定时和控制,扫描计数器三部分,它主要用来控制键盘和显示功能块工作.:控制和定

10、时寄存器:用于存贮来自CPU勺编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0f在WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能.:定时和控制:它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使内部频率为100KHz从而能给出5.1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.二扫描计数器:扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计

11、数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为显示器和键盘的译码扫描.:键盘功能块包括:返回缓冲器,键盘反跳及控制,8x8FIFO传感器RAM,FIFO传感器RAM犬态.2.返回缓冲器与键盘反跳及控制8条返回线被返回缓冲器缓冲,在键盘工作方式中,这几条线被逐个检测,以找出该行键中闭合的键,如果反跳电路测知某键闭合,则它等待10.3ms,然后重核此键是否仍然闭合,如果仍闭合,那么该键在矩阵中的行列地址以及SHIFT和CNTLB勺状态一起被送到FIFORAW,其在FIFORAM的数

12、据格式如下:D7D6D5D4D3D2D1D0CNTLSHIFTSCANRETURN数据格式中,最高位CNTL,次高位为SHIFT状态,D5-D3来自扫描计数器,D2-D0来自返回计数器,扫描线计数器和回扫线计数器的值分别反映出被按下键的行.列的值,如果在传感器阵列中,返回线上的数据直接进入传感器RAMfr相应于阵列中正被扫中的那行,这样每个开关位置就直接反映为一个传感器RAM勺位置.2.3芯片DAC0832的技术参数CSWR1AGMD4DaD】DoRfDGND图2-2DAC0832DAC0832K片采用CMOS:艺,四象限乘法型DACf微机兼容,数据输入能与双缓冲,单缓冲或直接缓冲通过三种方式

13、工作。1、单缓冲方式。单缓冲方式是控制输入寄存器和DACJ存器同时接收资料,或者只用输入寄存器而把DACJ存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。2、双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。3、直通方式。直通方式是资料不经两级锁存器锁存,即CS*,XFER*,WR1*,WR2*均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU1接,以匹配CPUfD/A转换。结构:DAD7:8位数据

14、输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS片选信号输入线(选通数据锁存器),低电平有效;WR1数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CSWR酌逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2DACS存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2XFER勺逻辑组合产生LE2,当LE2为高电平时,DACJ存器的输出随寄存器的输入而变化

15、,LE2的负跳变时将数据锁存器的内容打入DACJ存器并开始D/A转换。IOUT1:电流/&出端1,其值随DAC寄存器的内容线性变化;IOUT2电流/&出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5V+15V;VREF基准电压输入线,VREF勺范围为-10V+10V;AGND模拟信号地;DGND数字信号地。主要参数为:表2-2DAC0832主要技术参数转换时间1us8位功耗20mW单一工作电源+5V+15V电流建立时间1线性度8,9或10位增益温度系数0.0002%usFS/C-1

16、0-在此实验箱中的DAC083如片中包含有运算放大器,用来将电流信号转换成电压信号量,并且能够放大信号量。本实验是通过0832来控制蜂鸣器2.4 选择器件蜂鸣器1)蜂鸣器在本设计中的作用在本实验中,蜂鸣器是用做报警处理图2-3蜂鸣器电路图2)蜂鸣器的功能分析扬声器是将电能转化成声能,并将声能辐射到空气中去的一种电声转换器件。当输入端输入一定频率的方波时,在RC震荡电路的作用下,蜂鸣器会发出一定频率的声首03)蜂鸣器的技术参数它一般包括灵敏度、频率响应、额定功率、额定阻抗、指向性、失真、音质听感评价等。本实验只关心应用电压,具为5V。2.5 选择数码管图2-4数码管电路图非苣工一生00&

17、最_L-11-3,aABC。EFG附1。97542I6图2-5数码管(1)数码管在本设计中的作用在本设计中,数码管的作用不容小觑,主要用于显示病房号。(2)数码管的技术参数分析使用数码管时,应该区分数码管时共阴还是共阳,在本设计中,所有的数码管都是共阴的。只要段选输入高电平即可点亮不同位置的数码管进而显示数据。表2-3共阳极LED显示管段选码编码表数字Dpgfedcba二进制编码011000000C0H111111001F9H210100100A4H310110000B0H41001100199H51001001092H-12-100082HF8H80H90H2.6LED灯*学工事图2-6LE

18、D原理图(1) LED丁在本设计中的作用在本设计中,LEW的作用是作为病房信号,按下按键时,led发光。(2) LED丁的功能分析通过LED灯的亮、灭作为一个刺激信号。(3) LED丁的技术参数分析LED灯的功能较为简单,为一个发光二极管,当该二极管导通时闪亮,截止时不闪凫。-13-2.7 按键图2-7微型按钮(1)按键在本设计中的作用在本设计中,键盘主要的作用是启动系统。(2)按键的功能分析按键的功能比较单一,按键或不按键,该端口将输出不同的电平信号。(3)按键的技术参数分析按键一段接芯片输入端口,另一端接VCC当按键时,开关闭合,电平强制被拉低,通过低电平的信号输入即可知道是否有按键的输入

19、啦。2.8 硬件总逻辑图及其说明硬件原理图:-14-硬件原理图说明:表2-4连线图A3区A0、A1、CS1B4区A0、A1、CSA3区CS3F3区CSB4区A、CG6区按键、LEDB4区BG5区BG5区JP41C1区开关D1区CTRLF3区OUTE5区CLKB22ME5A0A3A0-15-软件仿真图图2-8-2软件总体仿真图RG-5ET町=iq知*IV)HTJUCftii'nm_mqpjHCLD-nflMEHicnrij7陌F曜出皇H睁至11gii?哂14侬3U1JEM"4nHeteKt淮交一门"3?"EF"图2-8-3左半部分图-16-Dill

20、-inr-Heo图2-8-4软件右半部分图三控制程序设计3.1 控制程序设计思路说明本程序采用模块化的程序设计思想,将完成整个作业所需要的全部功能按要求划分为若干子模块。具体而言,控制程序主要有:主程序块,初始化8255A,调用8279函数,初始化DAC0832F模块,延时子模块及其他一些初始化程序。-17-3.2 程序流程图报警开关相应LED发光二级管发光清除警报图3.1模拟医院报警系统流程图-18-开始图3-2延时子程序开始初始化芯片是否启动点宴LED显示反应时间结束图3-3点亮LED-19-3.3 控制程序.MODELTINYIOYEQU0F000HA_8255EQUOY+00HB_82

21、55EQUOY+01HC_8255EQUOY+02HCON_8255EQUOY+03HADDR_0832EQUDD000H对应端口CS1控制按键控制数码管控制LED;ADC0832,CS2EXTRNDisplay8:NEAR.STACK300.DATABUFFERDB8DUP(0)SHOW_BUFFERDB8DUP(10H)LED_FLAGDB8DUP(0);表示灯1的状态,0表示灭,1为亮KEY_COUNTDB0;表示总共多少病房SHAN_TIMEDW0SHAN_BUFDB2DUP(0)KEY_VALUEDB?KEY_VDB0FFH;保存灯的状态,最开始时二极管全灭,每当按一个按键使一个灯亮

22、.CODEMAIN:MOVDX,CON_8255MOVAL,10010000B;方式0,A口输入,B口、C口输出-20-OUTDX,ALMOVDX,C_8255MOVAL,0FFH;C口输出高电平,LEDr灭OUTDX,ALMOVDX,ADDR_0832MOVAL,0FFHOUTDX,AL;蜂鸣器初始状态,不响CALLCLEAR_SEGMENT;清数码管显示KEY_SCAN:CALLSHANSHUOMOVDX,A_8255INAL,DX;读键值CMPAL,0FFHJZKEY_SCANCALLDL500msMOVKEY_VALUE,ALCLEAR_KEY:;消抖INAL,DX;读键值CMPAL,

23、0FFHJNZCLEAR_KEYMOVAL,KEY_VALUE;CALLSHOW+CALLFIND_KEY;找出按键位置JMPKEY_SCAN-21-CLEAR_SEGMENTPROCNEARPUSHDIPUSHCXPUSHAXLEADI,BUFFERMOVAL,10HMOVCX,8LOOPCLEAR:STOSBLOOPLOOPCLEARLEASI,BUFFERCALLDisplay8CALLFMQ_OFFPOPAXPOPCXPOPDIRETCLEAR_SEGMENTENDPFIND_KEYPROCNEARPUSHAXPUSHCXPUSHBXMOVAL,KEY_VALUEMOVCX,8MOVB

24、L,11111110BFIND1:-22-CMPAL,BLROLBL,1LOOPNZFIND1JCXZFIND_8FIND_IT:CALLCHANGE_LEDJMPFIND_RETFIND_8:CALLCLEAR_ALLFIND_RET:POPBXPOPCXPOPAXRETFIND_KEYENDPCHANGE_LEDPROCNEARPUSHAXPUSHSIPUSHDIMOVDX,CON_8255CHANGE1:LEASI,LED_FLAGADDSI,CXDECSILODSBCMPAL,1JNZSET1-23-SET0:MOVAL,CLROLAL,1ORAL,00HOUTDX,ALLEADI,L

25、ED_FLAG;如果该位已经按过,表示该灭灯ADDDI,CXDECDIMOVAL,0STOSB;CALLDELETE_ONE;删除一个,JMPCHANGE_RETSET1:MOVAL,CLROLAL,1ANDAL,0FFHOUTDX,ALLEADI,LED_FLAGADDDI,CXDECDIMOVAL,1STOSB;CALLADD_ONE;增力口一个CHANGE_RET:POPDIPOPSI-24-POPAXRETCHANGE_LEDENDPADD_ONEPROCNEARPUSHAXPUSHCXPUSHBXXORAX,AXMOVAL,KEY_COUNT到show_data数组之后添加;将按下的

26、键值换为数存入show_buf中MOVBH,8SUBBH,CL;判断是否二67CMPBH,6JBADDITADDFIRST:LEASI,SHOW_BUFFERLEADI,SHOW_BUFFERADDSI,AXADDDI,AXDECSIXORCH,CHMOVCL,KEY_COUNTSTD;DF=1,减量操作REPMOVSBCLD-25-XORAX,AXADDIT:LEADI,SHOW_BUFFERADDDI,AXMOVAL,BHSTOSBMOVAL,KEY_COUNTINCALMOVKEY_COUNT,ALLEASI,SHOW_BUFFERLEADI,BUFFERMOVCX,8REPMOVSBL

27、EASI,BUFFERCALLDisplay8CALLFMQ_ONPOPBXPOPCXPOPAXRETADD_ONEENDPDELETE_ONEPROCNEARPUSHAXPUSHSI-26-PUSHDIXORAX,AXMOVAH,8SUBAH,CL;MOVAL,KEY_COUNT;DECALLEASI,SHOW_BUFFERMOVCL,KEY_COUNTFINDNUM:LODSBCMPAL,AHLOOPNZFINDNUM;JCXZDELETE_RETDELETE_IT:LEADI,SHOW_BUFFERLEASI,SHOW_BUFFERMOVAL,CLMOVCH,KEY_COUNTSUBCH

28、,CLMOVCL,CHXORCH,CHADDSI,CXADDDI,CXDECDIMOVCL,AL-27-INCCL;DECCLREPMOVSBLEASI,SHOW_BUFFERLEADI,BUFFERMOVCX,8REPMOVSBLEASI,BUFFERCALLDisplay8CALLFMQ_OFFMOVAL,KEY_COUNTDECALMOVKEY_COUNT,ALDELETE_RET:POPDIPOPSIPOPAXRETDELETE_ONEENDPSHANSHUOPROCNEARPUSHAXPUSHCXPUSHSIPUSHDXMOVDX,CON_8255-28-LEASI,LED_FLAG

29、ADDSI,1LODSBCMPAL,1JNZSHANSHUO_7MOVCX,SHAN_TIMEINCCXCMPCX,2000JNBSHAN_6JMPSHANSHUO_7SHAN_6:MOVAL,SHAN_BUFTESTAL,01HJZSSET1SSET0:MOVDX,CON_8255MOVAL,00000100BOUTDX,ALMOVSHAN_BUF,0MOVCX,0JMPSHANSHUO_7SSET1:MOVAL,00000101BOUTDX,ALMOVSHAN_BUF,1MOVCX,0SHANSHUO_7:DECSIDECSI-29-LODSBCMPAL,1JNZSHAN_RETMOVCX

30、,SHAN_TIMEINCCXCMPCX,2000JNBSHAN_7JMPSHAN_RETSHAN_7:MOVAL,SHAN_BUF+1TESTAL,01HJZL7SET1L7SET0:;MOVDX,CON_8255MOVAL,00000010BOUTDX,ALMOVSHAN_BUF+1,0MOVCX,0JMPSHAN_RETL7SET1:;MOVDX,CON_8255MOVAL,00000011BOUTDX,ALMOVSHAN_BUF+1,1MOVCX,0SHAN_RET:MOVSHAN_TIME,CX-30-POPDXPOPSIPOPCXPOPAXRETSHANSHUOENDPFMQ_ON

31、PROCNEARMOVDX,ADDR_0832MOVAL,00H;蜂鸣器响OUTDX,ALRETFMQ_ONENDPFMQ_OFFPROCNEARMOVDX,ADDR_0832MOVAL,0FFHOUTDX,ALRETFMQ_OFEFNDPCLEAR_ALLPROCNEARCALLCLEAR_SEGMENT1除数码管;清除led灯MOVDX,C_8255LEDr灭MOVAL,0FFH;C口输出高电平,OUTDX,AL;消除变量-31-LEADI,LED_FLAGMOVCX,7MOVAL,0CLEAR_LEDFLAG:STOSBLOOPCLEAR_LEDFLAGMOVAL,10HMOVCX,7LEADI,SHOW_BUFFERCLEAR_SBUF:STOSBLOOPCLEAR_SBUFMOVKEY_COUNT,0RETCLEAR_ALLENDPCALL_SHOWPROCNEARPUSHDXMOVDX,A_8255INAL,DX;读键值CMPAL,0FFHPOPDXRETCALL_SHOWENDP-32-DL1PROCNEARPUSHCXMOVCX,60DL2:LOOPDL1POPCXRETDL1ENDPDL500msPROCNEARPUSHCXM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论