请问8255可以这样点亮二极管吗??请问怎么确定端口初值。。。。。。。。。。。谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:29:18
#include <reg52.h>
#include <absacc.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define PA8255 XBYTE[0x7cff]
#define PB8255 XBYTE[0x7dff]
#define PC8255 XBYTE[0x7eff]
#define COM8255 XBYTE[0x7fff]

sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_7=P2^7;

void delay(uchar);
void delay2(void);
uchar key();
uchar temp_1;
uchar code TAB_SHUMA[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar t,x,l;

void main(void)
{
COM8255=0x88;
while(1)
{ PA8255=0x00;
delay(10);
}}

void delay(uchar n)
{uchar s;
while(n--)
{for(s=0;s<255;s++)
{
}
}
}
/**********************延时10ms子程序******************************/
void delay2()
{uchar l;
for (l=125;l>0;l++){}

单片机的程序吧, 这个要看你的硬件怎么连接的.

#define PA8255 XBYTE[0x7cff]

这个是用的8255并行IO扩展是吧, 这个真没法一下说清楚, 嵌入式的程序编写与硬件息息相关. 建议你先去学习 总线编址.
http://www.ceet.hbnu.edu.cn/bbs/search.php?searchid=91&orderby=lastpost&ascdesc=desc&searchsubmit=yes

这个是我们学校的电子论坛.