单片机实验proteus版(2015) - 图文 下载本文

完成两个数码管同时循环显示0、1、2……F十六进制数码。间隔时间为1秒。

(2)使用一组八位数码管,动态显示15-35-00。

2. 实验目的

(1)熟悉数码管与单片机的常用连接方法 (2)掌握数码管静态和动态显示的编程方法。 3. 实验电路 见下页

4、实验要求

(1)完成实验电路设计 (2)完成实验程序设计

(3)实现显示自己的学号(右对齐,如20113200010,编程实现显示13200010)

参考程序: (1)静态显示 MOV R0,#0

START: MOV A,R0 MOV DPTR,#TAB1 MOVC A,@A+DPTR MOV P2,A

MOV A,R0

MOV DPTR,#TAB2 MOVC A,@A+DPTR MOV P3,A INC R0

ACALL DELAY

CJNE R0,#10H,START MOV R0,#0

SJMP START

DELAY:

MOV R2,#10 L1: MOV R3,#200 L2: MOV R4,#250 L3: DJNZ R4,L3 DJNZ R3,L2 DJNZ R2,L1 ret

;;共阴极数码管段码 TAB1:

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH,31H,6EH,76H,38H,00H

;;共阳极数码管段码

TAB2: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH DB 8CH,0C1H,0CEH,91H,89H,0C7H,0FFH

END

(2)动态显示: MOV 40H,#0F9H MOV 41H,#92H

MOV 42H,#10111111B MOV 43H,#0B0H MOV 44H,#92H

MOV 45H,#10111111B MOV 46H,#0C0H MOV 47H,#0C0H

EEE: MOV R1,#8

MOV R0,#40H ;动态显示数据首地址 MOV P1,#01111111B QQQ: MOV P2,#0FFH MOV A,P1 ; RL A

MOV P1,A MOV P2,@R0 CALL DELAY INC R0

DJNZ R1,QQQ

jmp EEE

DELAY: MOV R2,#1 L1: MOV R3,#10 L2: MOV R4,#250 L3: DJNZ R4,L3 DJNZ R3,L2 DJNZ R2,L1 ret

;;共阳极数码管段码 TAB:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH DB 8CH,0C1H,0CEH,91H,89H,0C7H,0FFH

END

实验4-2 键盘实验

1. 实验内容

P1口完成4*4键盘输入; P2口连接数码管,显示当前按下的键位号;P0口连接数码管,记录按下按键的次数,超过16次归零从新计数。 2. 实验目的

(1)熟悉矩阵键盘与单片机的常用连接方法 (2)掌握矩阵键盘的编程方法。 3. 实验电路