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

发布者:幸福梦想最新更新时间:2020-03-04 来源: eefocus关键字:PIC单片机  硬件仿真  配置字问题 手机看文章 扫描二维码
随时随地手机看文章

注意:本实验的芯片是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


到今天晚上的这个点为止我还是没有能够调出这个液晶来,现在看看本实验的波形把

好了,本实验到这里结束

关键字:PIC单片机  硬件仿真  配置字问题 引用地址:PIC单片机之硬件仿真的配置字问题

上一篇:PIC 配置字的配置
下一篇:MPLAB X IDE V4.2 -2:如何使用PIC10F200的TIMER0定时

推荐阅读最新更新时间:2024-11-05 16:48

PIC单片机CCS之C语言(#INT_DEFAULT的应用)
#INT_DEFAULT 语法: #int_default 目的:如果PIC触发一个中断且没有设置任何中断标志位, 则下面的函数将被调用.如果有一个中断标志,但一次都没触发,则#int_default函数也可被调用. 例子:#int_default default_isr(){ printf( Unexplained interrupt\r\n );
[单片机]
PIC单片机有什么特点和优势_pic方法介绍
  PIC系列单片机有什么特点和优势?   自从我95年接触PIC单片机以来,便一直热衷于这种单片机的开发与应用。有不少朋友问我:PIC到底有什么优势?也许你也会有这样的疑问,所以我在这里略谈几点自己的看法。   1) PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508单片机仅
[单片机]
PIC单片机编程入门之超简单的点灯程序
IO口控制 方向寄存器 TRISA~TRISAE 比如 TRISB=0x00; // 1为输入, 0为输出 , 这样就把portB端口全部设为输出 数据寄存器 PORTA~PORTE 比如 PORTB=0x01; // 1为置高,0为置低 , 这样就把portB1口置高,其它portB口置低 例: 点灯程序 #include __CONFIG (0x3B31);// pic单片机需要进行寄存器配置,详见手册 void main() { TRISD=0xfe; // 把RD1端口设为输出 PORTD=0x01; // 把RD1端口置高 //RD1=1; PORTD 和 RD一样的 whil
[单片机]
PIC单片机-测试例程汇总
目录: 一、端口的定义与while(1)的使用 二、延时 1、通过语句延时程序(带参数) 2、通过语句延时程序(不带参数) 3、C程序延时时间计算 4、keil时间调试 三、外设 1、单按键检测与蜂鸣器发声(可控制发几声) 2、I2C端口模拟 3、DS18B20数字温度传感器(数码管显示) ----------------------------------------- PIC单片机C语言之PIC16F887(4MhZ晶振) --------------------------------------------------------------------------------------------------
[单片机]
<font color='red'>PIC单片机</font>-测试例程汇总
PIC单片机AD通道转换函数
由于PIC单片机有八路AD转换通道,如果每路都写一个转换函数,哪样非常麻烦并且不便于写程序,缘此我写了一段如下转换可实现八路通用的函数: uchar get_ad(uchar n) //带通道选择的AD采样函数 { uchar advalu; ADCON0=n; ADCON1=0x80; //1000 0000右对齐 delay(2); //延时等待 ADGO=1; //启动AD转换 while(ADGO); //等待AD转换结束 advalu=ADRESH; //读AD转换的值 advalu*=256; //将读回的AD值左移八位 ad
[单片机]
PIC单片机程序设计需要注意的一些问题及看法
一、区分指令的大小写 编写PIC单片机的源程序,除了源程序的开始处需要严格的列表指令外,还须注意源程序中字母符号的大小写规则,否则在PC机上汇编程序时不会成功。在源程序中都会使用伪指令INCLUDE。这条指令将列表中指定的单片机文件(在MPLAB中)渎入源程序作为源程序的一部分,所以凡是MPLAB中有关该单片机已有的寄存器在源程序中无须再用赋值指令(EQU)赋值,这就使所建立的源程序大为简化。 此外,由于有了伪指令INCLUDE,所以根据MPLAB软件中的格式,在源程序中的操作数凡是涉及MPLAB已规定的寄存器名称的,其字母一律只能大写,不能小写。其余操作码、符号字母可任意大小写,但0x中的X应小写。否则汇编不会成功。鉴于上述
[单片机]
PIC单片机adc转换并显示
#INCLUDE P16F877.inc W_TEMP EQU 20H ; 实际上20H、A0H、120H和1A0H STATUS_TEMP EQU 21H ;在体0中建立保护单元 PCLATH_TEMP EQU 22H ;在体0中建立保护单元 ORG 000H GOTO A1 ORG 004H;定时中断入口地址 GOTO ZD01; ORG 0CH ;******************************************** ; 数据表 ;******************************************** Q1 ADDWF PCL,1
[单片机]
讨论PIC单片机软件异步串行口实现方法
  在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通信。大家平时熟悉的各种厂家的单片机,绝大部分片上只提供一个硬件UART模块,利用它可以方便实现一路串行通讯。PIC系列单片机也不例外,在其丰富的产品家族成员中,除高端系列(PIC17/18)一些型号片上带有两路硬件UART模块外,其它大部分型号片上只有一路UART,一些低端廉价的PIC单片机甚至还不带硬件UART。为了提高系统的性能价格比,就要求设计工程师用软件增加实现一路或多路异步串行通信。很多工程师对用软件实现的UART在可靠性和效率方面持怀疑态度,其实关键问题是看软件采用何种方式来实现可靠的UART功能。   
[单片机]
讨论<font color='red'>PIC单片机</font>软件异步串行口实现方法
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved