单片机实习指导书新 - 图文

发布时间 : 星期日 文章单片机实习指导书新 - 图文更新完毕开始阅读

RRC A MOV 20H,A MOV 21H.7,C SJMP START

TIM: MOV R3,#0FFH TBAK: MOV R2,#0FFH

MOV R4,#0FFH DJNZ R4,$ DJNZ R2,$ DJNZ R3,TBAK RET END 思考题

1.如何实现两个以上的连续的数码管在16个数码管上顺序移动点亮,每一秒钟移动一次,同时移动的方向可通过按钮控制

2.如何实现两个以上的连续的数码管在16个数码管上往复地移动点亮(即移动点亮移动到16个数码管的一端时即改变移动方向向另一端移动,如此循环) 3.由按键控制显示的方向。按键按下并松开后,改变显示的方向。

(二)用外中断方式实现LED亮灭控制 1.实习目的:

(1)熟悉外中断程序的初始化设计。

(2)掌握外中断低电平和边沿两种触发方式的程序设计。 2.实习任务:

要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。

单片机 INT0 P1.0

参考程序1:跳变触发:

ORG 0000H

AJMP MAIN

ORG 0003H ;中断入口 AJMP PINT0

ORG 0100H ;主程序

MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 SETB IT0 ;负跳变触发中断 Here:SJMP Here ;相当于执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED RETI ;返回主程序 END

参考程序2:电平触发

ORG 0000H;

AJMP MAIN

ORG 0003H ;中断入口 AJMP PINT0

ORG 0100H ;主程序

MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断

Here:SJMP Here ;相当于执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED

WAIT:JNB P3.2,WAIT ;等按键释放

1

RETI END 思考题

;返回主程序

1.开关是如何去抖的?

2.边沿和低电平触发有什么区别?在实际使用中如何选择? 3.在按键按下时发光,松开时不亮应如何设计?

实习八:

(一)4位数字的数码管动态显示设计方法 1.实习目的:

(1)熟悉数码管动态显示程序的设计过程。 (2)掌握数码管动态显示的表格设计。 2.实习任务:

如下图所示,在AT89S51单片机的P2和P3端口分别接4位共阴数码管组件,P2口接组件的数据口, P3口接组件的位选端。要求实现“Prog”这4位数字在数码管上动态刷新显示。

参考程序:

ORG 0000H MOV 40H, #8 MOV 41H, #0 MOV 42H, #5 MOV 43H, #1 MOV 48H, #0FEH MOV R1, #40H

START: MOV A, @R1

LCALL CSCX MOV P2, A MOV P3, 48H LCALL KEYTIM MOV P2,#0 MOV A, 48H RL A

CJNE A, #0EFH, LP2 MOV A, #0FEH

LP2: MOV 48H, A

INC R1 MOV A, R1

CJNE A, #44H, LP1

联系合同范文客服:xxxxx#qq.com(#替换为@)