微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 8255扩展I/O

8255扩展I/O

时间:11-17 来源:互联网 点击:
C代码:

#include
#include
#include
#define PA XBYTE[0xc000]
#definePB XBYTE[0xc001]
#definePCON XBYTE[0xc003]
unsigned char dis_buf[8];
unsigned char code dis_code[]= {
0XC0,/*0*/
0XF9,/*1*/
0XA4,/*2*/
0XB0,/*3*/
0X99,/*4*/
0X92,/*5*/
0X82,/*6*/
0XF8,/*7*/
0X80,/*8*/
0X90,/*9*/
0X88,/*A*/
0X83,/*b*/
0XC6,/*C*/
0XA1,/*d*/
0X86,/*E*/
0X8E,/*F*/}; //共阳段码
unsigned char code dispbitcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//共阳位码
/*************延时子程序*******************************/
void delay_ms(unsigned int x)//最小1毫秒
{
unsigned char j;
while(x--)
{
for(j=0;j<125;j++)
{;}
}
}
void dis_light(unsigned char t)
{
unsigned char i;
unsigned char pos=0x80;
for(i=0;i<8;i++)
{
PA=dis_code[dis_buf[i]];
PB=pos;
delay_ms(t);
pos>>=1;
}
}
void main()
{
unsigned char i;
unsigned char index=0;
PCON=0x89;
while(1)
{
for(i=0;i<8;i++)
{
dis_buf[i]=(index+i)%16;
dis_light(200);
index ++;
}
}
}
仿真电路;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top