8255的三总线连接方法

来源:本站
导读:目前正在解读《8255的三总线连接方法》的相关信息,《8255的三总线连接方法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《8255的三总线连接方法》的详细说明。
简介:前两天,写了一篇关于 8255 的博文,使用了“直接连接”的方法。本文将使用“三总线”方式连接 8255:http://www.ippipp.com/article/id/50648。

有这样一个问题:按键计数,按一下键,显示数字加一。

两个按键控制分别控制两组数码管,每个按键控制一个两位数码管,显示十进制数,0到99。

题目给定的电路图中,共有四个共阴数码管,用8255的PA来驱动段,位,则使用了单片机P1口,按键使用了P2口。

如下所示:

8255的三总线连接方法

;8255控制字格式如下:

;+-----+-----+-----+-----+-----+-----+-----+-----+

;|1|PA_FUNC|PA_IO|PC7_4|PB_F|PB_IO|PC3_0|

;+-----+-----+-----+-----+-----+-----+-----+-----+

;|1|0|0|0|1|0|0|1|

;+-----+-----+-----+-----+-----+-----+-----+-----+

;

呵呵,百度这排版格式,把控制字显示的乱七八糟!复制到记事本再看吧。

仿照题目的要求,用汇编语言编写了如下的程序:

ORG0000H

START:

MOVR1,#03H;控制寄存器地址

MOVA,#89H;控制字

MOVX@R1,A;PAPB输出,PC输入

MOVSP,#70H

MOV30H,#01;初始显示8031

MOV31H,#255-8

MOV32H,#03

MOV33H,#255-4

MOV34H,#00

MOV35H,#255-2

MOV36H,#08

MOV37H,#255-1

MOVR4,#0;初值0

MOVR5,#0

MOVR1,#02H;PC

;----------------------------------初始化结束

M_LOOP:

CALLDISP

MOVXA,@R1

JNBACC.0,K1_1

JNBACC.1,K2_1

JMPM_LOOP

;---------------------

K1_1:

CALLDISP

MOVXA,@R1

JNBACC.0,K1_2

JMPM_LOOP

K1_2:

CALLDISP

MOVXA,@R1

JNBACC.0,K1_2

INCR4

CJNER4,#100,K1_3

MOVR4,#0

K1_3:

MOVA,R4

MOVB,#10

DIVAB

MOV34H,B

MOV36H,A

JMPM_LOOP

;---------------------

K2_1:

CALLDISP

MOVXA,@R1

JNBACC.1,K2_2

JMPM_LOOP

K2_2:

CALLDISP

MOVXA,@R1

JNBACC.1,K2_2

INCR5

CJNER5,#100,K2_3

MOVR5,#0

K2_3:

MOVA,R5

MOVB,#10

DIVAB

MOV30H,B

MOV32H,A

JMPM_LOOP;主程序循环

;----------------------------------主程序到此为止

DISP:;显示子程序

PUSHPSW

PUSHACC

SETBRS0

MOVR0,#30H;显示缓冲区首址

MOVR1,#00H;PA

MOVR2,#4

D_LOOP:

MOVA,@R0

ADDA,#(SEG_TAB-$-3)

MOVCA,@A+PC

MOVX@R1,A;写入PA

INCR0

INCR1;PB

MOVA,@R0

MOVX@R1,A;写入PB

DJNZR7,$

DJNZR7,$

MOVA,#255;消隐

MOVX@R1,A;写入PB

INCR0

DECR1

DJNZR2,D_LOOP

POPACC

POPPSW

RET

;---------------------

SEG_TAB:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH

;----------------------------------

END

程序启动后,首先显示出来8031,如上面的插图所示。

以后,分别按动两个按键,即可看到两组数码管分别显示出来加一、加一的现象。

提醒:《8255的三总线连接方法》最后刷新时间 2024-03-14 00:57:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《8255的三总线连接方法》该内容的真实性请自行鉴别。