请大家帮忙 这下面是我的程序... #include <pic.h> #include <pic1687x.h> #define PORTBIT(add,bit) ((unsigned)(&add)*8+(bit))
static bit PORT_0 @ PORTBIT(PORTB,0); /*定义PORTB 0位*/ static bit PORT_1 @ PORTBIT(PORTB,1); /*定义PORTB 1位*/ static bit PORT_2 @ PORTBIT(PORTB,2); /*定义PORTB 2位*/ static bit PORT_3 @ PORTBIT(PORTB,3); /*定义PORTB 3位*/ static bit PORT_4 @ PORTBIT(PORTB,4); /*定义PORTB 4位*/ static bit PORT_5 @ PORTBIT(PORTB,5); /*定义PORTB 5位*/ static bit PORT_6 @ PORTBIT(PORTB,6); /*定义PORTB 6位*/ static bit PORT_7 @ PORTBIT(PORTB,7); /*定义PORTB 7位*/
void delay(); //延迟函数的声明 main() { TRISB=0x00; //设置portb口全为输出 INTCON=0x00; //关闭所有的中断 PORTB=0x00; //RB口先送低电品平
loop1: //点亮led的第0位,顺序显示 //PORTB=0x01; PORT_0=1; delay();
//点亮led的第1位 //PORTB=0x03; PORT_1=1; delay();
//点亮led的第2位 //PORTB=0x07; PORT_2=1; delay();
//点亮led的第3位 //PORTB=0x0f; PORT_3=1; delay();
//点亮led的第4位 //PORTB=0x1f; PORT_4=1; delay();
//点亮led的第5位 //PORTB=0x3f; PORT_5=1; delay();
//点亮led的第6位 //PORTB=0x7f; PORT_6=1; delay();
//点亮led的第7位 //PORTB=0xff; PORT_7=1; delay();
//全灭 PORTB=0x00; delay();
//点亮led的第7位,反序显示 //PORTB=0x80; PORT_7=1; delay();
//点亮led的第6位 //PORTB=0xc0; PORT_6=1; delay(); //点亮led的第5位 //PORTB=0xe0; PORT_5=1; delay(); //点亮led的第4位 //PORTB=0xf0; PORT_4=1; delay();
//点亮led的第3位 //PORTB=0xf8; PORT_3=1; delay();
//点亮led的第2位 //PORTB=0xfc; PORT_2=1; delay(); //点亮led的第1位 //PORTB=0xfe6; PORT_1=1; delay(); //点亮led的第0位 //PORTB=0xff; PORT_0=1; delay(); //全灭 PORTB=0x00; delay(); goto loop1; }
void delay() { int i; for(i=0;i<=10000;i++) continue;
} ...........连接可以的.......连接后出 .................................................................................................. ...正在读取ICD 产品 ID 正在运行 ICD 自检 ...通过 ProICD2 就绪 Connecting to ProICD 2 ...已连接 正在设置 Vdd 到 ProICD2 ICDWarn0020: 无效的目标设备id (期望值=0x71, 读取值=0x0) 请确保: 用户板上的芯片是正确的; 芯片与主机之间的通信良好; 电源设置是否正确; 芯片的调试引脚线路上是否有电容或电感,如果有,请去除。
...正在读取ICD 产品 ID 正在运行 ICD 自检 ...通过 ProICD2 就绪 Reading target... ICDWarn0052: ProICD2 激活目标设备. 请确保目标设备已经连接并正确供电. 选择 "确定" 继续, 或者 "取消" 退出操作 ICD0200: 已退出操 .........................................................在编程也编不上.................................................. ...正在读取ICD 产品 ID 正在运行 ICD 自检 ...通过 ProICD2 就绪 Connecting to ProICD 2 ...已连接 正在设置 Vdd 到 ProICD2 ICDWarn0020: 无效的目标设备id (期望值=0x71, 读取值=0x0) 请确保: 用户板上的芯片是正确的; 芯片与主机之间的通信良好; 电源设置是否正确; 芯片的调试引脚线路上是否有电容或电感,如果有,请去除。
...正在读取ICD 产品 ID 正在运行 ICD 自检 ...通过 ProICD2 就绪 Reading target... ICDWarn0052: ProICD2 激活目标设备. 请确保目标设备已经连接并正确供电. 选择 "确定" 继续, 或者 "取消" 退出操作 ICD0200: 已退出操 .......................................................这是什么问题啊... |