案例4-定时器综合应用
- 格式:ppt
- 大小:1.54 MB
- 文档页数:42
实验报告课程名称单片机原理与应用实验项目串行通信指导教师学院信息与通信工程 _ 专业电子信息工程班级/学号学生姓名实验日期成绩______________________一、实验目的1、掌握串行口编程控制方法;2、掌握串口调试和仿真器的烧写方法;3、综合应用定时器、串行接口及中断等。
二、实验内容1、编写一个程序, 利用单片机的串行口向PC机循环发送0x55。
三、编写一个程序, 每当串行口接收到PC机发送的0x55(ASCII码为字母U)时, 返回一个0x41(ASCII码为字母A)。
在PC机一端, 以接收窗口收到0x41为完成(可以循环此过程)。
四、PC机向单片机发送0—9(无需编程, 在DPFlash的串口调试软件下配置即可), 单片机在接收到数据后送数码管显示;同时, 单片机每隔0.5S向PC机发送a—z的ASCII码(0x61~0x7a, 每秒发2个), 在PC机的串口调试软件中显示结果。
五、实验步骤1、新建工程, 编写程序, 实现通过串行口向PC机发送0x55(可采用串口模式1, 波特率2400), 注意工程的环境变量设置, Target窗口下code和xdata memory设置为空, 无须加入startup.A51, Output窗口下选中CreateHex选项, 编译生成HEX文件。
2、阅读网上的实验指导书及下面的说明, 掌握DPFlash软件的使用, 掌握仿真器的两种工作方式使用。
仿真器拨到load方式, 打开DPFlash软件,文件菜单中选择装载, 加入编译生成的*.HEX文件, 点击编程按扭, 使用默认配置即可, 烧入仿真器的Flash中。
3、关闭电源, 将仿真器拨到run方式, 并将连接在仿真器上的PC串口通信电缆拔下, 然后与实验仪上的单片机串口相连。
开机复位后将自动运行单片机程序, 在PC机的DPflash软件中的串口调试器下观察结果。
编写程序实现单片机接收到PC机发来的0x55后回送0x41,在串口调试软件的处理字符串中发送0x55,可以选中下栏的自动发送单选框来实现每隔1S发送一次, 观察结果。
例题:时钟计时程序设计。
所谓时钟计时,就是以秒、分、时为单位进行的计时。
可以把该程序看成是定时器/计数器与中断应用的典型代表,就算是对这两部分内容的复习。
⑴MCS-51单片机实现时钟计时显示的基本方法①首先要计算计数初值时钟计时的关键问题是秒的产生,因为秒是最小时钟单位,但使用MMCS-51的定时器/计数器进行定时,即使按工作方式1,其最大定时时间也只能达到131毫秒,离1秒还差好远。
为此,我们把秒计时用硬件定时和软件计数相结合的方法实现,即:把定时器的定时时间定为125毫秒,这样当计数溢出8次就可得到1秒,而8次计数可用软件方法实现。
为得到125ms定时,我们可使用定时器/计数器0,以工作方式1进行,当设定单片机为6MHz晶振,设计数初值为X,则有如下等式:(216-X)×2us=125000us计算得计数初值X=3036,二进制表示为0000101111001101,十六进制表示为0BCDH。
②定时器定时采用中断方式完成,以便于通过中断服务程序进行溢出次数(每次125毫秒)的累计,计满8次即得到秒计时。
③通过在程序中的数值累加和数值比较来实现从秒到分和从分到时的计时④设置时钟显示及显示缓冲区假定时钟时间在六位LED数码管(LED5~LED0)上进行显示(时、分、秒各占两位)。
为此,要在内部RAM中设置显示缓冲区,共6个单元(79H~7EH),与数码管的对应关系为:LED5→7EH、LED4→7DH、LED3→7CH、LED2→7BH、LED1→7AH、LED0→79H。
即显示缓冲区从左向右依次存放时、分、秒的数值。
⑤假定已有LED显示程序为SMXS可供调用⑵程序流程①主程序(MAIN)主程序的主要功能是进行定时器/计数器的初始化编程,然后通过反复调用显示子程序的方法,等待125ms定时中断的到来。
②中断服务程序(PIT0)中断服务程序的主要功能是进行计时操作。
程序开始先判断计数溢出是否满了8次,不满8次表明还没达到最小计时单位秒,中断返回;如满8次则表明已达到最小计时单位秒,程序继续向下执行,进行计时操作。
《使用定时器》作业设计方案(第一课时)一、作业目标本次作业旨在帮助学生掌握定时器的使用方法,了解定时器的各种属性,并能够在实际操作中灵活运用。
二、作业内容1. 任务一:使用定时器实现一个简单的动画效果。
要求学生在指定的时间内(例如,5秒钟)触发一个动画效果,展示定时器的使用方法。
2. 任务二:通过设置定时器的属性,实现一个动态效果。
例如,通过调整定时器的间隔时间、延迟时间等属性,实现一个动态文本的显示效果。
3. 任务三:完成一个定时器的综合应用。
要求学生结合所学知识,设计一个能够根据用户输入的时间信息,自动触发相应操作的程序。
三、作业要求1. 独立完成:学生需独立完成作业,不得抄袭或借助他人完成。
2. 实践操作:作业应以实践操作为主,要求学生通过实际操作掌握定时器的使用方法。
3. 提交作业:学生需将作业成果以电子文档的形式提交,并注明完成时间、姓名等信息。
四、作业评价1. 评价标准:根据学生提交的作业成果,对其在任务一中的动画效果展示、任务二中的动态效果设置以及任务三中的程序设计等方面进行评价。
2. 评价方式:采用教师评价与学生互评相结合的方式,结合学生的实际操作情况给出最终成绩。
五、作业反馈在作业反馈环节中,教师将对学生作业中出现的问题进行汇总,并在下次课中进行讲解和指导。
同时,教师也将收集学生反馈,了解学生对作业的完成情况和对知识的掌握程度,以便进一步优化教学方案。
具体来说,对于任务一中的动画效果展示,教师将关注学生是否能够正确设置定时器的开始和停止方法,以及动画效果的流畅度和稳定性;对于任务二中的动态效果设置,教师将关注学生是否能够合理设置定时器的各种属性,从而实现预期的效果;对于任务三中的程序设计,教师将关注学生是否能将所学知识综合运用,实现根据用户输入的时间信息触发相应操作的程序。
同时,教师还将根据学生提交的电子文档格式是否规范、内容是否完整等情况进行评价。
对于存在问题的学生,教师将给予针对性的指导和帮助,以促进学生对知识的理解和掌握。
定时器在项目中的应用案例1. 网络请求超时处理在项目中,我们经常会使用网络请求来获取数据,但是由于网络不稳定或服务器响应慢,可能导致请求超时。
为了避免用户长时间等待,我们可以使用定时器来设置一个超时时间,当超过指定时间后,自动取消该请求,并给用户提示网络异常。
2. 定时执行数据备份在一些关键数据的处理过程中,为了防止数据丢失或意外情况的发生,我们需要对数据进行定时备份。
通过定时器,可以定期执行备份操作,将数据保存到其他设备或云端,以保证数据的安全性和可恢复性。
3. 定时任务调度在项目中,有些任务需要定期执行,比如定时发送邮件、定时生成报表等。
通过定时器,可以设定任务的执行时间,确保任务按时进行,提高工作效率。
4. 定时提醒功能在一些日程管理或任务管理应用中,我们可以使用定时器来实现定时提醒功能。
用户可以设定提醒时间,当时间到达时,系统会通过定时器触发提醒通知,帮助用户及时完成任务。
5. 定时更新数据在一些实时数据展示的应用中,我们需要定时获取最新的数据,并更新到界面上。
通过定时器,可以设定更新的时间间隔,定期从服务器获取最新数据,并刷新到界面上,保持数据的实时性。
6. 定时自动保存草稿在一些编辑类的应用中,为了避免用户在编辑过程中突然关闭应用或发生意外情况导致数据丢失,我们可以使用定时器来自动保存草稿。
定时器可以设定一定的时间间隔,定期将用户编辑的内容保存到本地,以防止数据丢失。
7. 定时清理缓存在手机应用中,缓存文件会占用大量的存储空间,影响应用的性能和用户体验。
通过定时器,可以定期清理应用的缓存文件,释放存储空间,提高应用的运行效率。
8. 定时检查更新在一些需要频繁更新的应用中,我们可以使用定时器来定期检查应用的更新情况。
定时器可以设定一定的时间间隔,定期检查服务器是否有新版本的应用,以便及时提示用户更新。
9. 定时轮播广告在一些商业应用或网站中,我们经常会看到轮播广告的效果。
通过定时器,可以设定广告切换的时间间隔,定期切换广告内容,吸引用户的注意力,提高广告的曝光率。