实验二 P1口及定时器计数器实验

更新时间:2023-11-25 07:24:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 P1口及定时器计数器实验

一、实验目的

1、掌握单片机基本I/O口的使用特点,了解本扩展I/O口的方法; 2、掌握单片机定时器的工作原理,体会定时器的使用特点; 3、掌握中断的技术编程方法和特点。

二、实验仪器

1、C51实验开发板 1块 2、PC机 1台

三、实验内容

1、在P1口实验

连接仿真器和C51实验开发板,P1口做输出口,P1口连接至8只发光二极管接口JP8,如图3-1所示,接通开发板电源。编写程序,使发光二极管指示灯循环点亮。

P1 CPU 89S52

图3-1 P1口输出

CPU的振荡频率为11.0592MHz,发光二极管循环点亮需要一个延时子程序DELAY。延时时间为 ((0B3+1)×256×10+2)×2×12÷11059200=1(秒)。

DELAY: MOV R5,#0AH

MOV R6,#00H

DELAY1:MOV R7,#0B3H DJNZ R7,$

DJNZ R6,DELAY1 DJNZ R5,DELAY1 参考主程序

ORG 0000H LJMP START ORG 0040H

START:MOV A,#0FEH ;

LOOP: MOV P1,A ;点亮1只LED RL A ;左循环 LCALL DELAY ;延时1秒 SJMP LOOP

修改程序,使指示灯两两右循环;

修改程序,使指示灯右循环间隔为0.1秒;

2、在P1.0脚上输出2KHz的方波

2KHz的方波需要定时器产生0.25ms连续的定时信号,可选用T0方式2,自动装入参数的8位定时方式。单片机的主频为11.0592MHz,定时器初始值应为

256-0.25×1000×11.0592/12=26=1AH

参考程序

ORG 0000H AJMP START

ORG 000BH ;T0中断入口地 CPL P1.0 RETI

ORG 0100H START:

MOV TMOD,#02H ;置T0为方式2

MOV TL0,#1AH ;延时0.25mS的定时器初始值 MOV TH0,#1AH SETB PT0 ;设定优先级,只有一个中断的情况下,没什么意义 SETB ET0 ;中断使能 SETB EA ;开中断

SETB TR0 ;启动定时器

SJMP $ END

运行程序,用接在P1.0上的LED灯看效果。

3、在P1.0脚上输出0.5Hz的方波(用接在P1.0上的LED灯模拟)

1s钟的定时应该怎么办?定时器最长的定时为:216×12÷11.0592微秒=71.1毫秒。

本文来源:https://www.bwwdw.com/article/tnst.html

Top