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

合集下载

单片机设计闹钟课程设计

单片机设计闹钟课程设计

单片机设计闹钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握闹钟设计的硬件组成和功能模块。

2. 使学生掌握C语言编程基础,能够运用C语言编写简单的闹钟程序。

3. 帮助学生了解单片机中断、定时器等知识,并能将其应用于闹钟设计。

技能目标:1. 培养学生动手实践能力,能够独立完成闹钟硬件电路的搭建和程序编写。

2. 提高学生问题解决能力,能够根据实际需求调整闹钟程序,实现相应功能。

3. 培养学生团队协作能力,能够在小组合作中发挥个人优势,共同完成课程任务。

情感态度价值观目标:1. 培养学生对单片机及编程的兴趣,激发学习热情,树立自信心。

2. 培养学生勇于尝试、不断探索的精神,使其面对困难时保持积极态度。

3. 培养学生遵守实验规程,注重安全意识,养成良好的实验习惯。

课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握单片机设计与编程的基本技能。

学生特点:学生处于高年级阶段,已具备一定的电子技术基础和编程知识,具备独立思考和解决问题的能力。

教学要求:教师应注重理论与实践相结合,引导学生主动参与,关注个体差异,激发学生潜能,提高教学质量。

通过课程学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。

二、教学内容1. 硬件知识:介绍闹钟电路的组成,包括单片机芯片、时钟电路、蜂鸣器、按键等部件的功能和连接方式。

- 教材章节:《单片机原理与应用》第三章“单片机硬件结构”2. C语言编程:讲解C语言基础知识,重点掌握数据类型、运算符、控制语句等,并应用于单片机程序编写。

- 教材章节:《C语言程序设计》第二章“C语言基础”3. 单片机编程:学习单片机编程基础,掌握中断、定时器等编程方法,实现闹钟功能。

- 教材章节:《单片机原理与应用》第四章“中断与定时器”4. 闹钟程序设计:根据实际需求,编写闹钟程序,实现设定时间、响铃、停止等功能。

- 教材章节:《单片机原理与应用》第七章“项目实践案例”5. 实践操作:指导学生进行闹钟硬件电路搭建,程序编写和调试,培养学生动手能力。

单片机课程设计音乐闹钟定时器

单片机课程设计音乐闹钟定时器

目录:0、任务书 (2)1、系统总体设计方案规划与选定 (2)2、硬件设计 (5)3、软件设计 (6)4、调试 (8)5、新增功能及实现方法 (8)6、小结与体会 (9)7、参考文献 (9)8、附录 (10)0.任务书基于51单片机设计一个电子数字钟,显示时、分、秒,且具有闹钟功能。

用8255接口实现4*8键盘及8位LED显示。

32个键:0~9共10个键,调时(设置当前时间)键;设定闹钟(定时)键;走时键;光标左右移动各一个键。

要求键复位后,应该最后面的LED上显示H(待命状态)。

1. 系统总体设计方案规划与选定1.1主控制芯片选择方案一:采用ARM微处理,做主控芯片,计算速度快,缺点;成本高,控制较复杂,不容易焊接。

方案二:采用80C51单片机做主控制器,由单片机来完成采集和信号处理等底层的核心计算,做主控芯片,成本低,易控制,易实现。

经过以上两个方案比较,在此题方案二明显优于方案一,故采用80C51单片机做主控制器。

1.2定时模块选择方案一:采用时钟芯片DS1302。

DS1302 可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录,且较单片机计时简单节约硬件资源,但存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。

方案二:采用单片机内部的定时系统,外接晶振进行分频脉冲计数。

此系统采用12MHz晶振。

由于方案二使用简单,比方案一更适用该系统设计,所以选择方案二。

1.3 LED显示及计时模块选择方案一:74LS192计数器——74LS47七点显示译码器74LS192芯片是一块可预置数可逆计数芯片,功能强大。

将74LS192芯片CPU引脚接高电平可实现减法计数,以倒计时显示。

可通过74LS47与LED共阳极数字显示器配合使用。

方案二:使用移位寄存器74HC595与译码器相连74HC595具有8位移位寄存器和一个存储器,使用时可直接与数字显示器相连。

方案三:使用8255扩展LED显示计时模块8255是一个可编程并行接口芯片,有一个控制口和三个8位数据口,外设通过数据口与单片机进行数据通信,各数据口的工作方式和数据传送方向是通过用户对控制口写控制字控制的。

音乐倒数计数器单片机课程设计

音乐倒数计数器单片机课程设计

目录第1章概述 (1)1.1 发展前景 (1)1.2 设计要求 (1)1.3 设计方案 (1)第2章系统结构及主要元器件 (2)2.1 AT89C51单片机 (2)2.2 LCD显示器 (3)第3章硬件设计 (4)3.1 显示电路 (4)3.2 输入电路 (4)3.3 复位电路 (5)3.4 报警电路 (5)第4章软件设计 (6)4.1 程序流程图 (6)4.2程序源代码 (6)第5章系统仿真及调试 (15)5.1 软件调试 (15)5.2软硬件调试 (15)5.3系统仿真 (17)参考文献 (19)第1章概述1.1 发展前景随着人们生活水平的不断提高单片机控制无疑是人们追求的目标之一,它给人带来的方便也是不可置否的,人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。

本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。

做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

1.2 设计要求利用数字AT89C51单片机实现倒数计数器的功能,设定时间后在LED数码管上显示相应的时间。

其功能和性能指标如下:1、字符型LCD(16 2)显示器,显示格式为“TIME 分分:秒秒”。

2、用4个按键操作来设置当前想要倒计数的时间。

3、一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。

4、程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1~K4动作如下:(1)K1—可调整倒计数的时间1~60分钟。

(2)K2—设置倒计数的时间为5分钟,显示“0500”。

(3)K3—设置倒计数的时间为10分钟,显示“1000”。

(4)K4—设置倒计数的时间为20分钟,显示“2000”。

5、复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD 上显示出设置画面。

单片机闹钟课程设计

单片机闹钟课程设计

单片机闹钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和功能,掌握闹钟设计的硬件组成。

2. 学生能掌握单片机编程的基本语法,运用C语言编写闹钟程序。

3. 学生了解闹钟的运行原理,掌握时间计算、时间显示和时间调整的方法。

技能目标:1. 学生能够独立完成闹钟硬件的连接与调试。

2. 学生能够运用所学知识,编写并优化闹钟程序,实现闹钟的基本功能。

3. 学生具备分析问题、解决问题的能力,能够对闹钟设计过程中遇到的问题进行有效解决。

情感态度价值观目标:1. 培养学生热爱科学、主动探究的学习态度,增强学生对单片机及编程的兴趣。

2. 培养学生的团队合作意识,学会在团队中沟通、协作、分享。

3. 培养学生的创新意识,鼓励学生在设计过程中发挥想象,勇于尝试。

课程性质:本课程为实践性课程,注重理论知识与实践操作的相结合,旨在提高学生的动手能力、编程能力和创新能力。

学生特点:本课程针对初中或高中年级学生,他们对单片机有一定的基础了解,具备基本的编程知识,喜欢动手操作,对新鲜事物充满好奇心。

教学要求:教师应注重理论与实践相结合,引导学生主动探究,关注学生的个体差异,提供有针对性的指导。

同时,注重培养学生的团队合作意识和创新能力。

在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. 理论知识:a. 单片机原理与结构:介绍单片机的基本组成、工作原理及性能参数。

b. C语言基础:回顾C语言基本语法,强调在单片机编程中的应用。

c. 闹钟原理:讲解闹钟的运行机制,包括时间计算、时间显示和时间调整等。

2. 实践操作:a. 硬件连接:指导学生完成单片机、时钟模块、显示屏等硬件的连接与调试。

b. 程序编写:教授学生如何使用C语言编写闹钟程序,实现闹钟的基本功能。

c. 系统调试:教授学生如何对闹钟程序进行调试,优化程序性能,解决常见问题。

3. 教学大纲:a. 第一周:单片机原理与结构,C语言基础回顾。

音乐倒计时综合课程设计实验报告

音乐倒计时综合课程设计实验报告

物理与电子工程学院《综合电子系统》课程设计报告音乐倒计时班级 2013级电工1班成员王宏胡旷龚婕妤指导教师杨丽蓉提交日期 2016 年 6 月 10 日目录一.设计概述和要求1.1 设计概述1.2设计要求二.系统设计2.1框图设计2.2元件清单三.软件设计3.1程序流程图3.1.1主程序流程图3.1.2蜂鸣器发声程序流程图3.2蜂鸣器发声电路原理图3.3蜂鸣器发声程序的关键代码四.PROTEUS仿真结果4.1总体电路仿真结果4.2假设倒计时为5秒时的仿真结果五. 实物图六.总结七.参考文献一、课程设计要求利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计时器,可用来煮方便面、烧开水和小睡片刻等。

计时器先接受用户输入的倒数计时时间,然后由用户启动工作,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

定时闹钟的基本功能如下:1.字符型LCD(16*2)显示器。

2.显示格式为“TIME 分分:秒秒”。

3.用四个按键操作来设置当前想要倒计数的时间,一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。

二、系统设计框图设计本项目的系统设计框图如图2-1所示:由系统框图可看出,本设计由单片机AT89C51、LCD液晶显示器、控制键盘、蜂鸣器、复位电路和定时器几大模块组成。

1.主控芯片AT89C51AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。

主要性能:与MCS-51兼容、4K字节可编程闪烁存储器。

寿命:1000写/擦循环。

数据保留时间:10年。

全静态工作:0HZ-24MHZ,二级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。

AT89C51单片机LED数字倒计时器—课程设计

AT89C51单片机LED数字倒计时器—课程设计

课题: AT89C51单片机LED数字倒计时器专业:班级:学号:姓名:指导教师:设计日期:成绩:重庆大学城市科技学院电气学院目录一、设计目的作用 (3)二、设计要求 (3)三、设计的具体实现 (3)1、设计原理 (3)(1)系统设计方案 (3)(2)功能模块 (4)(3)工作原理: (4)2、系统设计 (4)(1)显示模块 (4)(2)晶振模块 (5)(3)复位电路: (5)(4)按键模块: (6)(5)报警模块: (7)3、系统实现 (7)(1)实物图 (7)(2)分析 (8)四、总结 (8)五、附录 (9)附录1: (9)附录2: (10)附录3: (10)六、参考文献 (17)LED数字倒计时器设计报告一、设计目的作用1、掌握51单片机最小系统的设计;2、掌握按键电路设计、LED数码管的使用;3、掌握C51的编程方式。

二、设计要求基于AT89C51单片机的LED数字倒计时器主要具有如下功能,具体要求如下:1、LED数码管显示倒计时时间。

2、倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出2s 的报警声音。

(K1设置小时,K2设置分钟,K3设置秒钟,K4完成退出)3、通过按键可以对倒计时设定处置。

倒计时初值范围在24:00:00~00:00:60之间,设置成功后复位初始值为成功设定值。

三、设计的具体实现1、设计原理(1)系统设计方案:基于AT89C51单片机的数码管显示模块显示的倒计时器。

主要是以单片机来控制,用按键来设定倒计时初始时刻的值,数码管作为显示模块来显示剩余的时间。

此电路对于倒计时器中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

晶振模块图1 LED 数字倒计时器设计框图(2)功能模块:倒计时器的总体包括显示电路,按键电路,复位电路,晶振电路和报警电路等五个模块。

显示模块显示计数与灭灯,复位模块控制电路完成计数的直接清零,暂停/连续技术,用按键模块来设定倒计时初始时刻的值,报警模块实现定时时间到报警等功能。

音乐倒数定时器课程设计

音乐倒数定时器课程设计

桂林航天工业学院单片机课程设计与制作说明书设计题目音乐倒数定时器专业电子信息工程技术学生姓名廖培霖班级电信二班学号201104520206指导教师孙智研起止日期2013.06.24—2013.07.05桂林航天工业学院单片机课程设计与制作成绩评定表桂林航天工业学院电子工程系单片机课程设计任务书专业:电子信息工程技术年级:2011 级装订线音乐倒数定时器课程设计一设计原理1利用单片机板程序可移植性,运用单片机软件写一个音乐倒计时软件,在程序里利用延迟的不同来确定音的频率,利用节拍决定音符的长短.2蜂鸣器(P1.2端口)产生音乐的原理音乐声的产生是有定时器来产生固定频率的方波信号推动压电喇叭,发出旋律。

而定时器原先已利用设计时间计时处理了,怎么能在设计来做音乐旋律的控制?在此设计定义一个音乐演奏标志,若音乐演奏标志为0则执行中断程序中计时程序的部分程序,若音乐演奏标志为1则执行音乐发生控制程序。

因此只要适当的运用程序设计技巧,计时中断程序中可以做许多种不同的工作,而这些工作是需要特定一段时间久必须要被触发而被执行的程序。

3计数器原理定时器设计时间计时处理,其时分秒控制,定时器0计时中断程序每个5ms中断一次当做一个计数,每中断一次则计数加1,当计数200次时,表示1s到了,秒变量加1,同理再判断是否9钟到了,若计数到了则将相关变量清除为0。

通过对时间进行/10(求整,求出整数位温度),%10(求余,求出个位数温度),把最后的温度整数位和个位赋值给P0口通过1602显示出来。

当时间为0是,关闭定时中断T0,并打开音乐定时中断T1通过P1.2导通蜂鸣器播放音乐。

二设计目的1 通过该设计提高分析解决问题的能力。

2 了解模拟电路及数字电路的相关知识。

3 学习单片机定时器时间计时处理,按键扫描,LCD显示及音乐演奏的设计方法。

三设计过程和硬件需要用单片机的仿真软件测试程序的可用性,测试好了再把程序输进单片机板,再在接口处接上蜂鸣器.在这过程中可能会遇到LCD板不显示或者出现白条,解决办法是调节屏幕对比度再重置或者重新载入程序.四部分硬件方案论述1 LCD1602显示方式五程序解析#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit lcde=P2^6; //确定位地址sbit lcdrs=P2^4;sbit lcdw=P2^5;sbit speaker=P1^2; //蜂鸣器接口uchar code table[]="0432 00/00/00";uchar code table1[]=" 00:00:09";uchar count,s1num;static char miao=9,shi=0,fen=0;//生日快乐歌的音符频率表,不同频率由不同的延时来决定uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0};//uchar code SONG_TONE[]={212,212,190,212,159,169,0};//生日快乐歌节拍表,节拍决定每个音符的演奏长短uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0}; //uchar code SONG_LONG[]={9,3,12,12,12,24,0};//延时void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar x){ P0=x;lcdrs=0;lcdw=0;lcde=1;delay(2);lcde=0;lcdw=0;}void write_date(uchar x){lcdrs=1;lcdw=0;P0=x;// delay(5);lcde=1;delay(2);lcde=0;}void write_sfm(uchar add,uchar date) //时间函数{uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}//播放函数void PlayMusic(){ uint i=0,j,k;while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){ //播放各个音符,SONG_LONG为拍子长度for(j=0;j<SONG_LONG[i]*20;j++){speaker=~speaker;//SONG_TONE延时表决定了每个音符的频率 for(k=0;k<SONG_TONE[i]/3;k++);}delay(10);i++;}}void init(){uchar num;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(num=0;num<15;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<12;num++){write_date(table1[num]);delay(5);}TMOD=0x01; //工作在0方式TH0=(65536-50000)/256; //计数初值TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1; //中断溢出}void main(){init();while(1){if(miao==0&&fen==0&&shi==0){ TR0=0;PlayMusic();}}}void timer0() interrupt 1 //中断一读取时间{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==18){count=0;miao--;if(miao==-1){miao=59;fen--;if(fen==-1){fen=59;shi--;if(shi==-1){shi=23;}write_sfm(4,shi);}write_sfm(7,fen);}write_sfm(10,miao);}}六总结音乐倒计时设计完成了,但是功能比较少,能够做出来的音乐比较少,定时在程序里面完成,显得比较繁琐.所以相对一个好的系统来说存在着几点不足:1 需要在程序里面完成定时.2 音乐体裁较少.设计体会:1 查阅资料和阅读相关文献的重要性,查阅相关文献可以带来技术性的指导和突破.2 对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。

单片机课程设计--音乐倒数计数器

单片机课程设计--音乐倒数计数器

单片机课程设计--音乐倒数计数器单片机课程设计--音乐倒数计数器任务书设计任务:利用STC89C52单片机结合字符型LCD显示器设计一个简易的倒数计数器。

做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

设计要求:1.字符型LCD(16×2)显示器,显示格式为“TIME 分分:秒秒”。

2.用4个按键操作来设置当前想要倒计数的时间。

3.一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。

4.程序执行后工作指示灯LCD闪动,表示程序开始执行,按下操作键K1~K4动作如下:●K1---可调整倒计数的时间1~60分钟。

●K2---设置倒计数的时间为5分钟,显示“0500”。

●K2---设置倒计数的时间为10分钟,显示“1000”。

●K2---设置倒计数的时间为20分钟,显示“2000”。

5.复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。

此时,若:按K2键---增加倒计数的时间1分钟。

按K2键---减少倒计数的时间1分钟。

按K4键---设置完成。

目录任务书............................................................ I 1 绪论 (2)1.1 单片机基础知识 (2)1.2 单片机的发展趋势 (3)1.3 项目设计任务与要求 (3)2 系统设计 (5)2.1 框图设计 (5)2.2部分硬件方案论述 (6)2.3电路原理图 (6)2.4元件清单 (7)2.4.1STC89C52芯片 (7)2.4.2字符型LCD1602 ..................... 错误!未定义书签。

2.4.3按键控制模块 (8)2.4.4其它元件 (12)3软件设计 (14)3.1 程序流程图 (14)4 系统的仿真与调试 (12)4.1 硬件调试 (12)4.2 软件调试 (12)4.3 软硬件调试 (12)5总结 (13)参考文献 (14)附录程序 (25)1 绪论1.1 单片机基础知识单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// 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
相关文档
最新文档