单片机课程设计题目(一).ppt
- 文档编号:11440077
- 上传时间:2023-05-31
- 格式:PPT
- 页数:128
- 大小:2.15MB
单片机课程设计题目(一).ppt
《单片机课程设计题目(一).ppt》由会员分享,可在线阅读,更多相关《单片机课程设计题目(一).ppt(128页珍藏版)》请在冰点文库上搜索。
1,1,目录-单片机课程设计题目
(一)题目1智能电子钟(LCD显示)题目2电子时钟(LCD显示)题目3秒表题目4定时闹钟题目5音乐倒数计数器题目6基于数字温度传感器的数字温度计题目7基于热敏电阻的数字温度计题目8十字路口交通灯控制题目9波形发生器设计题目10电容、电阻参数单片机测试系统的设计,2,题目11数字频率计题目128位竞赛抢答器的设计题目13单词记忆测试器程序设计题目14数字电压表设计题目15可编程作息时间控制器设计题目16节日彩灯控制器的设计题目17双机之间的串行通信设计题目18电子琴设计题目19数字音乐盒的设计题目20单片机控制步进电机题目21单片机控制直流电动机,3,3,题目1智能电子钟(LCD显示)1.设计要求以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:
(1)计时:
秒、分、时、天、周、月、年。
(2)闰年自动判别。
(3)五路定时输出,可任意关断(最大可到16路)。
(4)时间、月、日交替显示。
(5)自定任意时刻自动开/关屏。
(6)计时精度:
误差1秒/月(具有微调设置)。
4,4,(7)键盘采用动态扫描方式查询。
所有的查询、设置功能均由功能键K1、K2完成。
2.工作原理本设计采用市场上流行的时钟芯片DS1302进行制作。
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与计算机进行通信,使得管脚数量减少。
实时时钟/日历电路能够计算2100年之前的秒、分、时、日、星期、月、年的,具有闰年调整的能力。
DS1302时钟芯片的主要功能特性:
5,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,3.电路设计(Proteus软件仿真通过),6,7,4.Proteus仿真打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-1.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
仿真如下页图所示,其中,浮动窗口中显示的为DS1302当前时钟状态:
8,图智能电子钟仿真效果,9,题目2电子时钟(LCD显示)1.设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:
使用字符型LCD显示器显示当前时间。
显示格式为“时时:
分分:
秒秒”。
用4个功能键操作来设置当前时间。
功能键K1K4功能如下。
K1进入设置现在的时间。
K2设置小时。
9,10,K3设置分钟。
K4确认完成设置。
程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:
00:
00”,然后开始计时。
2.实验原理题目难点在于键盘的指令输入,由于每个按键都具有相应的一种或多种功能,程序中需要大量使用dowhile或while循环结构,以检测是否有按键按下。
按键检测函数的详解如下(略),10,11,3.参考电路(Proteus软件仿真通过),11,12,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-2.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
启动仿真,按下按键1后,可发现LED停止闪烁,即时钟停止走时,时钟停在当前时刻,按下按键2和按键3后,可改变时间,按下按键4后,时钟复位到修改后的时间,时钟重新开始运转,如下页图所示。
13,14,题目3秒表1.设计要求用AT89C51设计一个2位的LED数码显示作为“秒表”:
显示时间为0099秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。
2.实验原理题目难点在于通过对键盘的扫描对时钟的走时/停止进行控制,项目采用定时器T0作为计时器,每10ms发生一次中断,每100次中断加1s。
在此期间,如“开始”按键按下,程序方将TR0置为1,从而开启中断,时钟开始走时;如“,14,15,复位”按键按下,程序将TR0置为0,同时将存储时间的变量清零,从而中断停止,并实现复位。
本题目采用专用数码管显示控制芯片MAX7219。
MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器,该芯片最多可驱动8位7段数字LED显示器或个LED和条形图显示器。
其引脚图及引脚功能参见有关参考资料。
15,16,MAX7219的典型应用参考电路,16,17,3.电路设计(Proteus软件仿真通过),18,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-2.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
启动仿真,按下按键1后,可发现led停止闪烁,即时钟停止走时,时钟停在当前时刻,按下按键2和按键3后,可改变时间,按下按键4后,时钟复位到修改后的时间,时钟重新开始运转,如下页图所示。
19,20,题目4定时闹钟1.设计要求使用AT89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟,若LCD选择有背光显示的模块,在夜晚或黑暗的场合中也可使用。
定时闹钟的基本功能如下:
显示格式为“时时:
分分”。
由LED闪动来做秒计数表示。
一旦时间到则发出声响,同时继电器启动,可以扩充控制家电开启和关闭。
20,21,程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:
00”,按下操作键K1K4动作如下:
(1)K1设置现在的时间。
(2)K2显示闹钟设置的时间。
(3)K3设置闹铃的时间。
(4)K4闹铃ON/OFF的状态设置,设置为ON时连续三次发出“哗”的一声,设置为OFF发出“哗”的一声。
设置当前时间或闹铃时间如下。
(1)K1时调整。
(2)K2分调整。
21,22,(3)K3设置完成。
(4)K4闹铃时间到时,发出一阵声响,按下本键可以停止声响。
本项目的难点在于4个按键每个都具有两个功能,以最终实现菜单化的输入功能。
采用通过逐层嵌套的循环扫描,实现嵌套式的键盘输入。
以对小时的设置的流程为例,其流程如下页图。
22,23,24,24,2.参考电路(Proteus软件仿真通过),25,3.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-3.hex”;在“ClockFrequency”栏中输入晶振频率为12MHz。
启动仿真,下页图示为按下“开始”按键后的情况,在按下前,数码管无显示。
期间如果按下“复位”按键,则LED显示归零,走时停止。
26,27,题目5音乐倒数计数器1.设计要求利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。
做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。
定时闹钟的基本功能如下。
字符型LCD(162)显示器。
显示格式为“TIME分分:
秒秒”。
27,28,28,用4个按键操作来设置当前想要倒计数的时间。
一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。
程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1K4动作如下。
K1可调整倒计数的时间160分钟。
K2设置倒计数的时间为5分钟,显示“0500”。
K3设置倒计数的时间为10分钟,显示“1000”。
K4设置倒计数的时间为20分钟,显示“2000”。
复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,,29,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。
30,在此基础上,可将乐曲的简谱转化为单片机可以“识别”的“数组谱”,进一步加入对音长、休止符等的控制量后,可以实现音乐的播放。
3.电路设计(Proteus仿真通过)本题目制作的带有LCD显示的音乐倒数计数器电路原理图,如下页图所示。
30,31,32,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-5.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
启动仿真如下页图所示,当闹钟到达时,可以听见蜂鸣器演奏的乐曲。
再次提示,本题目必须选用蜂鸣器SOUNDER,否则不能发出声音。
33,33,34,题目6基于数字温度传感器的数字温度计1.设计要求利用数字温度传感器DS18B20与单片机结合来测量温度。
利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。
其温度测量范围为55125,精确到0.5。
数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。
35,2.实验原理从温度传感器DS18B20可以很容易直接读取被测温度值,进行转换即满足设计要求。
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字读数方式。
DS18B20的性能如下。
独特的单线接口仅需要一个端口引脚进行通信。
多个DS18B20可以并联在串行传输的数据线上,实现多点组网功能。
无须外部器件。
35,36,36,可通过数据线供电,电压范围为3.05.5V。
零待机功耗。
温度以9或12位的数字读数方式。
用户可定义报警设置。
报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。
负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
采用3引脚PR-35封装或8引脚SOIC封装。
37,3.电路设计(Proteus仿真通过)本项目制作的数字温度计电路原理图,如下所示:
37,38,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-6.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
启动仿真如下页图所示,其中,DS18B20窗口显示的为当前环境温度,若调整DS18B20旁边的箭头,可改变环境温度,可以看到LED显示屏上的温度值发生相应的变化。
39,40,题目7基于热敏电阻的数字温度计1.设计要求使用热敏电阻类的温度传感器件利用其感温效应,将随被测温度变化的电压或电流用单片机采集下来,将被测温度在显示器上显示出来:
测量温度范围50110。
精度误差小于0.5。
LED数码直读显示。
40,41,2.实验原理本题目使用铂热电阻PT100,其阻值会随着温度的变化而改变。
PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。
厂家提供有PT100在各温度下电阻值值的分度表,在此可以近似取电阻变化率为0.385/。
向PT100输入稳恒电流,再通过A/D转换后测PT100两端电压,即得到PT100的电阻值,进而算出当前的温度值。
采用2.55mA的电流源对PT100进行供电,然后用运算放大器LM324搭建的同相放大电路将其电压信号放大10倍后输入到AD0804中。
利用电阻变化率0.385/的特性,计算出当前温度值。
41,42,42,3.电路设计(Proteus仿真通过),43,4.Proteus仿真首先加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-7.hex”;在“ClockFrequency”栏中输入晶振频率为12MHz。
启动仿真如图所示,其中,PT100旁边的数字窗口显示的为测定的环境温度,通过调整上下温度,可以实现对环境温度的改变。
值得注意的是,由于本项目使用的核心测温器件PT100对温度存在一定的响应时间,故启动程序后一段时间测定的温度才能稳定下来。
44,本题目测温误差主要由以下几点引发:
ADC0804为8位ADC芯片,精度有限;程序假定PT100为完全线性的器件,而即使是厂家推荐的线性值也会存在一定误差;运放电路并非绝对线性。
如使用12位ADC芯片,采用“四线制”的PT100接法,采用查表法测定温度值,将极大提高温度的测量精度。
45,46,46,题目8十字路口交通灯控制1.设计要求设计一个十字路口交通灯控制器。
用单片机控制LED灯模拟指示。
模拟东西方向的十字路口交通信号控制情况。
东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s。
2.实验原理本项目为典型的LED显示和中断定时电路。
利用定时器T0产生每10ms一次的中断,每100次中断为1s。
对两个方向分别显示红、绿、黄灯,已经相应的剩余时间即可。
值得注意的,47,是,需要意识到,A方向红灯时间=B方向绿灯时间+黄灯缓冲时间这一常识。
本项目使用的MAX7219芯片使用方法请参考题目3。
3.电路设计(Proteus仿真通过)本项目制作的十字路口交通灯控制电路原理图,如下页图:
48,48,49,49,4.Proteus仿真,50,题目9波形发生器设计1.设计要求设计一个能产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。
2.实验原理产生指定波形可以通过DAC来实现,不同波形产生实质上是对输出的二进制数字量进行相应改变来实现的。
本题目中,方波信号是利用定时器中断产生的,每次中断时,将输出的信号按位反即可;三角波信号是将输出的二进制数字信号依次加1,达到0xff时依次减1,并实时将数字信号经D/A转换得到;锯齿波信号是将输出的二进制数字信号依次,50,51,加1,达到0xff时置为0x00,并实时将数字信号经D/A转换得到的;梯形波是将输出的二进制数字信号依次加1,达到0xff时保持一段时间,然后依次减1直至0x00,并实时将数字信号经D/A转换得到的;正弦波是利用MATLAB将正弦曲线均匀取样后,得到等间隔时刻的y方向上的二进制数值,然后依次输出后经D/A转换得到。
3.电路设计(Proteus仿真通过)本波形发生器的设计电路原理图,如下页图所示:
52,52,53,53,题目10电容、电阻参数单片机测试系统的设计1.设计要求设计一个能测量电容、电阻参数的测试系统。
2实验原理对电阻的测量,可将待测电阻与一标准电阻串联后接在+5V的电源上,根据串联分压原理,利用ADC测定电阻两端电压后,即可得到其阻值。
对电容的测量,可将其与已知阻值的电阻RA和RB组成基于NE555的多谐振荡器如下页图。
其产生的方波信号频率为:
、,54,55,故通过测定方波信号的频率可以比较精确的测定C的值。
测定方波信号频率的方法,请见题目11。
3.电路设计(Proteus仿真通过)本题目的电容、电阻参数单片机测试系统的设计电路原理图,见下页。
55,56,56,57,57,4.Proteus仿真测量电阻仿真如下图所示,但由于Proteus中555芯片模型存在问题,无法实现对电容测量的仿真,且仿真时必须删去555的电路模块。
58,题目11数字频率计1.设计要求设计一个以单片机为核心的频率测量装置。
使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。
(1)被测频率fx110Hz,采用测周法,显示频率.;fx110Hz,采用测频法,显示频率。
(2)利用键盘分段测量和自动分段测量。
59,(3)完成单脉冲测量,输入脉冲宽度范围是100s0.1s。
(4)显示脉冲宽度要求如下。
Tx1000s,显示脉冲宽度。
Tx1000s,显示脉冲宽度。
2.实验原理测量频率有测频法和测周法两种。
(1)测频法,利用外部电平变化引发的外部中断,测算1s内的波数,从而实现对频率的测定;
(2)测周法,通过测算某两次电平变化引发的中断之间的时间,实现对频率的测定。
简而言之,测频法是直接根据定义测定频率,测周法是通过测定周期间接测定频率。
59,60,理论上,测频法适用于较高频率的测量,测周法适用于较低频率的测量。
经过调校,在测量低频信号时,本项目中测频法精度已高于测周法,故舍弃测周法,全量程采用测频法。
3.电路设计(Proteus仿真通过)以单片机为核心的频率计电路原理图,如下页图所示:
60,61,62,62,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-16.hex”;在“ClockFrequency”栏中输入晶振频率为12MHz。
启动仿真如后两页图(a)和图(b)所示:
63,63,图(a)仿真1,64,64,图(b)仿真2,65,题目128位竞赛抢答器的设计1.设计要求以单片机为核心,设计一个8位竞赛抢答器:
同时供8名选手或8个代表队比赛,分别用8个按钮S0S7表示。
设置一个系统清除和抢答控制开关S,开关由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。
66,当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
2.实验原理通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。
同时单片机,66,67,不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。
3.电路设计(Proteus仿真通过)8位竞赛抢答器的设计电路原理图,如下页图所示:
68,69,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-19.hex”;在“ClockFrequency”栏中输入晶振频率为12MHz。
仿真:
单击按钮,启动仿真,结果如下页图所示:
70,71,题目13单词记忆测试器程序设计1.设计要求设计一个以单片机为核心的单词记忆测试器:
实现单词的录入(为使程序具有可演示性,单词不少于10个)。
单词用按键控制依次在屏幕上显示,按键选择认识还是不认识,也可以直接进入下一个或者上一个。
单词背完后给出正确率。
2.实验原理本题目实质上是一个具有一定复杂程度键盘扫描程序,可,72,将单词存储在一个二维数组中,按“确定”键开始程序后,次显示0行的数组,即第一个单词。
之后按下“向上”按键,显示上一行数组,即上一个单词;按下“向下”按键,显示下一行数组,即下一个单词。
当显示的行数超过9时,程序结束,并通过按“确认”的次数,计算出正确率。
3.电路设计(Proteus仿真通过)本项目制作的单词记忆测试器程序设计电路如下页图所示。
73,74,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-18.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
启动仿真如下页图(a)-(c)所示:
75,图(a)单词记忆测试器程序设计启动界面仿真效果图,图(b)单词记忆测试器程序设计测试界面仿真效果图,图(c)单词记忆测试器程序设计正确率显示界面仿真效果,76,题目14数字电压表设计1.设计要求以单片机为核心,设计一个数字电压表。
采用中断方式,对2路05V的模拟电压进行循环采集,采集的数据送LED显示,并存入内存。
超过界限时指示灯闪烁。
2.实验原理本题目本质上是以单片机为控制器,ADC0809为ADC器件的AD转换电路,设计要求的电压显示,是对ADC采集所得信号的进一步处理。
为得到可读的电压值,需根据ADC的原理,对采集所得的,77,信号进行计算,并显示在LED上。
本项目中ADC0809的参考电压为+5V,根据定义,采集所得的二进制信号addata所指代的电压值为:
而若将其显示到小数点后两位,不考虑小数点的存在(将其乘以100),其计算的数值为:
。
将小数点显示在第二位数码管上,即为实际的电压。
78,本示例程序将1.25V和2.5V作为两路输入的报警值,反映在二进制数字上,分别为0x40和0x80。
当AD结果超过这一数值时,将会出现二极管闪烁和蜂鸣器发声。
3.电路设计(Proteus仿真通过)本单片机数字电压表电路原理图,如下页图所示:
79,80,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“xxxxx.hex;在“ClockFrequency”栏中输入晶振频率为12MHz。
ADC0809的时钟信号设置为640kHz。
启动仿真,如下页图所示,当调节滑动变阻器时,可观察到显示的电压发生变化,且两路输入电压的测算值交替显示.。
当任一路电压输入超过预设值时,LED显示器闪烁,蜂鸣器发声。
由于8位AD芯片精度有限,其误差大约在几十mV左右。
81,82,题目15可编程作息时间控制器设计1.设计要求设计一个以单片机为核心的可编程作息时间控制器:
按照给定的时间模拟控制,实现广播、上下课打铃、灯光控制(屏幕显示),同时具备日期和时钟显示。
2.实验原理本题目原理与题目4相同,程序是在题目4的基础上将定时闹钟改造为4路可调闹钟,从而实现打铃等功能。
当四路闹钟中的任一路到时,均会点亮灯、打铃。
如有需求,可对,83,程序进行调整,增加闹钟的路数,及到时后的处理方式。
题目中4个按键的功能分别为:
设置限制的时间/时的调整、显示闹钟设置的时间/分的调整、设置闹钟的时间/设置完成、闹钟更换。
3.电路设计(Proteus仿真通过)本可编程作息时间控制器程序设计电路原理图,如下页图所示:
84,85,4.Proteus仿真加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“keil-17.hex”;在“ClockFrequency”栏中输入晶振频率为11.0592MHz。
启动仿真如下页图所示,当四路闹钟中的任一路到时,均会点亮灯、打铃。
86,87,题目16节日彩灯控制器的设计1.设计要求以单片机为核心,设计一个节日彩灯控制器:
P1.2开始,按此键则灯开始流动(由上而下)。
P1.3停止,按此键则停止流动,所有灯为暗。
P1.4上,按此键则灯由上向下流动。
P1.5下,按此键则灯由下向上流动。
2.实验原理本题目本质上是由按键控制功能的流水灯,LED工作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 题目