PIC单片机调试心得

发布者:信息巫师最新更新时间:2019-11-16 来源: 51hei关键字:PIC单片机  调试心得 手机看文章 扫描二维码
随时随地手机看文章

我是一位初学者,pic初学者,但是在单片机行当已经混迹多年了。说句实话,c开发环境都大同小异,只不过烧写和在线仿真大同小异。钻研了两天,收到了很多回应和启发。

下面应soso的请求,把最近的调试心得和大家分享

1、 先说说我要做的东西

说来惭愧,这是临时的一个小任务,做一个采集和现实的部分,用两路ad采集模拟量,通过开关进行切换,简单的说就是开关打开,显示一路模拟量;开关关闭,显示另一路模拟量。主电路及其简单,我就直接说了,不附图了。电源通过一个负载(滑动变阻器就可以)回到电源负极,在回路中接入一个电流传感器,实时采集电流信号(如果条件不允许,也可以用康铜丝或者一个大瓦数小数值的采样电阻采集电流信号。然后通过放大,隔离后送入单片机的AN0口。另外一路AN1可以用来做另外一个模拟量的采集,具体是什么待定,可以是温度,也可以是电压(时间短,我就做了1路,另一路有待高人们自己开发,哈哈)
114618osrs2s8rd3pjsojp.jpg.thumb.jpg 

2、 我遇到的问题
对于我来说,pic是新事物,要从刚开始接触说起,时间不长,72小时。给我的感觉,这种单片机价格便宜,体积小,结构简单,编程用c,也比较和我的胃口。缺点(也就是苦苦煎熬着我的)就是仿真和烧录。
和 其他单片机一样,每个厂商都推出了自己的c编译环境和开发环境,我们的pic使用ide和picc(不是保险公司哦)具体如图。
114618o4ycwxmpkxkkexdw.jpg.thumb.jpg 
Picc是自己嵌入ide的
进入界面,感觉无比亲切,和keil也差不多啊,于是照方抓药。

114618jrb0bcfedctgz67u.jpg.thumb.jpg 
通过工程想到,建立工程。选择你使用的芯片,选择编译器,如图,picc.exe的路径也可以看到哦!

114619cjd7lmjdslzsjwjl.jpg.thumb.jpg 
新建工程,但是不导入c文件
点菜单栏VIEW下的project,在source右键,加入c文件,如果没有c文件,就新建一个c文件,然后加入到source里面。导入之后就如图了。

114619rfujugtm0fgeku18.jpg.thumb.jpg   

下面就是激动人心的编译程序了,如果程序无误,应该出现这个:

114619jupujshhsdxjjas8.jpg.thumb.jpg   
接下来就可以进行烧写和仿真了

114620jzjgxdpdsfp8j6zf.jpg.thumb.jpg   
在这之前,需要进行一些必要的设置,按上图就可以,在Configue里面。
然后,通过Programer和Debugger选择要设备,我用ICD2就选ICD2
下面就是要进行连接,如果你想仿真,就把Release点成Debug,然后在debugger里面点connect,如果想烧程序,就在programmer里面点connect,成功是这个样子的

114620x8v9vc32fh343fd8.jpg.thumb.jpg   
我做的是烧写,所以就点program,结果如下

114620ro1wtw0wwc22qpcb.jpg.thumb.jpg 
在线仿真本人也在研究中,如果有高人能够指点就更好了,我就和大家分享到这儿。

最后说说学到了什么吧,接触新实物,第一反应就是迷茫,无从下手,当然,这不可能做成事。要想到解决这一切的方法,首先就是找个明白人,如果身边真的没有这样的人,那么就去网络,我们的论坛就有很多人才。接着我想到了网络,去找需要的资源,datasheet,参考头文件,datasheet还有我们的电路图就可以进行粗略的程序设计,我指的是框图,流程这类的东西。写好程序以后一定要反复推敲,有可能一个不留神就可能导致程序失灵。这个我遇到过,一顿找,就是找不到问题所在,结果是一个小小的寄存器的某一位写错了。

我写这篇帖子的目的是,给像我一样曾经苦苦寻觅的初学者一点启示,如果能恰好帮助在困境中的求学者,我将感到无比荣幸。

关键字:PIC单片机  调试心得 引用地址:PIC单片机调试心得

上一篇:PIC16F877矩阵键盘的识别
下一篇:PC、PCL、PCLATCH三者之间的关系

推荐阅读最新更新时间:2024-11-12 17:33

PIC单片机是什么?有什么优势?
一、引言 据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。 当今单片机厂商琳琅满目,产品性能各异。针对具体情况,我们应选何种型号呢?首先,我们来弄清两个概念:集中指令集(CISC)和精简指令集(RISC)。采用CISC结构的单片机数据线和指令线分时复用,即所谓冯.诺伊曼结构。它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,且
[单片机]
<font color='red'>PIC单片机</font>是什么?有什么优势?
基于CAN总线和PIC单片机的汽车开关电器盒设计
  0 引 言   随着现代汽车工业技术的不断发展进步,车上安装的电子设备在不断增加,从而使汽车综合控制系统中,有大量控制信号需要进行实时交换。CAN 总线作为一种可靠的汽车计算机网络总线,已经被广泛地推广到汽车控制系统的各个应用领域。将CAN 总线技术应用到汽车开关电器盒中,可使得各汽车计算机控制单元能够通过CAN 总线得到开关电器盒中的工作数据,又能对开关电器盒的各个继电器进行精准的控制,从而达到减少汽车线束、提高通信可靠性、降低系统成本、避免系统功能重复、提高系统工作效率的目的。   1 汽车开关电器盒设计方案   本开关电器盒采用的是基于Microchip 公司生产的PIC18F45K80 芯片作为主芯片的设计方案。
[单片机]
基于CAN总线和<font color='red'>PIC单片机</font>的汽车开关电器盒设计
PIC单片机实现通讯功能设计
1. 单片机 PIC1编程(发送部分) LIST P=16F877 #INCLUDE P16F876.INC CBLOCK 0X24 ;保留三个字节作为显示用 COUNT ;作计数器或暂存器用 ENDC ORG 0X0000 ;程序复位入口 NOP START GOTO MAIN ORG 0X20 MAIN MOVLW 0X30 ;以下将RAM内容初始化 MOVWF FSR ;从30H单元开始 MOVLW 0X30 ;将值30H赋给单元30H MOVWF COUNT INTRAM MOVF COUNT,0 ;将30H~7FH赋给单元30H~7FH MOVWF INDF INCF COUNT,1 INCF FSR,1 BT
[单片机]
<font color='red'>PIC单片机</font>实现通讯功能设计
PIC单片机与AD5410芯片控制系统输出4-20mA电流信号的设计
仪表、传感器输出的电流信号多为4-20mA,为什么是4-20mA呢?因为4-20mA的传感器多为两线制,即信号线和电源线公用两根线,如果起点是0mA就这导致无法区分信号是0mA,还是传感器不工作;另外,起点是4mA也利于系统判断传感器是否掉电或者是短线。 那4-20mA的电流信号该如何产生呢,在数字电路高度发展的今天以单片机为核心的系统比比皆是,但是单片机是数字信号,而电流是模拟信号,这就需要用到DA转换,即数字信号转换为模拟信号。 目前,单片机要控制系统输出4-20mA的电流信号的常用方案为: 今天要推荐一款芯片:AD5410,该芯片是ANGLOG DEVICE生产的,单通道12位串行输入的DAC芯片,与单片机的通信方式
[单片机]
<font color='red'>PIC单片机</font>与AD5410芯片控制系统输出4-20mA电流信号的设计
PIC单片机该怎么加密
见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方。今天有空,对相关的问题作了一些整理,分享给大家。可能有些地方说的不够妥当,欢迎大家多多探讨。 1.什么是ID区域? ID区域是独立于EEPROM,FLASH,RAM的区域。程序设计人员可以利用该区域存放软件的版本号,编写日期,烧录日期,产品标识等信息。不过该区域很小PIC16系列只能存放4个字节。 2.ID码怎么烧录到ID区域里面去? 可以利用PICC自带的宏命令IDLOC(X)来实现。具体操作如下: ...............
[单片机]
PIC单片机开发环境搭建_MPLAB X IDE安装步骤
熟悉开发环境是学习单片机的第一步,现在介绍下PIC得开发环境,PIC的开发环境有老的 MPLAB IDE, 和最新的MPLAB X IDE. MPLAB X IDE 比老的MPLAB IDE, 编写代码的起来更方便,出错的概率也低因为MPLAB X IDE 时时的检测书写错误。 MPLAB X IDE 的安装: 第一步 安装JAVA 的运行环境(因为MPLAB X IDE是用JAVA程序写的) 安装jdk 6.1(在jdk 当中包含了运行环境jre,当然只安装jre也行) 双击jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe安装jdk 6.1 第二步 安
[单片机]
PIC单片机的中断过程
1)系统初始化的时候会打开总中断控制位(GIE),打开某个中断控制位,如果是外围中断还要打开外围中断控制位(PEIE); 2)CPU正在执行某个用户程序时,突然收到一个随机产生的中断信号,使某个中断标志位置为1; 3)CPU立刻停止当前的程序,并将下一条要执行的程序的地址保存起来; 4)CPU自动关闭总中断控制位(GIE),控制指令指针跳到中断入口处; 5)从中断入口跳转至中断服务子程序(ISR)。在ISR中程序员应该首先保护中断现场(保存相应重要寄存器的值), 然后根据中断标志位来响应何种中断并作出处理; 6)中断程序执行完毕,首先清空中断标志位并恢复中断现场,执行特殊的指令返回原先用户程序终止处。
[单片机]
PIC单片机闪烁程序
#INCLUDE P16F877.inc ;芯片型号 org 000h GOTO a1 org 1ch ;************************************************ ; 主程序 ;************************************************ a1 BSF STATUS,RP0 ;选择体1 BCF STATUS,RP1 MOVLW 00H ;设置RD口为输出口 MOVWF TRISD BCF STATUS,RP0 ;选择体0 MOVLW 00H ; MOVWF PORTD ;RD口输出低电平 CALL M001
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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