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