求51单片机用8255拓展的C程序。。

来自:    更新日期:早些时候
用单片机AT89C51扩展并行可编程I/O接口芯片8255。~

程序和仿真图如下,程序和仿真文件见附件。有问题请追问。

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都停产了 你还学它干什么 学点有用的好不好
几年前得东西不见得淘汰 几十年前的东西肯定淘汰了

8255,是个老芯片。

利用它来拓展,都是老式的方法。

基本上,都是用汇编语言。

参考:

http://hi.baidu.com/do_sermon/item/9479d4d23bba8c54d73aae4f

我要的是C,现在已经出来了,你知道怎么用C语言对PC口进行位操作啊??
针对控制寄存器,
写入:0x0f,就是令 PC7 置位;
写入:0x0e,就是令 PC7 清零。


求51单片机用8255拓展的C程序。。视频

相关评论:
  • 1337376229051单片机,外界8255a芯片作为扩展io口,其中pA为输出,PB为输出,PC为输入...
    常邓司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...

  • 133737622908225芯片和51单片机有什么关系!
    常邓司8255 是IO口扩展芯片。一般单片机实验板都有4X4矩阵键盘,如果直接用单片机来驱动那样会占用一个8位IO口资源,为了防止冲突,设计中可能还要加跳线器。有了8255 一方面扩展了IO口资源,另一方隔绝了键盘等对复用IO口其它设备的影响。按你的意思就不太符合了,建议用proteus做仿真吧 ...

  • 1337376229051单片机I\/O口的扩展问题:使用 锁存器74LS273连接后还是只有8个端口...
    常邓司所以单片机中低8位地址加上高8位地址用2进制表示就是 0111111111111100,对应的16进制就是 7FFCH 同理,PB口对应的就是 7FFDH PC口对应的就是 7FFEH 还有个控制端。对应的就是 7FFFH 如果你要用8255的扩展口的话,就要先打通控制端,看你要用什么工作方式了。有个工作方式控制字的...

  • 1337376229051单片机I\/O口扩展芯片8255问题,请各位师傅赐教。感激不尽!!!(有...
    常邓司图没看到。但应该可以工作的,12864液晶在通过8255送数过去后自己显示,不用我们再管。时钟也是接近一秒才读一次,也来得及响应。键盘如果采用查询式的话,0.1S查询一次也可以。所以这样接的话是完全可以的。

  • 13373762290请问51单片机用什么芯片扩展io口好?求电路图与代码!
    常邓司并行接口常用8255A,8155\/8156,74ls244,74ls377等等。串行口多用8251

  • 13373762290单片机端口扩展 8255与80c51。
    常邓司用8255扩展之后就是PA,PB,PC了,怎么还会只有8个端口呢?用8255扩展51单片机 I\/O口的程序,需要结合电路图才能确定,不同的连线,PA,PB,PC的地址是不同的,不过我也忘记怎么写程序了= =!8255中的A0.A1,CS非,与单片机的连线决定了,8255中,PA,PB,PC的各端口地址。单片机中P0,是低8位地址...

  • 13373762290求51单片机用8255拓展的C程序。。
    常邓司8255,是个老芯片。利用它来拓展,都是老式的方法。基本上,都是用汇编语言。参考:http:\/\/hi.baidu.com\/do_sermon\/item\/9479d4d23bba8c54d73aae4f

  • 1337376229051用线选法常规最多可扩展多少片8255
    常邓司用线选法最多可扩展6片8255。加个锁存器,用作输出口,用P3或P1中的控制锁存。输入口不会出错。如果是因为I\/O不够用,再扩一个8255。

  • 13373762290怎样用51单片机的8个I\/O口来控制20个LED灯的亮灭,编写程序可以让任何...
    常邓司哈哈,用8255扩展 一个8255扩展24个呢】如果只剩下8个口了。或者有159,

  • 1337376229051单片机IO口扩展,P0口在什么情况下要加锁存器,在什么情况下不加呢...
    常邓司参考答案:http:\/\/z.baidu.com\/question\/89165972.html 用8255扩展IO,书上用了373锁存,但是我想可不可以这样:P0不锁存,而是用P2口的随便两个引脚直接连8255的地址引脚。这样P0口送出的数据就不需要锁存了,直接接8255的数据口了。小弟初学单片机,还望各位能不吝赐教。完全可以。CS是片选,这个也...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网