求51单片机用8255拓展的C程序。。
程序和仿真图如下,程序和仿真文件见附件。有问题请追问。
RD_8255 EQU P2.0 ;8255读引脚 低电平有效
WR_8255 EQU P2.1 ;8255写引脚 低电平有效
A0_8255 EQU P2.2 ;
A1_8255 EQU P2.3 ;
;A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。
;当A1=0, A0=0时,PA口被选择;
;当A1=0, A0=1时,PB口被选择;
;当A1=1, A0=0时,PC口被选择;
;当A1=1. A0=1时,控制寄存器被选择。
RESET_8255 EQU P2.4;8255复位引脚 高电平复位
CS_8255EQU P2.5;8255 片选 低电平有效
;;-----------------------------------
;;-----------------------------------
ORG 0000H
JMP MAIN
;;-----------------------------------
MAIN:
MOV SP,#60H
CLRCS_8255;低电平有效
CLR RESET_8255;高电平复位
MOV P0, #80H ;PA输出 10000000
CLR WR_8255 ;写入控制寄存器
SETB WR_8255
MOV R3,#01H
;;-----------------------------------
LOOP:
MOV P0, R3 ;输出
CLR A1_8255 ;选定PA
CLR A0_8255
CLR WR_8255 ;
NOP ;
NOP ;
SETB WR_8255
CALL DELAY500MS
MOV A,R3
RLC A
MOV R3,A
SJMP LOOP
;;-----------------------------------
DELAY500MS: ;误差 0us
MOV R7,#0CDH
DL1:
MOV R6,#74H
DL0:
MOV R5,#09H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
END
8255都停产了 你还学它干什么 学点有用的好不好
几年前得东西不见得淘汰 几十年前的东西肯定淘汰了
利用它来拓展,都是老式的方法。
基本上,都是用汇编语言。
参考:
http://hi.baidu.com/do_sermon/item/9479d4d23bba8c54d73aae4f
我要的是C,现在已经出来了,你知道怎么用C语言对PC口进行位操作啊??
针对控制寄存器,
写入:0x0f,就是令 PC7 置位;
写入:0x0e,就是令 PC7 清零。
求51单片机用8255拓展的C程序。。视频
相关评论:
常邓司51单片机地址总线16位,P0口提供低8位,P2口提供高8位。可以用下面的连接方式。PA、PB、PC的地址低位是0x00、0x01、0x02,高位都是0x7f。 mode equ 03h data1 equ 06h data2 equ 5bh portA equ 7ff9h portB equ 7ffah CAddr equ 7ff8h ;(这三个口的具体地址要根据你硬件设计的情况;这里是 单片机的P2...
常邓司8255 是IO口扩展芯片。一般单片机实验板都有4X4矩阵键盘,如果直接用单片机来驱动那样会占用一个8位IO口资源,为了防止冲突,设计中可能还要加跳线器。有了8255 一方面扩展了IO口资源,另一方隔绝了键盘等对复用IO口其它设备的影响。按你的意思就不太符合了,建议用proteus做仿真吧 ...
常邓司所以单片机中低8位地址加上高8位地址用2进制表示就是 0111111111111100,对应的16进制就是 7FFCH 同理,PB口对应的就是 7FFDH PC口对应的就是 7FFEH 还有个控制端。对应的就是 7FFFH 如果你要用8255的扩展口的话,就要先打通控制端,看你要用什么工作方式了。有个工作方式控制字的...
常邓司图没看到。但应该可以工作的,12864液晶在通过8255送数过去后自己显示,不用我们再管。时钟也是接近一秒才读一次,也来得及响应。键盘如果采用查询式的话,0.1S查询一次也可以。所以这样接的话是完全可以的。
常邓司并行接口常用8255A,8155\/8156,74ls244,74ls377等等。串行口多用8251
常邓司用8255扩展之后就是PA,PB,PC了,怎么还会只有8个端口呢?用8255扩展51单片机 I\/O口的程序,需要结合电路图才能确定,不同的连线,PA,PB,PC的地址是不同的,不过我也忘记怎么写程序了= =!8255中的A0.A1,CS非,与单片机的连线决定了,8255中,PA,PB,PC的各端口地址。单片机中P0,是低8位地址...
常邓司8255,是个老芯片。利用它来拓展,都是老式的方法。基本上,都是用汇编语言。参考:http:\/\/hi.baidu.com\/do_sermon\/item\/9479d4d23bba8c54d73aae4f
常邓司用线选法最多可扩展6片8255。加个锁存器,用作输出口,用P3或P1中的控制锁存。输入口不会出错。如果是因为I\/O不够用,再扩一个8255。
常邓司哈哈,用8255扩展 一个8255扩展24个呢】如果只剩下8个口了。或者有159,
常邓司参考答案:http:\/\/z.baidu.com\/question\/89165972.html 用8255扩展IO,书上用了373锁存,但是我想可不可以这样:P0不锁存,而是用P2口的随便两个引脚直接连8255的地址引脚。这样P0口送出的数据就不需要锁存了,直接接8255的数据口了。小弟初学单片机,还望各位能不吝赐教。完全可以。CS是片选,这个也...