• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 自我介绍 > 正文

    键盘接口实验实验报告总结及程序

    时间:2020-10-26 20:59:37 来源:勤学考试网 本文已影响 勤学考试网手机站

    实验六 键盘接口实验

    姓名 专业 通信工程 学号 成绩

    一、 实验目的

    掌握 Keil C51 软件与 Protues 软件联合仿真调试的方法;

    掌握单片机的键盘接口电路;

    掌握单片机键盘扫描原理;

    掌握键盘的去抖原理及处理方法。

    二、 实验仪器与设备

    微机 1 台 C51 集成开发环境 3 。Proteus 仿真软件三、 实验内容

    用 Proteus 设计一矩阵键盘接口电路。

     要求利用 P1口接一 4*4 矩阵键盘。串行口通过一 74LS164接一共阴极数码管。参考电路见后面。

    2. 用线反转法编写矩阵键盘识别程序,要求采用中断方式(列线通过

    4 输

    入与门 74LS20接 /INT0 ),无按键按下时,数码管循环画“ 8”;有按键按下时产生中断并将按键的键值 0~F 通过串行口输出,在数码管上显示 3 秒钟后返回;返回后,数码管继续循环画“ 8”。

    将 P1 口矩阵键盘改为 8 个独立按键(用中断方式设计),键盘通过 74LS30 (8 输入与非门)和 74LS04(六反相器)与 /INT0 相连,重新编写识别和显示程序。

    四、 实验原理

    矩阵键盘识别一般应包括以下内容:

    判别有无键按下。

    键盘扫描取得闭合键的行、列号。

    用计算法火或查表法得到键值。

    判断闭合键是否释放,如果没释放则继续等待。

    将闭合键的键值保存,同时转去执行该闭合键的功能。五、 实验步骤

    用 Proteus 设计键盘接口电路;

    2. 在 Keil C51 中编写键盘识别程序,编译通过后,与 Proteus 联合调试;

    按动任意键,观察键值是否能正确显示。六、 电路设计及调试、程序

    程序设计: 矩阵键盘

    #include<>

    #define uchar unsigned char

    #define uint unsigned int

    uchar code

    table1[]={0x00,0x01,0x21,0x61,0x65,0x6d,0x7d,0x7f}; uchar code

    key_table[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0x bb,0x7b,0xe7,0xd7,0xb7,0x77};

    R4

    S6

    S5

    S4

    S3

    1nF

    19

    XTAL1

    P0.0/AD0

    39

    S2

    X1

    38

    S1

    P0.1/AD1

    U1

    S0

    CRYSTAL

    P0.2/AD2

    37

    36

    9

    SRG8

    R3

    18

    XTAL2

    P0.3/AD3

    R

    35

    P0.4/AD4

    C1

    34

    8

    P0.5/AD5

    C1/->

    22pF

    9

    P0.6/AD6

    32

    RST

    P0.7/AD7

    1

    3

    1uF

    P2.0/A8

    21

    2

    &

    1D

    R17

    22

    P2.1/A9

    23

    4

    S0

    P2.2/A10

    29

    24

    10k

    PSEN

    P2.3/A11

    S1

    30

    25

    5

    ALE

    P2.4/A12

    31

    26

    EA

    P2.5/A13

    S2

    27

    6

    P2.6/A14

    28

    P2.7/A15

    10

    S3

    P1.0 1

    P1.0

    P3.0/RXD

    10

    P1.1 2

    11

    11

    S4

    P1.1

    P3.1/TXD

    P1.2 3

    12

    P1.2

    P3.2/INT0

    P1.3

    4

    13

    12

    S5

    P1.3

    P3.3/INT1

    P1.4 5

    14

    P1.4

    P3.4/T0

    P1.5 6

    15

    13

    S6

    P1.5

    P3.5/T1

    P1.6

    7

    16

    P1.6

    P3.6/WR

    P1.7 8

    17

    74LS164

    P1.7

    P3.7/RD

    P1.0

    P1.1

    P1.2

    P1.3

    P1.4

    P1.5

    P1.6

    P1.7

    1 U3:A

    2

    6

    4

    5

    74LS21

    R4

    1nF

    19

    XTAL1

    P0.0/AD0

    39

    X1

    38

    P0.1/AD1

    U1

    CRYSTAL

    P0.2/AD2

    37

    36

    9

    SRG8

    R3

    18

    XTAL2

    P0.3/AD3

    R

    35

    P0.4/AD4

    34

    8

    C1

    P0.5/AD5

    C1/->

    33

    P0.6/AD6

    22pF

    9

    32

    RST

    P0.7/AD7

    1

    3

    &

    1uF

    P2.0/A8

    21

    2

    1D

    R17

    22

    P2.1/A9

    23

    4

    S0

    P2.2/A10

    R1

    R2

    R5

    R6

    R7

    R8

    R9

    R10

    29 PSEN

    24

    10k

    P2.3/A11

    5

    S1

    10k

    10k

    10k

    10k

    10k

    10k

    10k

    10k

    30

    ALE

    P2.4/A12

    25

    31

    26

    EA

    P2.5/A13

    27

    6

    S2

    P2.6/A14

    28

    P2.7/A15

    S3

    10

    P1.0

    1

    P1.0

    P3.0/RXD

    10

    P1.1

    2

    11

    11

    S4

    P1.1

    P3.1/TXD

    P1.2

    3

    12

    P1.2

    P3.2/INT0

    P1.3

    4

    13

    12

    S5

    P1.3

    P3.3/INT1

    P1.4

    5

    14

    P1.4

    P3.4/T0

    P1.5

    6

    15

    13

    S6

    P1.5

    P3.5/T1

    P1.6

    7

    16

    P1.6

    P3.6/WR

    P1.7

    8

    17

    74LS164

    P1.7

    P3.7/RD

    U2:A

    74LS04

    1

    U3

    2

    3

    4

    8

    5

    6

    11

    12

    74LS30

    验中在做矩阵键盘实验时, 会出现进入中断一次后跳出来再按键不会再进入中断显示的情况原因是:

    没有在中断函数最后令 P1=0xf0,在边沿触发方式下退出中断程序时P1=0xf,外部中断 0 为低电平,不会有下降产生, 仅执行一次中断后再不会有中断产生,即使有按键按下。

    实验中出现了进入中断跳不出来的情况,原因是:

    给窗口送键值显示后没加 while(!TI); TI=0; 语句

    

    S6

    S5

    S4

    S3

    S2

    S1

    S0

    总结:实验前应画出程序流程图认真分析,有助于程序的编写。在矩阵键盘的实验中,若选择电平触发,不在中断后令 P1=0xf0,则跳出中断后检测到列线全为零,又产生中断,进入中断后扫描按键发现无按键按下又退出,列还是全为零又进入中断,如此反复,效率很低。

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问