单片机设计期末作业.docx

上传人:b****6 文档编号:6610908 上传时间:2023-01-08 格式:DOCX 页数:9 大小:70.61KB
下载 相关 举报
单片机设计期末作业.docx_第1页
第1页 / 共9页
单片机设计期末作业.docx_第2页
第2页 / 共9页
单片机设计期末作业.docx_第3页
第3页 / 共9页
单片机设计期末作业.docx_第4页
第4页 / 共9页
单片机设计期末作业.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

单片机设计期末作业.docx

《单片机设计期末作业.docx》由会员分享,可在线阅读,更多相关《单片机设计期末作业.docx(9页珍藏版)》请在冰豆网上搜索。

单片机设计期末作业.docx

单片机设计期末作业

《单片机原理》课程期末作业

(C)西安电子科技大学测控专业

一、作业形式

通过本次作业,考查对8051单片机原理的掌握,以及程序设计和调试基本能力。

要求独立设计并调试完成一个具有完整功能的小型单片机系统,并写一份简短的设计报告,对自己所设计的系统进行描述和测试。

本次作业完成情况将作为平时成绩部分,计入期末总分。

二、作业内容

1、参考课程光盘内\学习板说明书\C51StartKit学习板.pdf的说明,自行购买电子元件,组装一套51单片机学习板。

2、从7道作业题中任选一题,独立完成程序设计,并在学习板上调试成功。

3、撰写一份简短的设计报告。

(主要说明设计思路、方法以及结果)

三、作业提交方式

将作业打包压缩(rar文件),按照“学号_姓名_题目.rar”的文件名作为附件,发邮件至*******************。

提交截止时间:

课程期末考试前。

提交内容:

1、源程序。

(整个工程所在文件夹)

2、设计报告。

(Word文档)

3、(如果有)相关演示视频、图片等。

四、作业题目(任选一题,多做不限)

本次作业题难度分为ABC三档,A题较难,B题中等,C题较为简单。

根据自己能力和兴趣选择合适的题目。

1、彩灯控制器(难度B)

学习板的P1口上接有8只LED,假设它们是一串彩灯。

设计一个简易的控制系统,控制其流水或闪烁花样和速度。

设计要求:

1)具有至少4种花样,可以参考下图,也可以自行设计或增添其他花样。

2)具有4个控制键,按下时蜂鸣器要有“滴”提示音,按键功能如下:

按1键,速度加快

按2键,速度减慢

按3键,切换下一种花样

按4键,暂停,再按一次恢复运行

3)其他功能,可自由发挥。

设计提示(仅供参考):

花样的设计可以利用查表(数组)来完成,每一种花色就对应一个数组,从中循环读取赋值给P1口即可实现滚动效果。

利用定时器产生固定的节拍,当节拍计数至N时切换下一个数组元素,改变N值即可调节速度。

键盘可以利用程序库中的代码。

 

2、简易温度记录仪(难度B)

利用学习板上的DS18B20数字温度传感器,设计一个简易温度记录系统。

设计要求:

1)实时显示温度(大约1~2秒更新一次)

2)1分钟记录一次温度。

3)具有2个按键,按下时蜂鸣器要有“滴”提示音,按键功能如下:

按键1按下时,清除已存储的数据,重新开始记录。

按键2按下时,从串口向超级终端打印记录信息,格式如下:

序号,温度值

1,xx.x,

2,xx.x

3,xx.x

……

4)用自己设计的温度记录系统,记录一次温度变化曲线,附在报告中。

例如:

室温下记录5分钟,然后置于暖气片上加热放置10分钟(升温),再回到室温冷却10分钟(降温)。

5)其他功能或测量实验,可自由发挥。

设计提示(仅供参考):

温度的测量可以利用程序库内DS18B20代码完成,1分钟计时可以通过定时器累计实现,每次1分钟定时到达时,将温度值顺序保存于一个数组中。

建议利用STC单片机256字节外部RAM(xdata)存储温度记录,可以记录128个温度值(约2小时),程序简单但缺点是实验过程不能断电。

也可以保存在STC单片机的Flash中(参考程序库),优点是断电也不会丢失。

通过串口向超级终端打印字符,所显示的内容可以拷贝后粘贴在Excel表格里,用Excel生成曲线。

注意:

学习板上的温度传感器可以用导线延长出来,可以做一些其他有趣的实验(例如测一测一壶开水的水温下降的规律是怎样的?

)。

 

3、“节奏感”游戏机(难度A)

“节奏感”是人与生俱来的一种感觉,有的人节奏感好,有的人差。

本题将利用单片机设计一个有趣的装置,对你的节奏感进行测试和评分。

原理如下图:

蜂鸣器发出两次“滴~滴”蜂鸣声,之间的间隔是随机产生的(0.3秒~2秒范围内随机选取)。

参与游戏者听到蜂鸣声后,根据鸣响节奏,估测第三次鸣响应该发生的时刻,按下按键。

单片机根据按键时刻的误差Et(单位:

ms),给出相应评分(分数显示在数码管上)。

本次测试得分=100分(误差Et<20ms以内)

100-Et/4(误差Et>20ms)

0(误差Et>400ms)

每轮游戏测试10次(每次的时间间隔都是随机的),取平均分作为最后得分。

设计要求:

1)完成上述设计

2)对同宿舍同学进行节奏感测试,得分情况附于报告中。

3)其他功能,可自由发挥。

设计提示(仅供参考):

随机数的产生可以利用math.h库中的rand函数产生。

可以用定时器产生1ms定时节拍,对蜂鸣及按键进行计时。

显示函数可以调用程序库内的代码。

注意,每次测试开始前1秒左右,应该有准备提示(例如LED闪烁一下,提示测试即将开始)。

 

4、

电子骰子(难度B)

利用单片机学习板上的键盘和数码管显示,设计一款电子骰子,能够产生随机骰子点数,最多能够模拟4个骰子同时扔出时的效果。

设计要求:

1)有4个按键,功能如下:

按键1按下,投出1颗骰子

按键2按下,同时投出2颗骰子

按键3按下,同时投出3颗骰子

按键4按下,同时投出4颗骰子

2)4位数码管显示值分别代表4个骰子的点数(1~6)。

3)按下按钮后,相应的数字位开始闪烁(1~6快速变化),松手后变化速度慢慢减缓,一段时间后才停下,蜂鸣器提示。

要求每次点数都是随机的。

4)其他功能,可自由发挥。

设计提示(仅供参考):

随机数的产生可以利用math.h中的rand函数来产生,但是该函数每次生成的序列是一样的(因为每次复位或上电后,随机数种子是一样的)。

解决方法之一是用按键时间长短来产生随机数种子,例如当按键按下时,开启定时器,松手时读取计数值n,作为种子,调用srand(n)函数将n设置为随机种子,然后再调用rand函数可以获取不重复的随机数序列。

也可以开机后将外部RAM中的数据求和(上电过程不清除外部RAM,是随机数),作为随机数种子。

注意rand函数产生的是0~32767内的随机数,通过取余操作(%6)获得0~5,再加1得到1~6之间的随机数。

显示函数可以调用程序库内的代码。

 

5、

简易电子秒表(难度C)

利用单片机学习板上的键盘和数码管显示,设计一款秒表。

要求如下:

1)四位显示,分辨率0.01秒,即显示SS.XX秒。

XX=00~99,SS=00~60

2)有2个按键,按键时有“滴”提示音,按键功能如下

按键1按下时,秒表开始计时;再次按时暂停计时;再按恢复计时…

当秒表处于暂停状态,按键2按下时,计时值清零。

3)计满1分钟(60s)后,点亮1只发光管,2分钟后点亮两只,依此类推。

4)其他功能,可自由发挥。

6、记忆力测试游戏机(难度A)

据科学研究,人类的记忆分为长期记忆与短期记忆两类(有点类似于计算机的ROM和RAM)。

短期记忆信息保持的时间很短,通常在5~20秒,最长不超过1分钟。

短期记忆有时也被称为电话号码式记忆,如同人们查到电话号码后立刻拨号,通完了话,号码也就随即忘掉。

短期记忆能力反映了大脑信息处理过程中的信息暂存能力。

本题将设计一款简单有趣的游戏装置,可以用来测试和提高你的短期记忆能力。

原理如下图,按照随机的排列顺序在4位数码管上,随机位置显示数字1~4,然后要求用按键1~4重复输入刚才看到的序列。

随着序列逐渐变长,记忆的难度也随之加大,直到记忆出错时为止游戏结束,此前的序列长度就代表了记忆能力。

游戏过程:

1)系统中具有4位数码管显示,4个按键。

2)复位后,数码管提示LV-X,X表示难度等级,可以在数字1~5范围设置;

按1键难度等级增加1

按2键难度等级减少1

按3键确认,游戏正式开始

3)蜂鸣器“滴”短鸣后,开始显示数字,数字1~4在随机位置出现(其他位消隐不显示),停留一段时间后,在下一个随机位置显示。

难度等级越高,停留时间越短。

4)显示完毕后,数字全部消失,用按键1~4输入刚才看到的序列。

5)若输入序列正确,显示“PASS”1秒钟,序列长度增加1(相当于下一关),跳回步骤3,然后开始下一轮游戏。

6)若输入序列错误,在输错的那一次按键时,提示“FAIL”1秒钟,然后显示得分,游戏结束。

此后所有按键失效,必须按复位键重新开始游戏。

步骤2)中的难度等级定义:

LV-1难度:

每个数字显示停留2秒,

LV-2难度:

每个数字显示停留1.5秒,

LV-3难度:

每个数字显示停留1秒,

LV-4难度:

每个数字显示停留0.5秒,

LV-5难度:

每个数字显示停留0.3秒,

步骤6)中的得分=[闯关数(失败前一关的序列长度)*10+本关(失败那一关)正确的个数]*难度等级:

设计要求:

1)完成上述设计

2)对同宿舍同学进行记忆力测试,将宿舍同学得分(最好有不同难度等级的得分)贴在报告中。

3)其他功能,可自由发挥。

设计提示(仅供参考):

随机数的产生方法参考第4题。

随机位置也可以用相同的方法产生。

在任意位置显示数字和字母的功能可以通过显示程序库来实现。

用定时器产生10ms左右的定时节拍,计数产生0.3~2秒的显示停留时间。

键盘输入可以调用程序库实现。

所产生的随机数字序列,可以先一次生成整个序列,保存在一个数组中,按照时间间隔依次显示完毕后与输入序列逐一进行对比。

7、简易定时提醒器(难度C)

利用单片机学习板上的键盘和数码管显示,设计一款定时提醒器。

要求如下:

1)四位倒计时显示,即显示MM.SS。

MM=99~00分钟,SS=59~00秒

2)有4个按键,按键时有“滴”提示音,其中按键1和按键2用来设定倒计时时间,按键3和按键4用来控制。

具体按键功能如下:

按键1按下时,调整分钟值加1,最大可设定99分钟

按键1长按不放时,分钟值加10。

按键2按下时,调整分钟值减1,最小可设定01分钟

按键2长按不放时,分钟值减10,

按键3按下时,倒计时开始,秒钟值每秒减1,减到0后分钟减1,同时秒钟值变为59。

倒计时过程中,再按一次按键3,倒计时暂停。

再按恢复,依此类推。

按键4按下时,取消本次定时,计时值清零,此后可以用按键1/2重新设定新的定时值。

3)倒计时计至00.00时,蜂鸣器响。

4)其他功能,可自由发挥。

 

8、自选题目

鼓励在上述5个题目之外自由发挥选题,利用51单片机学习板,设计并实现一个小型但完整的单片机系统(允许并鼓励扩展),完成某些特定的功能。

以下是可供参考的选题方向。

1.解决生活中实际问题的小电子装置。

2.实用美观的电子礼品、电子装饰品等。

3.出于个人兴趣爱好的开发和研究。

4.尝试一些别人没有过的设计,特别是“看起来”不可思议的事。

6.用单片机自动完成某些实验的测量工作。

7.设计一些有趣的小游戏。

8.为单片机学习板编写一个模块化程序。

9.设计新的人机交互方法、或新的人机交互体验

10.以上未列出的一切富有创意以及能完整实现的作品。

五、报告攥写范例

《XXXX》(所选题目名称)设计报告

学号__________班级__________姓名____________

一、摘要

用几句话简单明了的概述你做了什么东西,比如利用了51单片机的哪些模块,通过什么方法,实现了什么功能,达到了什么指标,做了什么实验,结果如何等信息(并非严格格式,自己发挥,但要简明扼要突出重点)。

是报告的“浓缩精髓”,也是作品的第一印象。

二、硬件设计

简单介绍你所用到的硬件电路的原理,说明他们和单片机之间的连接关系,工作过程等关键问题即可,切忌长篇大论摘抄,应当简洁明了的介绍。

附上你所用到的电路原理图(或框图),不要将整个学习板的电路都贴上来(没意义)。

如果你只用到了学习板的一部分,可以画框图表示;如果你在学习板的基础上扩展了某些电路,要把你扩展的部分详细画出来。

如果不会用绘图软件,可以手绘然后拍照贴图。

三、程序设计

简洁扼要地介绍你的软件实现了什么功能,这些功能是怎么实现的(设计思路)。

画出主要功能的流程图。

关键部分作必要的说明,切忌过多地纠缠于细节问题。

四、测试结果

拍一张作品的照片放在这一部分,最好它是正在工作时候的照片。

必要时可以帖多张对比。

简单地描述你是怎么验证题目中所要求的功能?

如何进行的测试,步骤和方法是什么?

测试结果如何?

(通过测试,说明你完成了题目中要求的功能,且功能是正确的)

如果有实验部分,附一些典型的实验数据,例如题2和题3、题7可以贴上实验数据,第4题可以附上100次骰子的统计分析,看看1~6点的概率是不是均等的?

第5题可以和一只标准秒表对比,看看计时有没有误差?

五、总结

可以参考下面的几个方面来写(不要求面面俱到,有针对的选择几个方面,根据实际情况写),但是要简明扼要,总结部分不宜再铺开。

1)在设计过程中,遇到哪些困难怎么解决的?

2)总结出哪些经验?

(包括成功的和失败的经验)

3)你在设计过程中,有什么新方法、新思路值得分享?

4)通过实际动手,学到了哪些东西?

5)如何进一步改进?

有什么思路?

6)有没有什么有趣的新发现?

(比如第6题,男生和女生的记忆力有区别么?

第2题,试试宿舍里哪种开水瓶保温性能最好?

7)其他值得总结的内容。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1