- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 2
西南科技大学
实验报告
课程名称: 单片机原理及应用A
实验名称: 中断、定时器/计数器实验
姓 名:
学 号:
班 级: 生医1401
指导教师: 雷华军
西南科技大学信息工程学院制PAGE
PAGE 10
实验题目
数码管动态扫描显示驱动、键盘动态扫描驱动
实验目的
熟练巩固单片机开发环境KEIL界面的相关操作和PROTUES仿真软件的操 作,会使用HEX文件进行单片机的仿真。
了解定时器的原理和四种工作方式的使用方法,学习定时器的相关应用,包括产生信号和 计数,利用定时器进行延时等。
进一步掌握熟练单个数码管以及多位数码管的显示原理,学会将0~1000的数字进行显示。
掌握利??单片机产生矩形方脉冲的相关原理。
实验原理
定时器结构和原理
图 ①
上图 ① 为定时器T0、T1的结构,其中振荡器经12分频后作为定时器的时钟脉冲,T为外部计数脉冲输入端,通过开关K1选择。反相器,或门,与门共同构成启/停控制信号。TH和TL为加1计数器,TF为中断标志。每接收到一个脉冲,加1计数器自动加1,当计数器中的数被加为0时产生溢出标志,TF将被置1。计数器工作方式的选择和功能的实现需要配置相应的寄存器TMOD和TCON。
2、定时器工作方式?
定时器共有四种工作方式分别为方式0——方式3。?
方式0:13位计数器,最大计数值为213个脉冲。?
方式1:16位计数器,最大计数值为216个脉冲。?
方式2:8位自动重装计数器。该方式下,TL进行计数工作,TH用于存放计数初值,当产生 溢出中断请求时会自动将TH中的初值重新装入TL,以使计数器继续工作。?
方式3:仅限于T0计数器,在方式3下,T0计数器被分成两个独立的8为计数器TL0和TH0。
定时器间隔1ms产生一个脉冲
利用单片机1 P3.0口进行脉冲的输出,通过定时器进行端口定时控制,实现每1ms高低电平变换。就可以实现一个占空比为50%的矩形脉冲输出。对于定时器的定时功能实现,需要进行定时器模式选择,定时器初值设定。
利用中断进行脉冲的计数
将单片机1 P3.0口输出的脉冲连接到单片机2的中断INT0口P3.2,通过脉冲的高低电平变换触发中断0,进行脉冲个数的计数。
实验步骤
(一)实验详细步骤
1、启动KEIL建立一个空白工程,然后命名文件。?
2、新建源程序文件,输入程序代码并保存,然后进行综合编译。若在编译过程中发现错误, 则找出并更正错误,直至编译成功为止。?
3、通过设置生成HEX文件,保存。?
4、启动Protues建立一个空白工程,然后命名文件
5、进行电路的原理图连接并输入HEX文件进行仿真。
(二)实验仿真原理图
图 ② 图③
如图 ② 为单片机1的脉冲产生系统,通过定时的定时控制,让P3.0口输出脉宽为1ms的方脉冲,
对于定时器程序的初始化。TMOD = (TMOD0XF0)|0X00; // 定时器模式0的选择
s = 8192-11059.2/12;TH0 = s/32;TL0 = s%32; // 定时器的初值的设定
如图 ③ 为单片机2的电路连接原理,单片机②通过接受单片机1的方脉冲信号触发中断进行计数,没来一个脉冲记一次数,再通过数码管显示出来。
实验结果及分析
图④
通过按下按键开始进行脉冲的产生和计数,如图④左边为单片机1产生脉冲并通过数码管显示脉冲产生数,右边为单片机2接受脉冲同时也通过数码管显示脉冲接受数字。当按下按键时开始产生并传送脉冲,通过一个VSM counter timer进行计数验证的准确与否。
按下按键后发现两个多位数码管同时显示并跳转同样的数字,并且计数器也显示同样的数字。如图⑤所示。
图⑤
最后通过示波器验证观察所产生的脉冲是否正确,通过调节示波器上的时间和幅度旋钮可以观察到矩形方波的产生。如图⑥所示
图⑥
问题一:运行电路时,数码管乱码?
解决的方法:检查电路,发现程序中扫描信号端口错误,将扫描信号的端口顺序调换,重新运行。?
问题二:定时器的时间设置问题?
解决的方法:检查程序,发现是是定时器的初始化设置问题,在改动后,重新编译后在次运行电路,电路正常显示,符合要求。
通过本次实验,通过实验我切身实际的进行代码的编写以及电路的
您可能关注的文档
最近下载
- 小学校创客及人工智能教育典型案例.docx
- 变电运行试题题库.pdf VIP
- 2023年新疆大学软件工程专业《数据结构与算法》科目期末试卷B(有答案).docx VIP
- JC08心理咨询技能单科作业题(新版教材考生通用_202305月考生适用).pdf
- 七人学生小品《如此课堂》剧本台词手稿.doc
- 部级基础教育精品课PPT模板.pptx
- 采埃孚商用车及工程机械产品专用油品手册.PDF
- QGDW10270-2017-220kV及110(66)kV输变电工程可行性研究内容深度规定.pdf
- 2022知到答案 军事理论(同济大学) 智慧树满分章节测试答案.docx
- 口腔CBCT管理制度-操作规程.docx
文档评论(0)