单片机定时器计数器实验报告

  • 格式:pdf
  • 大小:330.83 KB
  • 文档页数:15

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

单片机定时器计数器实验报告 

篇一:单片机计数器实验报告篇一:单片机计数器实验报告 计数器实验报告计数器实验报告 ㈠ 实验目的实验目的 1. 学习单片机内部定时学习单片机内部定时//计数器的使用和编程方法;计数器的使用和编程方法; 2. 2. 进一步掌握中断处理程序的编程方法。进一步掌握中断处理程序的编程方法。 ㈡ 实验器材实验器材 1. 2. 3. 4. 5. 

G6W仿真器一台仿真器一台 MCS MCS—51实验板实验板 一台一台一台 PC PC机 一台一台一台 电源 一台一台一台 信号发生器信号发生器 一台一台 ㈢ 实验内容及要求实验内容及要求 8051内部定时计数器,按计数器模式和方式1工作,对P3.4P3.4((T0T0)引脚进行计数,使用)引脚进行计数,使用8051的T1作定时器,作定时器,50ms50ms中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。秒后再次测试。 ㈣ 实验说明实验说明 1. 本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入引入 定时器T0T0。单片机在每个机器周期采样一次输入波形,。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。能超过机器周期频率。 2. 2. 计数脉冲由信号发生器输入(从计数脉冲由信号发生器输入(从T0端接入)。 3. 计数值通过发光二极管显示,要求:显示两位,十位用L4L4~~L1的8421 码表示,个位用L8L8~~L5的8421码表示码表示 4. 将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动算出每分钟脉搏跳动 次数并显示次数并显示 ㈤ 实验框图实验框图((见下页见下页) ) 程序源代码程序源代码 ORG 00000H LJMP MAIN ORG 00000H LJMP MAIN ORG 001BH AJMP MAIN1 MAIN: MOV SP,#60H MOV TMOD,#15H MOV 20H,#14H MOV TL1,#0B0H MOV TH1,#3CHMOV TL0,#00H ;T0的中断入口地址的中断入口地址 ; ;设置T1做定时器做定时器,T0,T0做计数器,都于方式1工作工作 ; ;装入中断次数装入中断次数装入中断次数 ; ;装入计数值低装入计数值低8位 ;装入计数值高8位 MOV TH0,#00H SETB TR1 ;启动定时器T1 SETB TR0 ;启动计数器T0 SETB ET1 ;允许T1中断中断 SETB EA ; SETB EA ;允许CPU中断中断 SJMP $; SJMP $;

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

等待中断等待中断 MAIN1: PUSH PSW PUSH ACC CLR TR0 CLR TR1 MOV TL1,#0B0H MOV TH1,#3CH DJNZ 20H,RETUNT MOV 20H ,#14H SHOW: MOV R0,TH0 MOV R1,TL0 MOV A,R1 MOV B,#0AH DIV AB MOV C,ACC.3MOV P1.0,C MOV C,ACC.2 MOV P1.1,C MOV C,ACC.1 MOV P1.2,C MOV C,ACC.0 MOV P1.3,C MOV A,B MOV C,ACC.3MOV P1.4,C MOV C,ACC.2 MOV P1.5,C MOV C,ACC.1 MOV P1.6,C MOV C,ACC.0 MOV P1.7,C ;保护现场保护现场 ;装入计数值低8位 ;装入计数值高8位,50ms;,50ms;允许允许T1中断中断 ;未到1s,1s,继续计时继续计时继续计时 ;1s ;1s到重新开始到重新开始 ;显示计数器T0的值的值;;读计数器当前值读计数器当前值 ; ;将计数值转为将计数值转为十进制十进制 ;显示部分,将A中保存的十位赋给L0~L3 将B中保存的各位转移到A中 ;将个位的数字显示在将个位的数字显示在L4~L7上 ; RETUNT: MOV TL0,#00H;将计数器将计数器T0清零清零 MOV TH0,#00H MOV TH0,#00H 

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

SETB TR0SETB TR1POP ACCPOP PSW RETI ;中断返回中断返回 在频率为1000HZ时,时,L0~L7L0~L7显示为5050;频率为;频率为300HZ时,时,L0~L7L0~L7显示为1515,结果正确,程序可以正确运行。,结果正确,程序可以正确运行。,结果正确,程序可以正确运行。 思考与小结:考与小结: 有了前面的定时器实验做基础,定时器计数器的选择以及初始化已经不再是难点,本次试验的重点是写入两个中断判断程序和十六进制到十进制的转化和显示。 MOV TL1,#0B0H ;装入计数值低8位 MOV TH1,#3CH;装入计数值高装入计数值高8位,50ms MOV 20H,#14H ;未到1s,1s,继续计时继续计时继续计时 DJNZ 20H,RETUNT;1s DJNZ 20H,RETUNT;1s到重新开始到重新开始 RETUNT: RETUNT: MOV TL0,#00H;将计数器将计数器T0清零清零 MOV TH0,#00H MOV TH0,#00H 由于书上详细解释了设置中断时间的问题,所以中断程序并没有什么太大的难点序并没有什么太大的难点,,主要是要思考一下程序的执行顺序问题。序问题。 十六进制到十进制的转化和显示使我们这次实验遇到的比较大的困难,刚开始采用的是DA指令,由于没有搞清楚它的实质错误的使用了DADA。。DA用于十六进制到BCD的转换,不能用于十六进制到8421的转换,于是我们思考了很久。后来终于找到了比较简单的方法用除数,十位放在A中,

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

个位也就是余数放在B中。中。 MOV R0,TH0 ;读计数器当前值读计数器当前值 MOV R1,TL0 MOV R1,TL0 MOV A,R1 MOV B,#0AH DIV AB;将计数值转为十进制将计数值转为十进制将计数值转为十进制 由于这次的数字比较小而且要显示在L0~L7上,所以可以用这种方法,如果是数字比较大的话这种方法也不奏效,需要写一段通用代码来实现。需要写一段通用代码来实现。 后面的问题可谓是一只强大的拦路虎,可能是基础只是不过关的缘故,我们一直在数字的显示顺序上纠结万分,用了左循环但是没有达到预期目的,在老师的指导之下才知道原来可以直接位赋值。以后一些使用的知识和技巧一定要掌握。握。 MOV C,ACC.3 ;显示部分,将A中保存的十位赋给L0~L3 MOV P1.0,C MOV C,ACC.2 MOV P1.1,C MOV C,ACC.1 MOV P1.2,C MOV C,ACC.0 MOV P1.3,C MOV A,B;A,B;将将B中保存的各位转移到A中 MOV C,ACC.3 ;将个位的数字显示在L4~L7上 MOV P1.4,C MOV C,ACC.2 MOV P1.5,C MOV C,ACC.1 MOV P1.6,C MOV C,ACC.0 MOV P1.7,C 篇二:篇二:5151单片机定时器实验单片机定时器实验 电子信息工程学系实验报告电子信息工程学系实验报告

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

课程名称:单片机原理课程名称:单片机原理 实验项目名称:实验项目名称:5151定时器实验定时器实验 实验时间:实验时间:XX-11-27 XX-11-27 班级:测控081 姓名:学号:姓名:学号:2 2 实 验 目 的: 熟悉keil仿真软件、伟福仿真器的使用和C51定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时片机内部定时//计数器的结构与工作原理。掌握中断方式处理定时理定时//计数的工作过程,掌握定时计数的工作过程,掌握定时//计数器在C51中的设置与程序的书写格式以及使用方法。与程序的书写格式以及使用方法。 实 验 原 理: 定时分类及原理定时分类及原理 1.1.软件定时:即让机器执行一个程序段,这段程序本身软件定时:即让机器执行一个程序段,这段程序本身没有具体的执行目的,只是为了磨时间。执行这段程序所需要的时间就是延时时间。这种程序前面已设计过。这种方法定时占用CPU执行时间,降低了CPU利用率。此次实验使用的是MCS-51系列单片机。系列单片机。 2.2.数字电路硬件定时:数字电路硬件定时:采用小规模集成电路器件如555555,,外接定时部件外接定时部件((电阻和电容电阻和电容))构成。这样的定时电路简单,但要改变定时范围,必须改变电阻和电容,这种定时电路在硬件连接好以后,修改不方便。件连接好以后,修改不方便。 3.3.可编程定时可编程定时可编程定时//计数器:是为方便微型计算机系统的设

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 

计和应用而研制的,它是硬件定时,又很容易地通过软件来确定和改变它的定时值,通过初始化编程,能够满足各种不同的定时和计数要求,因而在嵌入式系统的设计和应用中得到广泛的应用。到广泛的应用。 8051型单片机有两个十六位定时型单片机有两个十六位定时//计数器T0T0、、T1T1,有四,有四种工作方式,跟定时种工作方式,跟定时//计数器相关的特殊功能寄存器有这样几个:几个: 方式控制寄存器TMOD M1M1、、M0的状态决定定时器的工作方式,定时和外部事件计数方式选择位C/TC/T,,GATE与TR0TR0、、TR1配合决定定时配合决定定时//计数器的启停。器的启停。 加法计数寄存器TH0TH0、、TH1 (高八位)(高八位)TL0TL0TL0、、TL1TL1(低八(低八位); 定时定时//计数到标志TF0TF0、、TF1(中断控制寄存器TCONTCON)); 定时定时//计数器启停控制位TR0TR0、、TR1TR1((TCONTCON)); 定时定时//计数器中断允许位ET0ET0、、ET1(中断允许寄存IEIE)); 定时定时//计数器中断优先级控制位PT0PT0、、PT1PT1(中断优(中断优IPIP))。 定时/计数器的工作方式计数器的工作方式 MCS MCS-51的定时器有方式0、方式1、方式2和方式2这3种工作方式。种工作方式。 1. 1.方式方式0 当M1M0=00时,定时器工作于方式0。 方式方式 0 0为13位的计数器,由TL0的低5位和TH0的8位组成,位组成,TL0TL0低5位计数溢出时向TH0进位,进位,TH0TH0计数溢出时 置位溢出标志TF0TF0。若。若T0工作于定时方式,设计数初值