梅西3468 梅西3468
关注数: 2 粉丝数: 6 发帖数: 1,515 关注贴吧数: 9
学生党求教 一、实验目的 1、学习80C51内部定时器器的使用和编程方法 2、进一步掌握中断处理程序的编写方法 二、实验说明 关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。 定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是12MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算: 机器周期=12÷6MHz=1Us (256-定时常数)×1uS=100uS 定时常数=156。然后对100uS中断次数计数10000次,就是1秒钟。 在本实验的中断处理程序中,中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 三、实验内容及步骤 1、用导线连接单片机最小应用系统1的P1到发光二极管上。 2、用串行数据通信线(或并行)连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3、打开Keil uVision2仿真软件,首先建立本实验的工程项目,接着添加定时器(.C)源程序文件,进行编译,直到编译无误(请自行编写相关程序)。 4、进行软件设置,选择硬件仿真,选择串行口COM1(并行COM3),设置波特率为38400(并行115200)。 5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。发光二极管隔一秒点亮一次,点亮时间为一秒。 五、思考题 1、如何将LED的状态间隔改为2秒,程序如何改写? 2、如果更换不同频率的晶振,会出现什么现象?如何调整程序?
学生党求教 一、实验目的 1、学习80C51内部定时器器的使用和编程方法 2、进一步掌握中断处理程序的编写方法 二、实验说明 关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。 定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是12MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算: 机器周期=12÷6MHz=1Us (256-定时常数)×1uS=100uS 定时常数=156。然后对100uS中断次数计数10000次,就是1秒钟。 在本实验的中断处理程序中,中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 三、实验内容及步骤 1、用导线连接单片机最小应用系统1的P1到发光二极管上。 2、用串行数据通信线(或并行)连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。 3、打开Keil uVision2仿真软件,首先建立本实验的工程项目,接着添加定时器(.C)源程序文件,进行编译,直到编译无误(请自行编写相关程序)。 4、进行软件设置,选择硬件仿真,选择串行口COM1(并行COM3),设置波特率为38400(并行115200)。 5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。发光二极管隔一秒点亮一次,点亮时间为一秒。 五、思考题 1、如何将LED的状态间隔改为2秒,程序如何改写? 2、如果更换不同频率的晶振,会出现什么现象?如何调整程序?
1 下一页