PIC单片机之硬件仿真的配置字问题

2019-04-15 11:44发布

注意:本实验的芯片是PIC24FJ256DA210,用到的开发环境是:MPLAB IDE v8.92   编译工具是xc16-gcc.exe


PIC单片机在硬件仿真的时候如果配置字配置不好,会出现不能仿真的后果,会有下面提示: PK3Err0040: The target device is not ready for debugging.
Please check your configuration bit settings and program
the device before proceeding. 如下图: 这时候我的配置字是这样的:         _CONFIG1( WDTPS_PS32768 & FWPSA_PR128 & ALTVREF_ALTVREDIS & WINDIS_OFF & FWDTEN_OFF & ICS_PGx2 & GWRP_OFF & GCP_OFF & JTAGEN_OFF)
        _CONFIG2( POSCMOD_XT & IOL1WAY_OFF & OSCIOFNC_OFF & OSCIOFNC_OFF & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2 & IESO_OFF)
        _CONFIG3( WPFP_WPFP255 & SOSCSEL_SOSC & WUTSEL_LEG & ALTPMP_ALTPMPEN & WPDIS_WPDIS & WPCFG_WPCFGDIS & WPEND_WPENDMEM)
配置字中关于硬件仿真的有两个地方十分关键: 1.关闭写保护WPDIS_WPDIS 2.设置好正确的仿真端口  ICS_PGx2
这里的写保护倒是关闭了,但是仿真引脚端口配置有问题,我们看配置字关于仿真管脚的说明: 下面对比一下本实验板的电路图: 仿真器管脚 单片机管脚: 对比一下说明说我们可以可以看出: ICS<1:0>这两个位应该配置成11 但是有一点要说明ICS_PGx1才是吧ICS<1:0>配置成11,而不是ICS_PGx3,,这一点我是实验出来的,修改配置字后如下:         _CONFIG1( WDTPS_PS32768 & FWPSA_PR128 & ALTVREF_ALTVREDIS & WINDIS_OFF & FWDTEN_OFF & ICS_PGx1 & GWRP_OFF & GCP_OFF & JTAGEN_OFF)
        _CONFIG2( POSCMOD_XT & IOL1WAY_OFF & OSCIOFNC_OFF & OSCIOFNC_OFF & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2 & IESO_OFF)
        _CONFIG3( WPFP_WPFP255 & SOSCSEL_SOSC & WUTSEL_LEG & ALTPMP_ALTPMPEN & WPDIS_WPDIS & WPCFG_WPCFGDIS & WPEND_WPENDMEM)
这时候再次仿真将不会有任何的问题,仿真步骤如下: 先全局编译,点击下图中所圈的按钮: 编译结果如下: 然后就是先把程序下载进单片机: 下载结果如下: 下面就是仿真了,在本实验中,在下面这个函数前打断点: 然后全速运行,执行到这里,这里要说明的一点是,运行程序并不是运行到打断点的地方,而是断点的下一句话:

好了所有的内容讲到,这里
题外话:本例程是PIC控制S6E63D6为主控芯片的OLED液晶,液晶模块是:IGF240320MC28N01爱维信光电.pdf 到今天晚上的这个点为止我还是没有能够调出这个液晶来,现在看看本实验的波形把


好了,本实验到这里结束
现在上传本实验的源代码 因为代码有点大,所以这里代码分成两份压缩文件,压缩工具为好压软件 http://download.csdn.net/detail/chengdong1314/9547546 http://download.csdn.net/detail/chengdong1314/9547547

好了,晚安 2016 6 12 23:41