ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:172.22KB ,
资源ID:4565564      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4565564.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(夜班防睡控制+记录器.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

夜班防睡控制+记录器.docx

1、夜班防睡控制+记录器合肥学院计算机科学与技术系微机原理与接口技术课程设计报告20082009学年第1学期课 程课程设计名称 学 学专指名号级师微机原理与接口技术夜班防睡控制/记录器0604032020网络工程专业(06网工2)2009 年 1月、需求分析和解决问题的思路1.题义与需求分析 1)任务分析1每5分钟用一次较柔和的声音提醒值班者按复位键,之后计时重新开始。2若计时到6分钟时,还没人按复位键,则以较急促的声音报警,黄灯闪烁。3当到15分钟的时候红灯闪烁,并以持续尖锐的声音报警,以 LEDS示分和秒。2)功能分析本设计主要是为了解决值班人员在值夜班时容易睡觉的问题。 设计中主要通过扬声器

2、发生来防止值班人员睡觉,每隔 5分钟用较柔和的声音提醒值班人员一 次,值班人员按下复位键重新即时,说明值班人员并未睡着;如果及时到 6分钟值班人员还没有按复位键,说明此时值班人员可能已经开始打盹, 扬声器发出较 急促的声音报警,并且黄灯闪烁,若此按下复位键,又重新计时;如果到了 15分钟还没有人按复位键,那么此时值班人员可能已经完全睡着, 扬声器发出尖锐 的声音报警,红灯闪烁,并以LED记录睡着的时间。3)需要解决的问题需要发声提醒,发声提醒又分为3种(较柔和,较急促,尖锐的声音),通过 键盘复位,要红,黄灯闪烁。还要将时间动态显示在 LED显示器上,每秒刷新一 次。而且分秒显示共需4位数字,

3、所以要有4个LED数码管进行控制。秒控制的两 位要在60秒后进位,分钟的两位加1,秒清零。扬声器可用专门的扬声器电路, 也要用PC机的喇叭实现。2.解决问题方法及思路 1)硬件部分1PC机一台,并行接口 8255A一片,LED数码管4只,发光二极管2只(红、 黄各一只),开关一个,扬声器一只。2利用扬声器发声报警,节拍由延时程序决定.3使不同颜色的发光二极管按一定规律发光。4使实验箱上的8255A作为输出接口,驱动二极管发光。所用端口工作在方 式0、输出即可。5定义开关清零。6PC7接开关,用作输入,控制复位。7通过8255A来控制LED发光二极管的亮灭。8PC0接扬声器、PC1接红灯、PC2

4、接黄灯。9二极管闪烁:开I关 输出为0则亮,输出为1则灭。2)软件部分程序部分首先进行初始8255,然后进行时间显示,初值显示00分00秒,四 个显示器每个显示10ms,接着秒个位加1,进行下一次显示,当秒个位为10时,秒 十位加1,同时秒个位清零.当秒十位为6时,分个位加1,秒位清零,依次显示。当 显示为5分00秒时,发出控制信号使扬声器发出柔和的声音,此时,若有人拨动开 关,则四个显示器全清零,又从00分00秒开始显示。当显示5分00秒时,发出轻 微的柔和的报警声,当显示6分00秒时,发出急促的报警声,发出控制信号使 黄灯闪烁。当显示为15分00秒时,扬声器持续发出尖锐的报警声,发出控制信

5、 号使红灯闪烁。、硬件设计1 .芯片 8255-A 1) 8255A 在本设计中的作用8255A作为输出接口,驱动二极管发光。所用端口工作在方式 0。控制发光 二极管的亮灭。A 口 ,B 口控制LED数码显示管,C 口低四位分别接扬声器,红 灯,黄灯。高四位中的Pc4接开关,用于输入信号,使系统复位。2) 8255A的功能分析8255方式0是基本输入/输出方式,A、B、C三个口中任何一个口都可提供 简单的输入和输出操作,不需要应答联络信号, 即可用于无条件传送的场合,也 可以用作查询方式传送。当采用查询方式传送时,原则上可用A、B和C三个口 的任一位充当查询信号,但通常都是选用 C 口充当查询

6、信号,这和 C 口的编程 有关。通常把C 口的4位(高4位或低4位)规定为输出口,用以输出一些控制信 号,把C 口的另4位规定为输人口,用以输入外设的状态。3) 8255A原理图及功能表图2-1 8255A 原理图表2-1 8255A的操作功能表CSRDWRA1操作数据传送方式A000100读A 口A 口数据f数据总线00101读B 口B 口数据f数据总线00110读C 口C 口数据f数据总线01000写A 口数据总线数据f A 口01001写B 口数据总线数据f B 口01010写C 口数据总线数据f C 口01011写控制口数据总线数据f控制口8255A有三种工作方式,用户可以通过编程来设

7、置。4) 8255A的方式控制字图2-2 8255A方式控制字5)方式0的工作特点这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以 由程序选定作为输入或输出。其功能为:1两个8位通道:通道A、B。两个四位通道:通道C高4位和低四位;2任何一个通道可以作输入/输出;3输出是锁存的;4输入是不锁存的;5在方式0时各个通道的输入/输出可有16种不同的组合。6) 8255部分技术参数表2-2 8255A技术参数SymbolP arameterMinMaxUn itVILInput Low V oltage-0.50.8VViHInput High V oltage2.0VccVV OL

8、(DB)Out put Low V oltage(Date Bus)0.45*VV OL(PER)Out put Low V oltage( Perip heral Port)0.45*VV OH(DB)Input Low V oltage(Date Bus)2.4VV OH(PER)Input Low V oltage(Peripheral Port)2.4VIdarDarti ngton Drive Curre nt-1.0-4.0mAiccPower Supply Current120mAIlLInput Load Current 10AloFLOutput Float Leakage

9、10A输入最低电压:min -0.5V,max 0.8 V ,输入最高电压:2.0 V。输出最低 电压:0.45 V输出最高电压:2.4 V 。2丄ED显示器1)作用LED发光二级管(Light-Emitting Diode ),在本设计中采用7段数字发光二 级管,做为终端显示。2) LED功能分析图2-3 LED图示1物理构造:LED发光二级管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN吉,具有单向导电性。2工作原理:当在发光二极管PN吉上加正向电压时,PN吉势垒降低,载流子 的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这 样相互注入的空穴与电子

10、相遇后会产生复合,复合时产生的能量大部分以光的形 式出现。3数字成像:将七个发光管进行组合,排列成数字图形 8,再根据需要控制 七个管的亮与灭,即可显示出定义数字。41位,七段代码的各位用作a-g和实验中采用的是共阴极七段 LED显示器,他由多个发光二极管组成,七段或八 段笔画显示器,当段组发亮时,便可显示数字 Dp的输入,当对应的位为1时,则该段亮。数码管内部结构3) LED显示管段选码编码表表2-3 LED段选码数字DPgfedcba二进制编码(字形)0001111113FH10000001103H2010110115BH3010011114FH40110011066H5011011016

11、DH6011111017DH70000011107H8011111117FH9011011116FHA0111011177HB011111007CHC0011100169HD010111105EHE0111100179HF0111000171H4)技术参数表2-4 LED技术参数PCWIfVrIrIfRP对应型号散射颜色BT-235-2 70255=1.5*图3- 1主程序流程图返回显示子程 序返回设置时间 初值图3-2判断时间控制流程图返回设置间隔NY秒十位加1个位清零返回设置间隔秒十位是否为6Y秒十位清零分个位加1返回设置间隔图3-3进位判断db位选码;重新显示下;若一秒判断c0;复位3)

12、控制程序.MODEL TINYpcibar3 equ 1ch ;8 位 i/o 空间 基地址(它就是实验仪的基地址,也 为dma & 32bitram 板卡上的8237提 供基地址) ven dor_iddevice_id .stack 100 .data io_bit8 msg0 db $ msg1 db 卡$ msg2 dbpa_add pb_add pc_add .code Light 3fh,06h,5bh,4fh,66h,6dh,7dh,07h, 7fh,6fh ;存储表示数字的各段选码分别表示为0-9tim db 00h,00h,00h,00h;存储要显示的四个时间量 start:

13、 mov ax,datamov ds,axnopcall in it pcicall modifyaddress ;根据pci提供的基地址,将偏移地址转化 为实地址main: mov dx,com_add;写8255a方式控制字mov al,88h;设置端口 a为工作方式 出端口mov al,10001000b ;pc4为输入,pc3到pc0为输 出;端口 b为输出并工作在方式0out dx,al mov dx,p c_add mov al,11111111b out dx,al mov si,offset tim;设置tim的偏移地址于si中mov ah,1mov si,ahmov si+1

14、,ahmov si+2,ahmov si+3,ahmov ah,30;设置一秒钟循环显示的次数 mov di,offset tim+3 mov cl,11111110b ;dis p: mov al,dimov bx,offset light xlatmov dx,pb_add ; 写入端口 bout dx,al;将从light空间内读取的段 选码输入到端口 bmov al,cl mov dx,p a_addout dx,al ; 将位选码送入 端口 acall delay ; 调用延时子程序cmp cl,11110111b jz timi ng dec di rol cl,1jmp dis

15、p一位guodu: jmp go tim ing: dec ahjnz ctrl未显示30次则转向以上显示四个时间 量的程序显示30次mov dx,p c_add ;口开关端口 pc7输入是否为in al,dxtest al,10000000bjnz initmov al,0mov ah,1 mov bl,5 mov bh,6 mov ch,10 add si+3,ah ;的时间量加1cmp si,ah jb mi n5 cmp si+1,bl jb callh call stro ngalarm jmp timead mi n5: cmp si+1,bl jnz mi n6 call sof

16、talarm jmp timead mi n6: cmp si+1,bh jb timead call hurryalarm callh: call hurryalarm jmp timead timead: cmp si+3,ch jnz go mov si+3,al add si+2,ah cmp si+2,bh jnz guodu mov si+2,al add si+1,ah cmp si+1,ch jnz guodu mov si+1,al add si,ah jmp go softalarm proc;柔和声音子程序 p ush ax p ush bx p ush cxmov bx

17、,10soun d1: mov dx,p c_addmov al,11111110bout dx,al ;mov cx,0fffh秒个数;叫声次数蜂鸣器;延时蜂鸣器;延时waitl: Io op waitl mov al,11111111b out dx,al mov cx,Offfh ; 延时每次 叫声持续的时间 waitti: loop waittidec bx jne soundl pop cx pop bx pop ax ret softalarm endp hurryalarm proc;急促声音伴随黄灯闪烁子程序P ush ax p ush bx p ush cx mov bx,2

18、5 soun d2: mov dx,p c_add mov al,11111100b out dx,al ;mov cx,0fffh wait2: loop wait2mov al,11111111b out dx,al mov cx,0fffh waitt2: loop waitt2 dec bx jne sound2 pop cx pop bx pop ax ret hurryalarm endp stro ngalarm proc;尖锐声音伴随红灯闪烁子程序P ush ax p ush bx p ush cx mov bx,50 soun d3: mov dx,p c_add mov a

19、l,11111010b out dx,al ; 蜂鸣器;是否存mov cx,0fffh ; 延时 wait3: loop wait3mov al,11111111bout dx,almov cx,0fffh waitt3: loop waitt3dec bxjne sound3pop cxpop bxpop axretstro ngalarm endp delay proc ;延时子程序p ush cxmov bl,20del: mov cx,1000 waitd: loop waitd dec bljnz delpop cxretdelay endpin it pci proc n earm

20、ovah,00hmoval,03hint10hmovah,0b1hmoval,01hint1ahcmpah,0jzin it pci2leadx,msg0;清屏in it pci1: movah,09hint 21hjmp exit in it pci2: mov ah,Ob1hmov al,02hmov cx,device_id mov dx,ve ndor_id mov si,0 int 1ah jnc in it pci3 在 star pci9052 板卡lea dx,msg1 jmp initpcH in it pci3: mov di, pcibar3mov ah,0b1h mov

21、 al,09h int 1ah ;读取该卡 pci9052基地址jnc initpci4 lea dx,msg2 jmp initpcH in it pci4: and cx,0fffchmovio_bit8_baseaddress,cxretin it pci endp modifyaddress proc n earadd com_add,cxadd p a_add,cx add p b_add,cx add p c_add,cx ret modifyaddress endp exit: mov ah,4chint 21hend start四、设计结果分析及问题讨论1 .上机调试过程1上机

22、过程中由于事先对实验的具体实际要求理解不彻底,所以导致实验方 案失败,重新修改了方案;2上机运行后,数码管显示数字不对,经检查,发线问题出在数码转换表定义有误;3程序的时间控制部分写得不够完善, 导致计时到15分钟后报警音混乱。经 思考,修改了程序。4最后在报警声音方面上又遇到了问题, 没有达到预期的声音逐渐增强的效 果。通过反复的对声音模块参数的修改终于达到了预期效果。58253直输出方波,使得蜂鸣器不停的发声。解决方法:在指定的发声位 置调用发声延时并通过控制8253计数器2的门控信号控制发声的停止。将不同的 发声程序定义不同的实现过程。6蜂鸣器正常发声后,出现了不能及时将其关闭的问题,经

23、过思考后决定采 用8255的PCG作为GAT门控信号,对8253的计数器2进行控制,解决这个问题的关 键是对8255的PC0t行置位/复位,以此来控制8253开始和停止输出方波。2.课程设计结果及分析 1)设计结果程序开始运行时,四个LED丁从00分00秒开始显示时间,并隔相应的时间加 一秒,一直显示到59分59秒,然后又从00分00秒开始显示,如此循环下去。当时 间显示到50分00秒时,扬声器发出较柔和的声音,到60分00秒时,扬声器发出较 急促的声音,黄灯闪烁,到15分 00秒时,扬声器发出尖锐的报警声,红灯闪烁。 每次拨开关为高电平时,LED丁就变成从00分00秒开始显示。2)结果分析1

24、数码管的显示使用段选和位选的方法进行控制, 即用位选来选择哪一个显 示灯亮,用段选来控制显示器显示的时间值。 设计中因为时间的确定决定着发声 和灯亮的操作,故一定要设置一个时间数字的缓冲区, 以便于对时间的变化进行 查询。本次设计中最为重要的是定义段码表,其作用可归纳为:(1) 初始状态时,时间为00: 00这时要利用段码表提供的数和位选依次对各 个位进行赋值。(此时偏移地址为0)(2) 计时时通过改变缓冲区内的数值值,以此作为换码指令的偏移地址,通 过换码指令得到应该在数码显示器中显示的时间值。2时间变化过程中要进行查询,注意与 0, 5, 6,10几个敏感的数值进行比 较,通过比较进行相应

25、的操作。功能扩展后,为了实现可控时间的发声,还需要与7、& 9三个数字进行比较,从而发出特定的报警声。3本设计中峰鸣器的发声由8253完成,通过在计数器中打入不同的计数初值,使8253在特定的工作方式下实现峰鸣器发出不同频率和强度的报警声。 8253要与8255的C口相连,8255向8253输出门控信号,通过对8255控制口写C口置位复 位控制字,控制PC(置1,使8253以方式3产生方波,从而驱动蜂鸣器的发声。3)收获、体会和建议1通过本次课程设计,对8255的工作方式尤其是方式0有了进一步的了解。 8255有三个8位端口 PA PBffiPC,各端口都可由程序设定为各种不同的工作方式。 在

26、本设计中A口工作于方式0,低4位用作位选码;B口工作于方式0,8位用于段选 码,C口也工作于方式0,高4位用于输入口,低4位用于输出口。2通过本次课程设计对七段LED数码显示器的发光原理有了进一步的了解。发光二极管是一种当外加电压邙阳极电压接高电位)超过额定电压时发生击穿, 并因此能产生可见光的器件。数码显示管通常由多个发光二极管来组成 7段或8段笔画显示器,当段组合发亮时,便可显示某一数码或字符。本设计有 4位七段LEE接口电路,共有4个七段发光二极管的器件。为了减少所用器件的数量, 这个电路可以和4个8位并行输出口连接。4个显示器共用同一组段代码输出线,但通过数位选择线,在任何时间内只有一个显示器能够显示其代码。 为了实现这一功 能,可让每个显示器接通一小段时间,以显示其对应的数,并且循环显示这 4个 数,以达到一秒的时间。这样可,人们看上去好象 4个显示器都在同时显示。3充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用 相结合的实践和锻炼

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1