单片机实验三报告_定时计数器实验.doc

上传人:大张伟 文档编号:6078571 上传时间:2020-09-06 格式:DOC 页数:7 大小:785.50KB
返回 下载 相关 举报
单片机实验三报告_定时计数器实验.doc_第1页
第1页 / 共7页
单片机实验三报告_定时计数器实验.doc_第2页
第2页 / 共7页
单片机实验三报告_定时计数器实验.doc_第3页
第3页 / 共7页
单片机实验三报告_定时计数器实验.doc_第4页
第4页 / 共7页
单片机实验三报告_定时计数器实验.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《单片机实验三报告_定时计数器实验.doc》由会员分享,可在线阅读,更多相关《单片机实验三报告_定时计数器实验.doc(7页珍藏版)》请在三一文库上搜索。

1、南昌大学实验报告学生姓名: 学号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:2018.05.04 实验成绩: 实验三 定时计数器实验(一)实验目的1.掌握单片机中断原理;2.掌握定时器的初始化和定时模式编程。(二)设计要求1.采用定时器0/1做16位自动重装(方式0),中断频率为1000HZ;2.中断函数从P1.7/ P1.6/ P4.7取反输出500HZ方波信号;3.如果由于频率问题实验现象无法观察,请在中断程序中想办法实现。(三)实验原理1.单片机定时/计数器(T0/T1)的结构和工作原理IAP15W4K58S4单片机内部有5个16位的定时/计数器,即T0、T1、T2、T

2、3和T4。T0、T1结构框图如下图(图一)所示,TL0、TH0是定时/计数器T0的低8位、高8位状态值,TL1、TH1是定时/计数器T1的低8位、高8位状态值。TMOD是T0、T1定时/计数器的工作方式寄存器,由它确定定时/计数器的工作方式和功能;TCON是TO、T1定时/计数器的控制寄存器,用于控制T0、T1的启动与停止以及记录T0、T1的计满溢出标志;AUXR称为辅助寄存器,其中T0x12、T1x12 用于设定T0、T1内部计数脉冲的分频系数。P3.4、P3.5分别为定时/计数器T0、T1的外部计数脉冲输入端。T0、T1定时/计数器的核心电路是一个加1计数器,如下图(图二)所示。加1计数器

3、的脉冲有两个来源:一个是外部脉冲源:T0(P3.4)、T1(P3.5),另一个是系统的时钟信号。计数器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1,当计数到计数器为全1时,再输入一个脉冲就使计数值回零,同时使计数器计满溢出标志位TF0或TF1置1,并向CPU发出中断请求。(图一)(图二)定时功能:当脉冲源为系统时钟(等间隔脉冲序列)时,由于计数脉冲为一-时间基准,脉冲数乘以计数脉冲周期(系统周期或12倍系统周期)就是定时时间。即当系统时钟确定时,计数器的计数值就确定了时间。计数功能:当脉冲源为单片机外部引脚的输入脉冲时,就是外部事件的计数器。如定时1计数器TO,在其对应的计数输入端

4、TO (P3.4) 有一个负跳变时,TO计数器的状态值加1。外部输入信号的速率是不受限制的,但必须保证给出的电平在变化前至少被采样一次。2.单片机定时/计数器(T0/T1)的控制IAP15W4K58S4单片机内部定时/计数器(TO/T1) 的工作方式和控制由TMOD、TCON和AUXR三个特殊功能寄存器进行管理。TMOD:设置定时/计数器(TO/T1) 的工作方式与功能。TCON:控制定时/计数器(TO/T1) 的启动与停止,并包含定时/计数器(TO/TI)的溢出标志位。AUXR:设置定时计数脉冲的分频系数。1) 工作方式寄存器TMODTMOD为T0T1的工作方式寄存器,其格式如下:TMOD的

5、低4位为T0的方式字段,高4位为T1的方式字段。他们的含义完全相同。M1/M0为T0/T1工作方式选择位,其定义如下图所示:C/Y为功能选择位,0时为定时工作模式,1时为计数工作模式;GATE为门控位,当(GATE) =0时,软件控制位TRO或TR1置1即可启动定时1计数器;当(GATE)=1时,软件控制位TRO或TR1须置1,同时还须INT0(P3.2)或INT1(P3.3)引脚输入为高电平方可启动定时/计数器,即允许外部中断INT0(P3.2)、INT1(P3.3)输入引脚信号参与控制定时/计数器的启动与停止。TMOD不能位寻址,只能用字节指令设置定时器工作方式,高4位定义T1,低4位定义

6、T0。复位时,TMOD所有位均置0。2) 定时/计数器控制寄存器TCONTCON的作用是控制定时/计数器的启动与停止,记录定时/计数器的溢出标志以及外部中断的控制。定时/计数器控制字TCON的格式如下:其中TF1为定时/计数器1溢出标志位,当定时/计数器1计满产生溢出时,由硬件自动置位TF1,在中断允许时,向CPU发出中断请求,中断响应后,由硬件自动清除TF1标志。也可通过查询TF1标志,来判断计满溢出时刻,查询结束后,用软件清除TF1标志;TR1为定时/计数器1运行控制位,由软件置1或清0来启动或关闭定时/计数器1。当(GATE)=0时,TR1置1即可启动定时/计数器1,当(GATE)=1时

7、,TR1置1且INT1(P3.3)输入引脚信号为高电平时,方可启动定时/计数器1;TF0为定时/计数器0溢出标志位,其功能及操作情况同TF1;TR0为定时/计数器0运行控制位。其功能及操作情况同TR1。3.单片机定时/计数器(T0/T1)的工作方式0方式0是一个可自动重装初始值的16位定时/计数器,结构如下图所示,T0定时/计数器有两个隐含的寄存器RL_TH0、RL_TL0,用于保存16位定时/计数器的重装初始值,当TH0、TL0构成的16位计数器记满溢出时,RL_TH0、RL_TL0的值自动装入TH0、TL0中。RL_TH0与TH0共用同一个地址,RL_TL0与TL0共用同一个地址。当(TR

8、0)=0时,TH0、TL0寄存器写入数据时,也会同时写入RL_TH0,RL_TL0寄存器中;当(TR0)=1时,对TH0、TL0写入数据时,只写入RL_TH0,RL_TL0寄存器中,而不会写入TH0、TL0寄存器中,这样不会影响T0的正常计数。对TH0、TL0寄存器读取数据时,读取的是TH0、TL0的状态值。当T0工作在定时方式时,定时时间的计算公式如下:定时时间=(216-T0定时器的初始值)系统时钟周期12(1-T012)(四)实验设备硬件:PC机、USB数据传输线、STC单片机综合实验箱软件:兼容51单片机的Keil uvision5集成开发环境、STC-ISP单片机烧录软件(五)实验结

9、果根据本次实验要求需使用定时器0/1和方式0做频率为1000Hz的中断和上述原理分析,因为单片机的系统时钟频率采用了12Mhz,其机器周期为1us,带入定时时间计算公式可得到需要装入T0的初始值X=64536=FC18H,即TH0=0FCH,TL0=18H;另外还需将定时器T0设置为方式1定时。因为本次实验做频率为1000Hz的中断在视觉上无法很好的辨别,故设计每中断200次之后将P1.7口取反一次,实验源代码如(七)所示。对代码进行编译,提示0错误0警告,生成hex文件。将单片机试验箱和电脑通过USB数据线连接,打开STC-ISP检测串口点击点开程序文件,选择刚才生成的hex文件,点击下载程

10、序按下单片机上的掉电复位按钮,程序开始烧录(六)结果讨论与心得体会结果分析讨论:将程序烧录至单片机后,可观察到与P1.7口连接的LED灯按规律亮灭,且亮灭时间和代码中的设定的理论时间(每中断200次对P1.7取反一次即LED灯良0.2s后灭0.2秒以此循环)一致,完成实验。心得体会:通过本次实验,我学会了如何使用内部定时/计数器来产生中断,理解了定时/计数器(T0/T1)的结构和工作原理、三个特殊功能寄存器对它的控制以及4种工作方式。希望通过自己多次尝试能在今后实验中熟练使用内部定时/计数器并将其运用到其他方面。(七)附录:实验源代码Fosc_KHZEQU22118;P1M1DATA0x91;P1M0DATA0x92;F_Main:CLRAMOVP1M1,A;MOVP1M0,A;MOVA,#0C8H;ORG0005HRESET:AJMPMainORG000BH AJMPIT0PORG010BHMain:MOVSP,#60H;MOVTMOD,#01H;ACALLPT0M0;Here:AJMPHerePT0M0:MOVTL0,#18H;MOVTH0,#0FCH;SETBET0SETBEA SETBTR0RETIT0P:MOVTL0,#18H;MOVTH0,#0FCH;DECAJZZHIXINGRETIZHIXING:MOVA,#0C8H;CPLP1.7RETEND

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1