导航:首页 > 编程知识 > PIC编程看数据手册哪些方面

PIC编程看数据手册哪些方面

发布时间:2025-08-02 11:26:59

㈠ 怎样再MPLAB环境下编程

在MPLAB环境下编程,可以按照以下步骤进行:

1. 下载并安装编译器 下载编译器:以八位的PIC16F883为例,需要下载对应的PIC C编译器。 安装编译器:将编译器安装在与MPLAB同一目录下,以便MPLAB能够正确识别和使用。

2. 新建工程 启动MPLAB:打开MPLAB集成开发环境。 新建工程向导:点击菜单栏中的Project>Project Wizard,启动新建工程向导。 选择芯片:在向导中,选择目标芯片,然后点击下一步。 指定编译器路径:找到并指定刚才安装的八位编译器的路径,继续点击下一步。 设置工程路径和名称:输入一个保存工程的路径和工程名,然后点击下一步。 添加文件:如果已有头文件和.c文件,可以在此步骤中添加;如果没有,可以直接点击下一步完成工程建立。

3. 开始编程 新建源文件:点击左上角的File>New,新建一个源文件,并保存到工程目录下,通常命名为.c文件。 添加源文件到工程:在MPLAB的项目管理器中,将新建的.c文件添加到工程中。

4. 编译与调试 编译代码:点击MPLAB中的编译按钮,开始编译工程。如果代码没有错误,将生成可执行文件。 下载到芯片:使用MPLAB中的编程工具将编译好的代码下载到目标芯片中。 调试程序:通过MPLAB提供的调试功能,可以设置断点、查看寄存器值、单步执行等,以便对程序进行调试和优化。

注意事项: 在整个编程过程中,确保所有文件路径和名称都是英文,以避免潜在的兼容性问题。 在编程前,建议详细阅读目标芯片的数据手册和MPLAB的使用手册,以便更好地理解和利用其功能。

㈡ pic16F单片机如何配置熔丝位

配置方法如下:
(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。
(2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,弄清楚“√”表示设置熔丝位状态为“0”还是为“1”。
(3)使用CVAVR中的编程下载程序时应特别注意,由于CVAVR编程下载界面初始打开时,大部分熔丝位的初始状态定义为“1”,因此不要使用其编程菜单选项中的“all”选项。此时的“all”选项会以熔丝位的初始状态定义来配置芯片的熔丝位,而实际上其往往并不是用户所需要的配置结果。如果要使用“all”选项,应先使用“read->fuse bits”读取芯片中熔丝位实际状态后,再使用“all” 选项。
(4)新的AVR芯片在使用前,应首先查看它熔丝位的配置情况,再根据实际需要,进行熔丝位的配置,并将各个熔丝位的状态记录备案。
(5)AVR芯片加密以后仅仅是不能读取芯片内部Flash和E2PROM中的数据,熔丝位的状态仍然可以读取但不能修改配置。芯片擦除命令是将Flash和E2PROM中的数据清除,并同时将两位锁定位状态配置成“11”,处于无锁定状态。但芯片擦除命令并不改变其它熔丝位的状态。
(6)正确的操作程序是:在芯片无锁定状态下,下载运行代码和数据,配置相关的熔丝位,最后配置芯片的锁定位。芯片被锁定后,如果发现熔丝位配置不对,必须使用芯片擦除命令,清除芯片中的数据,并解除锁定。然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的锁定位。
(7)使用ISP串行方式下载编程时,应配置SPIEN熔丝位为“0”。芯片出厂时SPIEN位的状态默认为“0”,表示允许ISP串行方式下载数据。只有该位处于编程状态“0”,才可以通过AVR的SPI口进行ISP下载,如果该位被配置为未编程“1”后,ISP串行方式下载数据立即被禁止,此时只能通过并行方式或JTAG编程方式才能将SPIEN的状态重新设置为“0”,开放ISP。通常情况下,应保持SPIEN的状态为“0”,允许ISP编程不会影响其引脚的I/O功能,只要在硬件电路设计时,注意ISP接口与其并接的器件进行必要的隔离,如使用串接电阻或断路跳线等。
(8)当你的系统中,不使用JTAG接口下载编程或实时在线仿真调试,且JTAG接口的引脚需要作为I/O口使用时,必须设置熔丝位JTAGEN的状态为“1”。芯片出厂时JTAGEN的状态默认为“0”,表示允许JTAG接口,JTAG的外部引脚不能作为I/O口使用。当JTAGEN的状态设置为“1”后,JTAG接口立即被禁止,此时只能通过并行方式或ISP编程方式才能将JTAG重新设置为“0”,开放JTAG。
(9)一般情况下不要设置熔丝位把RESET引脚定义成I/O使用(如设置ATmega8熔丝位RSTDISBL的状态为“0”),这样会造成ISP的下载编程无法进行,因为在进入ISP方式编程时前,需要将RESET引脚拉低,使芯片先进入复位状态。
(10)使用内部有RC振荡器的AVR芯片时,要特别注意熔丝位CKSEL的配置。一般情况下,芯片出厂时CKSEL位的状态默认为使用内部1MHz的RC振荡器作为系统的时钟源。如果你使用了外部振荡器作为系统的时钟源时,不要忘记首先正确配置CKSEL熔丝位,否则你整个系统的定时都会出现问题。而当在你的设计中没有使用外部振荡器(或某钟特定的振荡源)作为系统的时钟源时,千万不要误操作或错误的把CKSEL熔丝位配置成使用外部振荡器(或其它不同类型的振荡源)。一旦这种情况产生,使用ISP编程方式则无法对芯片操作了(因为ISP方式需要芯片的系统时钟工作并产生定时控制信号),芯片看上去“坏了”。此时只有使用取下芯片使用并行编程方式,或使用JTAG方式(如果JTAG为允许时且目标板上留有JTAG接口)来解救了。另一种解救的方式是:尝试在芯片的晶体引脚上临时人为的叠加上不同类型的振荡时钟信号,一旦ISP可以对芯片操作,立即将CKSEL配置成使用内部1MHz的RC振荡器作为系统的时钟源,然后再根据实际情况重新正确配置CKSEL。
注:不同AVR的熔丝也不同,使用前必须仔细查看芯片手册。 要重视手册学习,不仅是掌握如何使用,也是从根本上认识和掌握原理和结构。对于硬件工程师来将,数据手册是真正的“经书”,其它都是“修练经验”。不熟读“经书”,你无法修炼成“仙”的。这也是《M128》、《M8》的目的之一!

㈢ PIC单片机IO口无法控制

在PIC18系列里,PORT寄存器不是用来做输出的,LAT才是用来做输出的。如LATB=0xff;
PORT寄存器是用来读取IO的状态,而LAT其实是读-修改-写操作。
如果对PORT寄存器进行写操作,只是会将你要写的数据放到IO口的锁存器中,但并不会发送到IO上。而写LAT则是先读锁存器的数据,然后像用PORT操作那样将其修改写到IO口的锁存器中,最后发送到IO引脚上。
其实,数据手册上在IO口那一章的开始就明确指出:
“每个端口有三个与其相关的寄存器”
“TRIS寄存器(数据方向)”
“PORT寄存器(读取引脚的电平)”
“LAT寄存器(输出锁存)”

玩PIC,只要你仔细阅读对应的数据手册,你不需要看其他书籍都能弄懂。而且大部分都有官方中文版。

阅读全文

与PIC编程看数据手册哪些方面相关的资料

热点内容
疫情结束后学什么编程 浏览:383
ps用直线工具画箭头保存不到 浏览:665
培训学校复课需要准备哪些文件 浏览:566
图片文件上传特殊字符 浏览:692
营销qq最新版本 浏览:662
宏4745g升级cpu 浏览:787
文件怎么寄 浏览:241
pps网络延迟怎么办 浏览:934
premiere教程打包下载 浏览:358
云盘回收站的文件还原到了哪里去 浏览:42
高中学习app哪个软件好 浏览:340
js获取当前精确经纬度 浏览:644
文件夹中搜索文件的方法有哪些 浏览:890
win7系统删除c盘非系统文件 浏览:225
百度地图json代码 浏览:765
如何将xml导入数据库 浏览:395
编程和英语哪个好 浏览:474
网店编程软件有哪些 浏览:196
真假的苹果手机对比图片 浏览:503
彩电内存数据用什么软件 浏览:975

友情链接