基于ADUC848单片机多功能定时装置电子时钟设计.docx
- 文档编号:2701411
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:51
- 大小:267.83KB
基于ADUC848单片机多功能定时装置电子时钟设计.docx
《基于ADUC848单片机多功能定时装置电子时钟设计.docx》由会员分享,可在线阅读,更多相关《基于ADUC848单片机多功能定时装置电子时钟设计.docx(51页珍藏版)》请在冰点文库上搜索。
基于ADUC848单片机多功能定时装置电子时钟设计
电气与信息工程学院
本科生课程设计
题 目:
电子时钟
课 程:
单片机课程设计
专 业:
电子信息工程
第一章绪论
1.1课程设计目的
学习单片机原理,并设计电子时钟。
1.2课程任务
设计的电子时钟具有以下功能:
(1)、选择LCD显示,可显示年、月、日、时、分、秒。
(2)、会使用实时钟芯片DS1307。
(3)、选择蜂鸣器电路,实现闹钟设置和报警功能。
(4)、选择按键功能,设计实现时钟校正功能。
(5)、上电或RESET后能自动显示当前时间(时:
分:
秒)。
1.3课程设计要求
(1)、画出硬件原理图。
(2)、采用单片机C语言或汇编语言进行编程。
(3)、完成硬件与软件调试综合调试,实现预定功能,并写出课程设计报告。
1.4课程设计意义
通过自己动手设计制作单片及组成的器件,深入了解了单片机的实际应用,能更深地理解课堂上所学的内容,使得单调的理论知识与实际联系起来,帮助我们更好的理解。
第2章设计原理及总体方案选择
2.1基本功能简述
电子时钟,通过DS1307芯片提供实时时钟,并通过LCD12864显示。
DS1307是低功耗、两线制串行读写接口、日历和时钟数据按BCD码存取得时钟/日历芯片。
它提供秒、分、小时、星期、日期、月和年等时钟日历数据。
除此之外,还具有跑表和闹钟的功能。
跑表是通过中断实现,闹钟由蜂鸣器实现并以歌曲为闹铃实现。
本电子时钟是由ADUC848芯片、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器、LCD显示模块和DS1307芯片这七部分组成。
图2.1电子时钟设计框图
2.2乐理基础与发声原理简述
在音乐中使用的各个固定频率的音叫音级。
常用符号C、D、E、F、G、A、B、c、d、e、……a1、b1、c2、d2……表示,它们对应于钢琴上的白键。
两音之间音高的距离叫音程。
在上述音级中,E与F、B与C之间音高的距离仅为其它相邻音级之间距离的一半,称它们之间的音程为半音音程,而称其它相邻各音之间的距离为全音音程。
在这些全音音程之间又加入新的半音音级,用符号﹟C、﹟D、﹟F、﹟G、﹟A、﹟c、﹟d、﹟f、……表示,对应于钢琴上的黑键。
音持续时间的长短即时值,一般用拍数表示。
休止符表示暂停发音。
表2.1各音符及对应频率
音符
低DO
低#DO
低RE
低#RE
低MI
低EA
简谱码
DO_L
DO#_L
RE_L
RE#_L
MI_L
FA_L
频率
262HZ
277HZ
294HZ
311HZ
330HZ
349HZ
音符
低#FA
低SO
低#SO
低LA
低#LA
低SI
简谱码
FA#_L
SO_L
SO#_L
LA_L
LA#_L
SI_L
频率
370HZ
393HZ
415HZ
440HZ
466HZ
494HZ
音符
中DO
中#DO
中RE
中#RE
中MI
中EA
简谱码
DO
DO#
RE
RE#
MI
FA
频率
523HZ
554HZ
587HZ
622HZ
659HZ
698HZ
音符
中#FA
中SO
中#SO
中LA
中#LA
中SI
简谱码
FA#
SO
SO#
LA
LA#
SI
频率
740HZ
785HZ
831HZ
880HZ
932HZ
988HZ
音符
高DO
高#DO
高RE
高#RE
高MI
高EA
简谱码
DO_H
DO#_H
RE_H
RE#_H
MI_H
FA_H
频率
1047HZ
1109HZ
1174HZ
1245HZ
1318HZ
1397HZ
音符
高#FA
高SO
高#SO
高LA
高#LA
高SI
简谱码
FA#_H
SO_H
SO#_H
LA_H
LA#_H
SI_H
频率
1480HZ
1568HZ
1661HZ
1760HZ
1865HZ
1976HZ
每个音符分为简谱码和节拍码。
简谱码为D0-L到SI-H。
在此设计程序中,包括了两个数据表,它们分别存放了已经计算好的、各种音符频率所对应的、半周期的定时时间初始值的高八位和低八位。
有了这些数据,单片机就可以演奏从低音、中音、高音,三个八度的音符。
在播放乐曲时,单片机根据音符的不同数值,从表中找到定时时间初始值,送入定时器即可控制音调。
此外乐曲的数据也要写个数据表,在此设计程序中名为:
codeunsignedcharData_Sheet[],表中每三个数字代表一个音符,它们分别为:
第一个数字是音符的数值1234567之一,代表Do、Re、Mi...;
第二个数字是012之一,代表低音、中音、高音;
第三个数字是时间长度,此实验程序以半拍为单位。
乐曲数据表的结尾处为三个0,在程序中作为结束标志。
流程图为:
闹钟主程序流程图
中断1中断子程序流程图:
2.3LCD原理简述
1、SMG12864D3液晶显示模块的接口信号说明:
编号符号引脚说明编号符号引脚说明
1CS2片选IC2信号11DB2DataI/O
2CS1片选IC1信号12DB3DataI/O
3VSS电源地13DB4DataI/O
4VDD电源正极(+5V)14DB5DataI/O
5V0LCD偏压输入15DB6DataI/O
6RS数据/命令选择端(H/L)16DB7DataI/O
7RW读写控制信号(H/L)17/RESET复位端
8E使能信号18VEE负压输出
9DB0DataI/O19BLA背光源正极
10DB1DataI/O20BLK背光源负极
2、控制器接口说明(KS108B及兼容芯片)
1)基本操作时序:
1.1读状态:
输入:
RS=L,R/W=H,CS1或CS2=H,E=H输出:
D0~D7=状态字
1.2写指令:
输入:
RS=L,R/W=L,D0~D7=指令码,CS1或CS2=H,E=高脉冲输出:
无
1.3读数据:
输入:
RS=H,R/W=H,CS1或CS2=H,E=H输出:
D0~D7=数据
1.4写数据:
输入:
RS=H,R/W=L,D0~D7=数据,CS1或CS2=H,E=高脉冲输出:
无
2)状态字说明
STA7STA6STA5STA4STA3STA2STA1STA0
D7D6D5D4D3D2D1D0
STA0-4未用
STA5液晶显示状态1:
关闭0:
显示
STA6未用
STA7读写操作使能1:
禁止0:
允许
注:
对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0。
3)RAM地址映射图
LCD显示屏由两片控制器控制,每个内部带有8X64位(512字节)的RAM缓冲区,对应关系如图所示:
4)指令说明
4.1初始化设置
4.1.1显示开/关设置
指令码功能
3EH关显示
3FH开显示
4.1.2显示初始行设置
指令码功能
0C0H设置显示初始行
4.2数据控制
控制器内部设有一个数据地址页指针和一个数据地址列指针,用户可通过它们来访问内部的全部512字节RAM。
4.2.1数据指针设置
指令码功能
0B8H+页码(0~7)设置数据地址页指针
40H+列码(0~63)设置数据地址列指针
5初始化过程
写指令0C0H:
设置显示初始行。
写指令3FH:
开显示。
在编写软件代码之前必须要先掌握汉字取模的方法。
有很多取模软件能将文字转成字模数据。
取模常用的基本概念:
1、横向取模和纵向取模
与该单片机开发板配套的LCD12864D3内置KS0108B接口型液晶显示控制器,它的每字节点阵排列方式是纵向排列的,用取模软件取模时采用纵向取模方式;还有的液晶每字节点阵排列方式是横向排列的,用取模软件取模时采用横向取模方式。
不同液晶的取模方向可参考相应液晶的使用手册。
本程序采用纵向取模。
2、字节正序和字节倒序
通常一个字节的数据按二进制排列的话都是最左边为高位A7,最右边为低位A0,这就是正序;若LCD的点阵与一个字节数据的排列顺序相反,左边最左边显示的是A0,右边显示A7,这就是倒序。
竖向排列也一样,通常数据是上面为高位A7,下面为低位A0,是正序。
如果LCD模块的点阵排列正好反了,就是竖向倒序。
KS0108控制器的LCD竖向倒序排列图如下图所示。
程序流程图如图所示。
第三章音乐播放器硬件电路的设计和调试
3.1复位与下载模块
由电容,电位器,按键组成复位电路部分,该电路接于单片机的RESET端可以通过按键达到手动复位的效果。
复位时PSEN拉低进入下载或调试模式。
图3.1复位电路图图3.2下载电路图
3.2按键选择模块
使用接线帽把J12的1,2端口连接,形成矩阵按键。
图3.3按键电路图
3.3蜂鸣器发生模块
本设计中采用无源电磁式蜂鸣器,蜂鸣器由PWM1(P2.6)控制。
PWM1为片内PWM模块的输出。
图3.4音频发生与放大电路
3.4LCD显示模块
关键网络名和引脚名解释:
(1)DISCTRL0~4:
显示控制信号。
(2)D0~D7、DB0~DB7:
数据总线。
(3)E:
LCD使能信号。
(4)RS:
数据、指令选择信号。
(5)RW:
读、写选择信号。
其工作过程是通过芯片处理使用者通过按键发来的信息,显示歌曲名称,歌词随歌曲播放自动对应播放。
图3.5LCD显示信号连接图
3.5IIC总线(RTC时钟)
AduC848片内有I2C模块,并有独立的引脚SCLOCK和SDATA。
板上的RTC时钟芯片DS1307和EEPROM芯片AT24C08均使用了I2C总线。
板上设置了I2C接口,方便MCU与板外的I2C设备进行通信。
对SCLOCK和SDATA设置了测试点。
第4章软件编程设计与综合测试
4.1程序流程图
1.中断0子程序流程图
2.主程序流程图
4.2程序清单
4.2.112864子程序头文件
//12864子程序头文件
//头文件名:
LCD12864.H
#ifndef__LCD12864_H__
#define__LCD12864_H__
#defineDisplay_Off0x3e//显示关指令
#defineDisplay_On0x3f//显示开指令
#defineStart_Line0xc0//初始行指令
#defineX_Page_Addr0xb8//定位到第0页指针指令
#defineY_Col_Addr0x40//定位到第0列指针指令
//屏幕选择
#defineLCD_sel_left{CS1=1;CS2=0;}
#defineLCD_sel_right{CS1=0;CS2=1;}
#defineLCD_sel_all{CS1=1;CS2=1;}
#defineLCD_sel_no{CS1=0;CS2=0;}
//液晶开关
#defineLCD_show_onWrite_cmd(Display_On);
#defineLCD_show_offWrite_cmd(Display_Off);
voidLCD_init();//液晶初始化
voidLCD_Write_Sentence(unsignedcharHang,unsignedcharLie,unsignedchar*wordp);//向液晶写句子
voidLCD_write_shuzi(unsignedcharHang,unsignedcharLie,unsignedcharp);
voidLCD_write_fuhao(unsignedcharHang,unsignedcharLie,unsignedcharp);
voidWrite_dat(unsignedchardat);
#endif
4.2.2字模头文件
//字模头文件
//头文件名:
BLESS.H
#ifndef__BLESS_H__
#define__BLESS_H__
unsignedcharcodeWordTable[][32]=
{
{0x00,0x20,0x18,0xC7,0x44,0x44,0x44,0x44,0xFC,0x44,0x44,0x44,0x44,0x04,0x00,0x00,
0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*年*/
{0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x00,
0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00},/*月*/
{0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00},/*日*/
{0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,
0x00,0x44,0x42,0x49,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x41,0x40,0x00,0x00},/*星*/
{0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,
0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00},/*期*/
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*一*/
{0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00},/*二*/
{0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00},/*三*/
{0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,
0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00},/*四*/
{0x00,0x02,0x42,0x42,0x42,0xC2,0x7E,0x42,0x42,0x42,0x42,0xC2,0x02,0x02,0x00,0x00,
0x40,0x40,0x40,0x40,0x78,0x47,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x00},/*五*/
{0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x22,0x2C,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x01,0x02,0x04,0x18,0x60,0x00,0x00},/*六*/
{0x00,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,0x00,
0x40,0x42,0x44,0x58,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x50,0x48,0x46,0x40,0x00},/*显*/
{0x40,0x40,0x42,0x42,0x42,0x42,0x42,0xC2,0x42,0x42,0x42,0x42,0x42,0x40,0x40,0x00,
0x20,0x10,0x08,0x06,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x02,0x04,0x08,0x30,0x00},/*示*/
{0x40,0x42,0xCC,0x00,0x00,0xFE,0x82,0x92,0x92,0xFE,0x92,0x92,0x82,0xFE,0x00,0x00,
0x00,0x00,0x3F,0x10,0x88,0x7F,0x00,0x1E,0x12,0x12,0x12,0x5E,0x80,0x7F,0x00,0x00},/*调*/
{0x04,0x74,0xD4,0x54,0xFF,0x54,0xD4,0x74,0x14,0x08,0x77,0x84,0x44,0x3C,0x04,0x00,
0x82,0x89,0x88,0xE8,0x8B,0x88,0x88,0xF9,0xA8,0xAA,0xA9,0xA8,0xA9,0x8A,0x82,0x00},/*整*/
{0x00,0x3E,0x22,0xE2,0x22,0x3E,0x10,0xEC,0x27,0x24,0x24,0xE4,0x04,0xFC,0x00,0x00,
0x20,0x3F,0x20,0x1F,0x11,0x11,0x00,0x3F,0x42,0x42,0x4A,0x53,0x48,0x47,0x70,0x00},/*跑*/
{0x00,0x04,0x24,0x24,0x24,0x24,0x24,0xFF,0x24,0x24,0x24,0x24,0x24,0x04,0x00,0x00,
0x21,0x21,0x11,0x09,0xFD,0x83,0x41,0x23,0x05,0x09,0x11,0x29,0x25,0x41,0x41,0x00},/*表*/
{0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x10,0x10,0xFF,0x10,0x10,0x10,0xF0,0x00,0x00,
0x10,0x30,0x10,0x1F,0x08,0x88,0x48,0x30,0x0E,0x01,0x40,0x80,0x40,0x3F,0x00,0x00},/*功*/
{0x08,0xCC,0x4A,0x49,0x48,0x4A,0xCC,0x18,0x00,0x7F,0x88,0x88,0x84,0x82,0xE0,0x00,
0x00,0xFF,0x12,0x12,0x52,0x92,0x7F,0x00,0x00,0x7E,0x88,0x88,0x84,0x82,0xE0,0x00},/*能*/
{0x00,0xF8,0x01,0x22,0x20,0x22,0x2A,0xF2,0x22,0x22,0x22,0x22,0x02,0xFE,0x00,0x00,
0x00,0xFF,0x00,0x00,0x1F,0x01,0x01,0x7F,0x09,0x11,0x0F,0x40,0x80,0x7F,0x00,0x00},/*闹*/
{0x20,0x10,0x2C,0xE7,0x24,0x24,0x00,0xF0,0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x00,
0x01,0x01,0x01,0x7F,0x21,0x11,0x00,0x07,0x02,0x02,0xFF,0x02,0x02,0x07,0x00,0x00},/*钟*/
{0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9E,0x82,0x82,0x82,0x9E,0xA0,0x20,0x20,0x00,
0x00,0x00,0x00,0x3F,0x90,0x88,0x40,0x43,0x2C,0x10,0x28,0x46,0x41,0x80,0x80,0x00},/*设*/
{0x00,0x17,0x15,0xD5,0x55,0x57,0x55,0x7D,0x55,0x57,0x55,0xD5,0x15,0x17,0x00,0x00,
0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0x40,0x40,0x40,0x00},/*置*/
{0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00,
0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},/*开*/
{0x00,0x00,0x10,0x11,0x16,0x10,0x10,0xF0,0x10,0x10,0x14,0x13,0x10,0x00,0x00,0x00,
0x81,0x81,0x41,0x41,0x21,0x11,0x0D,0x03,0x0D,0x11,0x21,0x41,0x41,0x81,0x81,0x00},/*关*/
{0x04,0x04,0x44,0xC4,0x4F,0x44,0x44,0xC4,0x24,0x24,0x2F,0xB4,0x24,0x04,0x04,0x00,
0x40,0x44,0x24,0x24,0x15,0x0C,0x04,0xFE,0x04,0x0C,0x15,0x24,0x24,0x44
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ADUC848 单片机 多功能 定时 装置 电子 时钟 设计