微型计算机课程设计声光报警器的设计与制作_第1页
微型计算机课程设计声光报警器的设计与制作_第2页
微型计算机课程设计声光报警器的设计与制作_第3页
微型计算机课程设计声光报警器的设计与制作_第4页
微型计算机课程设计声光报警器的设计与制作_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目目 录录1 1 需求分析需求分析.11.1 开发背景.11.2 课程设计目的.11.3 课程设计要求.11.4 资源配置.11.5 开发环境介绍.12 2 概要设计概要设计.22.1 硬件介绍.22.1.1 可编程并行接口 8255A.22.1.2 发光二极管 LED.42.1.3 低电压音频功率放大器 LM386.42.1.4 74 LS04.52.1.5 LM336- 2.5V 基准二极管.52.2 实现原理.62.3 设计步骤.63 3 详细设计详细设计.73.1 绘制电路图.73.1.1 电路原理图.73.1.2 电路 PCB 图.73.2 搭建电路板.83.2.1 元器件清单.83

2、.2.2 硬件连线.83.3 流程图.83.4 程序设计.94 4 调试与操作说明调试与操作说明.104.1 调试要求.104.2 调试与操作.105 5 总结体会总结体会.11致致 谢谢.12附附 录录.13参考文献参考文献.1811 1 需求分析需求分析1.11.1 开发背景开发背景现代生活中,报警器的应用随处可见,银行装有防盗报警器,医院、学校装有安全报警器,普通家庭中也装有报警器,启动报警器,生命和财产安全都得到了保障。随着科技的进步,报警器的制作也越来越先进,发展也越来越快。各式各样的报警器,也将应用于更多领域,深入到人们生活的各个方面。1.21.2 课程设计目的课程设计目的熟悉可编

3、程并行接口芯片 8255 的使用,学习开关量接口电路及其控制程序的设计方法。 1.31.3 课程设计要求课程设计要求1、产生 8 种彩灯(8 位 LED)的走马灯花样。2、产生 8 种不同的声音。3、产生声音的同时,伴有彩灯闪亮。4、键控发声:在键盘上定义 8 个数字键(07) ,每按 1 个数字键,喇叭发一种频率的声音,按 ESC 键,停止发声。5、键控发光:在键盘上定义 8 个数字键(07) ,每按 1 个数字键,LED 的 1 位发光,按 Q 或 q 键,停止发光。1.41.4 资源配置资源配置1.电源:机内供电2.电缆线:采用单线/26 芯扁平电缆3.I/O 端口地址:8255A 的

4、4 个端口地址为 300H-303H,其中 A 口300H, B 口301H,C 口302H,命令口303H4.软件资源:C 语言集成开发环境软件1.51.5 开发环境介绍开发环境介绍1、 PC 兼容机2、 Windows 20003、 MFID 多功能微机实验平台(含 PCI 总线驱动板)4、 MF2KI 集成开发环境,提供了丰富的汇编语言和 C/C+语言程序开发工具22 2 概要设计概要设计2.12.1 硬件介绍硬件介绍2.1.12.1.1 可编程并行接口可编程并行接口 8255A8255A 8255A 是一个具有两个 8 位(A 口和 B 口)和两个 4 位(C 口高/低 4 位)并行

5、I/O 端口的接口芯片;它为 Intel 系列 CPU 与外部设备之间提供 TTL 电平兼容的接口,如打印机,A/D,D/A转换器,键盘,步进电机以及需要同时两位以上信息传送的一切形式的并行接口。一、可编程并行接口 I8255A, 其内部结构如图 2.1 所示,由以下 4 个部分组成:图 2.1 8255A 内部结构图数据总线缓冲器 读/写控制逻辑 输入/输出端口 A、B、C A 组和 B 组控制电路二、8255A 外部引脚如图 2.2 所示 3图 2.2 8255A 引脚图1.和外设一边相连的:PA7-PA0:A 组数据信号 PB7-PB0:B 组数据信号 PC7-PC0:C 组数据信号2.

6、和 CPU 一边相连的:RESET:复位信号,低电平有效。当 RESET 信号来到时,所有内部寄存器就被清除,同时,3 个数据端口被自动设为输入端口。D7-D0:它们是 8255A 的数据线,和系统数据总线相连。:芯片选择信号,低电平有效。在一个系统中,一般根据全部接口芯片来分配若干较低位地址(比如 A5、A4、A3)来组成各种芯片选择码,当这几位地址组成某一个代码时,译码器便往 8255A 的端输出一个低电平,于是 8255A 被选中。只有当有效时,读信号和写信号才对 8255A 有效。:芯片读出信号低电平有效。:芯片写入信号低电平有效。A1、A0:端口选择信号。8255A 内部有 3 个数

7、据端口和一个控制端口,共四个端口。规定当 A1、A0 为 00 时,选中 A 端口;为 01 时,选中 B 端口;为 10 时,选中 C 端口;为 11 时,选中控制口。三、8255A 的 PC 口8255A PC 口的使用比较特殊,它的作用与 8255A 的工作方式有关,它除了作数据口以外,还作状态口、专用(固定)联络(握手)信号线、按位控制用。 4在 3 种不同工作方式下,8255A 的 C 口的功能有比较大的变化。具体变化如下:1)0方式下,C 口有两种功能:作数据口(4 位并行数据口,分高/低 4 位) ;作按位控制,按位输出逻辑 1 或逻辑 0。2)1 方式下,C 口有 4 种功能:

8、作 A 口和 B 口的固定联络信号线;作 A 口和 B 口的状态口;作位控,按拉输出逻辑 1 和逻辑 0;作数据口,未分配作固定联络信号的引脚,可作数据线用。3)2 方式下,C 口有 4 种功能,与 1 方式类似。它的 PC 口具有按位置位/复位功能,为按位控制提供了强有力的支持。利用 PC 口的按位控制特性还可以产生正、负脉冲或方波输出,对外设进行控制。按位置位/复位命令产生的输出信号,可作为控制开关的通/断,继电器的吸合/释放,电机的启/停等操作的选通信号。8255A 的编程命令包括工作方式命令和对 PC 口的按位操作命令按位置位/复位命令字作用:指定 PC 口的某一位(某一个引脚)输出高

9、电平或低电平。格式:8 位,其中最高位是特征位,一定要写 02.1.22.1.2 发光二极管发光二极管 LEDLED发光二极管的核心部分是由 p 型半导体和 n 型半导体组成的晶片,在 p 型半导体和 n 型半导体之间有一个过渡层,称为 p-n 结。在某些半导体材料的 PN 结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以注入,故不发光。它的制作利用注入式电致发光原理,通称 LED。2.1.32.1.3 低电压音频功率放大器低电压音频功率放大器 LM386LM386LM386 是一种音频集成功放,具有自身功耗

10、低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。LM386 的外形和引脚的排列如图 2.3 所示。引脚 2 为反相输入端,3 为同相输入端;引脚 5 为输出端;引脚 6 和 4 分别为电源和地;引脚 1 和 8 为电压增益设定端;使用时在引脚 7 和地之间接旁路电容,通常取 10F。图 2.3 LM386 外形和引脚排列图5LM386 典型应用电路如图 2.3 所示:图 2.3 LM386 应用电路图2.1.42.1.4 7474 LS04LS04 非门的一种常见类型,可以用来把高电平转换为低电平,其内部结构图如图 2.4,其引脚排列图如图 2

11、.5。 图 2.4 74LS04 内部结构图 图 2.5 74LS04 引脚排列图2.1.52.1.5 LM336-LM336- 2.5V2.5V 基准二极管基准二极管LM336 的管脚及电路符号如图 2.4 所示:6图 2.5 LM336 管脚及电路符号图2.22.2 实现原理实现原理利用 8255A 的 PC6,产生方波,经滤波和功放后,送到喇叭,能产生不同频率的声音,其程序段为: do for(j=0;j=100;j+) outportb(0 x303,0 x0d);/令PC6=1,发高频音 delay(k); outportb(0 x303,0 x0c);/令PC6=0,关闭SPK d

12、elay(k); for(j=0;j=10;j+) outportb(0 x303,0 x0d); delay(k*10);/令PC6=1,发低频音 outportb(0 x303,0 x0c);/令PC6=0,消音 delay(k*10); while(!kbhit();/按任意键退出若改变 DELAY1 的延时时间,即可改变喇叭发声的频率。2.32.3 设计步骤设计步骤 1、进行声光效果(报警器)系统电路硬件设计,画出电路原理图、PCB 图或7元器件布线图2、安装或焊接元器件 3、进行声光效果控制程序设计4、调试、编译连接运行3 3 详细设计详细设计3.13.1 绘制电路图绘制电路图3.1

13、.13.1.1 电路原理图电路原理图利用 Protel 绘出的电路原理图如图 3.1 所示 图 3.1 电路原理图3.1.23.1.2 电路电路 PCBPCB 图图原理图生成 PCB 图如图 3.2 所示8图 3.2 电路 PCB 图3.23.2 搭建电路板搭建电路板3.2.13.2.1 元器件清单元器件清单发光二极管 (LED) 、 双列直插封装八路开关(SW-DIP8) 、 按键开关( SW-PB ) 、 扬声器 (SPEAKER) 、 完整的八单元内封装集成电阻器之一(RESPACK3) 、 有极性电容器 (ELECTR01) 、 色环电阻 、 非门 74LS043.2.23.2.2 硬

14、件连线硬件连线一、根据电路图准备所需的元器件及若干导线。二、观察面包板,弄清其内部结构、线路应注意,在连线时和对应的竖条为相互连通的,而在 abcde 对应的这一横排为相互连通的。 三、搭建电路,我们具体的步骤如下:(1) 将 8 个二极管放在适当位置。(2) 通过 74LS04 将 8 个二极管和 8255 的 PA 连接起来。(3) 将 8 个电阻和开关 SW-DIP8 放在实验平台适当位置。(4) 通过 8 个电阻将开关 SW-DIP8 和 8255 的 PB 连接起来。(5) 将排阻放在适当位置。(6) 将两个排阻分别与二极管和 8 个电阻连接起来。(7) 将 LM386 放在适当位置

15、。9(8) 将 LM386 通过电容,电阻,开关与 8255 的 PC 连接起来。(9) 通过电容将喇叭与 LM386A 连接起来。注意:74LS04 在引脚连接时应注意引脚顺序为逆时针方向,依次为、14,其中 7 应接地,14 接电源正极。二极管两个引脚中长的引脚为阳极,短的为阴极。LM386A的 8 个引脚的顺序也为逆时针方向。四、在微机平台上测试电路是否搭建正确,用万用表和示波器进行测试。3.33.3 流程图流程图整个设计的流程图如图 3.3 所示,实现了设计要求的五种形式。10开始8255初始化LED熄灭SPK关闭主界面按”1?按”2?按”3?按”4?按”5?子界面SW按下?LED亮任

16、意键按下?LED熄灭主界面“0”键按下?子界面SW按下?SPK响任意键按下?SPK关闭子界面SW按下?LED亮 SPK响任意键按下?LED熄灭子界面按数字键?SPK响按ESC?SPK关闭子界面按数字键?LED亮按”q”键?LED熄灭SPK关闭退出 Y Y YNNNNNNNNNNNNNNNNYYYYYYYYYYYYYY图 3.3 声光报警设计流程图3.43.4 程序设计程序设计见附录,其中 inportb、outportb 为提供端口读写函数,其头文件为 dos.houtportb 即是数据写到端口,inportb 即是将数据从端口读出。114 4 调试与操作说明调试与操作说明 4.14.1 调

17、试要求调试要求 一、硬件要求:MFID 多功能微机实验平台(含 PCI 总线驱动板) ;PC 兼容机;面包板或外设功能模块板。二、软件要求:Windows 2000;MF2KI 集成开发环境,程序采用 C 开发。4.24.2 调试与操作调试与操作一、由于 SW-DIP8 开关引脚有问题,故在程序调试过程中将用一根导线代替开关,如当电阻为 1 时,原本为开关 1 合上去时表示接电阻 1 接通,此时用一根导线将电阻 1 两脚连接起来接通,依次类推 2,3, 。 。 。8。二、运行前先接好所有硬件设施:启动电脑,将搭建的电路板与实验平台通过数据线连接起来。打开实验平台电源开关。三、编译,运行。运行时

18、将操作界面将会有提示:按数字间 1,2,3,4,5 分别进入 5 种功能状态进行选择,按 Q 或 q 键退出。具体操作如下: 1 编译运行进入主界面:2 选择选项“1”:此时,选择 8 码开关,用来选择灯亮的方式, 按 SW 开关,控制开始。如需停止,按 0 键返回。3 选择选项“2”:此时,选择一种 8 码开关,用来选择声音的方式。然后按 SW 开关,控制开始。如需停止,按 0 键返回。4 选择选项“3”:此时,直接按 SW 键产生声音的同时,伴有灯闪亮,按 0 键退出。5 选择选项“4”:此时,可以通过按 1 到 8 键,选择一盏灯亮。例如:按 2 键:此时,电路板上就会有一盏灯亮,按 E

19、SC 键返回主界面。6 选择选项“5”:此时,可以通过按 1 到 8 键,选择一种频率的声音。例如:按 4 键:此时,就会发出一种频率的声音,按 Q 或 q 键返回。四、在程序编译运行后要同时按电路板上单刀双掷开关键才进入工作状态,如果不按下开关,即使程序运行也不会看到实验效果。125 5 总结体会总结体会我所在的组做的是声光报警实验。刚拿到课题的时候,感觉什么都不知道,对硬件的基础知识都一概不知,所以感觉难度好大。于是决定先静下心来,先学习再来做实验。我们组明确分工,我主要负责画图和编程工作,工作量相当大。不过经过努力,学到知识的感觉很不错哦。第一步看书,首先我把刚学过的微机接口书找出来,由

20、于我们这个实验中要用到8255 芯片,所以我对着电路图研究了一下它的端口。这样就为编程打下了基础。第二步画图,首先是听老师讲课,学会了 PROTEL 软件的基本操作方法。然后课下我就根据需要,对着我们的电路图来画原理图。这个过程不太复杂。可是接下来要转化成 PCB 图,设计到封装引脚的问题。对物理原器件一点都不了解的我,到处查找资料,终于把每种引脚的封状方式都找了出来。然后一一添加进去,可是调试的时候又会出现很多的错误。由于软件本身的原因,那些错误都看不懂,只能在图里面慢慢的找。那天画图就画到了一点钟,不过当调试通过以后,自动生成 PCB 图的时候,那份喜悦真是难以形容。第三步编程,由于实验指

21、导书上写着,声光报警器要达到 5 种要求,分别是:1.只有灯亮,八码开关控制 8 种灯光闪烁的形式。2.只有声音,八码开关控制 8 种发出的声音。3.灯光闪烁的同时伴有声音4.键控发声,每按一个数字键(18)则控制一种声音。5.键控发光,每按一个数字间(18)则控制一种灯光的闪烁。起初我的设计只能实现上述一种要求,即第 3 种,声音和灯光一起。可是后来,为了使功能更完善,我参考了C 语言实训教程这本书后面的图书馆实例,决定做成有界面的,可以实现 5 种功能的交互。1、 分析。我采用的是 printf 语句打印出主菜单界面。然后用 switch 语句做功能的选择。其次,在每个功能上都采用函数调用

22、的形式,有的功能里面还有子功能调用。2、画流程图3、采用 C 语言编写,实现上述功能。在实现的过程中也碰到了很多问题,比如说菜单的选择与返回,以及在键控发声与发光时对按键的控制上都还是有点问题,希望以后在老师的帮助下能够将它做得更好。13致致 谢谢整个课题的设计制作完成得比较成功,设计的任务要求都达到了,这里要感谢孙延维老师给我们提出宝贵的意见,给予有效的指导工作,帮助我们解决了很多问题,同时设计的顺利完成也得益于小组成员的分工合作,协同作战,从刚开始的毫无头绪到最后一项一项任务的顺利解决,大家都发挥了各自特长,付出了劳动。在此对大家的努力表示衷心的感谢。14附附 录录#include /ge

23、tvect(); setvect();#include /kbhit();#include /exit(0);#include /printf();int f1();/函数声明int f2();int f3();int f4();int f5();int sound(int s); void DisplayMenu()/打印主菜单 system(cls); printf(nnn); printf(sound-light alarmn); printf(+-+n); printf(|1. produce 8 kinds of light |n); printf(|2. produce 8 kin

24、ds of sound |n); printf(|3. produce light and sound |n); printf(|4. press number 1 to 8,control different kinds of sound(stop when press ESC) |n); printf(|5. press number 1 to 8,control different kinds of light(stop when press q ) |n); printf(+-+n); void main()/主函数 char t; int quit=0; do DisplayMenu

25、();/显示主菜单 t=getch(); switch(t)/菜单选择 case 1:f1();break; case 2:f2();break; case 3:f3();break; case 4:f4();break; case 5:f5();break; case 0:quit=1;break; 15 while(!quit); outportb(0 x300,0 x00);/LED 全灭 outportb(0 x303,0 x0c);/关闭 SPK int f1()/发出 8 种不同的灯光 int u188=0 x81,0 x42,0 x24,0 x18,0 x81,0 x42,0 x

26、24,0 x18, 0 x88,0 x44,0 x22,0 x11,0 x88,0 x44,0 x22,0 x11, 0 xc0,0 x66,0 x38,0 x18,0 xc0,0 x66,0 x36,0 x18, 0 xa0,0 x90,0 x88,0 x84,0 xa0,0 x90,0 x88,0 x84, 0 xd0,0 x07,0 xd0,0 x07,0 xd0,0 x07,0 xd0,0 x07, 0 x55,0 xaa,0 x55,0 xaa,0 x55,0 xaa,0 x55,0 xaa, 0 xf0,0 x0f,0 xf0,0 x0f,0 xf0,0 x0f,0 xf0,0 x

27、0f, 0 x3c,0 xc3,0 x3c,0 xc3,0 x3c,0 xc3,0 x3c,0 xc3;/LED 按顺序发光 unsigned long int i=0,m=0; unsigned char PortValue; printf(nPress one of swdip-8 to start!n);PortValue= inportb(0 x301);/存放 PB 口的值for(int k=0; k= 1; /FOR 语句结束printf(nPress sw to start!n);printf( you want to quit,please hit Any Key!); do

28、while(0 x04&inportb(0 x302)!=0);/查 SW 按下 outportb(0 x303,0 x83);/初始化outportb(0 x300,0 x00);/LED 全灭outportb(0 x303,0 x0c);/关闭 SPK do outportb(0 x300,u1mi);/按顺序送发光信号 delay(100); i+; if(i=8) i=0; while(!kbhit(); return 0;/0 键返回 /F1()结束 int f2()/发出 8 种不同的声音 unsigned long int j=0; 16 unsigned char Po

29、rtValue; printf(nPress one of swdip-8 to start!n);PortValue = inportb(0 x301);/存放 PB 口的值for(int k=0; k= 1; printf(nPress sw to start!n); printf( you want to quit,please hit Any Key!); do while(0 x04&inportb(0 x302)!=0);/查 SW 按下 outportb(0 x303,0 x83);/初始化outportb(0 x300,0 x00);/LED 全灭outportb(0

30、x303,0 x0c);/关闭 SPK do for(j=0;j=100;j+) outportb(0 x303,0 x0d);/令 PC6=1,发高频音 delay(k); outportb(0 x303,0 x0c);/令 PC6=0,关闭 SPK delay(k); for(j=0;j=10;j+) outportb(0 x303,0 x0d); delay(k*10);/令 PC6=1,发低频音 outportb(0 x303,0 x0c);/令 PC6=0,消音 delay(k*10); while(!kbhit();/按任意键退出return 0;/0 键返回int f3()/发光

31、的同时发出声音int u1=0 x81,0 x42,0 x24,0 x18,0 x81,0 x42,0 x24,0 x18;unsigned long int i=0,j=0; printf(nPress sw to start!n);printf( you want to quit,please hit Any Key!);dowhile(0 x04&inportb(0 x302)!=0);/查 SW 按下 do17 outportb(0 x300,u1i);/按顺序送发光信号 i+; if(i=8) i=0; for(j=0;j=100;j+) outportb(0 x303,0

32、x0d);/令 PC6=1,发高频音 delay(1); outportb(0 x303,0 x0c);/令 PC6=0,关闭 SPK delay(1); outportb(0 x300,0 x00);/LED 全灭 for(j=0;j=10;j+) outportb(0 x303,0 x0d); delay(10);/令 PC6=1,发低频音 outportb(0 x303,0 x0c);/令 PC6=0,消音 delay(10); while(!kbhit();/按任意键退出/F3 结束int sound(int s)/发出一种频率的声音unsigned long int j=0; do for(j=0;j=10;j+) outportb(0 x303,0 x0d);/令 PC6=1,发高频音 delay(s); outportb(0 x303,0 x0c);/令 PC6=0,关闭 SPK delay(s);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论