单片机
返回首页

51单片机汇编语言实验(六)-----8255键盘与显示设计

2022-01-19 来源:eefocus

一、实验目的:

   掌握8255外接键盘与数码管显示的设计


二、实验设备:

   PC计算机一台,Dais-52PRO+实验系统一套。


三、实验内容:

   8255键盘与显示设计


四、 8255键盘与显示设计

   1、实验原理:

   本实验使用8255的PA7到PA0控制数码管字形口、PB5到PB0控制数码管字位口,同时PB4到PB0作为键盘扫描口、PC3~PC0作为键盘读入口。利用CPU控制8255,对4×5键盘进行扫描和键值读取,将键值显示到6位数码管上。本文介绍的是简化版的实验,不控制最后一列键盘,数码管位选端不接线,直接点亮。


   2、实验步骤:

  ① 按下图拆除14芯扁平电缆;

  ②将8255区的PA0到PA7与数码管区的a~h按下图连接;

  ③将8255区的PB1到PB4与按键区的列0~4按下图连接;

  ④将8255区的PC0到PC3与按键区的行0~3按下图连接;

  ⑤将8255区的/CS与端口地址区的300按下图连接;

  ⑥编写实验程序,经编译、链接无语法错误后装载到实验系统;

  ⑦全速运行程序,按实验系统键盘上的0~F数字键,数码管显示对应数字

  ⑧实验完毕后,应使用暂停命令中止程序的运行;

  ⑨本实验完毕,应及时将步骤1中拆除的扁平电缆重新连接,以便其它实验的顺利进行。

   3、参考代码:

//实验六 


        ORG 0000H

        AJMP KD1

        ORG 0100H

KD1: MOV   A, #81H ;8255初始化,PA,PB基本输出

;方式, PC低四位输入方式

MOV   DPTR, #0303H  ;地址需要修改成控制口地址

MOVX @DPTR, A

  

KEY1:   ACALL KS1 ;调用判断是否有键闭合子程序

JNZ    LK1 ;有键闭合转LK1

ACALL DSP8255 ;调用8255动态显示子程序,延时6 ms

AJMP    KEY1

LK1: ACALL DSP8255

ACALL DSP8255 ;调用两次显示,延时12 ms

ACALL KS1

JNZ    LK2

ACALL DSP8255 ;调用8255动态显示子程序,延时6 ms

AJMP    KEY1

LK2: MOV    R2, #0EFH     ;11101111

MOV    R4, #00H

LK3: MOV DPTR, #0301H    ;需要改成B口地址

MOV A, R2

MOVX @DPTR, A

INC DPTR

MOVX  A, @DPTR

JB ACC.0, LONE

MOV A, #00H

AJMP LKP

LONE: JB ACC.1, LTWO

MOV A, #04H

AJMP LKP

LTWO:JB ACC.2, LTHR

MOV A, #08H

AJMP LKP

LTHR: JB ACC.3, NEXT

MOV A, #0CH

LKP: ADD A, R4

PUSH ACC

MOV   R5,A

LK4: ACALL DSP8255

        ACALL  KS1

JZ   LK4

POP   ACC

AJMP  LK1  

NEXT: INC   R4

MOV   A, R2

JNB   ACC.1, KND

RR   A

MOV   R2, A

AJMP   LK3

KND: AJMP   KEY1

KS1: MOV   DPTR, #0301H ;地址需要改成B口地址

MOV   A, #00H

MOVX  @DPTR, A

INC   DPTR

MOVX  A, @DPTR   ;默认在按键按下前c口为高电平

CPL   A

ANL   A, #0FH

RET

DSP8255:    MOV A,R5

            MOV DPTR, #PTRN ;指向段数据表首地址

        MOVC A, @A+DPTR ;查表,得段数据

        MOV DPTR, #0300H ;地址需要修改为A口地址

            MOVX @DPTR, A ;输出段数据

        CALL D1MS ;延时1 ms

PASS:     RET ;返回

D1MS:       MOV R7, #02H ;延时1 ms子程序

DMS:     MOV R6, #0FFH

        DJNZ R6, $

        DJNZ R7, DMS

        RET

PTRN:DB 0c0H, 8eH, 86H, 0a1H ;段数据表   0  F  E  D    

DB 0f9H, 0a4H, 0b0H, 0c6H ;           1 2 3  C   

DB 99H, 92H, 82H, 83H  ;          4 5 6 B 

DB 0f8H, 80H, 90H, 88H ;            7 8 9 A  

        END


五、 实验效果视频演示

博文51单片机汇编语言实验8255键盘显示设计效果视频演示.

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • IGBT模块通过控制门极阻断过电流

  • CCFL的工作原理及电子驱动电路解析

  • 比较常见的功率整流器和滤波电路

  • 基于M66T旋律发​​生器的电路图解析

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章