目录
一. 设计任务书..............................2 二. 概述和方案设计..........................3 三. 系统的硬件设计..........................5
3.1 时钟电路的设计 ................................5 3.2复位电路的设计..................................6 3.3输入电路的设计..................................8 3.4输出电路的设计.................................11 3.5扩展电路的设计.................................14 3.6中断系统的设计.................................15. 3.7元件明细表.....................................16
四. 系统的软件设计........................17
4.1系统流程图......................................19 4.2系统的程序设计..................................21 4.3中断服务程序的设计..............................22
五. 总结...................................23 六. 参考资料...............................24
一.毕业设计任务书
一、设计题目: 单片机防盗报警系统 二、设计要求:
利用8031单片机,该系统能对八个检测点自动进行检测,一旦出现盗情,能自动进行声光报警,并模拟LED显示被盗地点。
三、设计任务:
1.设计硬件电路,画出电路原理图; 2. 设计软件,编制程序,画出程序流程图; 3.调试程序,写出源程序代码;
4.写出详细毕业设计说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。
5.个人总结。 四、参考资料:
二.概述和方案设计
2.1.单片机的概述
近来随着科技的飞速发展,单片机的应用在不断的深入发展,同时带动传统控制领域的快速更新。在实时检测和自动控制的单片机应用系统中,单片机往往做为一个核心部件来使用,根据具体硬件结构以及具体应用对象的特点,与软件相结合,加以完善。单片机之所以在检测和控制中有大量的应用,就在于它有独特的中断、定时功能和很强的灵活性 2.2单片机的系统简介
1.单片机硬件系统
前面已经介绍过,单片机就是将CPU、存储器、I/O接口和总线制成的超大规模集成电路。
(1)中央处理器CPU
8031中央处理器由运算器、控制器和控制逻辑单元组成,其中还包括中断系统与部分特殊功能寄存器。 1.运算器
2
运算器包括一个可进行8位算术运算和逻辑运算的ALU单元,8位的暂存器TMP1和暂存器TMP2,8位累加器ACC,8 位寄存器B和程序状态寄存器PSW。 2.控制器
控制器包括程序计数器PC、指令寄相存器IR、指令译码器ID、振荡和定时电路等部分。
(2)存储器
8031单片机的片内有ROM和RAM两类存储器,它们有各自独立的存储地址空间,与一般微机的存储配置方式不同。 程序存储器ROM
8031内有4KB字节容量的程序存储器,地址以0000H开始,用于存放程序和表格常数,8031片内无ROM,使用时要进行片外扩展. 数据存储器RAM
8051/8031片内可供用户使用的数据存储器容量为128B,地址为00H~7FH ,用于存放运算的中间结果,数据暂存及数据缓冲等.这128字节的RAM中,有32个字节单元可指定为工作寄存器.8051片内RAM和工作寄存器排在一起并统一编址,这与一般处理器是不同的.此外,片外还有21个特殊功能寄存器,地址为80H~FFH(高128 B). (3)I/O接口
8031有四个8位并行接口,即P0~P3,它们是双向端口,可用于输入也可用于输出.每个端口各有8条I/O口线.这4个端口有4个锁存器,同RAM统一编址.因此,可以把I/O口当作一般特殊寄存器来寻址. (4)总线
总线是传送信息的公共通道,实际上总线就是一组导线,其数目取决于CPU的位数与结构.单片机的总线有三种类型:数据总线(DB)、地址总线和控制总线
2.单片机的软件系统 单片机的软件系统有:系统软件、应用软件和编程语言。计算机的工作需要硬件系统与软件系统的通力合作,才能确保完成各种工作任务. 2.3防盗报警系统的设计方案 1.设计的基本思路
利用单片机的定时功能、中断系统以及LED显示和键盘输入等结合可编程并行接口芯片8255和外部程序存储器2716开发一个防盗报警系统。
2.设计要求:
利用8031单片机,该系统能对八个检测点自动进行检测,一旦出现
2
盗情,能自动进行声光报警,并模拟LED显示被盗地点。 3.方案的选择和论证:
方案一:由于防盗报警的设计思想是通过利用各种探测装备对探测到
的信号进行及时的处理。主要是控制系统。控制系统可以利用数字逻辑电路组成。可以利用红外线探测器进行防盗报警,它是通过感测温度的变化而发出报警的。将随被测信号变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测信号显示出来,这种设计需要用到A/D转换电路,电路比较麻烦。
方案二:主要是利用单片机作为控制系统。对单片机进行外部程序扩展和并行端口I/O口的扩展,利用单片机的自动查询和中断服务等功能,对八个检测点进行自动检测,一旦出现盗情,能自动进行声光报警,并利用LED的显示功能显示被盗地点。
论证:可行性讨论是从道理上研究分析项目是否可行。用单片机控制一个检测报警系统,与以往用数字逻辑电路组成的控制系统相比,用单片机组成的检测报警系统,应具有更大的灵活性,功能也更强,并具有智能性, 在实际工作中是一种行之有效的方法。因此,从理论上分析是可行的。 由此可以很容易看出以上两种方案,,采用方案二,电路比较简单,软件设计也比较简单,功能也很强大。故采用了方案二。 4.总体设计系统方框图
电路设计总体设计方框图如图1所示,采用单片机8031,独立键盘输入和74LS373,用1位LED数码管以串口传送数据实现报警和显示被盗地点。 LED
输入电路单片机 复主控制器 主控显示器 报警电路 复位电路 制
扩展电路 时钟电路 器 2
图1 总体设计方框图
通过独立式键盘输入信号,用复位电路和时钟电路分别对8031进行复位和频率的设定,通过扩展电路对8031进行外部程序扩展,利用8031
的自动查询功能和中断服务来发出报警并显示被盗地点。
三.系统的硬件设计
3.1 时钟电路的设计:
19 MCS-31单片机的时钟可以由内部方式和外部方式产生,XTAL1(○
18脚)即为单片机的两个时钟引脚。此次设计中采用内时钟脚)和XTAL2(○
电路,介绍如下:8031单片机内有振荡电路,只需XTAL和1XTAL2间外接石英晶体和电容组成并联谐振电路(晶振器),晶体可以在固有频率为1.2~12MHz的晶振器之间任选晶体,电容可以在容量为20~60Pfd的电容之间任选,通常选择30pF的瓷片电容,连接方式如图(a)所示:
3.2复位电路的设计:
8031的复位方式可以是自动复位,也可以是手动复位[本设计中用的是上电自动复位]。如下图所示。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
2
3.3输入电路的设计:
独立键盘通过P1口与8031单片机的连接电路,这种连接方式中的I/O口也可视为以8031的扩展。
R0 +5V R7 S0 P1.0
P1.7 S7 8031 2
键盘通过P1口与8031连接
键盘管理程序的功能是检测有无键闭和,如有键闭和,消除抖动,根据键号转接到相应的键处理程序。其程序流程图、程序如下 KBP0:MOV P1,#0FFH 键盘设置
MOV A,P1 读数植 CLR A
ANL A,07H 屏蔽高5位
JZ KBP0 无键闭合,重新检测 ACLL D12MS MOV A,P1 CPL A ANL A,#07H JZ KBP0
2
开始 置P1口为输入方式 N 有键闭合否 Y 延时12ms消除键抖动 N 有键闭合否 Y Y P1.0=0? 0#键功能程序 N Y 1#键功能程序 N Y 2#键功能程序 P1.1=0? N P1.2=0?
独立式键盘管理程序流程图
JB ACC.0,A0 确定键闭合的位置,转入相应的功能程序入口
JB ACC.1,A1 JB ACC.2,A2 AJMP KBP0
A0:AJMP PR0 键功能程序入口 A1:AJMP PR1
2
A2:AJMP PR2
PR0: …… S0键功能程序 PR1: …… S1键功能程序 PR2: …… S2键功能程序
3.4输出电路的设计:
1.报警电路: 在此次设计中的报警电路部分用蜂鸣器和发光二极管同时报警,下面是一个控制其连续鸣音30ms程序。
SND: SETB P2.3 ;P 2.3输出高电平,启动鸣音
MOV R7 ,#1EH ;时30ms DL: MOV R6,#0F9H
DL1: DJNZ R6,DL1 ;小循环 1 MS
DJNZ R7,DL
CLR P2.3 ; P2.3输出低电平,停止鸣
音
RET
1.1灯光报警电路:通常是利用发光二极管与微机的I/O口线相
连,要经过驱动器。
8031与I/O口线相接如图a:8031的P2口线通过集成门电路或三
极管驱动发光二极管。图b采用了光电隔离,发光二极管另用电源供电。灯光也可用来指示系统在正常情况下的某些工作状态。
1.2声响报警电路;通常是采用蜂鸣器。蜂鸣器内有振荡电路,
能发出长声和短声。蜂鸣器的工作电压一般为5-15V,工作电流小。图c是蜂鸣器经过三级管和光电耦合器与8031系列单片机I/O口线相接的电路。
R0 1 P2.3 +5V +5V R1 8031
P2.3 2
R2
图a
+5V +5V 8031 1 P2.3 图b
+12V +5V
8031 蜂鸣器
P2.4 1 图c
2.显示电路:
LED是由发光二极管作为显示器字段的数码显示器件。发光
二极管做成a、b、c、…、g七段用七个并分为共阴极与共阳极两种。在此次设计中,主要采用共阳极型二极管。在共阴极结构中,各段发光二极管的阴极连在一起并接地,若某一段发光二极管的阳极为高电平时,该段发光二极管发光。在共阴极结构中,各段发光二极管的阴极连在一起并接
2
+5V电压,若某一段发光二极管的阳极为低电平时,该段发光。。共阴极是将七个发光二极管的阴极接在一起并接在正电源上,阳极接到译码器的各输出端,当哪个发光二极管的阳极为低电平时哪一个发光管就亮。图2-(a)是字段形式,图2-(b)是数字与字段的关系
图2 LED七段数码管
本次设计主为一位共阴极LED数码管显示,程序如下: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP,#7H MOV R2,#0 MOV R5,#16 CLR P3.5
STAR: DJNZ R5,NEXT MOV R5,#16 MOV R2,#0 NEXT:DPTR,#TAB MOV A,R2
MOVC A,@A+DPTR MOV DPTR,#ADRLED MOVX @DPTR,A INC R2
LCALL DELAY JMP STAR DELAY:MOV R0,#10 DELY0:MOV R7,#100
2
DELY1:MOV R6,#250 DJNZ R6,$
DJNZ R7,DELY1 DJNZ R0,DELY0 RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H; DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H; END 3.5 扩展电路的设计:
1.外部程序存储器的扩展:
由于我们在设计时采用的是8031单片机,而内部没有存储空间,我们设计的程序就没有地方存放,所以在我们设计硬件电路时就要对单片机的程序存储器进行扩展,我选用2716作为片外存储器扩展,首地址为0000H,末地址为7FFFH。扩展的硬路如图所示:
P0口(P0.0-P0.7)经地址锁存器与程序存储器的低8位地址(A0-A7)相连。
P2口(P2.0-P2.2)与程序存储器的高3位地址线(A8-A10)相连 由于单片机的P0口分时输出数据和低8位地址,故必须加地址锁存器,并由CPU发出的地址琐存允许信号ALE的下降沿将地址信息琐存到琐存器中。单片机的P2口一般作为高位地址线及片选线,由于P2口输出具有锁存功能,故不需要加地址锁存器。 数据线的连接
P0口(P0.0-P0.7)与程序存储器的8位数据线(D0-D7)从低到高对应连接。 控制线的连接
程序存储器读选信号PSEN端接EPROM的输出允许OE端;单片机的ALE连接锁存器的锁存控制端;8031的内外存储器选择端EA端接地。
2
P2.2~P2.0 8031 P0.7~P0.0 ALE EA PSEN 地址锁存器 CE A10~A8 片外程序存储器 2716 A7~A0 D7~D0 OE 扩展的硬件电路图
2.用8255对并行口I/O进行扩展:
用8255的PA口作为信号的输入和输出端,连接1位LED数码管显
示器,显示被盗地点。8255A的端口A的首地址为7FFCH。
2.1 8031芯片有4个并行I/O口,在应用系统时,如果已经扩展了外部存储器,则都要使P0、P2口作为地址/数据总线,这样留给用户使用的I/O口就只有P1和一部分P3口了,这样往往不能满足要求,因此我们要对I/O口扩展。
2.2 8255可编程并行接口芯片简介:8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。 2.3 8255与8031单片机的连接图:
2
P2.7 8031 P0~P7 ALE WR RD RESET 74LS373 1D~8D 2Q 1Q G OC CS PA 8255 A1 A0 PB D0~D7 PC WR RD RESET 3.6中断系统的设计:
中断是用于提高计算机工作效率的一种重要技术。所谓中断是 指CPU在正常执行程序的过程中,由于计算机内部或外部发生令一事件,请求CPU迅速去处理,CPU暂时停止当前程序的运行,而转去处理所发生的事件,待发生的事件处理完以后,CPU再返回到原来暂停的地方,继续执行原来程序,这一过程称为中断。
8031具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
中断优先级别如下表1所示:
2
中断源 外部中断INT0 定时器T0中断 外部中断INT1 定时器T1中断 串行口中断 同一级别的中断优先级 最高 最底 故在我们单片机报警系统设计中用到的报警控制就可以用中断进行设计,将其优先级设置为最高级,即可在8031芯片P3.2口(中断优先级最高)引出一个按钮F0对其进行控制,设置为低电平有效,在有紧急情况下按下按钮F0执行中断程序,将按照中断程序设置蜂鸣器的响停情况,硬件电路如下图所示:
中断硬件电路设置图 3.7元件明细表 +5V 名称 型号 8031 单片机 8031 地址锁存器 74LS373 应急开关F0 可编程并行I/0 8255A LED数码显示 共阴极 外部程序扩展 2716 P3.2(INTO) 电阻 330欧
2
数量 1个 1个 1个 1个 1个 16个
电阻 电阻 发光二极管 晶体管 电容 电容 蜂鸣器 导线 1千欧 51千欧 NPN 30PF 80PF 4个 1个 1个 3个 1个 1个 1个 若干 四.系统的软件设计
1.工作寄存器的分配
延时1S的子程序使用R1、R2和R3,延时2S的子程序使用寄存器R4、R5和R6。 2.延时子程序
根据系统功能需要分别设置1秒和2秒的延时子程序各一个。 延时1秒的子程序 延时2秒的子程序
ORG 2100H ORG 2200H
YS1S:MOV R1,#02H YS3S:MOV R4,#04H
B1:MOV R2,#FAH B4:MOV R5,#FAH
B2:MOV R3,#C8H B5:MOV R6,#C8H
B3:NOP B6:NOP
NOP NOP NOP NOP DJNZ R3,B3 DJNZ R6,
B6
DJNZ R2,B2 DJNZ R5,
B5
DJNZ R1,B1 DJNZ R4,
B4
2
RET RET
3.开关输入代码:
代码 开关号 1 2 3 4 5 6 7 8 D7 1 1 1 1 1 1 1 0 D6 1 1 1 1 1 1 0 1 D5 1 1 1 1 1 0 1 1 D4 1 1 1 1 0 1 1 1 P1口 D3 1 1 1 0 1 1 1 1 D2 1 1 0 1 1 1 1 1 D1 1 0 1 1 1 1 1 1 D0 0 1 1 1 1 1 1 1 16进制 FEH FDH FBH F7H EFH DFH BFH 7FH 对开关输入检测的程序如下:
KGJC:ACALL YS1S
MOV A,P1
CJNE A,#FFH,ZCJC SETB P3.5 MOV A,#C0H MOV SBUF,A DF: JNB TI,DF CLR TI ACALL YS2S AJMP KGJC ZCJC: ACALL YS1S MOV A,P1
CJNE A,#FFH,BJXS1 ACALL KGJC
BJXS1: CJNE A,#FEH,BJXS2 MOV A,#F9H ACALL BJXS
2
BJXS2: CJNE A,#FDH,BJXS3 MOV A,#A4H ACALL BJXS
BJXS3: CJNE A,#FBH,BJXS4 MOV A,#B0H ACALL BJXS
BJXS4: CJNE A,#F7H,BJXS5 MOV A,#99H ACALL BJXS
BJXS5: CJNE A,#EFH,BJXS6 MOV A,#92H ACALL BJXS
BJXS6: CJNE A,#DFH,BJXS7 MOV A,#82H ACALL BJXS
BJXS7: CJNE A,#BFH,BJXS8 MOV A,#F8H ACALL BJXS
BJXS8: CJNE A,#7FH,KGJC MOV A,#80H ACALL BJXS 4.控制显示子程序流程图如下:
返回主程序 等待发送完 发送显示码 发声音报警 5.主程序流程图
主程序的功能是输入P1口的开关状态,检测是否有开关合上,
若没有则继续检测;若有则检测是哪个开关合上了,然后去控制报警、显
2
示,使数码管显示相应的号码,同时报警。主程序流程图如下:
初始化 输入开关信号 是否有键按下 Y N 关声报警和显示 延时2S 延时1S 输入开关信号 N 是否有键按下 Y 检测(所有报警 调用声光报警 延时2S 2
4.1.系统的程序设计: ORG 0000H LJMP KGJC ORG 0020H
KGJC:ACALL YS1S MOV A,P1
CJNE A,#FFH,ZCJC SETB P3.5 MOV A,#C0H MOV SBUF,A DF: JNB TI,DF CLR TI ACALL YS2S AJMP KGJC ZCJC: ACALL YS1S MOV A,P1
CJNE A,#FFH,BJXS1 ACALL KGJC
BJXS1: CJNE A,#FEH,BJXS2 MOV A,#F9H ACALL BJXS
BJXS2: CJNE A,#FDH,BJXS3 MOV A,#A4H ACALL BJXS
BJXS3: CJNE A,#FBH,BJXS4 MOV A,#B0H ACALL BJXS
BJXS4: CJNE A,#F7H,BJXS5 MOV A,#99H ACALL BJXS
BJXS5: CJNE A,#EFH,BJXS6 MOV A,#92H ACALL BJXS
BJXS6: CJNE A,#DFH,BJXS7 MOV A,#82H ACALL BJXS
2
BJXS7: CJNE A,#BFH,BJXS8 MOV A,#F8H ACALL BJXS
BJXS8: CJNE A,#7FH,KGJC MOV A,#80H ACALL BJXS
KBP0:MOV P1,#0FFH 键盘设置
MOV A,P1 CLR A
ANL A,07H JZ KBP0 ACLL D12MS MOV A,P1 CPL A ANL A,#07H JZ YS1S
SND: SETB P2.3 平,启动鸣音
MOV R7 ,#1EH DL: MOV R6,#0F9H
DL1: DJNZ R6,DL1 DJNZ R7,DL
CLR P2.3 平,停止鸣音
RET
YS3S:MOV R4,#04H B4:MOV R5,#FAH B5:MOV R6,#C8H B6:NOP
NOP NOP DJNZ R6,B6 DJNZ R5,B5
2
读数植 屏蔽高5位 无键闭合,重新检测 ;P 2.3输出高电;时30ms
;小循环 1 MS
; P2.3输出低电
DJNZ R4,B4 LJMP KGJC
YS1S:MOV R1,#02H
B1:MOV R2,#FAH
B2:MOV R3,#C8H B3:NOP
NOP NOP DJNZ R3,B3 DJNZ R2,B2 DJNZ R1,B1 RET
LMJP KGJC JNZ KBPO LJMP SND LJMP YS3S LJMP KGJC END 4.2.中断服务程序:
ADRLED EQU 8700H ADRSWT EQU 8300H ORG 0000H LJMP MAIN ORG 0003H LJMP INT ORG 0030H MAIN: MOV SP,#7 MOV IE,#81H
MOV DPTR,#ADRLED CLR P3.5 MOV A,#0FFH MOVX @DPTR,A STAR: AJMP $
中断服务子程序:接收开关送来的数并显示出来: INT: CLR EA
MOV DPTR,#ADRSWT MOVX A,@DPTR JNB ACC.3,JUMP
2
LOOP1: MOV DPTR,#ADRSWT MOVX A,@DPTR JB ACC.3,LOOP1 ANL A,#7
ACALL DISPLAY JUMP:SETB EA RETI
DISPLAY:MOV DPTR #TAB MOVC A,@A+DPTR MOV DPTR,#ADRLED MOVX @DPTR,A RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
2
六. 总结
毕业设计是培养学生独立地综合运用所学的基础理论,专业知识和基本技能,提高分析和解决实际问题的能力;也是毕业生上岗前提高全面素质的重要实践。通过整体设计过程,检索文献和整理文献培养学生调查研究,收集信息的能力;学会依据课程的任务进行课题的调研和正确使用工具书的能力;培养学生掌握从事科学研究的 基本方法和撰写技术文件的能力,锻炼了学生分析与解决实际工程问题的能力。
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异地更新。在实时检测和自动控制 的单片机应用系统中,单片机往往是作为一个核心部件来使用,根据具体硬件结构以及具体应用对象的特点,与软件相结合,加以完善。单片机之所以在检测和控制中有大量的应用,就在于它具有独特的中断,定时功能,灵活更大。在检测,在控制中,许多场合都会用到单片机具有的独特功能 。 本设计开发了一种基于单片机的报警系统 。它造价低廉。功能全,整体功能价格比高,配以小键盘和LED显示器,可使用各种场合的防盗报警之用。.
通过本次的课程设计,我学会了单片机的一般设计过程,通常都要进行系统扩展与配置,因此,要完成一个单片机的设计工作,必须依次做到下述工作:1、硬件电路的设计、组装与调试;2、应用软件的编写、调试;3、完整应用软件的调试、固化和脱机运行。而在进行硬件系统设计时我们应当尽量做到:1、尽可能的选择典型电路,并符合单片机的常规使用方法;2、在充分满足系统功能要求前提下,留余地以便于二次开发;3、硬件结构设计应与软件设计方案一并考虑;4、整个系统相关器件要力求性能的匹配;5、硬件上要有可靠性与抗干扰设计;6、充分考虑单片机的带载驱动能力。所以本人用单片机编写了上面的程序,因为时间苍促,如有错误之处,还望老师理解,并加以批改。通过这次活动使我对单片机有了更深入的了解,希望老师能给学生多一些类似的活动,以培养我们的动手能力
2
七.参考资料
1. 教材;
2.《单片机实验指导书》, 河南工业职业技术学院内部;
3.《51系列单片机设计实例》,楼然苗、李光飞编著,北京航空航天出版社;
4.《微机控制技术及应用》,韩全立主编,机械工业出版社; 5.《单片机应用技术与实训》,王治刚主编,清华大学出版社; 6.《常用电子电器手册》;
7.《单片机应用技术与实例》,睢丙东主编,电子工业出版社; 8.《单片微型计算机技术》,刘国荣;
9.《单片微型计算机应用技术》,徐仁贵,机械工业出版
10. 姚凯学,孟传良,单片机原理及应用.重庆:重庆大学出版社1998 11. 眭碧霞,单片机原理及应用(第二版) 西安电子科技大学出版社,2003
2
因篇幅问题不能全部显示,请点此查看更多更全内容