好文档 - 专业文书写作范文服务资料分享网站

单片机定时器实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

定时器实验报告

㈠ 实验目的

1. 掌握单片机内部计数器的使用和编程方法; 2. 掌握中断处理程序的编程方法。

㈡ 实验器材

1. 2. 3. 4. 5.

G6W仿真器 一台 MCS—51实验板 一台 PC机 一台 电源 一台 示波器 一台

㈢ 实验内容及要求

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

要求:编写程序模拟一循环彩灯。彩灯变化花样为:①L1、L2、…L8依次点亮;②L1、L2、…L8依次熄灭;③L1、L2、…L8全亮、全灭。各时序间隔为0.5秒。让发光二极管按以上规律循环显示下去。 2.编写一个救护车警笛声程序,要求:高低两种音调交替出现,交替周期1~1.5S。

㈣ 实验框图 开 始 置T1的工作方式 置初始常数

开中断 等 待

主程序框图

循环彩灯代码

ORG 0000H LJMP MAIN

INT_T1入口 保护现场 置定时常数 是否到N 0.5秒 Y 查 表 显示 调整表格指针 恢复现场 中断返回 INT_T1中断程序框图 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 SETB EA SJMP $

CAIDENG: PUSH PSW

PUSH ACC MOV TL0,#0B0H MOV TH0,#3CH JUDGE:

DJNZ 20H,RETUNT 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 MOV TH0,#3CH JUDGE1:

DJNZ 20H,NEXT1 MOV 20H,0AH

;允许T1中断 ;允许CPU中断 ;等待中断 ;保护现场

;装入计数值低8位 ;装入计数值高8位 ;0.5秒未到,返回 ;重置中断次数 ;花样一

;设置花样一循环次数;装入计数值低8位 ;装入计数值高8位 ;0.5秒未到,返回

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 MOV TH0,#3CH JUDGE2:

DJNZ 20H,NEXT2 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 MOV TH0,#3CH JUDGE3:

DJNZ 20H,NEXT3 MOV 20H,0AH JMP RETUNT

DELAY: MOV R2,#0FFH DELAY1:

MOV R1,#0FFH

;装入计数值低8位 ;装入计数值高8位 ;0.5秒未到,返回 ;装入计数值低8位 ;装入计数值高8位 ;0.5秒未到,返回 ;延时子程序 DJNZ R1,$

DJNZ R2,DELAY1 RET

RETUNT: POP ACC POP PSW

RETI ;中断返回 END

救护车警笛声程序

ORG 0000H

AJMP MAIN

ORG 001BH AJMP S1 ORG 0040H MAIN:

MOV SP,#70H MOV R1,#100 MOV R2,#10 MOV R3,#20

MOV TMOD,#10H MOV TH1,#0FCH MOV TL1,#18H SETB TR1 SETB ET1 SETB EA 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 SJMP ENDS

;T0的中断入口地址 ;设置T1为定时器,工作方式1 ;装入计数值高8位 ;装入计数值低8位

;启动定时器T1 ;允许T1中断 ;允许CPU中断 ;等待中断 ;高音部分 ;取反 ;F0赋值 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口输出和音乐实验的铺垫,基本上没有遇到什么太大的问题。

单片机定时器实验报告

定时器实验报告㈠实验目的1.掌握单片机内部计数器的使用和编程方法;2.掌握中断处理程序的编程方法。㈡实验器材1.2.3.4.5.G6W仿真器一台MCS—51实验板一台PC机一台
推荐度:
点击下载文档文档为doc格式
2aeel0vuo28ojit8frcc
领取福利

微信扫码领取福利

微信扫码分享