2023年单片机实验报告2.pdf
《2023年单片机实验报告2.pdf》由会员分享,可在线阅读,更多相关《2023年单片机实验报告2.pdf(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单 片 机 应 用 系 统 设 计 报 告题 目 单片机应用系统设计_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学 院 信息学院_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _专 业 电气工程及自动化_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _班 级 1 2电气升本_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学 生 姓 名 _ _ _ _ _ _ _ _ _ _ _ 朱婉婉_ _ _ _ _ _ _ _ _
2、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学 号 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _7月 16 日至 J 月 28日共 Q 天1 3年 7月 18 日时 钟2023 06 月 24 日22时 33分 24秒一、设计内容及规定必做实验内容:1.使用中文液晶128x6 4 点阵L C D,采用1 6 点阵字库显示当前时间“时时:分分:秒秒”2.用4 个按键设立现在时间:K1进入设立现在时间;K 2调整小时;K 3 调整分;K4设立完毕。3 .增
3、长闹铃功能,时间到了使用音乐声可选实验内容:4.增长闹铃功能,时间到发出声响并启动继电器5.增长秒表计数功能,精度为0.0 1秒6.增长万年历显示“年月日”课程设计规定方案设计前规定完毕设计报告,每个组一份;方案实行过程中完善设计报告,每个成员独立进行;方案实行结束,通过指导老师验收后完毕设计报告,每个成员独立完毕,其中设计图纸每个组只需要1份。二、设计原始资料单片机的C 语言应用程序设计(第四版)8051系列单片机C 程序设计完全手册三、重要参考资料THGQC-1实验指导书C8 0 51F串行实时时钟芯片S3530A及其在51单片机系统中的应用时钟芯片S-35 3 0A与C80 5 1 F0
4、 4 0 单片机的通讯接口设计四、进程安排教学内容 学时地点资料查阅与学习讨论 1 天2-2 1 6 单片机实验室分散设计 5 天2-2 16 单片机实验室编写报告 3 天2 216单片机实验室成果验收 1 天2-21 6 单片机实验室(单片机应用系统设计)设计任务书2 6日摘要学 院:信息学院_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _班 级:12电气升本_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学生姓名:朱婉婉 学号指导教师:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
5、_ _ _ _ _ _ _ _ _ _ _ _ _ _时间:2023年 7月 16 日 到 202 3 年 7 月数字钟己成为人们平常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场合,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使 数 字 钟 具 有 走 时 准 确、性能稳定、携带方便等优点,它还用于H时、自 瑚 附及自谢辨懈各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价 格 便 宜、使用也 方 便,但 鉴 于 单 片 机 的 定 期 器 功 能 也 可 以 完 毕 数 字 钟 电 路 的 设 计,因此进行数字钟的设
6、计 是 必 要 的。在 这 里 我 们 将 已 学 过 的 比 较 零 散 的 数 字 电 路 的 知 识 有 机 的、系统的联系起来用 于 实 际,来 培 养 我 们 的 综 合 分 析 和 设 计 电 路,写 程 序、调 试 电 路 的 能 力。单 片机具有体积 小、功 能 强 可 靠 性 高、价 格 低 廉 等 一 系 列 优 点,不 仅 已 成 为 工 业 测 控 领 域 普 遍 采 用的 智能 化 控 制 工 具,并 且 已 渗 入 到 人 们 工 作 和 和 生 活 的 各 个 角 落,有 力 地 推 动 了 各 行 业 的 技 术改 造 和 产 品 的 更 新 换 代,应 用 前
7、 景 广 阔。基 于 这 种 情 况,我们课程设计小组两人多方查阅资料,反复论证设计出了这款既简朴实用,又价格便宜的一 一 单 片 机 电 子 时 钟。关键词:单 片 机 时 钟 计 时目录一、概述嘴误!未定义书签。1、总 体 功 能.错误!未定义书签。2、实验规定用昔误!未定义书签。二、硬件电路图及说明嘴误!未定义书签。1、硬件电路图.错误!未定义书签。2、1 2 8 6 4 L C D液晶显示屏.错误!未定义书签。3、按键功能阵昔误!未定义书签。4、实时时钟芯片S-3 5 3 0 A嘴误!未定义书签。三、电路及程序设计7。四、设计特点.错误!未定义书签。五、调试.错误!未定义书签。1、主循
8、环程序流程.错误!未定义书签。2、关 于3 5 3 0读出数据的更改4昔误!未定义书签。3、关于秒表的设立,错误!未定义书签。4、关于时间的设立.错误!未定义书签。5、碰到的具体问题.错误!未定义书签。6、注 意 事 项.错误!未定义书签。六、总结及体会.1 9七、使用说明书.错误!未定义书签。八、程序及简朴注解昨昔误!未定义书签。1 m a in.c.错误!未定义书签。2、1 2 c.e嘴误!未定义书签。3、LCD.c嘴误!未定义书签。一、概述1、总体功能本次设计时钟电路,使用了 STC89C5 1单片机芯片控制电路,单片机控制电路简朴且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的
9、按键来调整时钟的时、分、秒,用一扬声器来进行定期提醒,同 时 使 用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计规定。2、实验规定必做实验内容:1.使用中文液晶128x64点阵LCD2.用 4 个按键设立现在时间:K 1 进入设立日期;(K l=l)K 2调整 年;K 3 调 整 月;K 4 调整 日。K1进入设立现在时间;(K l=2)K2调 整 小 时;K 3 调 整 分;K 4 调 整 秒。K 1设立完毕(Kl=3)增长闹铃功能,时间到了使用音乐声(指示灯闪动1 0 秒)可选实验内容增长闹铃功能,三次闹铃增长秒表计数功能,精度
10、为0.01秒 0.00-20 0.00增长万年历显示 年月日 二 月 28天、29天增长星期显示增长整点闹铃 指示灯闪动5 次增长整点闹铃开关采 用 1 6 点阵字库显示当前时间“时时:分分:秒秒”时 钟2023 06 月 24 日22时33分 24秒反字秒 表o 09小图形被设立的数字闪动,其他自己认为可添加的内容课程设计规定方案设计前规定完毕设计报告,每个组一份;方案实行过程中完善设计报告,每个成员独立进行;方案实行结束,通过指导老师验收后完毕设计报告,每个成员独立完毕,其中设计图纸每个组只需要1份二、硬件电路图及说明1、硬件电路图LC D时钟控制系统运用C805 1 F020芯片作为控制
11、中心,配合液晶显示128*6 4 液晶显示模块、独立式键盘模块、实时时钟/日历芯片模块等电路,实现日历时钟实现显示年月日时分秒。总体设计方框图如图1所示:图12、12 8 6 4 L C D 液晶显示屏带中文字库的12 8 X 6 4是一种具有4位/8位并行、2线或3线串行多种接口方式,内部具有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为1 28X 64,内置8 192个1 6*1 6点汉字,和12 8个16*8点ASCII字符集运用该模块灵活的接口方式和简朴、方便的操作指令,可构成全中文人机交互图形界面。可以显示8义4行16X 16点阵的汉字也可完毕图形显示低电压低功耗是
12、其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不管硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。12864接口定义及其与C80 5 1F020的接口:4567891 0111 21 3111 51 61 7D/I R/ED OD ID 2D 3D 4D 5D 6D 7C S 1 C S 2 R E TP 1 0 P 1 1 P 1 2 P 2 0 P 2 1 P 2 2 P 2 3 P 2 4 P 2 5 P 2 6 P 2 7 P 1 3 P 1 4 P 1 5引脚及内部结构如图2所示:VCC JT41VCC6。12151S
13、21242581lHl72023J40LCD VCCLCD ELCD IHLC DLCD D2LCD D3LCD D4JLCD D6LCD RSTLCD VEELCD VCC1 23 45 6LCD VEELCD112S(M图 2 液晶显示电路LCD CS23、按键电路K1 连接 P3.0 口,K2 连接 P3.1 口,K3;连接 P3.2 口,K4 连接 P3.3 口键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。一般单片机系统中采和非编码键盘,非编码键盘是由软件来辨认键盘上的闭合键,它具有结构简朴,使用灵活等特点,因此被广泛应用
14、于单片机系统。按键开关的抖动问题,键盘与单片机的连接组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。当开关S未被按下时,P3.0输入为高电平,S闭合后,P 3.0输入为低电平。而按键会有抖动现象,因此必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法。软件法其实很简朴,就是在单片机获得P3.0 口为低的信息后,不是立即认定S 1已被按下,而是延时1 0毫秒或更长一些时间后再次检测P 3.0 口,假如仍为低,说明S 1的确按下了,这事实上是避开了按键按下时的抖动时间。而在检测到按键释放后(P3.0为高)再延时5 1 0个毫秒,消除后
15、沿的抖动,然后再对键值解决。本次实验去抖动采用软件方式。四个按键分别接到P 3.1、P3.2、P3.3和P3.4。对于这种键各程序可以采用不断查询的方法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的键解决。4、实 时 时 钟 芯 片S-353 0 AS 3530是一款低功耗的CMOS实时时钟/日历芯片,它提供二个中断输出和掉电检测器,所有的地址和数据通过12c总线接口串行传递。最大总线速度为4 00Kbi ts/s,每次读写数据后,内嵌的字地址寄存器会自动增长。(1)器件特性:低工作电流:典型值为0.7 口 A(VDD=3.0V);世纪标志;大 工作电压范围:1.
16、0-5.5V;BCD码设立时间参数 低休眠电流;典型值为0.25uA(VDD=1.85.5V时);稳压电路 报警和定期器;掉电检测器;内部集成的振荡器电容;12c总线从地址:读:0A 3H;写:0A2H;三、电路与程序设计1、程序流程图主程序:开始结束子程序 Tes t I2C():开始读取3 530数据时间赋初值将 初 值 读 入 3 53 0清屏在 16,0处显示2 0 2 3 0 1 月 01日,在 16,2 处显示00时 00分00秒读 取 3 5 3 0 数据调用函数s et value()分为。且秒小于11I Y整点报时LED灯闪烁调用函数a 1 arm_c h e ck 0刷新显
17、示时分秒,刷新显示年月日N设立fla g l标志位为1按键判断程序set_ val u e():根据设计原则,判断按键并作出相应反映.开始读取按键值有键按下且f lagl=l按下的键为KIf l a g=l;k e y 2=1 ;f l a g1 =0;在(1 1 2,0 )显 示“年”按下的键为K 2f l a g =3;f l a g l=0 ;在(1 1 2,0)显示“闹”按下的键为K 3f 1 a g=7 :m i a o b i a o _ o n=l;f l a g l=0;在(1 6,4)显 示“秒表:X X X:X Xw按下的键为K If 1 a g=2;k e y 2 =l;
18、f 1a g l=0;在(1 1 2,0 )显 示“时”按下的键为K 2k e y 2+;f l a g l =0 ;k e y 2=2在(1 1 2,0)显示“月”k e y 2 3在(1 1 2,0)显 示“日”按下的键为K 3k e y 2=l年 加1,星期根据平年闰年加1或2将数据读入3 5 30更新星期和年的显示f l a g l=0;k e y 2=2月 加1,星期根据月的日期增长将数据读入3 5 3 0更 新 星 期 和 月 的 显 示f l a g 10 ;k e y 2 =3月加1,星期根据月的日期增长将数据读入3 5 3 0更 新 星 期 和 月 的 显 示fl a g1=
19、0;按下的键为K 4退出时钟设立f 1 a g=0;f l a g 1=0 ;k e y2=0;清除提醒字符f l a g=2按下的键为K Ik e y 2 =2在(1 1 2,0)显示分k e y 2=3在(1 1 2,0)显示秒按下的键为K 3将更改的数据读入3 5 3 0刷新显示时,f l a g l=0;将更改的数据读入3 5 3 0刷新显示分,f l a g l=0 ;将更改的数据读入3 5 3 0刷 新 显 示 秒,f 1 a g l=退出时钟设立f l a g=O;f 1 a g l=O;k e y 2=0;清楚提醒字符a l a r m n u m 不等于 0f l a g=4
20、;f 1 a g 1 =0 ;在(0 0 ,6)显 示“1”在(6 4,6)显示第一个闹钟设立时间f 1 a g=0 ;f l a g l=0;退出闹钟功能,清除提醒字符f 1 a g=4f 1 a g=5 ;在(0 0,6)显示 2在(6 4,6)显示第二个闹钟设立时间f 1 a g 1 =0 ;开闹钟在(1 1 2 ,6)显 示“开”f l a g=0;f l a g 1 =0;退出闹钟设立,清楚提醒字符按下的键为K 3闹钟1 的时加1,刷新显示闹钟时间,f 1 a g l=0;按下的键为K4闹钟1 的秒加1,刷新显示闹钟时间,f 1 a g l=0;f l a g=6;在(0 0,6)显
21、示 3在(6 4,6)显示第二个闹钟设立时间f 1 a g l=0 ;开闹钟在(1 1 2,6)显 示“开”f l a g=0;f l a g l =0;退出闹钟设立,清楚提醒字符按下的键为K 3闹钟1 的时加1,刷新显示闹钟时间,f l a g l=O;按下的键为K 4闹钟1 的秒加1,刷新显示闹钟时间,f l a g 1 -0;按下的键为K 1按下的键为K 2按下的键为K 3按下的键为K 4f 1 a g=7按下的键为KI按下的键为K 2按下的键为K 3按下的键为K 4闹钟判断程序alarm_ c he c k():判断闹钟是否开,根据闹钟启动数量判断是否到设定期间,若到,则启动LED灯闪
22、四.设计特点:1.该时钟由四个按键控制,按键功能分明:K 1进入设立日期;(K l=l)K 2调 整 年;K3调 整 月;K4调 整 日。K1进入设立现在时间;(K l=2)K 2调 整 小 时;K3调整 分;K 4调 整 秒。K 1设立完毕(K l=3)进入闹铃设立。2.秒表采用定期器中断控制,计时精确。K 3一次进入秒表。K3两次开始计时。K3三次计时停止。K4退出秒表。3.显示页面结构清楚,功能明确。平时若无设立,则只显示年月日,时分秒以及星期4.进入设立后会出现一些提醒字符,表述明了。五.调试:1.主循环程序流程实验初期,本来的流程是测试按键,完毕所有操作后再刷新显示,进入主循环,但是
23、,这样在测试按键,等待操作时会导致较大的延时。因此该方案未录取。最后采用的方案是:检测到一次按键,就更改fla g 和 fl a g l 标志位,记录按键顺序后就进入主循环,然后继续检测有无按键操作,这样对于程序就基本不会导致延时,并且程序的流程也更清楚。关于标志位:fl a g 用来记录之前按键次数和顺序fl a g=0 表达之前无按键操作fl a g=l表达K1按一下f lag=2表达K1按两下fl a g=3表达K 2 按一下fl a g=4表达K 2按两下flag=5表达K 2按三下f la g=6 表达K2按四下f 1 ag=7表达K3按一下f la g l表达之前有无按键按下f l
24、a g 1=1,表达无按键,f 1 a g 1=0,表达已有按键按下过。2.关于3530读出数据的更改碰到的具体问题:时间设立时,10以下的都能对的显示,两位数的就不会对的显示。在设立“时”时,只能加到1 2,而程序中的时钟为2 4 小时制,所以不对的。因素:3530 中读出的数据格式为B CD码,而程序中修改则按照16进制进行。所以会有数据错误。解决方法:在设立时钟时间时,要先读出3 5 3 0 数据,更改后再读入35 3 0 中,而 3530中的数据存放为BCD码,读出后并不表达时间的真实数据,因此,我编写了两个转化函数:c h a n g e ()将1 6进制转化为B C D码f c h
25、 a n g e ()将B C D码转化为1 6进制读出数据后先将其转化为1 6进制,进行操作后再转化为B C D码,读 入3 5 3 0数据更改中,由于“时”的数据表达只需低4位和高4位中的低两位,所以最高2位中会有一些脏数据,在读出后应先与上O x 3 f再进行转化操作。3 .关子秒表设立秒表采用定期器1,初值为(6 5 5 3 6 T 8 4 3 2),并运用一个计数变量m i a。b i a o,初值 为1 0,中断中重新赋初值,每次中断m i a o b i a o减1,减 至0时,秒表计数变量加1,m i a ob i a o重新赋值为1 0!4 .关于时间的设立在时间设立时碰到的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 单片机 实验 报告
限制150内