课程实训报告
课程名称: |
单片机应用开发实训 |
设计题目: |
音乐倒数定时闹钟设计 |
学生姓名: |
|
学 号: |
|
专业班级: |
|
指导教师: |
|
完成日期: |
|
目 录
第2部分 课程实训内容与要求.............................................................................. 2
3.2 单片机最小系统设计.................................................................................... 3
3.3 LCD1602显示模块电路设计........................................................................ 3
3.5 温度传感器模块电路设计............................................................................. 5
3.6 时钟源模块电路设计.................................................................................... 5
3.7 蜂鸣器模块电路设计.................................................................................... 6
4.2 液晶LCD1602模块算法设计...................................................................... 11
4.4 温度传感器模块算法设计........................................................................... 17
第1部分 课程实训目的
本课程实训是本门课程课堂教学的延伸和发展,是理论知识与工程实践之间的衔接。通过本课程实训,使学生进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,进一步巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能;培养学生独立自主、综合分析的思维与创新能力,使学生初步具有设计小型计算机控制系统的硬件及软件的能力。同时,通过资料搜集、方案分析、系统设计与报告撰写的一系列过程,使学生得到一次科学研究工作的初步训练。从而,在专业知识与研究方法方面为日后的毕业设计乃至毕业后的工作奠定良好的基础。
1.灵活运用单片机的基础知识,依据课程实训内容,能够完成从硬件电路图设计,再到软件编程及系统调试实现系统功能,完成课程实训,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。
2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。
3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力。
第2部分 课程实训内容与要求
音乐倒数定时闹钟设计设计任务:
利用AT89C51单片机结合LED数码管设计一个简易的倒数定时闹钟,可用来煮方便面、煮开水或小睡片刻等一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。
定时闹钟的基本功能如下:
(1)LED显示格式为“分分:秒秒”,用于显示倒计时时间。
(2)用4个按键操作来设置当前想要倒计数的时间。一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。
(3)程序执行后,工作指示灯LED闪动,表示程序开始执行。
(4)当按K1键时,在LED上显示出设置画面。
拓展功能如下:
(1)使用DS18B20温度传感器采集当前温度并显示;
(2)使用DS1302时钟芯片记录当前时间;
第3部分 系统硬件设计
3.1 器件清单
表3-1 项目所用器件
序号 |
器件编号 |
Proteus器件名称 |
器件性质 |
参数及说明 |
数量 |
1 |
U1 |
AT89C51 |
单片机 |
12MHz |
1 |
2 |
U2 |
DS18B20 |
温度传感器 |
默认 |
1 |
3 |
U3 |
DS1302 |
时钟源 |
产生脉冲 |
1 |
4 |
LCD1 |
LM016L |
液晶显示器 |
默认 |
1 |
5 |
K1~K9 |
BUTTON |
按键 |
默认 |
9 |
6 |
BUZ1 |
BUZZER |
蜂鸣器 |
默认 |
1 |
7 |
C1~C3 |
HITEMP10U50V |
电容 |
默认 |
3 |
8 |
Q1 |
PNP |
即插即用 |
默认 |
1 |
9 |
R1~R2 |
RES |
电阻 |
默认 |
2 |
3.2 单片机最小系统设计
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器,期间采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可灵活应用于各种控制领域。
AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
本次设计采用的单片机AT89C51,复位电路采用上电复位电路。外接的晶振为12MHz晶振。
3.3 LCD1602显示模块电路设计
本次设计中以LM016L作为显示器件。LM016L智能型显示模块是一种低功耗、低价值、低损耗的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便。
引脚功能说明:
LCD LM016L采用标准的14脚接口,各引脚接口说明如下:
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
电路图如图3-3所示:
图 3-3液晶显示电路
3.4 键盘模块电路设计
键盘是人机交互的接口,本设计中,我们采用独立键盘。按当按键按下,与主控芯片连接的端口被降为低电平,按键松开则也升为高电平。按键采用的是Tack Switch按钮开关,它具有自动恢复的功能。当我们按下按钮时,其中的接点接通,放开按钮后,接点恢复为切断。虽然Tack Switch有4个引脚,但实际上,其内部只有一对a接点,即其中两个引脚是内部相连通的,而另外两个引脚内部也是相连通的。
本次设计中有9个按键,按键铃声1设置倒计时结束后播放铃声1音乐,按键铃声2设置倒计时结束后播放铃声2音乐,按键铃声3设置倒计时结束后播放铃声3音乐,启动计时开启倒计时,停止计时是停止倒计时运行。还有四个按键分别设置倒计时时间的分钟加减和秒钟加减。
电路图如图3-4-1、图3-4-2所示:
图 3-4-1
图 3-4-2
3.5 温度传感器模块电路设计
温度传感器DS18B20是一款数字温度传感器,它具有体积小巧、测量准确、使用简单、抗干扰能力强和硬件成本低等特点。
主要特性包括:
(1)精确度高:DS18B20可以提供9至12位的分辨率,能够以±0.5°C的精度在-10°C至+85°C范围内进行温度测量,在-55°C至+125°C的整个工作范围内,精度也能达到±2°C。
(2)单总线通信:仅需一根数据线就可以完成与微处理器的数据传输和供电。通过这根线可以同时实现电源供给、数据交换以及器件地址识别,大大简化了系统布线。
(3)内部存储器:DS18B20内部包含64位ROM用于存储唯一的序列号,使得同一总线上可以挂接多个DS18B20传感器而不会产生地址冲突,并且还有一个可读写的9字节EEPROM,用于存储配置信息及用户数据。
(4)宽电压工作范围:DS18B20可以在3.0V至5.5V的电压下正常工作。
仿真中通过按键调整DS18B20温湿度模块的值改变显示数值,上下箭头用于改变温度的值。
电路图如图3-5所示: