您的位置 首页 培训

8255扩展I/O

C代码:#includereg51.h>#includeabsacc.h>#includeintrins.h>#definePAXBYTE[0xc000]#definePBXBYTE

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 ++;
}
}
}
仿真电路;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/268439.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部