data1 equ 06h
data2 equ 5bh
portA equ 7ff9h
portB equ 7ffah
CAddr equ 7ff8h ;(这三高圆配个口的具体地址要根据你硬件设计的情况;这戚指里是 单片机的P2.7接cs,P2.0接IO/腔薯M)
org 0
mov a,#mode A口基本输出,B口基本输出
mov dptr,#CAddr
movx @dptr,a
mov dptr,#portA
mov a,#data1
movx @dptr,a
mov dptr,#portB
mov a,#data2
movx @dptr,a
ljmp 0
不足之处,欢迎指正
51单片机并行输出数据有几种方法来实现。1、每一个P口(P0,P1,P2,P3)可以直接输出并行数据,例如:
MOV
P0,#55H
MOV
P1,#0AAH
MOV
P2,#0FEH
MOV
P3,#02H
2、利用P0口扩展并行口,这类芯片有244/245/373/573等侍裤镇等,编程需要用老粗到MOVX指令:
MOV
DPTR,#1000H
MOV
A,#55H
MOVX
@DPTR,A
MOV
R0,#0FEH
MOVX
@R0,A
当然还可以用8255/8155来扩展并口,编程方法同样,只是这类芯片需要初始化,用于定义其口的输入输出方向。
3、利用串口或IO口通过纯行串--并方式实现数据的并行输出。串口输出的话直接写串口就可以了。
MOV
A,#55H
MOV
SBUF,A
JNB
TI,$
CLR
TI
通过RXD TXD两个IO口可以通过串行实现两个单片机通信!可用串转并没液衡芯片来扩展IO口,比用多一枯做片单片机来扩展IO口简单多了!比埋迹如74hc595芯片,一个IO口可以扩展8个IO口,早就够用了!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)