《8255资料以及程序》由会员分享,可在线阅读,更多相关《8255资料以及程序(5页珍藏版)》请在金锄头文库上搜索。
1、8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。 D7D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。(chip select):片选信号线,低电平有效时,芯片被选中。A1, A0(port address):地址线,用来选择内部端口。(read):读出信号线,低电平有效时,允许数据读出。(write):写入信号线,低电平有效时,允许数据写入。RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。PA7PA0(port A):A口输入/输出信号线。PB7PB0(p
2、ort B):B口输入/输出信号线。PC7PC0(port C):C口输入/输出信号线。VCC:5V电源。 GND:电源地线。 8255A的工作方式 方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路/8255驱动程序 #include STC12C5A60S2.h#include #include delay.h#define P4SW 0x70sbit kk = P44;sbit kb =P46;sbit kc =P45;sbit CS = P31
3、; /电磁阀位sbit RD= P30; /报警位 sbit A1 = P32;sbit A0 = P33; char PAKOU;sbit WR = P34; /写命令xie(char x,char y)if(x=0)CS=0;A1 = 0;A0 = 0;P1=y;WR=0;DelayMs(5);WR=1;if(x=1)CS=0;A1 = 0;A0 = 1;P1=y;WR=0;DelayMs(5);WR=1;if(x=2)CS=0;A1 = 1;A0 = 0;P1=y;WR=0;DelayMs(5);WR=1;if(x=3)CS=0;A1 = 1;A0 = 1;P1=y;WR=0;Delay
4、Ms(5);WR=1;/读命令 du(char x,char y) if(x=0)CS=0;A1 = 0;A0 = 0;P1=y;RD=0;DelayMs(5);RD=1;if(x=1)CS=0;A1 = 0;A0 = 1;P1=y;RD=0;DelayMs(5);RD=1;if(x=2)CS=0;A1 = 1;A0 = 0;P1=y;RD=0;DelayMs(5);RD=1;if(x=3)CS=0;A1 = 1;A0 = 1;P1=y;RD=0;DelayMs(5);RD=1; main() xie(3,0x80);/定义为普通I/O口PAKOU=PAKOU|0X01;xie(0,PAKOU);PAKOU=PAKOU|0X02; xie(0,PAKOU); kk=0;kc=0;kb=0; while(1);