基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc

上传人:文库蛋蛋多 文档编号:2385312 上传时间:2023-02-17 格式:DOC 页数:10 大小:301KB
返回 下载 相关 举报
基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc_第1页
第1页 / 共10页
基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc_第2页
第2页 / 共10页
基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc_第3页
第3页 / 共10页
基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc_第4页
第4页 / 共10页
基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc》由会员分享,可在线阅读,更多相关《基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言.doc(10页珍藏版)》请在三一办公上搜索。

1、接口课程设计任务书学生姓名 专业班级 指导老师 工作单位 计算机科学与技术学院 题目:基于人工按钮声(2000HZ)光报警器的设计 (C程序设计语言)一、 内容:在MIFID微机实验台上按下SW3按钮,发出声音报警,同时指定发光二极管LED点亮报警。接口硬件电路图见说明书。二、 要求:1、 指定发光二极管LED点亮报警的数据存储在文件中。2、 按下SW3按钮,输出为0。由并行接口8255A的PC2接收SW3按钮的开关量。然后使并行接口8255A的PC6产生2000频率的方波,使喇叭发出声音报警,同时从文件中取出一个8位二进制数从PA口输出,点亮发光二极管LED报警。3、 如果键盘输入任意键,则

2、退出声光报警。4、 设计程序运行时的界面友好。三、 进度安排:序号内容所用时间1接口电路设计2天2编写程序1天3调试程序1天4撰写课程设计报告1天合计5天指导教师签名: 年 月 日 系主任(责任教师)签名: 年 月 日 1 问题描述在MIFID微机实验台上按下SW3按钮,发出声音报警,同时指定发光二极管LED点亮报警。要求:(1)指定发光二极管LED点亮报警的数据存储在文件中。(2)由并行接口8255A的PC2接收SW3按钮的开关量。然后使并行接口8255A的PC6产生2000频率的方波,使喇叭发出声音报警,同时从文件中取出一个8位二进制数从PA口输出,点亮发光二极管LED报警。(3)如果键盘

3、输入任意键,则退出声光报警。(4)设计程序运行时的界面友好。2 具体设计2.1 实验资源(1)MFID实验平台上的 J(8253)、I(8255)、R(音乐发生器)和 模块电源四个电路模块 ;(2)8255的4个端口地址为300H303H, 其中A口为300H,B口为301H,C口为302H,命令口为303H;(3)8253的四个端口地址为304H307H, 其中通道0为304H,通道1为305H,通道2为306H,命令口为307H。2.2 设计分析2.2.1 设计原理报警音通过8253以可编程控制方式来控制其频率和延时,可分别发出高低频音;报警灯通过从8255的A口选择不同的字控制8个LED

4、灯的显示,其显示数据通过 文件读入到数组中,待启动时将数据依次读入A口。2.2.2 芯片8255(1)端口8255是可编程I/O扩展芯片,对8255输入不同的指令可改变I/O口的工作方式。8255有3个输入输出端口:端口A,端口B,端口C。(2)引脚:PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。PB0-PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PC0-PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁

5、存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。(3)编程命令8255有两个编程命令,即工作方式命令和对C口的按位操作命令,其格式分别如下图; 图2-1 8255工作方式命令 图2-2 C口按位操作命令2.2.3 芯片8253 (1)8253内部结构如下图: 图2-3 8253内部结构 其中面向I/O设备的信号线主要有: 1)计数器时钟信号CLK:为计数器提供时钟信号。 2)计数器门选控制信号GATE:用来禁止、开始计数器的计数过程。 3)计数器输出信号OUT:当计数值减为0时,计数器输出信号OUT, 表示计数或定时已到。 (2)工作方式 8253有三个通道,其中每个

6、通道都有6种工作方式(0方式5方式)可供选用。课设选择方式3,其时间常数自动重装;输出周期性脉冲信号。 计数方式:计数开始后,前一半为高电平,后一半为低电平。 启动方式:软件启动和硬件启动相结合。 1)在GATE=1时,写入计数初值后,开始启动计数; 2)写入计数初值后,若GATE=0,计数不启动;当GATE=1,开始启动计数。(3) 工作方式控制字 通过工作方式控制字,来选择计数器、写入顺序、工作方式和计数形式 图2-4 8253工作方式控制字2.2.4 具体设置 1)8255芯片方面,将A口和PC后四位作为输出,B口和PC前四位作为输入, 因而其工作方式命令为0x83; 8253芯片方面,

7、选择计数通道2,工作方式3,因而8253控制字设为0xb6。 2)将PC2与SW3相连,控制按键的触发,PC6与GATE2相连,控制8253的开关。 3)输出频率 fOUT=fCLK/N(计数初值)或 N=fCLK/fOUT 其中fCLK为1.1938MHZ,fOUT为2000HZ,因而计数初值为596.2.3 硬件设计本课设具体硬件设计图如下: 图2-5 硬件设计图从图中可以看出,PC6直接连接了扬声器的门控,扬声器的音调由芯片8253输出的频率来控制,计数器2的输出端out2直接连到扬声器的音调,芯片8253的工作方式为方式3,用来输出方波。此电路图中省略了芯片8253的连线。8255的A

8、端口的8个引脚分别与8个LED灯相连,A口作为数据输出端口,LED灯用来显示A口的数据。程序中通过cpu直接向A口写入数据,然后再输出到LED灯显示出来。写入的数据由一个数组保存着,程序循环读取数组,用对应的8个发光二极管显示开关状态。开关SW3直接与PC2相连,决定PC2的值。2.4 软件设计本课设具体设计流程图如下: 图2-6 设计流程图 3 操作步骤3.1 硬件连线跳线设置:单线将模块电源L区JP7和JP8跳接;排线将模块电源L区JP8跳接。单线接法如图所示:排线接法如图所示:3.2 初始化将平台的电源开关拔到“内”的位置上。在配套集成环境下进行硬件检测,达到初始化芯片的目的。3.3 程

9、序运行打开集成环境在“文件”菜单下选择新建自己的CPP文件进行调试、运行。并观察运行结果。4 调试报告此次程序设计过程中,也出现了一些大大小小的错误,对于我们初学者来说,设计基于人工按钮声(2000HZ)光报警器的设计这个程序确实有些困难,以前接触到的都是一些比较简单比较基础的东西。编程过程中,对于声光报警器的原理以及流程图、芯片结构等不是很了解,调用DOS功能时也有一些模糊,出现了一些错误,最后经过网上查资料与研究课本上讲的发声程序的内容,对这些内容有了很多的理解,在发声程序的设计中,最主要的是了解原理,比如要如何设置定时器模式等初始化过程,数据口与控制口的设置。将一些错误改正过之后,调试运

10、行,得出了正确的运行结果。5 运行结果分析按照要求接线后,打开电源,然后运行程序,按下开关SW3,扬声器发出特定频率的声音,同时LED灯按照预定的规律闪烁。运行结果符合课程设计要求。6 心得体会此次的微机原理与接口技术设计的是基于人工按钮声(2000HZ)光报警器的设计(C程序设计语言),跟以前微机实验有些类似,或者是以前实验的综合。硬件设计方面,基于以前实验的基础,对于8255和8253芯片的应用再次应用熟稔于心。起先没用到8253来着,照样能完成声光报警,不过频率不好控制,也不知道其具体频率是多少,后来将8253介入,明明确确设置初始值,输出相应频率来控制报警声。此外对于LED发光的顺序,

11、要做到报警的效果,设计时采用轮流从两边开始亮到中间。 编程方面,采用的是C语言,其中主要是C库函数的调用,要对头文件有一定的了解,尤其是本课设要求从文件中读入LED点亮的顺序,很像编译实验中的一些处理过程。总之,经过本次课设,体会到硬件软件两手都要抓,两手都要硬,暂且不说实验板是否有问题,单就设计和连线与在相应平台上编程实现方面,做好这些,课设也就解决了大半。7 参考文献1 刘乐善.32位微型计算机接口技术及其应用M.武汉:华中科技大学出版社,2006.2 32位微机实验指导书M/OL.华中科技大学计算机学院.本科生课程设计成绩评定表班级: 姓名: 学号:序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名: 2011 年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号