#define PA XBYTE[0x0000]
#define PB XBYTE[0x2000]
#define PC XBYTE[0x4000]
#define COM XBYTE[0x6000]
unsigned char ledunsigned int count
void main()
{
EA=1
TMOD=0x01
TCON=0x00
TH0=-2304/256
TL0=-2304%256
TR0=0
COM=0x8aled=0 while(1)}
void timer(void) interrpt 1
{
TH0=-2304/256
TL0=-2304%256count++if(count==100){ count=0
led=PA&0x01//这里直接写LED电平 反转,不过我不知道你的接线,你可以自己试试//通常我们都是 这样 led1=~led1;(当然事先有了定义的 sbit led1=P1^1)}}
虽然不知道你的接线,但是我知道你这种方式永远点亮不了LED。看着注释,自己在改改就好了
先添加头文件,INIT8255这个函数是头文件已经定义?头文件添加完成之后,try it。
如果不行,再重新定义一下INIT8255()
四个错误,就是该函数中的变量add8255、 PA8255、 P13未定义;
修正错误,就是定义一下,定义成unsignd int
INIT8255()被多次定义,查找一下,去掉其中一处。
(猜测)
应该是头文件未添加导致的。
INIT8255在头文件中,应该已经被定义完成了,你自己再次定义了,就出现上述错误。
主要是要和线路配合#include<absacc.h>
#include<reg51.h>
#define COM8255 XBYTE[0x7fff] //命令字地址
#define PA8255 XBYTE[0x7ffc] //PA口地址
#define PB8255 XBYTE[0x7ffd] //PB口地址
void main()
{
COM8255=0x90//方式0,A口输入,PB口输出
while(1)
{
PB8255=PA8255//PA口开关断和通控制PB口LED亮和灭
}
}
//absacc.h 是定义绝对地址的头文件 ,x表示外部存储器,
//XBYTE[0x7fff] 表示外部存储器中的一个为0x7fff的绝对地址.
详细的可见我的空间一文=》http://hi.baidu.com/47okey/blog/item/005502fd374e9eeafc037f85.html?timeStamp=1320919263656