版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术课程设计课程设计科目模拟医院报警系统设计学生姓名学号班级 指导教师一.题意分析与解决方案需求分析采用7个开关为7个病房的开关,其中有两个是高危病房,当有人按下时立 即在8个发光二级管上显示出来,并且该位置闪动,同时发出警报,并通过一个 数码管显示出来。当有高危病房的按键按下之后,立马将他的病房号调到第一个 数码管显示并且相应的数码管显示,警报山一个扬声器发出。设置一个警报清除 按键,清除所有报警情况。算法及思路(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、数码管上显示病房号,蜂鸣 器发出声音。二.硬件设计芯片82551)芯片8255在本设计中的作用芯片8255在本实验中主要用于控制按键的开关、数码管以及LED灯。2)芯片8255的功能分析DB=內绑逻辑A坦8位内綁效据总5按II |B31瑞口 C卜半部K) PC 厂 PCoc=oIQ PB广PB。n b ()82弓5内部结构图控制B81控制RD- WR-24! SLOZ3 OIJVRO3 Win OHIO?ZJ(JUIB3 n OUTAO miiAiUU1A2 OI1TA3?3 lu wi gPI C5 3 AO本图片为8279引脚图8279采用单5V电源供电,40脚封装。DBODB7:双向数据
4、总线,用来传送8279与CPU之间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟周期。RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触 点回弹型式,程序时钟前置分频器被置为31, RESET信号高电平有效。CS:片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操 作。A0:缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态,当 为低电平时,表示数据总线上为数据。RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。WR:写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入 8279的缓冲器。RL2 1 40 V
5、CCIRQ:中断请求输出线,高电平有效,在键盘工作方式下,当FIFO/传感器RAM中 有数据时,此中断线变为高电平,在FIFO/传感器RAM每次读出时,中断线就下降为低 电平,若在RAM中还有信息,则此线重乂变为高电平。在传感器工作方式中,每当探测到 传感器信号变化时,中断线就变为高电平。SLOSL3:扫描线,用来扫描按键开关,传感器阵列和显示数字,这些可被 编程或被译码。RL0RL7:回送线,经过按键或传感器开关与扫描线联接,这些回送线内部 设置有上拉电路,使之保持为高电平,只有当一个按闭合时,对应的返回线变为低电平; 无按键闭合时,均保持高电平。SHIFT:换位功能,肖有开关闭合时被拉为低
6、电平,没有按下SHIFT开关时, SHIFT输入端保持高电平,在键盘扫描方式中,按键一闭合,按键位置和换位输入状态一起 被存贮起来。CNTL/STB:当CNTL/STB开关闭合时将其拉到低电平,否则始终保持高电平, 对于键盘输入方式,此线用作控制输入端,当键被按下时,按键位置就和控制输入状态一 起被存贮起来,在选通输入方式中,作选通用,把数据存入FIFO RAM中。OUTA3OUTAO及OUTB3-OUTBO:显示输出A 口及B 口,这两个口是16X4 切换的数字显示。这两个端口可被独立控制,也可看成一个8位端口。BD:空格显示,此输出端信号用于在数字转换时将显示空格或者用显示空格 命令控制其
7、显示空格字符。VCC: +5V电源输入线。VSS:地线输入线。8279的编程方法可按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU接口功能块 控制功能块包括控制和定时寄存器,定时和控制,扫描讣数器三部分,它主要用来控制键盘和 显示功能块工作.:控制和定时寄存器:用于存贮来自CPU的编程命令,CPU对8279编程以确 定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0二 1, WR二OCS二0,并在 WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能.:定时和控制:它含基本的定时讣数器,第一个计数器是一个分频系数为 2-31的前置定时器,
8、分频系数可山程序预置,使内部频率为lOOKHz,从而能给出键盘扫描时间和 反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描行扫描键 盘阵列扫描.以及显示器扫描次数.:扫描汁数器:扫描计数器有两种工作方式,在编码I:作方式时,计数器提供 一种二进制计数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用, 在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为 显示器和键盘的译码扫描.:键盘功能块包括:返回缓冲器,键盘反跳及控制,8x8 FIFO传感器 RAM, FIFO/传感器RAM状态.2. 返回缓冲器与键盘反跳及控制8条返回线
9、被返回缓冲器缓冲,在键盘丄作方式中,这儿条线被逐个检测,以 找出该行键中闭合的键,如果反跳电路测知某键闭合,则它等待,然后重核此键是否仍然闭合, 如果仍闭合,那么该键在矩阵中的行列地址以及SHIFT和CXTL的状态一起被送到 FIF0RM!中,其在 FIFO RAM 中的数据格式如下:D7 D6 D5 D4 D3 D2 DI DOCNTL SHIFT SCAN RET URN数据格式中,最高位CNTL,次高位为SHIFT状态,D5-D3来自扫描讣数 器,D2-D0来自返回计数器,扫描线计数器和回扫线计数器的值分别反映出被按下键的行.列的值,如果 在传感器阵列中,返回线上的数据直接进入传感器RA
10、M中相应于阵列中正被扫中的那行,这样 每个开关位置就直接反映为一个传感器RAM的位置.芯片DAC0832的技术参数图 2-2 DAC0832DAC0832芯片釆用CMOS工艺,四象限乘法型DAC与微机兼容,数据输入能 与双缓冲,单缓冲或直接缓冲通过三种方式工作。1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料, 或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量 输出或儿路模拟量异步输出的情形。2、双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存 器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A 转换同步输出的情节
11、。3、直通方式。直通方式是资料不经两级锁存器锁存,即CS*, XFER* ,WR1* , WR2*均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控 制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A 转换。结构:DOD7: 8位数据输入线,TTL电平,有效时间应大于90ns (否则锁存器的数 据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。山ILE、 CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态
12、随输入数据 线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns) 有效;WR2: DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。山WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输 入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;I0UT2:电流输出端2,其值与I0UT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5
13、V+15V:VREF:基准电压输入线,VREF的范围为-10V+10V:AGND:模拟信号地;DGND:数字信号地。主要参数为:表2-2 DAC0832主要技术参数转换时间lus分辨率8位功耗20mW单一工作电源+5V+15V电流建立时间1线性度8, 9或10位增益温度系数%usFS/*C在此实验箱中的DAC0832芯片中包含有运算放大器,用来将电流信号转换成 电压信号量,并且能够放大信号量。本实验是通过0832来控制蜂鸣器。选择器件蜂鸣器1)蜂鸣器在本设计中的作用在本实验中,蜂鸣器是用做报警处理。Ctrl O图2-3蜂鸣器电路图2)蜂鸣器的功能分析扬声器是将电能转化成声能,并将声能辐射到空气
14、中去的一种电声转换器 件。当输入端输入一定频率的方波时,在RC震荡电路的作用下,蜂鸣器会发出 定频率的声音。3)蜂鸣器的技术参数它一般包括灵敬度、频率响应、额定功率、额定阻抗、指向性、失真、音质 听感评价等。本实验只关心应用电压,其为5V。选择数码管P1H110.00 .101DAU41E图2-4数码管电路图图2-5数码管(1)数码管在本设计中的作用在本设讣中,数码管的作用不容小觑,主要用于显示病房号。(2)数码管的技术参数分析使用数码管时,应该区分数码管时共阴还是共阳,在本设计中,所有的数 码管都是共阴的。只要段选输入高电平即可点亮不同位置的数码管进而显 示数据。表2-3共阳极LED显示管段
15、选码编码表数字 Dp gfedcba二进制编码011000000COH111111001F9H210100100A4H310110000BOH41001100199H51001001092H61000001082H711111000F8H81000000080H91000011090HLED灯图2-6 LED原理图(1)LED灯在本设汁中的作用在本设计中,LED灯的作用是作为病房信号,按下按键时,led发光。(2)LED灯的功能分析通过LED灯的亮、灭作为一个刺激信号。(3)LED灯的技术参数分析LED灯的功能较为简单,为一个发光二极管,当该二极管导通时闪亮,截止时不闪亮。按键图2-7微型按钮
16、n00n2(1)按键在本设计中的作用在本设计中,键盘主要的作用是启动系统。(2)按键的功能分析按键的功能比较单一,按键或不按键,该端口将输出不同的电平信号。(3)按键的技术参数分析按键一段接芯片输入端口,另一端接VCC,当按键时,开关闭合,电平强制被拉低,通过低电平的信号输入即可知道是否有按键的输入啦。硬件总逻辑图及其说明硬件原理图:A3区AO、 Al、 CS1B4区AO、AE CSA3区CS3F3区CSB4区A、CG6区按键、LEDB4区BG5区BG5区JP41C1区开关D1区CTRLF3区OUTE5区CLKB22ME5AOA3A0硬件原理图说明:图2-8-1硬件原理图表2-4连线图软件仿真
17、图图2-8-2软件总体仿真图 - p三二三-|;:1r*rc八mez MFU.ssssni E4 rnt卩S3rocxEsa 二:wl;cl1r?3l:4r*L.Cl;e 话ftlAgTU:E-图2-8-3左半部分图TtrrMksraMM二 W,3k.tctLimkl图2-8-4软件右半部分图三.控制程序设计控制程序设计思路说明本程序釆用模块化的程序设讣思想,将完成整个作业所需要的全部功能按要 求划分为若干子模块。具体而言,控制程序主要有:主程序块,初始化8255A, 调用8279函数,初始化DAC0832子模块,延时子模块及其他一些初始化程序。程序流程图图模掠医院报警系统流程恪I图3-2延时
18、子程序图3-3点亮LED控制程序.MODEL TINYADDR_0832 EQU ODOOOH;ADC0832, CS2IOYEQU OFOOOH;对应端口 CS1A_825oEQU IOY+OOH;控制按键B_825oEQU I0Y+01H;控制数码管C_825oEQU I0Y+02H;控制 LEDC0N.8255 EQU I0Y+03HEXTRN Displays:NEAR STACK300.DATABUFFERDB8 DUP(O)SHOW BUFFERDB 8 DUP(IOH)LED FLAGDB8 DUP(O);表示灯1的状态,0表示灭,1为壳KEY COUNTDB;表示总共多少病房S
19、HAN TIMEDWSHAN BUFDB2 DUP(O)KEY VALUEDBKEY V DBOFFH;保存灯的状态,最开始时二极管全灭,每当按一个按键使一个灯壳.CODEMAIN:MOV DX, CO匸8255MOV AL,B ;方式0, A 口输入,B 口、C 口输出OUTDX, ALMOVDX, C_8255MOVAL, OFFH;c 口输出高电平,LED全灭OUTDX, ALMOVDX, ADDR_0832MOVAL,OFFHOUTDX, AL;蜂鸣器初始状态,不响CALLCLEAR.SEGMENT;清数码管显示KEY.SCAN:CALL SHANSHUOMOV DX, A_8255I
20、NAL, DX ;读键值CMP AL, OFFHJZKEY.SCANCALL DL500msMOV KEY.VALUE, ALCLEAR.KEY:;消抖INAL, DX ;读键值CMP AL, OFFHJNZ CLEAR_KEYMOV AL, KEY.VALUE;CALL SHOW+;找出按键位置CALL FIND.KEYJMP KEY.SCANCLEAR_SEGMENT PROC NEARPUSH DIPUSH CXPUSH AXLEA DI, BUFFERMOV AL, 10HMOV CX, 8LOOPCLEAR:STOSBLOOP LOOPCLEARLEA SI, BUFFERCALL
21、Display8CALL FMQ_OFFPOP AXPOP CXPOP DIRETCLEAR_SEGMENT ENDPFIND_KEY PROC NEARPUSH AXPUSH CXPUSH BXMOV AL, KEY.VALUEMOV CX, 8MOV BL, BFIND1:CMP AL, BLROL BL, 1LOOPNZ FIND1JCXZ FIND_8FIND.IT:CALL CHANGE.LEDJMP FIND.RETFIND_8:CALL CLEAR.ALLFIND.RET:POP BXPOP CXPOP AXRETFIND.KEY ENDPCHANGE_LED PROC NEAR
22、PUSH AXPUSH SIPUSH DIMOV DX, CON_8255CHANGE1:LEA SI,LED.FLAGADD SI,CXDEC SILODSBCMP AL, 1JNZ SET1SETO:MOV AL, CLROL AL, 1OR AL, OOHOUT DX,ALLEA DI, LED.FLAG;如果该位已经按过,表示该灭灯ADD DI, CXDEC DIMOV AL, 0STOSB;CALL DELETE.ONE;删除一个,JMP CHANGE_RETSETl:MOV AL, CLROL AL,1AND AL, OFFHOUT DX, ALLEA DI, LEDFLAGADD
23、 DI, CXDEC DIMOV AL, 1STOSB;增加一个;CALL ADD_ONECHANGE_RET:POP DIPOP SIPOP AXRETCHANGE.LED ENDPADD.ONE PROC NEARPUSH AXPUSH CXPUSH BXXOR AX, AXMOV AL, KEY.COUNT ;放到 show.data 数组之后添加;将按下的键值换为数存入show_buf中MOV BH, 8SUB BH, CL;判断是否二6 7CMP BH, 6JB ADDITADDFIRST:LEA SI, SHOW_BUFFERLEA DI, SHOW_BUFFERADD SI, A
24、XADD DI, AXDEC SIXOR CH, CHMOV CL, KEY.COUNTSTD;DF=1,减量操作REP MOVSBCLDXOR AX, AXADDIT:LEA DI, SHOW.BUFFERADD DI, AXMOV AL, BHSTOSBMOV AL, KEY.COUNTINC ALMOV KEY.COUNT, ALLEA SI, SHOW_BUFFERLEA DI, BUFFERMOV CX, 8REP MOVSBLEA SI, BUFFERCALL Display8CALL FMQ_ONPOP BXPOP CXPOP AXRETADD_ONE ENDPDELETE_ON
25、E PROC NEARPUSH AXPUSH SIPUSH DIXOR AX, AXMOV AH, 8SUB AH, CL;MOV AL, KEY.COUNT;DEC ALLEA SI, SHOW_BUFFERMOV CL, KEY.COUNTFINDNUM:LODSBCMP AL, AHLOOPNZ FINDNUM;JCXZ DELETE.RETDELETE.IT:LEA DI, SHOW_BUFFERLEA SI, SHOW_BUFFERMOV AL, CLMOV CH, KEY.COUNTSUB CH, CLMOV CL, CHXOR CH, CHADD SI, CXADD DI, CX
26、DEC DIINC CL;DEC CLREP MOVSBLEA SI, SHOW_BUFFERLEA DI, BUFFERMOV CX, 8REP MOVSBLEA SI,BUFFERCALL Display8CALL FMQ_OFFMOV AL, KEY.COUNTDEC ALMOV KEY.COUNT, ALDELETE.RET:POP DIPOP SIPOP AXRETDELETE_ONE ENDPSHANSHUO PROC NEARPUSH AXPUSH CXPUSH SIPUSH DXMOV DX, CON_82ooLEA SI, LED.FLAGADD SI, 1LODSBCMP
27、AL, 1JNZ SHANSHUO.7MOV CX, SHAN.TIMEINC CXCMP CX, 2000JNB SHAN_6JMP SHANSHUO.7SHAN_6:MOV AL, SHAN_BUFTEST AL, 01HJZ SSET1SSETO:MOV DX, CON_8255MOV AL, 00000100BOUT DX,ALMOV SHAN_BUF, 0MOV CX, 0JMP SHANSHUO_7SSET1:MOV AL, 00000101BOUT DX,ALMOV SHAN_BUF, 1MOV CX, 0SHANSHUO.7:DEC SIDEC SILODSBCMP AL, 1
28、JNZ SHAN.RETMOV CX, SHAN.TIMEINC CXCMP CX, 2000JNB SHAN_7JMP SHAN.RETSHAN_7:MOV AL, SHAN_BUF+1TEST AL, 01HJZ L7SET1L7SET0:;MOV DX, CON_8255MOV AL, 00000010BOUT DX,ALMOV SHAN_BUF+1, 0MOV CX, 0JMP SHAN.RETL7SET1:;MOV DX, CON_8255MOV AL, 00000011BOUT DX,ALMOV SHAN_BUF+1, 1MOV CX, 0SHAN.RET:MOV SHAN.TIM
29、E, CXPOP DXPOP SIPOP exPOP AXRETSHANSHUO ENDPFMQ.ON PROC NEARMOVDX, ADDR_0832MOVAL, OOH ;蜂鸣器响OUTDX, ALRETFMQ_ONENDPFMQ_OFF PROC NEARMOVDX, ADDR_0832MOVAL,OFFHOUTDX, ALRETFMQ.OFF ENDPCLEAR.ALL PROC NEAR;清除数码管;C 口输出高电平,LED全灭CALL CLEAR.SEGMENT;清除led灯MOV DX, C_8255MOV AL,OFFHOUT DX, AL;清除变量LEA DI, LED.F
30、LAGMOV CX, 7MOV AL, 0CLEAR.LEDFLAG:STOSBLOOP CLEAR.LEDFLAGMOV AL, 10HMOV CX, 7LEA DI, SHOW_BUFFERCLEAR_SBUF:STOSBLOOP CLEAR_SBUFMOV KEY.COUNT, 0RETCLEAR.ALL ENDPCALL.SHOW PROC NEARPUSH DXMOV DX, A_8255INAL, DX ;读键值CMP AL, OFFHPOP DXRETCALL SHOW ENDPDL1 PROC NEARPUSH CXMOV CX, 60DL2:LOOP DL1POP CXRETDL1 ENDPDLoOOms PROC NEARPUSH CXMOV CX, 60000DLoOOms1: LOOP DLoOOms1POP CXRETDLoOOms ENDPDL1SPROC NEARPUSH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轮胎环保处理与回收利用合同(2024版)
- 2024年度国际货物买卖与运输保险合同
- 小区绿化树木修剪的合同
- 2024年度福州市二手房买卖合同条件2篇
- 2024年度高校学生境外留学服务协议3篇
- 揿针治疗恶心
- 厨具设备购销合同书
- 炉渣销售及回收2024协议
- 2024年度环保工程设备采购与维护合同2篇
- 2024二手纺织机械设备交易合同2篇
- 财务审计投标方案
- 梅城小学一日常规检查表-第-周
- 股骨骨折护理疑难病例讨论
- 生理学课件:第十章 感觉器官
- 《配送中心运营管理实务》 教案 第15课 送货作业管理
- ISO软件开发全套文档质量手册
- 中国特色社会主义理论体系的形成发展PPT2023版毛泽东思想和中国特色社会主义理论体系概论课件
- 钨极氩弧焊焊接工艺参数课件
- 建筑行业职业病危害
- 保护身体小秘密课件
- 安全教育水果蔬菜要洗净
评论
0/150
提交评论