定时计数器T0T1程序设计-2014.ppt_第1页
定时计数器T0T1程序设计-2014.ppt_第2页
定时计数器T0T1程序设计-2014.ppt_第3页
定时计数器T0T1程序设计-2014.ppt_第4页
定时计数器T0T1程序设计-2014.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四 定时计数器T0 T1应用程序设计实验重点 硬件设计 程序设计 现象分析实验难点 实际应用 单片机原理与应用课程实验 实验目的了解51单片机内部定时器 计数器的基本结构 工作原理和工作方式 掌握工作在定时器和计数器两种方式下编程方法 定时计数器T0 T1程序设计 单片机内部定时器 计数器具有定时与计数功能 既可工作于定时方式 实现对控制系统的定时或延时控制 又可工作于计数方式 用于对外部事件的计数 实验要求1 采用中断编程 利用单片机内部定时器 计数器T0定时 工作于方式1 定时1秒 使P1口接的8只发光二极管LED发光二极管依次从左到右开始逐个点亮或从右到左开始逐个点亮 2 利用内部定时器 计数器T1 按计数器模式工作于方式1 对P3 5引脚进行计数 每计数5个脉冲 使I O口线上的LED反转一次 反复循环 定时计数器T0 T1程序设计 实验设备与仪器DICE 5210K单片机实训箱 PC机 DICE KEILUSB仿真器 KEIL集成开发软件 定时计数器T0 T1程序设计 硬件设计 图 P1口某一I O口线状态反转电路 C1 C2 89C51 89C51 C1 C2 图3定时50ms轮流点亮电路 定时计数器T0 T1程序设计 P1口某一I O口线状态反转设计电路如图 所示 将51单片机第40脚Vcc接电源 5V 第20脚Vss接地 为单片机工作提供能源 将第19脚XTAL1与18脚XTAL2分别接外部晶体两个引脚 由石英晶体组成振荡器 保证单片机内部各部分有序地工作 对外部C1 C2的取值虽然没有严格的要求 但电容的大小会影响到振荡器频率的高低 振荡器的稳定性 起振的快速性 C1 C2通常取值C1 C2 30PF左右 8051的晶振最高振荡频率为12M AT89C51的外部晶振最高频率可到24M 硬件设计 定时计数器T0 T1程序设计 单片机可靠的复位是保证单片机正常运行的关键因素 因此 在设计复位电路时 通常要使RST引脚保持10ms以上的高电平 当RST从高电平变为低电平之后 单片机就从0000H地址开始执行程序 本电路是上电自动复位 将1个LED接在单片机P1端口的P1 5引脚上 注意LED有长短两个引脚 分别表示正负极 其中较短的负极接单片机 较长的为正极 通过限流电阻R与Vcc相连 本实验只需将1个LED与P1口相连 单片机的P0 P1 P2 P3端口都可以用来控制LED 反过去再看设备 硬件设计 定时计数器T0 T1程序设计 程序设计1 工作原理89C51内部有两个定时器 计数器T0 T1 TL0 TH0和TL1 TH1分别对应两个定时器 计数器的低8位和高8位 用于控制与管理定时器 计数器工作的两个寄存器TCON和TMOD 设置它们相应位 可以对T0 T1进行各种控制 寄存器TCON为控制寄存器 用于控制两个定时器 计数器的启动 停止 在溢出时设定标志位 TCON中TR0 TR1是T0 T1对应的开始运行控制位 TF0 TF1是溢出标志剩下4位是两个外部中断INT0 INT1对应的方式控制位IT0 IT1和中断请求标志IE0 IE1 低电平触发或下降沿触发 定时计数器T0 T1程序设计 程序设计1 工作原理 TFx 定时器 计数器溢出标志当定时器溢出时 硬件电路置TFx为 1 响应中断时硬件自动复位TRx TRx 定时器 计数器控制位 1 启动 0 停止 定时计数器T0 T1程序设计 程序设计1 工作原理寄存器TMOD为工作方式控制寄存器 用来设置定时器 计数器的工作方式 并确定用于定时还是用于计数 TMOD中每个定时器 计数器对应GATE C T M1 M0的4位 GATE是选通门控位 它决定T0 T1的开始运行是否要受外部中断输入引脚电平的控制 C T是定时器 计数器选择位 在定时器工作方式时 计数输入信号来自内部时钟 每个机器周期计数寄存器加1 在计数器工作方式时 计数输入信号来自T0 T1管脚 输入信号每次从1到0跳变 计数寄存器加1 要注意的是输入信号的最高频率不得大于机器振荡频率的1 24 M1 M0是模式控制位 决定了T0 T1的四种工作模式工作方式0 工作方式1 工作方式2 工作方式3 定时计数器T0 T1程序设计 程序设计1 工作原理M1M0工作方式选择 00 方式0 13位定时器 计数器01 方式1 16定时器 计数器10 方式2 8位自动重装定时器 计数器11 方式3 定时器0的TL0是一个8位的定时器 计数器 TH0是一个8位的定时器 定时器1停止工作方式3 T1可工作于方式0 1 C T 定时器 计数器选择 1 计数器 0 定时器GAME 选通门控制信号 1 由TRx和引脚INTx共同控制启动 0 仅由控制位TRx启动 定时计数器T0 T1程序设计 程序设计1 工作原理本实验用T1工作在方式1 即16位定时计数方式为例简要说明定时器 计数器的工作过程 根据需要设置TMOD及TL1 TH1的数值 开启定时或计数 定时或计数溢出时自动置溢出标志 并请求中断 图4工作方式1 16位定时器 计数器 定时计数器T0 T1程序设计 2 程序流程如图5所示 图5P1口输出程序流程图 定时计数器T0 T1程序设计 参考程序 定时50ms信号反转CSEGAT0000HLJMPSTART 查询方式CSEGAT4100HSTART MOVTMOD MOVTH1 MOVTL1 SETBTR1WAIT JBCTF1 NEXTSJMPWAITNEXT CPLP1 MOVTH1 MOVTL1 SJMPWAITEND 定时计数器T0 T1程序设计 参考程序 用定时器延时60ms后 LED轮流点亮 ORG0000HSTART MOVR0 8 设右移8次MOVA 01111111B 存入开始点亮灯位置LOOP MOVP1 A 传送到P1并输出ACALLDELAY 调延时子程序RRA 右移一位DJNZR0 LOOP 判断移动次数JMPSTART 重新设定显示值DELAY MOVTMOD 00000001B 设定TO工作在MODE1SETBTR0 启动TO开始计时MOVTL0 LOW 65536 60000 装入低位MOVTH0 HIGH 65536 60000 装入高位JNBTF0 T0没有溢出等待CLRTF0 产生溢出 清标志位RET 子程序返回END 程序结束 定时计数器T0 T1程序设计 实验步骤实际操作注意之处1 安装好仿真器 用串行数据通信线连接计算机与仿真器 把仿真头插到模块的单片机插座中 打开实验台电源 打开仿真器电源 打开电脑 2 启动计算机 打开KEIL集成开发软件 进行工程项目设置 通信正常为止 3 在编辑窗口输入源程序 保存 文件名为T1 ASM 对T1 ASM源程序进行编译 编译无误后 执行程序 观察LED变化 分析此现象 编写内容2的T2 ASM源程序 按以上步骤调试该程序 观察实验现象并分析 定时计数器T0 T1程序设计 实验报告要求1 实验报告要求有实验目的 要求 设备或仪器 硬件软件设计 步骤 现象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论