![夜班防睡控制系统设计与开发_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/1296a107-bbcb-444e-8c97-ed2eda9a70cb/1296a107-bbcb-444e-8c97-ed2eda9a70cb1.gif)
![夜班防睡控制系统设计与开发_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/1296a107-bbcb-444e-8c97-ed2eda9a70cb/1296a107-bbcb-444e-8c97-ed2eda9a70cb2.gif)
![夜班防睡控制系统设计与开发_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/1296a107-bbcb-444e-8c97-ed2eda9a70cb/1296a107-bbcb-444e-8c97-ed2eda9a70cb3.gif)
![夜班防睡控制系统设计与开发_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/1296a107-bbcb-444e-8c97-ed2eda9a70cb/1296a107-bbcb-444e-8c97-ed2eda9a70cb4.gif)
![夜班防睡控制系统设计与开发_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/1296a107-bbcb-444e-8c97-ed2eda9a70cb/1296a107-bbcb-444e-8c97-ed2eda9a70cb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1 需求分析和解决问题的思路 - 1 需求分析- 1 解决问题方法及思路- 12 硬件设计- 2 芯片8255-A- 22.2 LED显示器- 4 单刀双掷开关- 5 扬声器- 62.5 硬件总逻辑图及其说明- 63 控制程序设计- 7 控制程序设计思路说明- 7 控制程序流程图- 7 控制程序- 84 设计结果分析及问题讨论- 134.1 上机调试过程- 134.2 课程设计结果及分析- 134.3 收获、体会和建议-131需求分析和解决问题的思路 需求分析 任务分析1)每5分钟用一次较柔和的声音提醒值班者按复位键,之后计时重新开始。2)若计时到6分钟时,还没人按复位键,则以较急促的声音
2、报警,黄灯闪烁。3)当到15分钟的时候红灯闪烁,并以持续尖锐的声音报警,以LED显示分和秒。 功能分析本设计主要是为了解决值班人员在值夜班时容易睡觉的问题。设计中主要通过扬声器发生来防止值班人员睡觉,每隔5分钟用较柔和的声音提醒值班人员一次,值班人员按下复位键重新即时,说明值班人员并未睡着;如果及时到6分钟值班人员还没有按复位键,说明此时值班人员可能已经开始打盹,扬声器发出较急促的声音报警,并且黄灯闪烁,若此按下复位键,又重新计时;如果到了15分钟还没有人按复位键,那么此时值班人员可能已经完全睡着,扬声器发出尖锐的声音报警,红灯闪烁,并以LED记录睡着的时间。 需要解决的问题需要发声提醒,发声
3、提醒又分为3种(较柔和,较急促,尖锐的声音),通过键盘复位,要红,黄灯闪烁。还要将时间动态显示在LED显示器上,每秒刷新一次。而且分秒显示共需4位数字,所以要有4个LED数码管进行控制。秒控制的两位要在60秒后进位,分钟的两位加1,秒清零。扬声器可用专门的扬声器电路,也要用PC机的喇叭实现。1.2 解决问题方法及思路 硬件部分 1) PC机一台,并行接口8255A一片,LED数码管4只,发光二极管2只(红、黄各一只),开关一个,扬声器一只。2) 利用扬声器发声报警,节拍由延时程序决定.3) 使不同颜色的发光二极管按一定规律发光。4) 使实验箱上的8255A作为输出接口,驱动二极管发光。所用端口
4、工作在方式0、输出即可。5) 定义开关清零。6) PC7接开关,用作输入,控制复位。7) 通过8255A来控制LED发光二极管的亮灭。8) PC0接扬声器、PC1接红灯、PC2接黄灯。9) 二极管闪烁:开|关 输出为0则亮,输出为1则灭。 软件部分 程序部分首先进行初始8255,然后进行时间显示,初值显示00分00秒,四个显示器每个显示10ms,接着秒个位加1,进行下一次显示,当秒个位为10时,秒十位加1,同时秒个位清零.当秒十位为6时,分个位加1,秒位清零,依次显示.当显示为5分00秒时,发出控制信号使扬声器发出柔和的声音,此时,若有人拨动开关,则四个显示器全清零,又从00分00秒开始显示.
5、当显示6分00秒时,发出控制信号使黄灯亮,并使扬声器发出急促的报警声音.当显示为15分00秒时,发出控制信号使红灯亮,并使扬声器持续发出尖锐的报警声.2 硬件设计 芯片8255-A 8255A在本设计中的作用8255A作为输出接口,驱动二极管发光。所用端口工作在方式0。控制发光二极管的亮灭。A口,B口控制LED数码显示管,C口低四位分别接扬声器,红灯,黄灯。高四位中的Pc4接开关,用于输入信号,使系统复位。 8255A的功能分析 8255方式0是基本输入/输出方式,A、B、C三个口中任何一个口都可提供简单的输入和输出操作,不需要应答联络信号,即可用于无条件传送的场合,也可以用作查询方式传送。当
6、采用查询方式传送时,原则上可用A、B和C三个口的任一位充当查询信号,但通常都是选用C口充当查询信号,这和C口的编程有关。通常把C口的4位(高4位或低4位)规定为输出口,用以输出一些控制信号,把C口的另4位规定为输人口,用以输入外设的状态。 8255A原理图及功能表图 2-1 8255A原理图表 2-1 8255A的操作功能表 A1 A0操 作数 据 传 送 方 式 0 0 1 0 0读 A 口A口数据 数据总线 0 0 1 0 1读 B 口B口数据 数据总线 0 0 1 1 0读 C 口C口数据 数据总线 0 1 0 0 0写 A 口数据总线数据 A口 0 1 0 0 1写 B 口数据总线数据
7、 B口 0 1 0 1 0写 C 口数据总线数据 C口 0 1 0 1 1写控制口数据总线数据 控制口8255A有三种工作方式,用户可以通过编程来设置。 8255A的方式控制字图 2-2 8255A方式控制字 方式0的工作特点这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出。其功能为:1)两个8位通道:通道A、B。两个四位通道:通道C高4位和低四位;2)任何一个通道可以作输入/输出;3)输出是锁存的;4)输入是不锁存的;5)在方式0时各个通道的输入/输出可有16种不同的组合。 8255部分技术参数表 2-2 8255A技术参数SymbolParamete
8、rMinMaxUnitVILInput Low VoltageVVIHInput High VoltageVCCVVOL(DB)Output Low Voltage(Date Bus)0.45*VVOL(PER)Output Low Voltage(Peripheral Port)0.45*VVOH(DB)Input Low Voltage(Date Bus)VVOH(PER)Input Low Voltage(Peripheral Port)VIDAR(1)Dartington Drive CurrentmAICCPower Supply Current120mAIILInput Load
9、Current±10AIOFLOutput Float Leakage±10A输入最低电压:min -0.5V,max 0.8 V,输入最高电压:2.0 V。输出最低电压:0.45 V输出最高电压:2.4 V。2.2 LED显示器作用LED发光二级管(Light-Emitting Diode),在本设计中采用7段数字发光二级管,做为终端显示。 LED功能分析 图 2-3 LED图示(1)物理构造:LED发光二级管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。(2)工作原理:当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运
10、动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现。(3) 数字成像:将七个发光管进行组合,排列成数字图形8,再根据需要控制七个管的亮与灭,即可显示出定义数字。实验中采用的是共阴极七段LED显示器,他由多个发光二极管组成,七段或八段笔画显示器,当段组发亮时,便可显示数字1位,七段代码的各位用作a-g和Dp的输入,当对应的位为1时,则该段亮。图2-4 LED内部结构示意图 LED显示管段选码编码表表 2-3 LED段选码数字DPgfedcba二进制编码(字形)0001111113FH10000001103
11、H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007CHC0011100169HD010111105EHE0111100179HF0111000171H 技术参数表 2-4 LED技术参数PCWIfVrIrIfRP对应型号散射颜色BT-235-270255200SEL-10红色 单刀双掷开关 开关的作用本次设计需要用1位开关,用于检测值班者是否睡着。+5V图 2-5 单刀双掷开关 开关的功能分析开关闭合输入0,
12、开关断开输入1。 技术参数开关高电平:+5V、低电平:0V实验中单刀双掷开关接地,即通过8255,PC5检测到为0,当值班者拨动开关接+5V电压时,PC5检测到为1(即相当于值班者按动按扭。2.4 扬声器 作用本次设计需要扬声器发出三种不同频率的响声,由8255的PC0控制(第0位控制) 功能分析如果使该位交替为0为1则产生一个脉冲电流,该电流放大后驱动扬声器发出声音。2.5 硬件总逻辑图及其说明图 2-8 硬件总逻辑图上图所示为数码显示管逻辑总图,图中所用到的为一片8255芯片、1位开关、4个七段LED数码显示管、红灯和黄灯。将PCI的CS、A0、A1分别接8255A的CS、A0、A1,82
13、55A的PA0PA7接入数码管选择脚, PB0PB7分别与数码管段码相连,作为段选择。8255的A口,B口控制LED数码显示管,C口低四位作输出口,PC0接扬声器,PC1接黄灯,PC2接红灯,高四位作输入口,PC7接开关。3 控制程序设计 控制程序设计思路说明首先将8255初始化(设置8255A的控制方式,A口、B口用于输出C口高四位输入,低四位输出),LED动态显示时间(分、秒),用软件查询判断分秒的情况:当显示5:00 、6:00、15:00时,分别调用不同的发声子程序。显示期间若按复位键则时间从00:00显示。 控制程序流程图 图 3-1 控制程序流程图 3.3 控制程序.MODELTI
14、NYPCIBAR3EQU1CH;8位I/O空间基地址(它就是实验仪的基地址, 也为DMA & 32 BIT RAM板卡上的8237提供基地址) Vendor_IDEQU 10EBH;厂商ID号Device_IDEQU8376;设备ID号.STACK100.DATAIO_Bit8_BaseAddressDW?msg0DB'BIOS不支持访问PCI $'msg1DB'找不到Star PCI9052板卡 $'msg2DB'读8位I/O空间基地址时出错$'COM_ADDDW00F3H;控制口偏移量PA_ADDDW00F0H;PA口偏移量PB_AD
15、DDW00F1H;PB口偏移量PC_ADDDW00F2H;PC口偏移量.CODESTART:MOVAX,DATAMOVDS,AXNOPCALLInitPCICALLModifyAddress;根据PCI提供的基地址,将偏移地址转化为实地址main: mov dx,COM_ADD ;写8255A方式控制字 mov al,88h ;设置端口A为工作方式0输出端口;端口Pc7到Pc4为输入,Pc3到Pc0为输出;端口B为输出并工作在方式0 out dx,al mov dx,PC_ADD mov al,0ffh out dx,al mov si,offset m1;设置m1的偏移地址于SI中lop:
16、mov ah,0 mov si,ah;初始化4位时间的初值 mov si+1,ah mov si+2,ah mov si+3,ah lop4: mov ah,30;设置一秒钟显示之间的间隔时间 waite: mov di,offset m1+3;显示四个时间量 mov cl,0feh;位选码送入CL低位为1110;将tab内的段选码传送入m1空间内的相对位置,根据位选码决定 disp: mov al,di mov bx,offset tab xlat mov dx,PB_ADD;写入端口B out dx,al;将从tab空间内读取的段选码输入到端口B mov al,cl mov dx,PA_A
17、DD out dx,al;将位选码送入端口A call delay;调用延时子程序延时低于20um则不闪烁 mov al,0ffh mov dx,PA_ADD out dx,al;关闭显示 cmp cl,0f7h;判断该位选码是否指向最后一个时间值(一次时间显示有四个时间值显示在LED上) jz exit2;是最后一个时间值则转向将时间加一秒的程序 mov dx,PC_ADD mov al,0ffh out dx,al dec di;指向下一个时间值以待显示 rol cl,1;将位选码左移一位 jmp disp;重新显示下一位exit2: dec ah jnz waite;若一秒未显示30次则
18、转向以上显示四个时间量的程序显示30次 mov dx,PC_ADD ;判断C口开关端口pc7输入是否为0 in al,dx test al,10000000B jnz lop;为零则转向初始化时间量的程序段 ; 是否复位 mov al,0 mov ah,1 mov bl,5 mov bh,6 mov ch,10 add si+3,ah;秒个数的时间量加1 cmp si+1,bl;分个位是否为5 jnz aa cmp si,al;为5则判断分十位是否为0 call softspk ;为0则执行柔和子程序 jmp a1aa: cmp si+1,bh;判断分个位是否为6 jnz bb;不为6则跳转继
19、续执行以下程序 cmp si,al;判断分十位是否为0 call ylgspk;为0则调用急促子程序 jmp a1bb: cmp si,ah;判断分十位是否为1 jnz a1 call rlgspka1: cmp si+3,ch;判断秒个位是否为10,不为则转向以上显示四个时间量的程序段中 jnz lop4; mov si+3,al;若秒个位为10则将其置零 add si+2,ah;秒十位加1 cmp si+2,bh jnz lop4;判断秒十位是否为6,是则转向显示时间量的程序段 mov si+2,al;若不为6则将其清零 add si+1,ah;并分个位加1 pp: cmp si+1,ch
20、 jnz asd;若分个位不为10则转向显示时间量 mov si+1,al;若为10则将其清零 add si,ah;并分十位加1 asd:jmp lop4 ;控制时间进位 tab db 3fh,06h, 5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;存储表示数字的各段选码分别表示为0-9m1 db 00h,00h,00h,00h;存储要显示的四个时间量softspk proc ;柔和声音提醒子程序push axpush bxpush cxmov bx,5;bx为叫声次数sound1:mov dx,PC_ADD mov al,11111110bout dx,al ;扬声器mov
21、 cx,00fffh;延时wait1:loop wait1 mov al,0ffhout dx,al dec bxjne sound1mov cx,00effh;延时, ;每次叫声持续的时间wai1:loop wai1pop cxpop bxpop axretsoftspk endpylgspk proc ;黄灯,急促叫声 ,子程序push axpush bxpush cxmov bx,8sound2:mov dx,PC_ADD mov al,11111100bout dx,al ;扬声器mov cx,01f00hwait2:loop wait2 mov al,0ffhout dx,almov
22、 cx,000ffhwai2:loop wai2 dec bxjne sound2pop cxpop bxpop axretylgspk endprlgspk proc ;红灯最急促叫声子程序push axpush bxpush cxmov bx,10sound3:mov dx,PC_ADD mov al,11111010bout dx,al ;扬声器mov cx,01f00hwait3:loop wait3 mov al,0ffhout dx,almov cx,000f0hwai3:loop wai3 dec bxjne sound3pop cx pop bx pop axrlgspk en
23、dpdelay proc;延时子程序 push cx mov bl,10del: mov cx,1000wait5: loop wait5 dec bl jnz del pop cx ret delay endp InitPCIPROCNEARMOVAH,00HMOVAL,03HINT10H;清屏MOVAH,0B1HMOVAL,01HINT1AHCMPAH,0JZInitPCI2LEADX,msg0InitPCI1:MOVAH,09HINT21HJMPExitInitPCI2:MOVAH,0B1HMOVAL,02HMOVCX,Device_IDMOVDX,Vendor_IDMOVSI,0INT
24、1AHJNCInitPCI3;是否存在Star PCI9052板卡LEADX,msg1JMPInitPCI1InitPCI3:MOVDI,PCIBAR3MOVAH,0B1HMOVAL,09HINT1AH;读取该卡PCI9052基地址JNCInitPCI4LEADX,msg2JMPInitPCI1InitPCI4:ANDCX,0FFFCHMOVIO_Bit8_BaseAddress,CXRETInitPCIENDPModifyAddressPROCNEARADDCOM_ADD,CXADDPA_ADD,CXADDPB_ADD,CXADDPC_ADD,CXRETModifyAddressENDPEx
25、it:MOVAH,4CHINT21HENDSTART4 设计结果分析及问题讨论 上机调试过程1)上机过程中由于事先对实验室设备不了解,所以导致实验方案失败,重新修改了方案,耽误了不少时间;2)联机运行后,数码管显示数字不对,经检查,发线问题出在数码转换表定义有误;3)在扬声器发声的时候,LED数码显示管停止显示时间,这将导致当前时间显示太长。4.2 课程设计结果及分析 设计结果程序开始运行时,四个LED灯从00分00秒开始显示时间,并隔相应的时间加一秒,一直显示到59分59秒,然后又从00分00秒开始显示,如此循环下去。当时间显示到50分00秒时,扬声器发出较柔和的声音,到60分00秒时,扬声器发出较急促的声音,黄灯闪烁,到15分00秒时,扬声器发出尖锐的报警声,红灯闪烁。每次拨开关为高电平时,LED灯就变成从00分00秒开始显示。 结果分析8255的A口低4位用来控制LED灯的位选码,B口8位用来控制段选码,通过A口和B口的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 晋中山西晋中市太谷区面向2025届公费师范生招聘教师18人笔试历年参考题库附带答案详解
- 2025年中国太子佛工艺品市场调查研究报告
- 2025至2031年中国高压透镜行业投资前景及策略咨询研究报告
- 2025年艺术道闸项目可行性研究报告
- 2025年红外线按摩棒项目可行性研究报告
- 2025年电加热针织物呢毯预缩机项目可行性研究报告
- 成都四川成都天府国际竞技训练中心招聘运动员4人笔试历年参考题库附带答案详解
- 2025年曲印项目可行性研究报告
- 2025年揉切粉碎机项目可行性研究报告
- 2025年安康鱼野菜串项目可行性研究报告
- 情侣自愿转账赠与协议书范本
- 综合实践项目 制作水族箱饲养淡水鱼 教学设计-2024-2025学年鲁科版生物六年级上册
- 公转私付款合同模板
- 安徽省2024年高考语文模拟试卷及答案5
- 江西省“振兴杯”信息通信网络运行管理员竞赛考试题库-上(单选题)
- DLT 5756-2017 额定电压35kV(Um=40.5kV)及以下冷缩式电缆附件安装规程
- 关于餐饮合同范本
- 2023高考数学艺考生一轮复习讲义(学生版)
- CHT 4019-2016 城市政务电子地图技术规范(正式版)
- 广西壮族自治区南宁市2024年七年级下学期语文期末试卷附答案
- 冀教版五年级数学下册全册课件【完整版】
评论
0/150
提交评论