基于单片机的按键模拟(2)

2019-04-21 20:45

2.2独立式键盘

在P1口上接按钮,作为独立式键盘,如图2.2.1所示:

图2.2.1

由于只用到了四个键,所以只安装了四个开关,从上往下依次为S1、S2、S3、S4

5

2.3数码管

数码管作为显示输出,装有两片74HC573芯片作为P3.6与P3.7开关来控制段码与位码的输入,如图2.3.1

图2.3.1

2.4串口通信

串口通信应用串口中断,在PC机上输出信号,这里只放出仿真用的端口,如图2.4.1

图2.4.1

6

2.5外部中断

外部中断使用的是外部中断0,按钮为P2.7,如图2.5.1所示:

图2.5.1

另外,本作品使用的是实验室中的试验箱,在此不再给出实物图。

3.软件应用

本作品功能简单,按键按下,数码管上显示相应数字并输出到PC机上,可同时按下多个按键并同时显示,但只输出到PC上一次,外部中断时有保留当前数字的功能并使得数码管全部显示“A”,当外部中断结束,数字会恢复原来的样子。

3.1程序初始化

设置外部中断,串口通信等初始参数。 ORG

0000H

7

LJMP ORG LJMP

MAIN

0003H ;外部中断0入口 EINT0

ORG 0030H

SCON,#50H ;设置串口工作方式

MAIN: MOV

MOV MOV MOV MOV SETB SETB SETB

PCON,#80H ;波特率加倍 TMOD,#20H ;设置计数器工作方式 TH1,#0FAH ;设置波特率 TL1,#0FAH

EX0 ;打开中断0 EA ;中断总开关打开 TR1 ;计数器工作

TI

;TI清零

CLR

CLR

IT0 ;中断0为跳沿触发方式

3.2主程序及其说明

主程序运行时查验是否有按键按下,如果按下,则接通相应子程序向数码管发送数据并向PC机发送数值。

LP:

JB P1.0,L2 ;如果按键1没有按下,则跳转到L2

LCALL DM ;载入子程序DM

MOV P0,#06H ;送段码 LCALL WM ;载入子程序WM MOV P0,#0FEH ;送位码 LCALL DELAY ;延时 MOV MOV JNB CLR

A,#31H ;送31H到A SBUF,A ;发送数据 TI,$ TI

8

L2: JB P1.1,L3 LCALL DM

MOV P0,#5BH

LCALL WM MOV P0,#0FDH LCALL DELAY MOV A,#32H MOV SBUF,A JNB TI,$ CLR

TI

L3: JB P1.2,L4 LCALL DM MOV P0,#4FH

LCALL WM

MOV P0,#0FBH LCALL DELAY MOV A,#33H MOV SBUF,A JNB TI,$ CLR

TI

L4:

JB P1.3,LP

LCALL DM MOV P0,#66H LCALL WM MOV P0,#0F7H LCALL DELAY MOV A,#34H MOV SBUF,A

JNB

TI,$

9


基于单片机的按键模拟(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:制图规定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: