当前位置:文档之家› 单片机【倒计时音乐闹钟】课程设计

单片机【倒计时音乐闹钟】课程设计

// 2_ 3_ 4 4
0xFC,0xAC,0x7F, 0xFD,0x23,0x7F, 0xFD,0x34,0xFF, 0xFD,0x34,0xFF,
// 3_ 2_ 3 1
0xFD,0x23,0x7F, 0xFC,0xAC,0x7F, 0xFD,0x23,0xFF, 0xFC,0x44,0xFF,
原理图
PCB图
Protues仿真图
硬件总结:
由于考虑到元器件的布局、电路板的美观和减少飞线,我采用了双面板的形式。因为这个倒计时音乐闹钟不是高速板,所以它的PCB布线不用太讲究,主要是不要违反基本规则就可以了。
个人比较喜欢在电路板加多一个LED用来指示电源正常和用另外一个LED来指示程序运行正常,所以额外加多了两个LED灯。
STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
3.1.2管脚说明:
VCC:供电电压。GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
uchar m;
int a,b,y;
sbit switch_one = P1^0;
sbit switch_two = P1^1;
sbit switch_three = P1^2;
sbit switch_four = P1^3;
uchar miao=60,fen=1,num=0;
uchar flag=1;
// 1_ 3_ 2 .5
0xFC,0x44,0x7F, 0xFD,0x23,0x7F, 0xFC,0xAC,0xFF, 0xFA,0x68,0xFF,
// .7_ 2_ 1 -
0xFC,0x0C,0x7F, 0xFC,0xAC,0x7F, 0xFC,0x44,0xFF, 0xFF,0xFF,0xFF,
(2)通过按键可以自主设置倒计数的时间(1-60min、5min、10min)。一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。
三、总体设计与方案讨论
倒计时音乐器主要有六个模块组成:
①51单片机最小系统电路
②LCD1602液晶屏电路
③按键电路
④LED指示灯电路
⑤电源电路
⑥蜂鸣器电路
方案论证:
方案一:
write_sfm(7,miao);
}
}
1602LCD液晶屏驱动程序
#include "1602.h"
#include "reg52.h"
#include<intrins.h>
sbit RS=P2^2;
sbit LCDRW=P2^3;
sbit EN=P2^4;
//--------------------------------------------
RS=0;
LCDRW=0;
DATA_PORT=com;
delay_ms(5);
EN=1;
delay_ms(5);
EN=0;
}
//--------------------------------------------
void lcd_init(){
LCDRW=0;
RS=0;
write_com(0x36);
// 1_ 3_ 5 5
0xFC,0x44,0x7F, 0xFD,0x23,0x7F, 0xFD,0x82,0xFF, 0xFD,0x82,0xFF,
// 4_ 3_ 2 -
0xFD,0x23,0x7F, 0xFD,0x23,0x7F, 0xFC,0xAC,0xFF, 0xFF,0xFF,0xFF,
关键词:单片机倒计时LCD液晶屏
一、设计目的
(一)通过设计了解一个倒计时音乐闹钟的基本工作原理
(二)掌握51单片机计数器/定时器的工作方式和1602LCD的驱动工作原理;
(三)掌握keil4、AD10、prtues等软件的使用
(四)掌握调试电路和分析问题的能力
二、设计内容
(1)利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。一分钟倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数到达。
八.参考文献……………………………………………………………14
摘要
近年来随着科技的飞速发展,单片机的应用正在不断深入,渐渐的改变人们的生活习惯。在生活中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
人们做事通常是要有目的和时间观念的,在平时对一些比较重要的事情应该是调好闹钟或者备忘录来提醒自己。提醒的方式有很多,在学习了单片机的有关知识之后,运用相关知识来设计完成倒计时音乐闹钟。我对单片机很感兴趣,所以在听了老师给我们讲解单片机相关知识以后,我自己课后查找资料,不断学习单片机方面的知识。这次课设给了我学以致用的机会,我利用自己学的单片机知识,做了一个基于51单片机的倒计时音乐闹钟的设计。
write_sfm(7,miao);
write_com(0x80+0x40+4);
write_com(0x80+0x40+7);
miao=60;
}
if(switch_four==0) //10·ÖÖÓ
{
fen=10;
miao=0;
write_sfm(4,fen);
write_sfm(7,miao);
TL1 = 0x00;
num++;
if(num==90)
{
LED=~LED;
num=0;
miao--;
if(miao==59)
fen--;
if(miao==0)
{
miao=60;
if(fen==0)
{
TR1=0;
fen=0;
miao=0;
beep_flag=1;
}
}
write_sfm(4,fen);
write_com(0x0f);
write_com(0x38);
write_com(0x06);
write_com(0x01);
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
P3口也可作为STC89C52的一些特殊功能口,如下所示:
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
if(fen==60)
fen=0;
write_sfm(4,fen);
write_sfm(7,miao);
write_com(0x80+0x40+4);
write_com(0x80+0x40+7);
miao=60;
}
if(switch_three==0) //5·ÖÖÓ
{
fen=5;
miao=0;
write_sfm(4,fen);
三.设计要求……………………………………………………………4
四.硬件电路设计………………………………………………………5
五.流程图设计…………………………………………………………7
六.程序设计……………………………………………………………8
七.设计小结……………………………………………………………13
2
1.所需元件
STC89C52介绍
单片机主控电路的主要元件是STC89C52,其外型及管脚如图1所示:
图1 STC89C51管脚排列图
STC89C52是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的STC89C52提供了高性价比的解决方案。
五、程序流程图
六、程序设计
主程序:
#include "reg52.h"
#include "1602.h"
sbit beep = P2^0;
sbit LED = P1^4;
bit flag2;
uchar ptr = 0x00;
uchar high;
uchar low;
uchar time;
uchar beep_flag=0;
五邑大学
单片机课程设计
课程设计题目:倒计时音乐闹钟
院系信息工程学院
专业轨道交通自动化
学号3113002264
学生姓名梁杰帆
指导教师梁淑芬
完成日期2015年11月3日
基于单片机的倒计时音乐闹钟
一.设计目的……………………………………………………………2
二.硬件简介…………………………………………………………·3
}
for(a=0;a<2000;a++)
{
beep=~beep;for(b=0;b<26;b++);
}
for(a=0;a<2000;a++)
{
beep=~beep;for(b=0;b<27;b++);
}
}
while(m<5);
}
}
}
void time1() interrupt 3
相关主题