单片机定时器实验报告

发布时间:2020-05-26 19:00:24   来源:文档文库   
字号:

定时器实验报告

实验目的

1. 掌握单片机内部计数器的使用和编程方法;

2. 掌握中断处理程序的编程方法。

实验器材

1. G6W仿真器 一台

2. MCS—51实验板 一台

3. PC 一台

4. 电源 一台

5. 示波器 一台

实验内容及要求

1. 在使用12MHz晶振的条件下,8051内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢出中断一次。P1口的P1.0P1.7分别接发光二极管的L1L8(用连线连接J2J3)。

要求编写程序模拟一循环彩灯。彩灯变化花样为:L1L2…L8依次点亮;L1L2…L8依次熄灭;L1L2…L8全亮、全灭。各时序间隔为0.5秒。让发光二极管按以上规律循环显示下去。

2. 编写一个救护车警笛声程序,要求:高低两种音调交替出现,交替周期11.5S

实验框图

循环彩灯代码

ORG 0000H

LJMP MAIN

ORG 000BH ;T0的中断入口地址

MAIN:

MOV SP,#60H

MOV TMOD,#01H ;设置T1工作于方式一

MOV 20H,#0AH ;装入中断次数

MOV TL0,#0B0H ;装入计数值低8

MOV TH0,#3CH ;装入计数值高8

SETB TR1 ;启动定时器T1

SETB ET1 ;允许T1中断

SETB EA ;允许CPU中断

SJMP $ ;等待中断

CAIDENG:

PUSH PSW

PUSH ACC ;保护现场

MOV TL0,#0B0H ;装入计数值低8

MOV TH0,#3CH ;装入计数值高8

JUDGE:

DJNZ 20H,RETUNT ;0.5秒未到,返回

MOV 20H,#0AH ;重置中断次数

HUAYANG1: ;花样一

MOV R0,#08H ;设置花样一循环次数

MOV P1,#00H

MOV A,#01H

LOOP:MOV P1,A

LCALL DELAY

LCALL DELAY

LCALL DELAY

RL A

DJNZ R0,LOOP

NEXT1:

MOV TL0,#0B0H ;装入计数值低8

MOV TH0,#3CH ;装入计数值高8

JUDGE1:

DJNZ 20H,NEXT1 ;0.5秒未到,返回

MOV 20H,0AH

HUAYANG2: ;花样二

MOV R0,#08H ;设置花样二循环次数

MOV P1,#0FFH

MOV A,#0FEH

LOOP1:MOV P1,A

LCALL DELAY

LCALL DELAY

LCALL DELAY

RL A

DJNZ R0,LOOP1

NEXT2:

MOV TL0,#0B0H ;装入计数值低8

MOV TH0,#3CH ;装入计数值高8

JUDGE2:

DJNZ 20H,NEXT2 ;0.5秒未到,返回

MOV 20H,0AH

HUAYANG3:

MOV P1,#00H

LCALL DELAY

LCALL DELAY

LCALL DELAY

MOV P1,#0FFH

LCALL DELAY

LCALL DELAY

LCALL DELAY

NEXT3:

MOV TL0,#0B0H ;装入计数值低8

MOV TH0,#3CH ;装入计数值高8

JUDGE3:

DJNZ 20H,NEXT3 ;0.5秒未到,返回

MOV 20H,0AH

JMP RETUNT

DELAY: ;延时子程序

MOV R2,#0FFH

DELAY1:

MOV R1,#0FFH

DJNZ R1,$

DJNZ R2,DELAY1

RET

RETUNT:

POP ACC

POP PSW

RETI ;中断返回

END

救护车警笛声程序

ORG 0000H

AJMP MAIN

ORG 001BH ;T0的中断入口地址

AJMP S1

ORG 0040H

MAIN:

MOV SP,#70H

MOV R1,#100

MOV R2,#10

MOV R3,#20

MOV TMOD,#10H ;设置T1为定时器,工作方式1

MOV TH1,#0FCH ;装入计数值高8

MOV TL1,#18H ;装入计数值低8

SETB TR1 ;启动定时器T1

SETB ET1 ;允许T1中断

SETB EA ;允许CPU中断

SJMP $ ;等待中断

S1:

JB F0,S2 ;高音部分

MOV TH1,#0FCH

MOV TL1,#18H

CPL P1.0 ;取反

DJNZ R1,ENDS

MOV R1,#100

DJNZ R2,ENDS

MOV R2,#10

SETB F0 ;F0赋值

SJMP ENDS

S2:

MOV TH1,#0FEH ;低音部分

MOV TL1,#0CH

CPL P1.0

DJNZ R1,ENDS

MOV R1,#100

DJNZ R3,ENDS

MOV R3,#20

CLR F0

ENDS:

RETI

本次实验主要考察定时器和计数器还有中断的使用,由于课本上例题详细,所以初始化赋值之类的基础性问题并没有遇到什么困难,再加上第一次实验P1口输出和音乐实验的铺垫,基本上没有遇到什么太大的问题。

本文来源:https://www.2haoxitong.net/k/doc/5434c83e1cb91a37f111f18583d049649b660e98.html

《单片机定时器实验报告.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式