中南大学单片机实验报告

实验七 键盘显示控制器8279应用实验

一、 实验目的

1、掌握8031系统中,扩展8279键盘显示接口的方法。 2、掌握8279工作原理和编程方法。

二、 实验内容

按下数字键,数码管上能够显示相应的数字。

三、 实验说明

利用8279可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定、程序简单、不会出现误动作等优点。本实验利用8279实现显示扫描自动化。 四、 实验接线图(图7-1)

161616161616161gpgpdgpgpgpgpgpgpgpgpgpgpgpgpgpgpgpdgpdgpdgpdgpdgpdgpLED83LED8SCHLED73LED8SCHLED63LED8SCHLED53LED8SCHLED43LED8SCHLED33LED8SCHLED23LED8SCHLED13LED8SCH6101010101010101098542379854237985423798542379854237985423798542379854238BIT0aJP82DUh5BIT77gpdbdbdbdbdbdbdbdbdaceaceaceaceaceaceaceaceffffffffJP81BIT12345671234677BIT785316BIT06DU1234567123488BIT147129181Y32Y21Y42Y11Y12Y4D0D1D2D3D4D5D6D7A0WRRDRST8279CSCS512131415161718192111109224OUTB0DB0DB1DB2DB3DB4DB5DB6DB7A0SL3WRRDRESETCSIRQBDCNTL/SSHIFTSL2SL1SL0RL0RL1RL2RL3RL4RL5OUTB1OUTB2OUTB3OUTA0OUTA1OUTA2OUTA33130292827262524613811217415191A32A21A42A11A12A41A22A32G1G1Y32Y21Y42Y11Y12Y41Y22Y3147129183165abcdefgh1A32A21A42A11A12A41A22A31Y22Y3UB518279UB5274LS2445UB5474LS2442G19163181127145353433323839125678VCC1UB5374LS138321CBAY7Y6Y5Y4645Y3E3E1E2Y2Y1Y079101112131415KY0Y6R82794.7K233736GNDCLKRL6RL7VCC1MHZ8279CLKJB52KH3JB54KL8765432876543211J4_2KL4324321J4_1KHD4D3IN4148IN4148D2IN4148D1IN4148SK16R161KR171KR181KR191KSK13SK9SK5SK1SK14SK10SK6SK2SK15SK11SK7SK3SK12SK8SK4111G

11

五、实验程序框图

六、实验步骤

1、 用8芯排线将8279区DU(a-h)连接到数码管显示区的 DU(a-h),8279区

BIT(BIT0-BIT7)连接到数码管显示区的BIT(BIT0-BIT7)。 2、用4芯排线将8279区的KH(H1-H7)连到键盘区的KH(H1-H4)上,KL (L4-L1)

连到键盘区的KL(L4-L1)上。 3、8279区8279CS连到系统译码的Y6上,8279CLK连接到固定脉冲的1MHz。 4、调试、运行程序test7中的8279.ASM。数码管显示“8279-1”,按下数字键,数码

管上显示相应的数字。

七、实验程序

ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV 6FH,#70H

12

开 始 8279初始化 显示器显示8279-1 N 有键按下吗? Y 计算键值 查字型代码 送显示缓冲区 显 示 图(7-2) MOV 70H,#8H ; ;70H-77H为显示缓冲区 显示\ MOV 71H,#02H ; MOV 72H,#7H ; MOV 73H,#9H ;

MOV 74H,#12H ;

MOV 75H,#12H ; MOV 76H,#12H ;

MOV 77H,#01H ;

LOOP: LCALL DISP ;调显示 MOV R2,#5H ;延时参数 LCALL DELAY ; 取键值

LCALL GETKEY LCALL DISP

MOV R2,#5H LCALL DELAY SJMP LOOP

DISP: ;显示子程序,缓冲区为70H-77H C8279 EQU 0E001H ; D8279 EQU 0E000H ;

MOV DPTR,#C8279 MOV A,#0H

MOVX @DPTR,A ; 写8279方式字 MOV A,#2aH

MOVX @DPTR,A ;写分频系数 MOV A,#0D0H

MOVX @DPTR,A ;清显示

MOV A,#90H

MOVX @DPTR,A ;设置从左边开始写入数据 DISP1: MOVX A,@DPTR

JB ACC.7,DISP1 ;读8279工作是否正常 MOV R0,#70H ;显示缓冲首址 MOV R1,#08H DISP2: MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR ;查字型

MOV DPTR,#D8279 cpl a

MOVX @DPTR,A ;送字型到8279显示

13

INC R0 DJNZ R1,DISP2 RET ;字型代码

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H ;0,1,2,3,4,5,6,7 DB 80H,90H,88H,83H,0C6H,0A1H,86H,08EH ;8,9,A,B,C,D,E,F DB 08CH,0C1H,0BFH,91H,89H,0C7H,0FFH,07FH P(10),U(11),-(12),Y(13),H(14),L(15),关(16) ,.(17)

CLEAR8279:MOV DPTR,#C8279 ;清显示 子程序 MOV A,#0D0H MOVX @DPTR,A RET

GETKEY: MOV DPTR,#C8279 MOVX A,@DPTR ANL A,#07H

CJNE A,#0H,GET1 JMP GETKEY GET1: MOV DPTR,#D8279 MOVX A,@DPTR MOV B,A

MOV R2,#00H

MOV DPTR,#KEYDATA KEY1: MOV A,#00H MOVC A,@A+DPTR CJNE A,B,KEY2 JMP KEY3 KEY2: INC DPTR INC R2 JMP KEY1

KEY3: MOV A,6FH MOV R1,A MOV A,R2 MOV @R1,A INC 6FH

CJNE R1,#78h,KEY4 MOV 6FH,#70H KEY4: RET

KEYDATA: DB 23H,2BH,33H,3BH , 22H,2AH,32H,3AH DB 21H,29H,31H,39H,20H,28H,30H,38H

;

14

DELAY: PUSH 02H ;延时子程序 DELAY1: PUSH 02H DELAY2: PUSH 02H

DELAY3: DJNZ R2,DELAY3 POP 02H

DJNZ R2,DELAY2 POP 02H

DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY

RET END

实验九 小直流电机调速实验

一、 实验目的

1、掌握直流电机的驱动原理。 2、了解直流电机调速的方法。

二、 实验内容

1、D/A转换电路0832的输出,经放大后用来驱动直流电机。

2、编制程序改变0832输出,输出信号经过放大产生方波信号,用此信号的占空比

来调速。本实验中D/A输出为双极性输出,因此电机可以正反向旋转。

三、 实验接线图

D/A转换部分原理参考D/A转换实验

-5VGC21RC238550DMOUTGC22300DJRC24300DAOUTGND8050VCC 15

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4