单片机课程设计题目大全
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
30
Biblioteka Baidu
在此基础上,可将乐曲的简谱转化为单片机可以“识别”的 “数组谱”,进一步加入对音长、休止符等的控制量后, 可以实现音乐的播放。
3.电路设计(Proteus仿真通过) 本题目制作的带有LCD显示的音乐倒数计数器电路原理图,
如下页图所示。
31
32
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
16
MAX7219的典型应用参考电路
17
3. 电路设计(Proteus软件仿真通过)
18
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-2.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真,按下按键1后,可发现led停止闪烁,即时钟停止 走时,时钟停在当前时刻,按下按键2和按键3后,可改变 时间,按下按键4后,时钟复位到修改后的时间,时钟重新 开始运转,如下页图所示。
3. 电路设计(Proteus软件仿真通过)
7
4. Proteus仿真 打开元器件单片机属性窗口,在“Program File”栏中添加上
面编译好的目标代码文件“keil-1.hex”;在“Clock Frequency”栏中输入晶振频率为11.0592MHz。 仿真如下页图所示,其中,浮动窗口中显示的为DS1302当前 时钟状态:
4
(7) 键盘采用动态扫描方式查询。所有的查询、设置功能均 由功能键K1、K2完成。
2. 工作原理 本设计采用市场上流行的时钟芯片DS1302进行制作。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含 一个实时时钟/日历和31字节静态RAM,可以通过串行 接口与计算机进行通信,使得管脚数量减少。实时时钟/ 日历电路能够计算2100年之前的秒、分、时、日、星期 、月、年的,具有闰年调整的能力。 DS1302时钟芯片的主要功能特性:
DS18B20的性能如下。
独特的单线接口仅需要一个端口引脚进行通信。
多个DS18B20可以并联在串行传输的数据线上,实现多 点组网功能。无须外部器件。
36
可通过数据线供电,电压范围为3.0~5.5V。 零待机功耗。 温度以9或12位的数字读数方式。 用户可定义报警设置。 报警搜索命令识别并标志超过程序限定温度(温度报警条件 )的器件。 负电压特性,电源极性接反时,温度计不会因发热而烧毁, 但不能正常工作。 采用3引脚PR-35封装或8引脚SOIC封装。
26
27
题目5 音乐倒数计数器 1. 设计要求 利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒
数计数器,可用来煮方便面、煮开水或小睡片刻等。做一 小段时间倒计数,当倒计数为0时,则发出一段音乐声响, 通知倒计数终了,该做应当做的事。 定时闹钟的基本功能如下。 字符型LCD(16 2)显示器。 显示格式为“TIME 分分:秒秒”。
29
则在LCD上显示出设置画面。此时,若: a. 按操作键K2—增加倒计数的时间1分钟。 b. 按操作键K3—减少倒计数的时间1分钟。 c. 按操作键K4—设置完成。 键盘实现菜单功能的方法,已在题目4详细说明,不再赘述。
本题目最大难点是实现音乐的播放。作者利用定时计数器,通 过载入不同的计数初值,产生频率不同的方波,输入到蜂鸣器 (SOUNER)中,使其发出频率不同的声音。本设计中单片 机晶振为1.0592MHz,通过计算各音阶频率,可得1、2、3、 4、5、6、7共7个音应赋给定时器的初值为64580、64684、 64777、64820、64898、64968、65030。
2
题目11 数字频率计 题目12 8位竞赛抢答器的设计 题目13 单词记忆测试器程序设计 题目14 数字电压表设计 题目15 可编程作息时间控制器设计 题目16 节日彩灯控制器的设计 题目17 双机之间的串行通信设计 题目18 电子琴设计 题目19 数字音乐盒的设计 题目20 单片机控制步进电机 题目21 单片机控制直流电动机
“Program File”栏中添加上面编译好的目标代码文件 “keil-5.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真如下页图所示,当闹钟到达时,可以听见蜂鸣器演 奏的乐曲。再次提示,本题目必须选用蜂鸣器SOUNDER ,否则不能发出声音。
33
10
K3—设置分钟。 K4—确认完成设置。 程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显
示“00:00:00”,然后开始计时。 2. 实验原理 题目难点在于键盘的指令输入,由于每个按键都具有相应的一
种或多种功能,程序中需要大量使用do{}while或while{} 循环结构,以检测是否有按键按下。按键检测函数的详解 如下(略)
37
3.电路设计(Proteus仿真通过) 本项目制作的数字温度计电路原理图,如下所示:
38
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-6.hex”;在“Clock Frequency”栏中输入晶振频率 为11.0592MHz。
5
(1) 能计算2100年之前的年、月、日、星期、时、分、秒的 信息;每月的天数和闰年的天数可自动调整;时钟可设置 为24或12小时格式。
(2) 31B的8位暂存数据存储RAM。 (3) 串行I/O口方式使得引脚数量最少。 (4) DS1302与单片机之间能简单地采用同步串行的方式进
行 通信,仅需3根线。 (5) 宽范围工作电压2.0-5.5V。 (6) 工作电流为2.0A时,小于300nA。 (7) 功耗很低,保持数据和时钟信息时功率小于1mW。 6
23
24
2. 参考电路(Proteus软件仿真通过)
25
3. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-3.hex”;在“Clock Frequency”栏中输入晶振频 率为12MHz。 启动仿真,下页图示为按下“开始”按键后的情况,在按下 前,数码管无显示。期间如果按下“复位”按键,则LED 显示归零,走时停止。
3
题目1 智能电子钟(LCD显示) 1. 设计要求
以AT89C51单片机为核心,制作一个LCD显示的智能电子钟 :
(1) 计时:秒、分、时、天、周、月、年。 (2) 闰年自动判别。 (3) 五路定时输出,可任意关断(最大可到16路)。 (4) 时间、月、日交替显示。 (5) 自定任意时刻自动开/关屏。 (6) 计时精度:误差≤1秒/月(具有微调设置)。
19
20
题目4 定时闹钟 1. 设计要求 使用AT89C51单片机结合字符型LCD显示器设计一个简易
的定时闹钟LCD时钟,若LCD选择有背光显示的模块, 在夜晚或黑暗的场合中也可使用。 定时闹钟的基本功能如下: 显示格式为“时时:分分”。 由LED闪动来做秒计数表示。 一旦时间到则发出声响,同时继电器启动,可以扩充控 制家电开启和关闭。
28
用4个按键操作来设置当前想要倒计数的时间。一旦按下键 则开始倒计数,当计数为0时,发出一阵音乐声。
程序执行后工作指示灯LED闪动,表示程序开始执行,按下 操作键K1~K4动作如下。
K1—可调整倒计数的时间1~60分钟。 K2—设置倒计数的时间为5分钟,显示“0500”。 K3—设置倒计数的时间为10分钟,显示“1000”。 K4—设置倒计数的时间为20分钟,显示“2000”。 复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1 键,
课程设计题目
1
目录----课程设计题目
题目1 智能电子钟(LCD显示) 题目2 电子时钟(LCD显示) 题目3 秒表 题目4 定时闹钟 题目5 音乐倒数计数器 题目6 基于数字温度传感器的数字温度计 题目7 基于热敏电阻的数字温度计 题目8 十字路口交通灯控制 题目9 波形发生器设计 题目10 电容、电阻参数单片机测试系统的设计
11
3. 参考电路(Proteus软件仿真通过)
12
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-2.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真,按下按键1后,可发现LED停止闪烁,即时钟停 止走时,时钟停在当前时刻,按下按键2和按键3后,可改 变时间,按下按键4后,时钟复位到修改后的时间,时钟 重新开始运转,如下页图所示。
(1) K1—时调整。 (2) K2—分调整。
22
(3) K3—设置完成。 (4) K4—闹铃时间到时,发出一阵声响,按下本键可以停止声
响。 本项目的难点在于4个按键每个都具有两个功能,以最终实现
菜单化的输入功能。采用通过逐层嵌套的循环扫描,实现 嵌套式的键盘输入。以对小时的设置的流程为例,其流程 如下页图。
35
2. 实验原理
从温度传感器DS18B20可以很容易直接读取被测温度值, 进行转换即满足设计要求。
DS18B20温度传感器是美国DALLAS半导体公司最新推出 的一种改进型智能温度传感器,与传统的热敏电阻等测温 元件相比,它能直接读出被测温度,并且可根据实际要求 通过简单的编程实现9~12位的数字读数方式。
15
复位”按键按下,程序将TR0置为0,同时将存储时间的变 量清零,从而中断停止,并实现复位。
本题目采用专用数码管显示控制芯片MAX7219。 MAX7219是美国MAXIM公司生产的串行输入/输出共 阴极显示驱动器,该芯片最多可驱动8位7段数字LED显 示器或个LED和条形图显示器。其引脚图及引脚功能参 见有关参考资料。
8
图 智能电子钟仿真效果
9
题目2 电子时钟(LCD显示) 1. 设计要求 以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的
时间: 使用字符型LCD显示器显示当前时间。 显示格式为“时时:分分:秒秒”。 用4个功能键操作来设置当前时间。功能键K1~K4功能如下。 K1—进入设置现在的时间。 K2—设置小时。
34
题目6 基于数字温度传感器的数字温度计 1. 设计要求 利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在 LED数码管上显示相应的温度值。其温度测量范围为 −55℃~125℃,精确到0.5℃。数字温度计所测量的温 度采用数字显示,控制器使用单片机AT89C51,测温传 感器使用DS18B20,用3位共阳极LED数码管以串口传送 数据,实现温度显示。
13
14
题目3 秒表 1. 设计要求 用AT89C51设计一个2位的LED数码显示作为“秒表”:显
示时间为00—99秒,每秒自动加1,另设计一个“开始” 键和一个“复位”键。 2. 实验原理 题目难点在于通过对键盘的扫描对时钟的走时/停止进行控 制,项目采用定时器T0作为计时器,每10ms发生一次中 断,每100次中断加1s。在此期间,如“开始”按键按下 ,程序方将TR0置为1,从而开启中断,时钟开始走时; 如“
21
程序执行后工作指示灯LED闪动,表示程序开始执行, LCD显示“00:00”,按下操作键K1~K4动作如下:
(1) K1—设置现在的时间。 (2) K2—显示闹钟设置的时间。 (3) K3—设置闹铃的时间。 (4) K4—闹铃ON/OFF的状态设置,设置为ON时连续三次发
出“哗”的一声,设置为OFF发出“哗”的一声。 设置当前时间或闹铃时间如下。
启动仿真如下页图所示,其中,DS18B20窗口显示的为 当前环境温度,若调整DS18B20旁边的箭头,可改变环境温 度,可以看到LED显示屏上的温度值发生相应的变化。
39
40
题目7 基于热敏电阻的数字温度计 1. 设计要求 使用热敏电阻类的温度传感器件利用其感温效应,将随被测温
Biblioteka Baidu
在此基础上,可将乐曲的简谱转化为单片机可以“识别”的 “数组谱”,进一步加入对音长、休止符等的控制量后, 可以实现音乐的播放。
3.电路设计(Proteus仿真通过) 本题目制作的带有LCD显示的音乐倒数计数器电路原理图,
如下页图所示。
31
32
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
16
MAX7219的典型应用参考电路
17
3. 电路设计(Proteus软件仿真通过)
18
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-2.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真,按下按键1后,可发现led停止闪烁,即时钟停止 走时,时钟停在当前时刻,按下按键2和按键3后,可改变 时间,按下按键4后,时钟复位到修改后的时间,时钟重新 开始运转,如下页图所示。
3. 电路设计(Proteus软件仿真通过)
7
4. Proteus仿真 打开元器件单片机属性窗口,在“Program File”栏中添加上
面编译好的目标代码文件“keil-1.hex”;在“Clock Frequency”栏中输入晶振频率为11.0592MHz。 仿真如下页图所示,其中,浮动窗口中显示的为DS1302当前 时钟状态:
4
(7) 键盘采用动态扫描方式查询。所有的查询、设置功能均 由功能键K1、K2完成。
2. 工作原理 本设计采用市场上流行的时钟芯片DS1302进行制作。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含 一个实时时钟/日历和31字节静态RAM,可以通过串行 接口与计算机进行通信,使得管脚数量减少。实时时钟/ 日历电路能够计算2100年之前的秒、分、时、日、星期 、月、年的,具有闰年调整的能力。 DS1302时钟芯片的主要功能特性:
DS18B20的性能如下。
独特的单线接口仅需要一个端口引脚进行通信。
多个DS18B20可以并联在串行传输的数据线上,实现多 点组网功能。无须外部器件。
36
可通过数据线供电,电压范围为3.0~5.5V。 零待机功耗。 温度以9或12位的数字读数方式。 用户可定义报警设置。 报警搜索命令识别并标志超过程序限定温度(温度报警条件 )的器件。 负电压特性,电源极性接反时,温度计不会因发热而烧毁, 但不能正常工作。 采用3引脚PR-35封装或8引脚SOIC封装。
26
27
题目5 音乐倒数计数器 1. 设计要求 利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒
数计数器,可用来煮方便面、煮开水或小睡片刻等。做一 小段时间倒计数,当倒计数为0时,则发出一段音乐声响, 通知倒计数终了,该做应当做的事。 定时闹钟的基本功能如下。 字符型LCD(16 2)显示器。 显示格式为“TIME 分分:秒秒”。
29
则在LCD上显示出设置画面。此时,若: a. 按操作键K2—增加倒计数的时间1分钟。 b. 按操作键K3—减少倒计数的时间1分钟。 c. 按操作键K4—设置完成。 键盘实现菜单功能的方法,已在题目4详细说明,不再赘述。
本题目最大难点是实现音乐的播放。作者利用定时计数器,通 过载入不同的计数初值,产生频率不同的方波,输入到蜂鸣器 (SOUNER)中,使其发出频率不同的声音。本设计中单片 机晶振为1.0592MHz,通过计算各音阶频率,可得1、2、3、 4、5、6、7共7个音应赋给定时器的初值为64580、64684、 64777、64820、64898、64968、65030。
2
题目11 数字频率计 题目12 8位竞赛抢答器的设计 题目13 单词记忆测试器程序设计 题目14 数字电压表设计 题目15 可编程作息时间控制器设计 题目16 节日彩灯控制器的设计 题目17 双机之间的串行通信设计 题目18 电子琴设计 题目19 数字音乐盒的设计 题目20 单片机控制步进电机 题目21 单片机控制直流电动机
“Program File”栏中添加上面编译好的目标代码文件 “keil-5.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真如下页图所示,当闹钟到达时,可以听见蜂鸣器演 奏的乐曲。再次提示,本题目必须选用蜂鸣器SOUNDER ,否则不能发出声音。
33
10
K3—设置分钟。 K4—确认完成设置。 程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显
示“00:00:00”,然后开始计时。 2. 实验原理 题目难点在于键盘的指令输入,由于每个按键都具有相应的一
种或多种功能,程序中需要大量使用do{}while或while{} 循环结构,以检测是否有按键按下。按键检测函数的详解 如下(略)
37
3.电路设计(Proteus仿真通过) 本项目制作的数字温度计电路原理图,如下所示:
38
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-6.hex”;在“Clock Frequency”栏中输入晶振频率 为11.0592MHz。
5
(1) 能计算2100年之前的年、月、日、星期、时、分、秒的 信息;每月的天数和闰年的天数可自动调整;时钟可设置 为24或12小时格式。
(2) 31B的8位暂存数据存储RAM。 (3) 串行I/O口方式使得引脚数量最少。 (4) DS1302与单片机之间能简单地采用同步串行的方式进
行 通信,仅需3根线。 (5) 宽范围工作电压2.0-5.5V。 (6) 工作电流为2.0A时,小于300nA。 (7) 功耗很低,保持数据和时钟信息时功率小于1mW。 6
23
24
2. 参考电路(Proteus软件仿真通过)
25
3. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-3.hex”;在“Clock Frequency”栏中输入晶振频 率为12MHz。 启动仿真,下页图示为按下“开始”按键后的情况,在按下 前,数码管无显示。期间如果按下“复位”按键,则LED 显示归零,走时停止。
3
题目1 智能电子钟(LCD显示) 1. 设计要求
以AT89C51单片机为核心,制作一个LCD显示的智能电子钟 :
(1) 计时:秒、分、时、天、周、月、年。 (2) 闰年自动判别。 (3) 五路定时输出,可任意关断(最大可到16路)。 (4) 时间、月、日交替显示。 (5) 自定任意时刻自动开/关屏。 (6) 计时精度:误差≤1秒/月(具有微调设置)。
19
20
题目4 定时闹钟 1. 设计要求 使用AT89C51单片机结合字符型LCD显示器设计一个简易
的定时闹钟LCD时钟,若LCD选择有背光显示的模块, 在夜晚或黑暗的场合中也可使用。 定时闹钟的基本功能如下: 显示格式为“时时:分分”。 由LED闪动来做秒计数表示。 一旦时间到则发出声响,同时继电器启动,可以扩充控 制家电开启和关闭。
28
用4个按键操作来设置当前想要倒计数的时间。一旦按下键 则开始倒计数,当计数为0时,发出一阵音乐声。
程序执行后工作指示灯LED闪动,表示程序开始执行,按下 操作键K1~K4动作如下。
K1—可调整倒计数的时间1~60分钟。 K2—设置倒计数的时间为5分钟,显示“0500”。 K3—设置倒计数的时间为10分钟,显示“1000”。 K4—设置倒计数的时间为20分钟,显示“2000”。 复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1 键,
课程设计题目
1
目录----课程设计题目
题目1 智能电子钟(LCD显示) 题目2 电子时钟(LCD显示) 题目3 秒表 题目4 定时闹钟 题目5 音乐倒数计数器 题目6 基于数字温度传感器的数字温度计 题目7 基于热敏电阻的数字温度计 题目8 十字路口交通灯控制 题目9 波形发生器设计 题目10 电容、电阻参数单片机测试系统的设计
11
3. 参考电路(Proteus软件仿真通过)
12
4. Proteus仿真 加载目标代码文件 打开元器件单片机属性窗口,在
“Program File”栏中添加上面编译好的目标代码文件 “keil-2.hex”;在“Clock Frequency”栏中输入晶振频 率为11.0592MHz。 启动仿真,按下按键1后,可发现LED停止闪烁,即时钟停 止走时,时钟停在当前时刻,按下按键2和按键3后,可改 变时间,按下按键4后,时钟复位到修改后的时间,时钟 重新开始运转,如下页图所示。
(1) K1—时调整。 (2) K2—分调整。
22
(3) K3—设置完成。 (4) K4—闹铃时间到时,发出一阵声响,按下本键可以停止声
响。 本项目的难点在于4个按键每个都具有两个功能,以最终实现
菜单化的输入功能。采用通过逐层嵌套的循环扫描,实现 嵌套式的键盘输入。以对小时的设置的流程为例,其流程 如下页图。
35
2. 实验原理
从温度传感器DS18B20可以很容易直接读取被测温度值, 进行转换即满足设计要求。
DS18B20温度传感器是美国DALLAS半导体公司最新推出 的一种改进型智能温度传感器,与传统的热敏电阻等测温 元件相比,它能直接读出被测温度,并且可根据实际要求 通过简单的编程实现9~12位的数字读数方式。
15
复位”按键按下,程序将TR0置为0,同时将存储时间的变 量清零,从而中断停止,并实现复位。
本题目采用专用数码管显示控制芯片MAX7219。 MAX7219是美国MAXIM公司生产的串行输入/输出共 阴极显示驱动器,该芯片最多可驱动8位7段数字LED显 示器或个LED和条形图显示器。其引脚图及引脚功能参 见有关参考资料。
8
图 智能电子钟仿真效果
9
题目2 电子时钟(LCD显示) 1. 设计要求 以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的
时间: 使用字符型LCD显示器显示当前时间。 显示格式为“时时:分分:秒秒”。 用4个功能键操作来设置当前时间。功能键K1~K4功能如下。 K1—进入设置现在的时间。 K2—设置小时。
34
题目6 基于数字温度传感器的数字温度计 1. 设计要求 利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在 LED数码管上显示相应的温度值。其温度测量范围为 −55℃~125℃,精确到0.5℃。数字温度计所测量的温 度采用数字显示,控制器使用单片机AT89C51,测温传 感器使用DS18B20,用3位共阳极LED数码管以串口传送 数据,实现温度显示。
13
14
题目3 秒表 1. 设计要求 用AT89C51设计一个2位的LED数码显示作为“秒表”:显
示时间为00—99秒,每秒自动加1,另设计一个“开始” 键和一个“复位”键。 2. 实验原理 题目难点在于通过对键盘的扫描对时钟的走时/停止进行控 制,项目采用定时器T0作为计时器,每10ms发生一次中 断,每100次中断加1s。在此期间,如“开始”按键按下 ,程序方将TR0置为1,从而开启中断,时钟开始走时; 如“
21
程序执行后工作指示灯LED闪动,表示程序开始执行, LCD显示“00:00”,按下操作键K1~K4动作如下:
(1) K1—设置现在的时间。 (2) K2—显示闹钟设置的时间。 (3) K3—设置闹铃的时间。 (4) K4—闹铃ON/OFF的状态设置,设置为ON时连续三次发
出“哗”的一声,设置为OFF发出“哗”的一声。 设置当前时间或闹铃时间如下。
启动仿真如下页图所示,其中,DS18B20窗口显示的为 当前环境温度,若调整DS18B20旁边的箭头,可改变环境温 度,可以看到LED显示屏上的温度值发生相应的变化。
39
40
题目7 基于热敏电阻的数字温度计 1. 设计要求 使用热敏电阻类的温度传感器件利用其感温效应,将随被测温