五.实验参考程序
ORG 0000H AJMP START
ORG 0BH AJMP TIMER0 START:
MOV SP,#60H
MOV TMOD,#01H ;置T0为方式1 MOV TH0,#3CH ; MOV TL0,#0B0H
MOV IE,#10000010B ; SETB TR0 ;Timer0 MOV A,#01H
MOV R1,#2 ;LOOP: JMP LOOP ;TIMER0: ;T0 CLR TR0 ;MODE 1 MOV TH0,#3CH MOV TL0,#0B0H
SETB TR0 ; DJNZ R1,EXIT ; MOV R1,#2 ;MOV P1,A ; RL A ;EXIT: RETI END
延时50mS的时间常数 开放TIMER0中断 开始计时 溢出中断次数2次存入R1 无穷循环
中断服务程序,每50mS执行此中断服务程序1次自动重新加载功能,溢出中断 激活Timer0定时
判断溢出次数2次已到(0.1S)否? 重设溢出中断次数2次
把累加器A的内容送P1口显示
把累加器A的内容左移一位
16
实验四 计数器实验
一.实验目的
1. 通过实验掌握单片机计数编程的方法;
二.实验内容
实验设置8051单片机内部定时器/计数器T0计数,按方式2工作,对T0引脚(P3.4)手动输入的
单脉冲进行计数。并将其计数值从P1口输出,在LED上显示出来。验证其正确性。
三.实验原理图
四.实验步骤
1. 接线: T0 /51单片机 接 单脉冲
2. P17~P10/51单片机 接 L7~L0 /LED显示 3. 运行实验程序,每按一次单脉冲,LED数加一。
五.实验参考程序
ORG 0000H
MOV TMOD, #06H ;T0计数,方式2 MOV TH0, #0 ;计数初值0 MOV TL0, #0
SETB TR0 ;启动T0 LOOP: MOV P1, TL0 ;读T0送P1口 AJMP LOOP
17
END
实验五 外中断实验
一.实验目的
通过实验掌握单片机外中断的原理及编程方法。
二.实验内容
数码管循环显示0~F,当INT0端口即P3.2口有低电平时,数码管立即回到0重新循环显示。
三.实验原理图
四.实验步骤
1. 接线: /INT0 /51单片机 接 单脉冲
2. P00~P07/51单片机 接 LEDA~H /LED显示 3. P27~P20/51单片机 接 SEL7~0 /LED显示 5.运行实验程序,观察实验现象。
五.实验参考程序
ORG START:
0000H AJMP ORG AJMP ORG AJMP ORG
MOV P2,#00H
SETB P2.0 MOV MOV MOV
IE,#83H TMOD,#01H TL0,#0B0H
18
START 0003H INTT0 000BH TIMER0 0030H
MOV SETB SETB MOV MOV MOV
TH0,#3CH TR0 IT0 R0,#0 R1,#20 DPTR,#TAB A,R0
MOV INTT0: TIMER0: TOP0:
EXIT: RETI
TAB: DB 3FH,06H,5BH,4FH
END
MOVC A,@A+DPTR MOV P0,A AJMP $ MOV R0,#0
MOV A,R0 MOVC A,@A+DPTR MOV P0,A
RETI
MOV TL0,#0B0H MOV TH0,#3CH DJNZ R1,EXIT
MOV R1,#20 INC R0
CJNE R0,#10H,TOP0 MOV R0,#0
MOV
A,R0 MOVC A,@A+DPTR MOV
P0,A
DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H
19
实验六 动态扫描数码管显示实验
一.实验目的
通过实验掌握动态扫描显示的原理和编程方法。 二.实验内容
1. 动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的占留特
性,看不出闪烁现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的点亮(数位选择)。
2. 对于显示的字形码数据此实验采用查表的方法来完成。 3. 此实验现象是在八个数码管中显示0,1,2,3,4,5,6,7。
三.实验原理图
四.实验步骤
1. 接线: P00~P07/51单片机 接 LEDA~H /LED显示 2. P27~P20/51单片机 接 SEL7~0 /LED显示 3. 运行实验程序,观察实验现象
五.实验参考程序
ORG 0000H AJMP START ORG 0030H START:SETB P2.0 MOV P0,#3FH LCALL DELAY MOV P0,#00H CLR P2.0 SETB P2.1 MOV P0,#06H LCALL DELAY MOV P0,#00H
20