用8255扩展并行输入输出接口(流水灯程序)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用8255A扩展并行输入输出接口(流水灯程序)+作者:杜康
#include
#include
#include
#define PA8255 XBYTE[0x0000] /*定义8255A口地址*/
#define PB8255 XBYTE[0x2000] /*定义8255B口地址*/
#define COM8255 XBYTE[0x6000] /*定义8255控制口地址*/
void time(unsigned int ucMs);//延时单位:ms
void main(void)
{
unsigned char led;
P1=0xef;
led=P1;
COM8255=0x82;//初始化8255
time(50); //延时50ms
while(1)
{
PA8255=led;
led=_crol_(led,1);
time(500); //延时0.5s
}
}
void delay_5us(void)//延时5us {
_nop_();
_nop_();
}
void delay_50us(void)//延时50us {
unsigned char i;
for(i=0;i<4;i++)
{
delay_5us();
}
}
void delay_100us(void)//延时100us {
delay_50us();
delay_50us();
}
void time(unsigned int ucMs)//延时单位:ms {
unsigned char j;
while(ucMs>0)
{
for(j=0;j<10;j++) delay_100us();
ucMs--;
}
}