1、单 片 机 应 用 技 术 课 程 设 计 书第 1 页 共 11 页第 1 章 概述1.1 课题背景声光报警器在实际的生活中可以见到许多,运用于生活的许多方面,既有硬件实现的,也有硬件和软件同时控制执行。本课题基于微机原理与接口技术的学习,运用汇编语言实现一个声光报警器的功能。报警和发光同步进行。因此用它进行报警探测监控,具有良好的隐蔽性,白天和黑夜都可以使用,而且其抗干扰能力强。报警系统利用单片机控制技术,自动探测发生在布防区内的侵入行为,产生报警信号,一旦发生突发事件,就会向人们发出报警提示,从而让人即使采取应对措施。1.1 课题意义首先,通过课程任务设计,可以很好的对课本知识运用于实践
2、,同时也可以激发学习于专业相关的一些知识,从而扩大自己知识面的广度。其次,通过课题任务设计,在让我们思考使用学习工具的同时也学会去发现问题解决问题这一过程。第 2 章 课题要求2.1 任务设计要求设计一个声光报警器,当报警按钮按下时扬声器报警,扬声器用 1kHZ 信号响 100ms, 500Hz 信号响 200ms,交替进行声响报警,在报警期间报警指示灯亮,当报警解除按钮按下则解除报警。2.2 软件设计要求利用定时器以方式 1 工作,产生报警音符对应的 1kHZ 信号响 100ms, 500Hz 信号响 200ms 的方波,由 P1.0 接报警灯, P1.1 接报警喇叭,用 P3.2 接报警控
3、制按钮,P3.3 接报警停止按钮。单 片 机 应 用 技 术 课 程 设 计 书第 2 页 共 11 页2.3 硬件设计要求根据课程设计要求,基于单片机最小系统上按照电路设计焊接好各元器件,基于单片机最小系统上按照电路设计焊接好各元器件,利用 P1.0 接报警灯,P1.1 接报警喇叭。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 3P0.7/AD7 32P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1
4、.78P3.0/RXD10P3.1/TXD1P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD17P3.6/WR16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 2P2.2/A10 23P2.3/A1 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51D1LED-YELOWLS1SOUNDER报警电路图第 3 章 总体设计思路与方案3.1 整体方案P3.2 口用来接按钮控制报警器的启动和停止,P1.0 口用来输出方波、发声,P1.1 口对灯进行控制为使扬声器用 1kHZ 信号响 100ms,
5、500Hz 信号响 200ms要用定时器中断,利用定时器 T1 方式 1 工作,产生方波,由 P1.0 输出驱动喇叭发声。声音的改变调用延时子程序的次数来实现设晶振频率为 12MHz。基于音乐播放器基础上,通过按钮控制用于驱动喇叭发出报报警的声音。P3.2 单 片 机 应 用 技 术 课 程 设 计 书第 3 页 共 11 页INT0(外部中断 0) 、P3.3 INT1(外部中断 1)3.2 框图系统初始化声光报警结束是否按报警开关声光报警是否持续 300ms开始启动声光报警电路开始报警是否还有按报警开关结束YNNYYN单 片 机 应 用 技 术 课 程 设 计 书第 4 页 共 11 页第
6、 4 章 硬件电路设计4.1 AT89C51 单片机简述及结构引脚说明AT89C51 单片机是美国 Atmel 公司生产低电压,高性能 CMOS 8 位单片机,片内含 4k bytes 的可反复擦写的只读程序存储器(EPROM)和 128 bytes 的随机存取数据存储器(RAM)。图为 AT89C51 单片机的基本组成功能方块图。由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括 CPU、存储器、可编程 I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。下面介绍几个主要部分。外 时 钟 源 外 部 事 件 计 数外 部 中 断 控 制 并 行 口 串 行 通 信
7、 AT89C51 管脚说明ATMEL 公司的 AT89C51 是一种高效微控制器。采用 40 引脚双列直插封装形式。AT89C51 单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。VCC:供电电压。GND:接地。振荡器和时序OSC程序存储器4 KB ROM数据存储器256 B RAM/SFR定时器/计数器 2 16 AT89C51CPU64 KB 总线 扩展控制器可编程 I/O 可编程全双工串行口内中断AT89C51 功能方块图单 片 机 应 用 技 术 课 程 设 计 书第 5 页 共 11 页P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8T
8、TL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当 FLASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I
9、/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写 1 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址 1 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个TTL 门电流。当 P3 口写入
10、1 后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流。P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:P3 口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断 0)P3.3 INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(记时器 1 外部输入)P3.6 (外部数据存储器写选通)WRP3.7 (外部数据存储器读选通)DP3 口同时为闪烁编程和编程校验接收一些控制信号。单 片 机 应 用 技 术 课 程 设 计 书第 6 页 共 11 页RST:复位输入。当
11、振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/ :当访问外部存储器时,地址锁存允许端的输出电平用于锁存PROG地址的地址字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:反向振荡器
12、的输出,如采用外部时钟源驱动器件,应不接.4.2 设计方案与电路XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2.2/A1023P2.
13、3/A1 24P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D1LED-YELOWR120C110uF R210kR310k+5VLS1SOUNDERC21nFC330PF X1CRYSTAL单 片 机 应 用 技 术 课 程 设 计 书第 7 页 共 11 页第 5 章 软件程序设计5.1 软件设计框图5.2 程序设计ORG 0000HLJMP MAINORG 001BHMOV TH1,R1MOV TL1,R0CPl P1.1 RETI ORG 0100HMAIN: JB P3.2,MAINSTART:CLR P1.0MOV TMOD,#10H MOV IE,
14、#88H MOV DPTR,#TAB LOOP: JNB P3.3,WJCLR A中断源发出中断申请关中断、保护现场INT1 端有输入信号关闭报警恢复现场、开中断中断返回单 片 机 应 用 技 术 课 程 设 计 书第 8 页 共 11 页MOVC A,A+DPTRMOV R1,A INC DPTRCLR AMOVC A,A+DPTRMOV R0,A ORL A,R1JZ NEXT0 MOV A,R0ANL A,R1CJNE A,#0FFH,NEXT SJMP START NEXT: MOV TH1,R1 MOV TL11,R0 SETB TR1SJMP NEXT1NEXT0:CLR TR1
15、NEXT1:CLR AINC DPTRMOVC A,A+DPTR MOV R2,ALOOP1:LCALL D200 DJNZ R2,LOOP1 INC DPTRAJMP LOOPWJ: MOV A,#0FFHSETB P1.0CLR TR1 LJMP MAIND200: MOV R4,#41H 单 片 机 应 用 技 术 课 程 设 计 书第 9 页 共 11 页D200B:MOV A,#0FFHD200A:DEC AJNZ D200ADEC R4CJNE R4,#00H,d200BRETTAB: DB 0FEH,06H,01H, 0FEH,06H,01H,DB 0FCH,0CH,02H, 0
16、FCH,0CH,02H,0FFH,0FFHEND第 6 章 仿真调试与功能说明6.1 系统性能调试与仿真在电脑上进行仿真,仿真成功后准备焊接电路板。在焊接电路板中,我们首先对硬件电路进行布局,然后确认无误后,在电路板上进行焊接,这个过程做得算比较顺利。焊接电路板完工,细心检查后,进行通电测试。结果报警灯一直亮,通过检查是 P1.1 口没连接。并且在调试过程中按键按下等一系列问题。通过在这个过程中丛设计思路到程序设计再到硬伯调试到最后的程序下载,了解了 51 单片机的原理,初步掌握单片机调整及测试方法,提高动手能力和排除故障的能力。同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理
17、论知识,建立单片机理论和实践的结合,了解各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。初步掌握厨房报警器的调整及测试方法。提高动手能力和排除故障的能力6.2 任务设计说明声光报警器在实际的生活中可以见到许多,运用于生活的许多方面,既有硬件实现的,也有硬件和软件同时控制执行。本课题用按键来代替报警探测监控,报警解除按钮按下解除报警,运用汇编语言实现一个声光报警器的功能。单 片 机 应 用 技 术 课 程 设 计 书第 10 页 共 11 页第 7 章 设计总结从老师给题到设计这个任务,通过将任务分成多块、多节,然后分而治之。在完成单片机课程设计后,我们发现我们还有许
18、多不足,所了解的知识还远远不够,以至于还有一些功能不能被动完成。但通过学习这一次课程设计,增强了我们的动手能力,提高了我们对单片机知识的了解,特别是软件方面。同时也让自己补充了许多的上课时没认真听的知识,真正的做到了学以致用,也使自己对于如何根据人们的需要设计产品,有了一定了解,设计的过程中出现了不少问题,在老师和同学的共同努力下,最终都得以解决,这锻炼了我们发现问题,解决问题的能力,这次课程设计也在一定程度上锻炼了我们的学习能力。然而我相信,通过这次课程设计,这不仅对我们的专业知识有相当大的帮助,而且我相信这对于我们今后走上社会工作时一定会有很大的帮助!第 8 章 附录 致谢本学期学习单片机这一专业课以来一直得到倪老师和同学们的悉心帮助,从开始到本课题的完成,老师都给予我们细心的指导和不懈的支持。在此,没有更多华丽的语言,谨向老师致以诚挚的谢意和崇高的敬意。同时还要感谢同我一起走过的自控 0901 班的同学们,不管在什么时候,也正因为有了你们的帮助和支持,我才能克服众多困难和疑惑,直到把本文按时顺利的完成,在此请大家接受我诚挚的谢意! 元器件清单元件 规格 数量单片机 AT89C51 1 个按钮 3 个报警灯 LED 1 个喇叭 8/0.25w 1 个晶振 6MHz 1 个起振电容 30pF 瓷片电容 2 个