MOVR5,#OAHDLoop:DJNZR7,DLoopDJNZ R6,DLoopDJNZR5,DLoopRETEND六、思考题1.对于本实验延时子程序Delay:MOVR6,#OFFHMOVR7,#OFFHMOVR5,#OAHDLoop:DJNZR7,DLoopDJNZ R6,DLoopDJNZ R5,DLoop本模块使用12MHz晶振,粗略计算此程序的执行时间为多少?9
9 MOV R5,#0AH DLoop: DJNZ R7, DLoop DJNZ R6, DLoop DJNZ R5, DLoop RET END 六、思考题 1.对于本实验延时子程序 Delay: MOV R6, #0FFH MOV R7, #0FFH MOV R5,#0AH DLoop: DJNZ R7, DLoop DJNZ R6, DLoop DJNZ R5, DLoop 本模块使用12MHz晶振,粗略计算此程序的执行时间为多少?
第四章定时/计数器实验一、实验目的1.学习80C51内部定时/计数器使用方法:2.学习计数器各种工作方式的用法:3.进一步掌握中断处理程序的编写方法。二、实验说明关于内部定时计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。定时计数器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。三、实验电路图本实验用到80C51MCU模块(C区),八位逻辑电平显示模块(E5区)和单次脉冲模块(G3区)。80C51MCU模块电路原理参考附录一,八位逻辑电平显示模块电路原理图参考实验一图1.1,单次脉冲模块电路原理参考实验二图2.1。四、实验步骤实验(一):计数器1.用数据线连接80C51MCU模块的P1口到八位逻辑电平显示模块的JD1E5口,用二号导线连接80C51MCU模块的TO口到单次脉冲模块的任一输出端。2.用串行数据通信线连接计算机与仿真器,把仿真器插到80C51MCU模块的40P锁紧插座中,请注意仿真器的方向:缺口朝上。3.将80C51MCU模块的电源扭子开关S1C拨到上端。将直流稳压电源模块的直流控制开关S1G1打到ON,本实验所用到的相关模块的电源指示灯VCC亮。4.打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“TH4_计数器.ASM”源程序,进行编译,编译无误后,全速运行程序。5.实验现象:连续按动单次脉冲的按键,8位发光二极管显示按键次数。另外也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52芯片中运行(注意:芯片缺口朝上)。实验(二):定时器10
10 第四章 定时/计数器实验 一、实验目的 1.学习 80C51 内部定时/计数器使用方法; 2.学习计数器各种工作方式的用法; 3.进一步掌握中断处理程序的编写方法。 二、实验说明 关于内部定时/计数器的编程主要是定时常数的设置和有关控制寄存器的设置。 内部计数器在单片机中主要有定时器和计数器两个功能。定时/计数器有关的寄存器 有工作方式寄存器 TMOD 和控制寄存器 TCON。TMOD 用于设置定时器/计数器的工 作方式 0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设 定标志位,并控制定时器的运行或停止等。 三、实验电路图 本实验用到 80C51 MCU 模块(C 区),八位逻辑电平显示模块(E5 区)和单次脉 冲模块(G3 区)。80C51 MCU 模块电路原理参考附录一,八位逻辑电平显示模块电路 原理图参考实验一图 1.1,单次脉冲模块电路原理参考实验二图 2.1。 四、实验步骤 实验(一):计数器 1.用数据线连接 80C51 MCU 模块的 P1 口到八位逻辑电平显示模块的 JD1E5 口,用二 号导线连接 80C51 MCU 模块的 T0 口到单次脉冲模块的任一输出端。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到 80C51 MCU 模块的 40P 锁紧 插座中,请注意仿真器的方向:缺口朝上。 3.将 80C51 MCU 模块的电源扭子开关 S1C 拨到上端。将直流稳压电源模块的直流控制 开关 S1G1 打到 ON,本实验所用到的相关模块的电源指示灯 VCC 亮。 4.打开 Keil uVision2 仿真软件,首先建立本实验的项目文件,接着添加“TH4_计数 器.ASM”源程序,进行编译,编译无误后,全速运行程序。 5.实验现象:连续按动单次脉冲的按键,8 位发光二极管显示按键次数。 另外也可以把源程序编译成可执行文件,把可执行文件用 ISP 烧录器烧录到 89S52 芯片中运行(注意:芯片缺口朝上)。 实验(二):定时器
1.用导线连接80C51MCU模块的P1.0到八位逻辑电平显示模块的任一只发光二极管上。2.用串行数据通信线连接计算机与仿真器,把仿真器插到80C51MCU模块的4OP锁紧插座中,请注意仿真器的方向:缺口朝上。3.将80C51MCU模块的电源扭子开关S1C拨到上端。将直流稳压电源模块的直流控制开关S1G1打到ON,本实验所用到的相关模块的电源指示灯VCC亮。4.打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“TH4定时器.ASM”源程序,进行编译,编译无误后,全速运行程序。5.实验现象:发光二极管隔一秒点亮一次,点亮时间为一秒。另外也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52芯片中运行。五、实验流程图及源程序1.流程图开始计数开始设置工作方式计数,输出计数计数器流程图开始定时中断入YV置T1中断工作方式保护现场★秒计数值减1设置定时常数★Y否是否到一秒设置初始状态位是设置秒计数值重新设置秒计数值+1中断允许状态位取反HK输出状态位恢复现场H等待中断中断返回主程序框图定时器流程图2.源程序11
11 1.用导线连接 80C51 MCU 模块的 P1.0 到八位逻辑电平显示模块的任一只发光二极管 上。 2.用串行数据通信线连接计算机与仿真器,把仿真器插到 80C51 MCU 模块的 40P 锁紧 插座中,请注意仿真器的方向:缺口朝上。 3.将 80C51 MCU 模块的电源扭子开关 S1C 拨到上端。将直流稳压电源模块的直流控制 开关 S1G1 打到 ON,本实验所用到的相关模块的电源指示灯 VCC 亮。 4.打开 Keil uVision2 仿真软件,首先建立本实验的项目文件,接着添加“TH4_定时 器.ASM”源程序,进行编译,编译无误后,全速运行程序。 5.实验现象:发光二极管隔一秒点亮一次,点亮时间为一秒。 另外也可以把源程序编译成可执行文件,把可执行文件用 ISP 烧录器烧录到 89S52 芯片中运行。 五、实验流程图及源程序 1.流程图 2.源程序