基于单片机的电铃设计.docx
- 文档编号:26550251
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:30
- 大小:325.17KB
基于单片机的电铃设计.docx
《基于单片机的电铃设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电铃设计.docx(30页珍藏版)》请在冰豆网上搜索。
基于单片机的电铃设计
湖南信息职业技术学院毕业(论文)设计
答辩申请书
课题电铃系统设计
一、课题(论文)提纲
1.绪论
2.总体方案设计
3.硬件设计
4.软件设计
5.系统调试与仿真图
6.总结
二、内容摘要
基于目前广泛应用的传统电铃系统噪声大,声音刺耳,不支持在线编程,用户改变响铃时间复杂。
在此基础上,我采用STC89C52单片机设计了一套智能自动打铃系统,可控制外围器件的一种音乐电铃,可根据学校等单位的作息制度自动打铃,从而有效地解决上述问题,有很好的实用价值。
该系统由三部分组成:
程序控制、单片机硬件电路。
电源由定电压模块220V交流转12V在由7805转5V直流电压分别为各部分电路提供电源。
程序控制部分由时钟函数、LCD1602函数、键盘函数、主函数组成。
硬件部分由四个模块组成:
单片机最小系统、时钟芯片DS1302、显示模块LCD1602、语音芯片AP8902。
实时时钟随时与CPU内定时数据表进行比较,当二者相吻合时,由脚给出响铃信号使三极管导通.从而接通电铃电路的主电源,完成自动定时响铃任务。
三、参考文献
[1]胡汉才编著,《单片机原理及其接口技术》清华大学出版社,1996年
[2]徐爱均编著,《智能化仪表原理与设计》北京航空大学出版社,1996年
[3]公茂法等编著,《单片机人机接口实力集》北京航空大学出版社,1998年
[4]李朝青编著,《单片机原理及其接口技术》北京航空大学出版社,1998年
[5]邬宽明编著,《单片机外围器件实用手册》北京航空大学出版社,1998年
[6]先锋工作室编著,《单片机程序设计实例》清华大学出版社,2002年
[7]陈明荧编著,《8051单片机课程设计实训教材》清华大学出版社,2003年
[8]肖玲妮,袁增贵编著,《Protel99SE印刷电路板设计教程》清华大学出版社,2003年
[9]LCD1602的中英文资料
注:
学生凭此申请书和设计(论文)样文参加答辩
湖南信息职业技术学院教务处制
三、硬件设计13
四、软件设计26
五、系统调试与仿真图29
单片机电铃系统设计
电子信息0601班方超48号
摘要:
基于目前普遍应用的传统电铃系统噪声大,声音扎耳,不支持在线编程,用户改变响铃时刻复杂。
在此基础上,我采纳STC89C52单片机设计了一套智能自动打铃系统,可操纵外围器件的一种音乐电铃,可依照学校等单位的作息制度自动打铃,从而有效地解决上述问题,有专门好的有效价值。
该系统由三部份组成:
程序操纵、单片机硬件电路和仿真部份。
电源由定电压模块220V交流转12V在由7805转5V直流电压别离为各部份电路提供电源。
程序操纵部份由时钟函数、LCD1602函数、键盘函数、主函数组成。
硬件部份由四个模块组成:
单片机最小系统、时钟芯片DS130二、显示模块LCD160二、语音芯片AP8902。
实不时钟随时与CPU内按时数据表进行比较,当二者相吻合时,触发脚给出高电平信号,再由语音芯片输出音乐并通过LM386处置在直接接到功放设备输出铃声,完成自动按时响铃任务。
关键词
单片机、C语言、流程、仿真
一绪论
1.1课题的提出及意义
单片机作息时刻操纵实现了对时刻操纵的智能化,摆脱了传统由人来操纵时刻的长短的不便,实现代学校必不可少的设备。
1.2设计的任务及要求
1.作息时刻能操纵电铃
2.作息时刻能启动和关闭放音机
单片机作息时刻操纵的功能如下:
●利用液晶屏显示此刻的时刻。
●利历时钟芯片可长时无人置守的响铃系统。
●显示格式为“年月日周时分秒”。
●具有复位功能,和时刻、礼拜调剂功能。
●一旦时刻到则单片机置高电平启动语音芯片,能够操纵音乐开启和关闭。
●具有多次按时响铃功能响铃时刻、方式、时刻长短可调。
二整体方案设计
2.1芯片比较
2.1.1单片机选型
现今单片机厂商琳琅满目,产品性能各异。
经常使用的单片机有很多种:
Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。
咱们最终选用了ATMEL公司的STC89C52单片机。
STC89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采纳ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处置器(CPU)和FLASH存储单元,功能壮大STC89C52单片机适用于许多较为复杂操纵应用处合。
2.1.2液晶显示模块的选择
LCD显示器芯片的选择经常使用的显示器芯片有HD44780、JHD12864E、JHD0801A、VP19264、MOBI2006、LCD1602等,由于HD44780、JHD12864E、VP19264、MOBI2006芯片价钱批量生产时购买价钱和在电铃系统利用进程实际作用但LCD1602在系统设计中具有高性能价格比与技术支持强因此选用LCD1602液晶显示模块,下面对LCD1602作一下介绍。
特点
(1)LCD1602液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前经常使用16*1,16*2,20*2和40*2行等的模块;
(2)1602LCD又可分为带背光和不带背光两种,基操纵器大部份为HD44780,带背光的比不带背光的厚,是不是带背光在应用中并无不同;
(3)要紧技术参数:
显示容量:
16×2个字符、芯片工作电压:
—、工作电流:
模块最佳工作电压:
、字符尺寸:
×(W×H)mm
引脚功能说明
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对照度调整端,接正电源时对照度最弱,接地时对照度最高,对照度太高时会产生“鬼影”,利历时能够通过一个10K的电位器调整对照度。
第4脚:
RS为寄放器选择,高电平常选择数据寄放器、低电平常选择指令寄放器。
第5脚:
R/W为读写信号线,高电平常进行读操作,低电平常进行写操作。
当RS和R/W一起为低电平常能够写入指令或显示地址,当RS为低电平R/W为高电平常能够读忙信号,当RS为高电平R/W为低电平常能够写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平常,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
工作原理简介
字符型LCD液晶显示模块是专用于显示字母、数字、符号等的点阵型液晶显示模块。
字符位能够是5*7或5*11等点阵组成。
每一个点阵字符位都能够显示一个字符,内置HD44780操纵IC专用于字符显示的液晶驱动及操纵。
HD44780的显示缓冲区及用户自概念的字符发生器CGRAM全数内藏在芯片内。
HD44780具有简单而功能较强的指令集,可实现字符移动、闪烁等显示功能。
HD44780的操纵部是液晶显示模块的核心,它操纵着HD44780的工作时序和各功能的实现,具有驱动40*16点阵的液晶显示器件的能力
AT89C51与LCD硬件原理图如下
2.1.3时钟芯片的选择
为实现长时无人置守的响铃系统,咱们对STC89C52进行外围扩展。
经常使用的时钟芯片有很多,如DS130二、DS1307、PCF8485。
通过比较选择,最终选用了DALLAS公司的DS1302。
DS1302介绍:
是一种具有涓细电流充电能力的电路,要紧特点是采纳串行数据传输,可为掉电爱惜电源提供可编程的充电功能,而且能够关闭充电功能。
采纳一般晶振。
而且它是一种高性能、低功耗、带RAM的实不时钟电路,它能够对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为~。
采纳三线接口与CPU进行同步通信,并可采纳突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性寄存数据的RAM寄放器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
DS1302在电铃系统中的硬件原理图
DS1302与CPU的连接仅需要三条线,即SCLK(7)、I/O(6)、RST(5)。
2.1.4语音芯片的选择
为幸免电铃铃声优美,高性价比与技术支持等方面在三种型号当选用一次性(OTP)型号中AP8902.其中三中型特点如可录放型:
ISD系列从10s到16分钟的一系列芯片,以FLASHRAM闪烁存储器为IC为介质,断电后语音还能保留。
特点:
内部没有单片机,操纵较麻烦;容易丢失数据;芯片和编程器价钱都较高。
一次性(OTP)型APLUS系列:
芯片内部是PROM存储器,将语音文件烧录进去,以后不能够更改。
有API8108(10s可分8段),API8208(20s可分8段),API840N(40s可分32段),AP8821(21s最大15段),AP8842(42s最大30段)其中AP8821和AP8902能够选择单片机并口操纵和按键操纵。
此系列特点:
操纵较灵活,价钱较低。
掩膜型(MASK)型:
标准片(标准声源型):
如各类报警声,倒车语音等大量量生产出来的标准品,价钱超级廉价,此类特点是不能依照自己的情形更改,包括音质,音调,操纵方式等。
AP8902工作原理与硬件原理图
操纵音乐响铃电路由语音芯片AP890二、音频放大LM386组成其中音乐芯片AP89042是一次性编程(OTP)语音芯片是采纳4-bitADPCM或8-bitPCM紧缩方式。
在6K采样率下时刻长度可达到42秒;可用按键或CPU方式触发,最大能够触发32段;3个输出端能够选择LED、STOP、BUSY不同组合;声音输出可外接三极管放大输出(COUT)或直接推喇叭(VOUT)方式。
AP89042工作电压:
静态电流小于5uA。
。
2.2整体设计与系统原理
经比较咱们选定单片机芯片为STC89C52,时钟芯片为DS1302。
在确信系统的大体形式以后,画出本系统的结构布局,方框原理如下。
三硬件设计
3.1单片机部份
3.1.1STC89C52
特点:
●与MCS-51产品指令和引脚完全兼容
●8K字节可重擦写FLASH闪存
●1000次擦写周期
●全静态操作:
0Hz-80MHz
●三级加密程序存储器
●512字节内部RAM
●32个可编程I/O口线
●3个16位按时/计数器
●8个中断源
●可编程串行UART通道
●低功耗空闲和掉电模式
功能特性概述:
STC89C52提供以下标准功能:
8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位按时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,STC89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU工作,但许诺RAM,按时/计数器,串行通信口及中断系统继续工作。
掉电方式保留RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
STC89C52的芯片管脚图如图3-1
图3-1
引脚功能说明:
VCC——电源电压
GND——地
P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口历时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,现在可作输出口。
作输入口利历时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
与AT89C51不同的地方是,和还可别离作为按时/计数器2的外部计数输入(T2)和输入(T2EX),参见下表。
FLASH编程和程序校验期间,P1接收低8位地址。
和的第二功能
引脚号
功能特性
T2(定时/计数器2外部计数脉冲输入),时钟输出
T2EX(定时/计数2捕获/重装载触发和方向控制)
P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,现在可作输入口,作输入口利历时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
FLASH编程或校验时,P2亦接收高位地址和一些操纵信号。
P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
现在,被外部拉低的P3口将用上拉电阻输出电流。
P3口除作为一样的I/O口线外,更重要的用途是它的第二功能,如下表所示:
端口引脚
第二功能
RXD(串行输入口)
TXD(串行输出口)
INTO(外中断0)
INT1(外中断1)
TO(定时/计数器0)
T1(定时/计数器1)
WR(外部数据存储器写选通)
RD(外部数据存储器读选通)
另外,P3口还接收一些用于FLASH闪存编程和程序校验的操纵信号。
RST——复位输入。
当振荡器工作时,RST引脚显现两个机械周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存许诺)输出脉冲用于锁存地址的低8位字节。
一样情形下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于按时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄放器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
另外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序贮存许诺(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每一个机械周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问许诺,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必需维持低电平(接地)。
需注意的是:
若是加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程许诺电源Vpp,固然这必需是该器件是利用12V编程电压Vpp。
3.1.2单片机硬件资源分派
P0连接LCD1602上D0-D7
P2.0连接按键
P2.1连接按键
P2.2连接按键
连接LCD1602的RS端
连接LCD1602的RW端
连接LCD1602的E端
连接AP8902响铃操纵端
连接DS1302的/RST端
连接DS1302的SCLK端
连接DS1302的I/O端
3.2液晶显示模块
在上一章我已选定了液晶显示模块LCD1602,下面对其作进一步的介绍:
一样1602字符型液晶显示器实物如下图
1602LCD的大体参数及引脚功能
1602LCD分为带背光和不带背光两种,基操纵器大部份为HD44780,带背光的比不带背光的厚,是不是带背光在应用中并无不同,二者尺寸不同如下图所示:
1602LCD要紧技术参数:
显示容量:
16×2个字符
芯片工作电压:
—
工作电流:
模块最佳工作电压:
字符尺寸:
×(W×H)mm
引脚功能说明
1602LCD采纳标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表所示:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
1602LCD的指令说明及时序
1602液晶模块内部的操纵器共有11条操纵指令,如表所示:
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是不是左移或右移。
高电平表示有效,低电平则无效。
指令4:
显示开关操纵。
D:
操纵整体显示的开与关,高电平表示开显示,低电平表示关显示C:
操纵光标的开与关,高电平表示有光标,低电平表示无光标B:
操纵光标是不是闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平常移动显示的文字,低电平常移动光标。
指令6:
功能设置命令DL:
高电平常为4位总线,低电平常为8位总线N:
低电平常为单行显示,高电平常双行显示F:
低电平常显示5x7的点阵字符,高电平常显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,现在模块不能接收命令或数据,若是为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
与HD44780相兼容的芯片时序表如下:
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
输入
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,R/W=H,E=H
输出
D0—D7=数据
写数据
输入
RS=H,R/W=L,D0—D7=数据,E=高脉冲
输出
无
读写操作时序如下图所示:
读操作时序
写操作时序
1602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢显示器件,因此在执行每条指令之前必然要确认模块的忙标志为低电平,表示不忙,不然此指令失效。
要显示字符时要先输入显示字符地址,也确实是告知模块在哪里显示字符,下图是1602的内部显示地址。
例如第二行第一个字符的地址是40H,那么是不是直接写入40H就能够够将光标定位在第二行第一个字符的位置呢?
如此不行,因为写入显示地址时要求最高位D7恒定为高电平1因此实际写入的数据应该是01000000B(40H)+B(80H)=B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符光阴标是自动右移的,无需人工干与。
每次输入指令前都要判定液晶模块是不是处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:
阿拉伯数字、英文字母的大小写、经常使用的符号、和日文化名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,咱们就能够看到字母“A”
图10-58字符代码与图形对应图
1602LCD的一样初始化(复位)进程
延时15mS
写指令38H(不检测忙信号)
延时5mS
写指令38H(不检测忙信号)
延时5mS
写指令38H(不检测忙信号)
以后每次写指令、读/写数据操作均需要检测忙信号
写指令38H:
显示模式设置
写指令08H:
显示关闭
写指令01H:
显示清屏
写指令06H:
显示光标移动设置
写指令0CH:
显示开及光标设置
3.3时钟芯片部份
本系统器利用STC89C52单片机口和DS1302集成实时芯片实现实不时钟的一种简单方式,利用该系统具有硬件结构简单、软件编程容易和价钱低廉的特点。
下面简单的介绍一下DS1302。
特点
(1)数据输入输出(I/O)
(2)DS1302的寄放器
引脚图如图
说明:
DS1302与微处置器进行数据互换时,第一由微处置器向电路发送死令字节,命令字节最高位MSB(D7)必需为逻辑1,若是D7=0,则禁止写DS1302,即写爱惜;D6=0,指按时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄放器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。
在DS1302的时钟日历或RAM进行数据传送时,DS1302必需第一发送死令字节。
若进行单字节传送,8位命令字节传送终止以后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。
DS1302与RAM相关的寄放器分为两类:
一类是单个RAM单元,共31个,每一个单元组态为一个8位的字节,其命令操纵字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄放器,在此方式下可一次性读、写所有的RAM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电铃 设计