1、中北大学汇编语言程序设计实验周说明书 学 生 姓 名 尹 博 弘 学 号 0806054134学 院 电 子 与 计 算 机 科 学 技 术 学 院 专 业 计 算 机 科 学 与 技 术题 目 检测与报警器小 组 成 员 尹 博 弘 乔 慧 芬 范 建 华 黎 明 王 海 南 指导教师: 陈够喜 潘广贞 张建华 乔道迹 2011 年 1 月 I目 录1 需求分析 .11.1 设计背景 .11.2 设计目的 .11.3 设计内容 .11.4 设计要求 .22 设计方案 .32.1 设计思想 .32.2 所用芯片工作原理 .32.3 数码管显示原理 .43 详细设计 .53.1 电路设计 .53
2、.2 检测与报警器程序设计流程图 .63.3 程序参数说明 .73.4 程序源代码 .73.4.1 开关检测与报警程序代码 .73.4.2 ADJ 电位器检测与报警程序代码 .114 设计总结 .165 参考文献 .1711 需求分析1.1 设计背景现在社会存在越来越多的安全问题,随着各种事故的发生,安全已经成为当下最值得关注和解决的问题。随着安全问题关注度的提高,许多关于安全方面的技术应用而生,检测与报警器就是用来解决安全这方面的问题的。众所周知,随着人们生活水平的不断提高,汽车已然成为人们生活中不可或缺的一部分,但是随着而来的是车辆被盗的数量逐年上升,这给社会带来极大的不安定因素,担心车辆
3、被盗,成为困扰每一位汽车用户的难题。所以在车辆上安装防盗报警系统是很有必要的。还有很多别的地方也都用到了检测,尤其是在一些是实验中需要检测压力,温度等,当超过某一个值的时候可能会使器件发生故障,甚至可能会引发一些事故,所以为了安全问题进行适当的检测是很必要的。1.2 设计目的这次汇编语言程序设计课程设计,可以通过硬件实现检测与报警系统。此系统可以应用于汽车防盗报警,使用报警系统在很大程度上有效的保护了国家和人民的财产安全,同时车辆防盗报警系统的使用也减少了盗窃犯罪事件的发生,起到了一定威慑的作用。检测报警系统也可以应用于检测压力与温度等,当压力与温度超过安全值的时候通过警报让人们产生警觉,从而
4、对所检测的值进行控制,使它的值低于临界值,这样可以避免一些不必要的事故发生,保证了人们生命和财产的安全。在此次课程设计中最主要的目的是通过课程设计巩固以前学过的知识,熟练掌握汇编语言程序设计的知识,并把软件工程中学到的知识应用于实践中,熟悉在一个系统的设计中应该有哪些步骤。锻炼我们写文档的能力。通过课程设计可以把理论与实践相结合,在加强了对理论知识的了解的同时也增强了自己的动手能力。还有在课程设计过程中可以培养团队合作的精神。1.3 设计内容根据设计任务和要求,在设计前必须对微机原理与接口技术中的 8255 芯片和 LED 显示器熟悉了解和掌握。设计中主要完成的是发声报警,发光报警和 LED
5、显示器计时这三部分2功能,故在程序设计中只要设计触动开关则 8 个 LED 指示灯不停闪烁,同时内部扬声器发出警报声。光闪和警报声结束后,LED 显示器开始计时。在检测报警过程中,主要实现的是 ADJ 检测。检测过程中会在 LED 显示器上显示相应的检测数据。若检测的数据超过给定的范围,就会发出警报。1.4 设计要求(1)设计硬件电路 ,说明信号连接情况; (2)编写控制程序,并调试至能完成其功能并正确检测与报警为止; (3)编写实验周预习报告及设计报告。32 设计方案2.1 设计思想设有此系统为汽车防盗报警系统,当有人触碰汽车时便会发出间断警报声,车灯循环闪烁,一段时间后警报声停止,并且车灯
6、停止循环闪烁,此时开始倒计时,如果在倒计时期间车再次被触碰,则发出持续警报声并车灯整体闪烁,一段时间后警报声停止并且车灯停止闪烁,如果汽车没有被再次触碰,则倒计时结束后即停止。根据现有实验箱的一组实验电路,我们模拟了汽车防盗报警系统,当触动开关时,内部扬声器发出间断的蜂鸣声,并且 4 个 LED 指示灯循环闪烁。一段时间后,LED 指示灯熄灭,蜂鸣声停止。随后 LED 显示屏开始从 9 到 0 倒计时,若在倒计时的过程中,再次触动开关,就会发出所设计的第二种警报:内部扬声器发出持续蜂鸣声,并且 4 个 LED 指示灯共同忽明忽暗闪烁。同样持续一段时间后,LED 指示灯熄灭,蜂鸣声停止。根据实验
7、箱的另一组实验电路,在检测报警过程中,主要实现的是 ADJ 检测。检测过程中会在 LED 显示器上显示相应的检测数据。若检测的数据超过给定的范围,内部扬声器发出间断的蜂鸣声,并且 4 个 LED 指示灯循环闪烁。一段时间后,LED 指示灯熄灭,蜂鸣声停止。2.2 所用芯片工作原理8255 是可编程 IO 口扩展芯片。对 8255 输入不同的指令可改变 IO 口的工作方式。8255 与单片机系统连接方式简单,工作方式由程序设定。8255 内部有 4 个寄存器:分别为寄存器 A、B、C 和控制寄存器。A、B、C 寄存器的数据就是引脚 PA7PA0、PB7PB0、PC7PC0 上输入或输出的数据。而
8、控制寄存器的数据则表明 PA、PB、PC 的工作方式。在课程设计中,A 口,B 口均做输出,C 口高四位做输出,低四位做输入。对控制寄存器写入的数据为 10000001B,即 81H。8255 引脚功能:PA0PA7: 端口 A 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数据输入锁存器。PB0PB7: 端口 B 输入输出线,一个 8 位的 I/O 锁存器, 一个 8 位的输入输出缓冲器。4PC0PC7: 端口 C 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数据输入缓冲器。端口 C 可以通过工作方式设定而分成 2 个 4 位的端口, 每个 4 位的
9、端口包含一个 4 位的锁存器,分别与端口 A 和端口 B 配合使用,可作为控制信号输出或状态信号输入端口。2.3 数码管显示原理 七段数码管显示如图 1 和表 1 所示。af bge cd 图 1 七段数码管显示表 1 七段数码管的字型代码表显示字形 dp g f e d C b a 段码0 0 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 0 06H2 0 1 0 1 1 0 1 1 5BH3 0 1 0 0 1 1 1 1 4FH4 0 1 1 0 0 1 1 0 66H5 0 1 1 0 1 1 0 1 6DH6 0 1 1 1 1 1 0 1 7DH7 0 0 0
10、0 0 1 1 1 07H8 0 1 1 1 1 1 1 1 7FH9 0 1 1 0 1 1 1 1 6FHA 0 1 1 1 0 1 1 1 77HB 0 1 1 1 1 1 1 1 7FHC 0 0 1 1 1 0 0 1 39HD 0 0 1 1 1 1 1 1 3FHE 0 1 1 1 1 0 0 1 79HF 0 1 1 1 0 0 0 1 71H53 详细设计3.1 电路设计PA0PA1PA2PC3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7X1PC3PC2PC1PC0PC4PC5PC6PC7825574LS07SW-LED UNIT74LS07+5V
11、4.7K*8+5V4.7K4.7K83216547X2X3X4AY2Y1CDBEFGDPLED-KEYBOARD UNITD7D6D5D4D3D2D1D0SPEAK UNITSPKD7 D6 D5 D4 D3 D2 D1 D0 CS WR RD IN0IN7 ABCADC UNITXD7XD6 XD5 XD4 XD3 XD2 XD1 XD0 IOY0 XIOW XIOR 系统总线A D JGND图 2 ADJ 电位器检测与报警程序电路设计图图 2 为 ADJ 电位器检测与报警程序电路设计图,由 5 部分组成:(1) 输入编码单元;(2) 语音单元;(3) 8255 并行接口;(4) LED 显
12、示单元;(5) ADJ 调节单元。63.2 检测与报警器程序设计流程图图 3 开关检测与报警程序流程图YN开关按下?开关是否再次按下?间断蜂鸣,循环亮灯延时选择显示屏CALL LED 子程序调用 LED 显示字符开始结束YNOUT 63H,控制字IN AL, 62H报警,亮灯OUT 63H,控制字OUT 60H,第 2 个 LED 显示亮延时73.3 程序参数说明表 2 参数说明表参数名称 参数说明TABLE 用于存放 0-9 的 LED 数码显示的对应的编码值LED 用于在 LED 显示屏显示数字倒计时A1 当开关第一次被触发的报警方式A2 结束语句A3 当开关在倒计时过程中再次被触发时的报
13、警方式DELAY 用于延时TABLE1 用于存放 AD0809:IN0 TABLE2 用于存放 0-F 的 LED 数码显示的对应的编码值XIANSHI 用于显示检测 ADJ 对应的字模SOUND 超过 ADJ 检测的范围产生的报警方式DALLY 用于延时3.4 程序源代码3.4.1 开关检测与报警程序代码STACK SEGEMNT STACK ;定义堆栈段DW 64 DUP(?)STACK ENDSDATA SEGMENT ;字模表TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,27H,7FH,6FHDATA ENDS CODE SEGMENT ;定义代码段ASSU
14、ME CS:CODE, DS:DATAMAIN PROCSTART:MOV AL, 81H ;A 口、B 口做输入,C 口低四位做输出,确定控制字为100000018OUT 63H, AL ;在控制口输出BEGIN:IN AL, 62H ;从 C 口读入TEST AL, 03H ;判断是否按下开关,C 口的低两位与开关相连,与 03H 相比JNZ LLL ;若非 0,表示开关没有按下,则执行此语句JMP HHH ;否则,表示开关按下,跳转到 HHHLLL: JMP A2HHH: MOV CX, 8 ;灯和蜂鸣器分别循环八次 A1: MOV AL, 11000000B ;第一种报警方式的初始状态
15、C 口的高两位与蜂鸣器相连,蜂鸣器高电平有效OUT 62H, ALMOV AL, 08FH ;LED 指示灯初始状态,低电平有效OUT 60H, AL PUSH CX ;此下四句为延时MOV CX, 0F1: LOOP F1POP CXMOV AL, 04FH ;灯右移一位的状态OUT 60H, AL PUSH CX MOV CX, 0F2: LOOP F2POP CX MOV AL, 02FH ;灯右移一位的状态OUT 60H, ALPUSH CXMOV CX, 0F3: LOOP F3POP CXMOV AL, 01FH ;灯右移一位的状态OUT 60H, AL PUSH CXMOV CX, 0F4: LOOP F4POP CX
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。