写完后检查一下,缺个分号能让你愁一天, |
BYTE[8] sz== 改成BYTE sz[8]=试试? |
在第十行上面有中文; |
多了一个= |
可能存在汉字的分号,uchar code 干脆写成 code char 。忽视那个#define uchar unsigned char,头文件 "1602.h" 有残缺,你可以先屏蔽掉,或者搞个空文件给她引用,看看是否任然有错。 |
数据类型 BYTE 没有定义,使用“BYTE”前需要定义: typedef unsigned char BYTE; 或者 #define BYTE unsigned char |
换成unsigned char试试 |
byte[8] sz=={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; == 是什么鬼 ? |
#include <REG52.H> #include "intrins.h" #define BYTE unsigned char int x; sbit d6=P2^6; sbit d5=P2^5; sbit d4=P2^4; BYTE[8] sz=={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; BYTE code sz1[]={0x35,0xAD,0xAD,0x98,0x0D,0x6B,0x08,0xFD};//×£ ..................................... |
数组byte[8] sz声明不合法,改为byte sz[8] |
可能又一个是中文的‘;’或是少了一个‘;’ 吧!再仔细检查检查 |