DIY PIC编程器

合集下载

自制PIC单片机烧写器

自制PIC单片机烧写器

此主题相关图片如下:此主题相关图片如下:========================================================================= =====测试JDM烧录器用RS232延长线将JDM烧录器与你的电脑连线,开启IC-PROG程式。

选JDM programmer,再依你的连线选COM1或COM2,其他的不动。

如不知道是COM1或COM2,就一个一个试吧。

此主题相关图片如下:此主题相关图片如下:OK后再选Hardware Check,把Enable MCLR打勾`,拿电表量(什么?你没有!!那...那 (I)插座第4脚对第5脚应有13.3V,把Enable MCLR勾拿掉,应为0V或0.3V以下,这是Vpp 烧录电压。

此主题相关图片如下:Enable Data Out打勾则第13,17脚对第5脚都是5V,同时Data in会自动打勾。

Enable Clock打勾则第12,16脚对第5脚都是5V。

Enable VCC打勾则第1,3,10,14脚对第5脚都是5V。

如果都对,那恭喜你,烧录器做好了。

否则...Do(去抽根烟、喝杯水,再回来检查一遍)"Loop until OK==============================================================插上PIC16F84A...........烧.............先把IC选为PIC16F84A,现在可以把PIC16F84A插上读读看,如果是空白IC就会全是'3FFF'。

不是的话可以按清除键,全部清除。

去下载个现成的16F84A的HEX档来烧看看。

将ZIP档解开,存到桌面。

Open file读入RC_84A.HEX,然后照下图社设定WDT enable,PWRT enable,Oscillator XT。

...........烧.............数秒钟后就知道了!!再次恭喜你,哦?失败?IC是好的吗?此主题相关图片如下:OK!!=========================================================================组译程式MPASMWINASM档写好后,需组译成.HEX档才能烧录。

PIC入门开发软件安装

PIC入门开发软件安装

智恒电子工作室PIC单片机学习 作者:海峰DZ Email:120814158@PIC入门软件安装一.安装编译环境MPLAB IDE8.XX 点击setup ,一直点NEXT,直到完成,安装目录可不在C盘。

二.安装C编译器HI_TECH_PICC9.83(可支持WIN7,支持PIC10F、PIC12F、PIC16F芯片)1 点击picc-picc9.832.点击Next3.填六个数字,点对号,点Next4.点成对号后,点Nextt默认安装在C盘下,不要改到其他盘,如果改在其他盘,使用时要在MPLAB加载PICC安装目录 下的BIN文件夹内的PICC.EXE。

6.点Next7.安装进度完成安装点击Finish8.点击破解程序 HT-TECH9.点击 OPEN10.在HCPIC-pro-9.83的安装路径下找到HCPICP-11111- activation-request.txt文件,点击打开。

11.点击Activate12.完成点红叉关闭三.在MPLAB IDE 中新建一个PIC工程1.点击桌面MPLAB IDE图标打开软件2.点击project 菜单下的project wizard 选项3.点击下一步4.选择你要编译的芯片型号,选好后选择下一步5.选择好编译器,点击下一步汇编是选这个6.选择工程文件存放的目录(注意不能存在有中文名的目录和文件夹下)7.保存工程名(同样不能有中文名),填好工程名字后按保存8.点击 下一步9.点击下一步,点击下一步,直到完成10.点击File菜单下的NEW 项或者点击图标,新建一个空白文件11.在空白文件中输入任意字符,然后点击保存12.填好保存的文件名(注意文件名后加.c ,保存为c文件),点击保存13.在c文件中点击鼠标左键然后点鼠标右键出现菜单,点击Add To Project 将C文件加入到工程中14.编写好程序16.如果 编译失败,双击Error 行,返回C 文件出错误处修改程序,然后再次预编译程序17. 直到程序没有错误,然后点击编译并生成HEX文件。

PIC编程器自制

PIC编程器自制

D1,5.6V稳压管,可以替换成5.1V稳压管(常用)/zzz1367/blog自製PIC燒林茂榮第209期錄器前言最近許多單晶片已經藉由消費性電子產品這一管道,默默地滲透到一般人的日常生活裡頭,因此單晶片與人類生活之間的關係已經密不可分。

也因為有利可圖,所以許多商業活動就大量涉入到單晶片領域,像是國內的義隆電子等,都以單晶片為主要的業務活動,加上因為單晶片製程技藝發達,成本也相對地降低,這更助長了單晶片的應用領域,例如有一項資料顯示,目前出廠的私家車輛中,平均會使用約25只單晶片,只是這些應用,恐怕連使用者都不得而知,也弄不清楚。

早期的單晶片微電腦與現今者有很大的差異,先期開發出來的單晶片少部分現今依然被沿用著,有的甚至逐漸被改良或說整合成像是有完整功能的電腦,而目前應用在消費性電子產品上的單晶片還是以8爻單晶片系列為主,而且最近發展的趨勢是,這些單晶片都有FLASH的程式記憶體,也就是說主導這些單晶片運作的程式,有必要時可以隨時更新。

筆者從早期在大學時期開始接觸電腦,到目前以業餘的方式接觸單晶片,一路走來已經二十餘年,這期間沒有間斷過與電腦的關係,從宏碁的小教授、頻果APPLEII、286、到如今動輒2G的CPU。

唯現今電腦使用者與電子線路之間的關係好像鬆垮無力,除了自己裝組電腦的DIY外,好像很少聽到有人利用電腦結合一般的電子創作,這實在是很可惜的一件事。

從目前筆者接觸單晶片的經驗,覺得PIC系列非常棒,這是以一個業餘愛好者的角度而言,因為可以利用組合語言或C語言寫PIC程式,而MICROCHIP公司可以提供免費的編譯程式,同時就PIC的發展,目前完全走向FLASH化,使得程式的開發相當方便,更棒的是,網路上的相關資源非常豐富,網路上可以搜尋得到的,從基本的PIC入門資訊,到可以完全自己動手的燒錄器一應具全。

基於這些理由,筆者鼓勵業餘愛好者,不彷從PIC開始,這真是一個很好的管道。

本文的主要目的,就是要提出一個PIC的燒錄器製作,而要自己燒錄單晶片,重要的關鍵因素還包括有燒錄軟體,因此除燒錄器製作外,同時也要介紹幾種可以用來燒錄PIC的免費軟體。

20元自制BIOS编程器

20元自制BIOS编程器

20元自制BIOS编程器最近几天闲着没事,自己在网上找了一个USB编程器的图纸,照着图纸,花了几个小时,自己做了一个编程器,目前可以对24类I^2C及25T80类芯片进行烧录,现已验证OK,现在将制作资料附后,有兴趣的坛友可以制作一下,相信学电子的,或者是电子爱好者,根据压缩包里面的图纸,使用说明,及PDF档的说明,完全可以制作出来,如果OS是windows7的,只需将自动更新打开,并且将新的设备驱动安装方式设置为WINDOWS自动更新安装,即可自动安装驱动,直接调用压缩包里的编程器软件即可使用。

下载附件注:鼠标点击即可“保存”下载,不支持下载工具LCDHome论坛_CH341.pdf(大小:322k) CHA341芯片原理图及典型运用时间:2011-04-15LCDHome论坛_341A多功能编程器.rar(大小:729k) 多功能编程器软件,最大支持8MB BIOS文件时间:2011-04-20这是做好的成品正面图片器材:奥林巴斯FE-290 [奥林巴斯数码相机]时间:2010-08-26 快门:1/30 光圈:F/2.7 焦距:4毫米感光度:125有观众发问:现在多数的BIOS都不是这种直接的芯片,是焊接在主板上的那种,你能烧吗?加菲跟你说,可以的,是这种芯片吗?加上一个转接座就可以了,同样的,24类的I2C芯片也是一样的道理。

这是背面的样子,因为是第一次做,考虑不周到是在所难免的,所以还是有几根飞线的...器材:奥林巴斯FE-290 [奥林巴斯数码相机]时间:2010-08-26 快门:1/30 光圈:F/2.7 焦距:4毫米感光度:125根据说明,将USB线插好,会弹出要求安装新硬件,自动安装肯定是找不到安装路径的,这时需要手动选择安装位置,安装OK后,打开编程器软件,界面如下:因为默认没有选择芯片型号及大小,所以出现的窗口内容为空,就是下面的全部“FFFFFFFFFFFFFFFFFF”点击打开,然后选中要烧录的BIOS文件(因手头是的BIOS芯片为8脚系统的25系列1MB大小芯片,故选中ASUS P5Q的BIOS文件,选中后窗口内容变为P5Q BIOS内容)点击写入,呵呵,进度条动了,开始喽!!写入完成后,再点击一次校对,呵呵,怎么样?内容一致就说明烧录OK了,呵呵。

JDM PIC 编程器 5Ver.2制作经验

JDM PIC 编程器 5Ver.2制作经验

JDM PROGRAMER最初的设计是一个奇特的创新,它非常灵活地运用了三极管及串口的工作原理,在无外部电源供应的情况下实现了VDD+5V、VPP+13V电源供应和时钟、数据的收发。

而且串口的使用也不拘泥于其端口引脚的原定义,令人不得不佩服设计者的智慧。

当初原设计时作者应该写了一个DOS下的驱动,而后来IC-PROG对其的支持使其在WINDOWS下面发扬光大。

鉴于现在JDM被推荐和受欢迎的程度,我们实在应该感谢Jens Dyekjar Madsen创造了JDM,而Bonny Gijzen对它的支持则使其发扬光大。

图1是其最初的设计线路,使用25针的串口,其端口名称在9针的串口中同样可以找到。

RTS口在提供时钟信号的同时还通过D3、D4整流、5.1V(D2)稳压管提供+5.1V的VDD电压,DTR与CTS配合实现数据的传送与接受,而TxD则提供烧写时的VPP+13V,这里+13V经过D6与D2串连稳压得到。

这里VDD是一直有供应,而VPP只在烧写时供应。

图1图2是日本一个火腿族FENG3的改良版,最初的改良是为了使其可以用同一个卡座烧写40PIN及以下的直插式MCU,并且加了一个LED指示烧写状态。

其后又增加了Q3,为的是在VPP在VDD之前加到MCU上,我在他的网站上没有找到关于为何要“VPP Befor VDD”的理由,但我猜想是为了一些有内部RC 振荡的MCU所设计,因为如果使用有内部振荡的MCU而又选择了这个功能,在多次重复烧写时可能出现问题。

试想如果MCU原来烧有程序,在VDD上电的同时MCU开始运作,由于有许多脚接地,在MCU 初始化端口后就会导致某些设置成输出脚对地短路而烧坏MCU。

但是这里实现这个功能时有个问题,这将在其后说明。

按FENG3的说明,“制作这个烧写器之前,我推荐首先查一下您的个人计算机串口有没有足够的电压输出。

如果TxD, DTR, 和 RTS没有超过±7.5V,这个烧写器将不能正常工作。

PIC之ICSP详解

PIC之ICSP详解

PIC之ICSP详解PIC之ICSP详解ICSP,全称In-Circuit Serial Programming,在线串行编程。

这行英文和ICSP这四个字母,一般使用时都带有TM标记的,也就是说,这是MICROCHIP的商标。

也是MC独有的吧。

呵呵。

从名字可以看出来,ICSP是一种编程方法,也就是说是一种烧写手段。

这种手段可以在线烧写——即不需要将芯片取下就可以在板子上烧写。

而这种烧写方法使用串行的数据。

在线烧写其实也不是什么新闻了,大家熟悉的TI的DSP,一向可以使用JTAG口进行烧写,那就是标准的在线烧写。

MC的ICSP,使用起来极为方便,应用ICSP进行烧写,只需要使用芯片上的5个脚就可以,其中包括VDD VSS,这两个电源一定要供上。

然后就是VPP编程电压,这个是肯定的,对FLASH进行烧写,当然需要高一点的电压。

随后就是输入的数据和时钟两个脚。

一般是PORTB口的RB6和RB7——当然,那些不分PORT只有GPIO的芯片请参看DATASHEET找到相应的ICSP口——那么也就是说,其实,真正的和烧写数据有关的就两个脚。

标准的串行的风格呢,呵呵。

其原理,MICROCHIP官方没有说的太多,只是对每一种芯片都给了一个Programming Specification。

上面详细给出了通过ICSP方式连接芯片时,对芯片内存储空间操作的各指令的具体形式。

从那些文档中推断,我们可以简单的认为在PIC芯片中,烧写模式下,FLASHROM和外部接口之间有一个“处理接口”,该接口从外部通过串行方式接收命令,移位译码后进行外部设备需要的操作,随后如需要结果的话就把结果同样串行输出。

当然实际上这个所谓的接口可能只是一块电路。

但是可以肯定的是,FLASH并不是暴露在外直接和外界连接的,而是先要连到ICSP模块,然后才能连上外界。

这就有个好处,就是加密安全性的问题。

因为FLASHROM并不是直接和外界相连,所以外界如果要读取FLASHROM内部的内容,正常情况下就必须通过ICSP模块。

一种实用的PIC编程器的设计方法

一种实用的PIC编程器的设计方法
一种实用的 PIC 编程器的设计方法
武汉理工大学 廖传书 程鑫
摘要 关键词
介绍一种简便实用的 PIC 编程器实现方案。设计思想是: 以单 片机作为主 控机, 欲写 入的 PIC 程序 代码 存放在主控机中, 由主控机提供 PIC 芯片编程所需信号, 并监测整个编程流程。在时钟脉冲信号作用下, 把代码写入 PIC 的 F lash 中以达到对芯片编程的目的。该方案可 以在脱 离 PC 的 环境下运 行, 适用 于对 批量的 PIC 芯片进行编程。
1 PIC10F2xx 的存储结构及编程方法
1. 1 存储空间映射
以 PIC10F202 为例, 其内部程序存储空间映射如下: 0000H ~ 01FFH 是 用户 可 以使 用 的代 码 存储 空 间, 0200H ~ 03F FH 是 系统 的配 置 空间。其 中 01FFH 单 元 是复位向量, 系统 复 位后 程 序指 针 PC 将 指 向此 地 址 单 元。0200H ~ 0203 H 是用户 ID 信息存储 区间。0204H 地 址单元存放的是备 份的 OS CCA L 值, 被 预留 用来 测试 内 部晶振, 因此该值在任何情况下都不应该被更改。一 旦被 擦除, 必须恢复该值, 否则芯片不能正 常工作。03FF 地址 单元存放系统的配置字, 其他地址单元系统保留。
由命令字表中可知, 若导入数据的命令字是 xx0010B, 低位在前由 ISDAT 输 入, 每次 ISCLK 的 下降沿 对 ISDAT 采样。以上代码实现了 0!、1!的输入, 其他命令的输入类 似。数据输入和命令输入都是下降沿有效。每次导入 1 字 节的数据为 12 位, 但是必须在 16 个时钟脉冲中完成。前 6 个时钟脉冲的下降沿输 入命令字, 且前 4 位 有效。一段时 间参数的延迟后, 数据开始输入, 第 1 个时钟下降沿输入起 始位, 后第 2~ 13 个时钟的下降沿输入 1 字节的数据, 共 12 位。第 14、15 个时钟下降沿输入 数据无 效, 最后一个 下降 沿输入停止位( 起始位和停止位固定为 0) 。

PIC12C5xx单片机编程器和OTP的再烧写

PIC12C5xx单片机编程器和OTP的再烧写

PIC12C5xx单片机编程器和OTP的再烧写单片机制作1205XX单片机缀程器和0仰的再烧写Microchip公司生产的PIC单片机已有上百个品种,品种多,不仅可充分利用各单片机的资源.而且也因其功能的多少,使售价大不相同,以便选购.由于单片机多品种,在编辑各单片机源程序时,其初始化有些差异,这就给学习PIC单片机带来一定的困难.虽然PIC单片机已有多种可反复编程的Flash芯片(带F字母的),但目前更多的还是一次性可编程OTP的ROM芯片.由于OTP只能进行一次性编程,若程序未达到设计要求,OTP烧错,芯片只能报废.当然可以考虑购置相应OTP器件的窗口片(紫外线可擦除EPRQM)预先试验设计程序,但窗口片价格较贵.而且使用也不方便;也可以使用相应的PIC仿真器进行仿真,这也会增加开发单片机的成本.这里,笔者以PIC12C508A,PIC12C509A单片机为实例,详细介绍一次性编程芯片的再烧写方法.所介绍的方法是笔者已反复验证了的,读者尽可直接引用操作.一PIC—oTP芯片再烧写的条件1.关于PIC—OTP单片机OTP单片机的内部结构和其对应的可反复烧写芯片的内部结构十分相似,只不过OTP单片机是一次烧写的.具体分析. OTP芯片内部的程序存储器地址只能一次占用而只能烧写一次,而数据存储器的地址(包括专用寄存器和通用寄存器)和PICFlash(闪速存储器)芯片一样,可以多次使用.所以,OTP芯片内部的程序存储器地址第一次使用后绝不能再用,但剩余的地址均可再使用, 直到多次编程,把程序存储器地址全部用完为止,这就是OTP芯片再烧写的约束条件.2.关于再烧写的准备知识PICFlash芯片可以多次反复重写.而OTP 芯片只能再写.再写的次数,取决于每次烧写时,程序占用程序存储器的多l 少,这就限制了再烧写的次数.所以.对PICOTP芯片烧写前,J应详细了解所用芯片的技术资料.对初学者,编辑的源程序指令数应尽可能地少,只要达到某种单一功能即l 可,以便实现OTP芯片的多次再写实验.例如用PIC12C5××芯片实现多次再写时,可按笔者在《电子制作》上写的"PIC12C5××单片机编程方法"中的PIC01ASM,PIC02.ASM源程序出发,逐步增加其指令条数.进行反复再写,即可达到直接用OTP单片机学习目的.i有读者提出,现已有PIC12CF675/629的Flash芯片,是否可以先学习该芯片的编程方法,再直接借鉴到PIC12C5××的直接编程,这1 种想法应当说有一定道理,但实际是难j 于实现的,因为PIC12F675/629单片机的初始化与PIC12C5××的初始化是不相同的,不能直接借鉴.要用PIC12C5××芯片编程,最好的学习方式是直接使用PIC12C5××芯片进行编程学习正因为如此,这里介绍的PIC12C5508/509芯片的再烧写.就显得特别有用了.二PIC12C5xx芯片再烧写的操作步骤(1)第一次编程.第一次对PIC12C5××芯片编程时,首先按正常的方法建立其相应功能的源程序,但在源程序初始化时,在复位矢量(ORG0)之后,应对程序存储器的地址,留上2O~3O个空地址,再开始存放程序,目的是给芯片再写时,留下需外加指令的空间.具体的操作指令建议为:}ORG0;复位矢量GOTOMain:转到主程序ORGD'30':从存储器地址30◆T开始Main……;存放程序(1~29为空地址)(2)第二次编程.第二次对PIC12C5××编程时,仍按正常的方法建立其相应功能的源程序,但在源程序初始化时,在复位矢量之后(ORG0)加NOP空操作指令,空操作指令的条数由芯片型号而定,对PIC12C508芯片仅加一条NOP;对PIC12C509应加两条NOP,同时第一次已用过的程序存储器地址,不能再用,若第一次用了ORGD30,应改为ORGD××,其××的值应该按照D'30'开始已占用了地址之后未用的地址定义. (3)第三次编程.第三次再对PIC12C5××芯片烧写时,仍按正常的方法建立其相应功能的源程序,但在初始化时,在复位矢量(ORG0)之后,在第二次再烧写已加NOP空指令之后, 继续再加NOP.同理NQP的条数由芯片型号而定.按上述思维方式,即可第五次,第六次……再编程,直到把PIC12C5××芯片内部程序存储器空间(地址)分别全部用完为止.三PIC12C508A的编程再写实例笔者第一次用PIC12C508A芯片制作的振荡器,其源程序为PIC01ASM(详见<电子制作>PIC12C5××单片机编程方法一文),占用程序存储器空间是从D30'开始的地址存放的程序,全部程序共占22个地址:第二次再写时,用同一芯片PIC12C508A.也是一种振荡器,振荡频率比前者低(以便观察),其源程序定义为PIC03. ASM,其清单如下:LISTP=12C508A;选芯片型号. lNCLUDEP12C508A.1NCCOUNT1EQU08H;自定义寄存器地址.COUNT2EQU09H-i-rREQU0AHORG0;复位矢量.NOP:第二次对PIC12C508A再一,,单片机制作END:程序结束i2位为输出.说明:由以上的源程序可看出,PIC12C508A再写时,需在ORG0(复位矢量)之后增加一条空指令,且程序是从D56'开始存放于程序存储器MOVLWB.11000000':保证GP2为输出的约束条件. OPTIONBCFFSR,5;选PIC12C509A的数据存储器的BANK0体.}CLRFCOUNT1CLRFCOUNT21LOOP0BSFGPIO,2;设GPlO的第2位为高电平.NOPjBCFGPIO.1;设GPIO的第1位为低电平.CALLLOOP1;调用延时程序.}以便观察.BCFGPIO,2;设GPlO第2位为低电平.:NOPBSFGPIOl1;设GPIO第1位为高电平.CALLLOOP1;调用延时程序,以便观察.GOTOLOOPO;返回标号LOOPO.重复操作LOOP1DECFSZCOUNT1.1;延时子程序.GOTOLOOP1 DECFSZCOUNT2.1 GOTOLOOP1RETLW0;返回CALL调用的下条指令.END;程序结束.说明:由以上的源程序看出.PIC12C509A再写时,需在ORG0(复位矢量)之后,增加两条空指令(因PIC12C509A有两个页面).且这里程序是从PIC12C509A程序存储器的0 页面D3O'开始存放程序的.若对PIC12C509A需第三次再写.又需再在~RG0(复位矢量)之后再增加两条空指令(共4条空指令N~P),其余的逻辑操作顺序与PIC12C508A完全相同.这里不再复述.五,PIC12C5×X单片机的编程器1PIC12C5XX编程器为了使读者学会PIC12C5XX芯片的多次再写,笔者给出一种PIC12C5X×的简J中的.因为D56.开始的程序存储器空l问地址,未存使用,所以可以再写.若读者有兴趣,只需把以上程序功能略加变1化.再在ORG0之后又增加N~P的一条指令即可,同时新的程序起始地址f应放在第二次未使用过的程序存储器空间的地址内,即可完成芯片的多次再写!直到程序存储器空间地址用完为止.记住每再写一次程序,增加空操作指令一条,同时新建源程序仅占用程序存储器剩余的空地址.四,PIC12O509A的编程再写实例笔者第一次用PIC12C509A芯片制作的振荡器,其源程序为PIC02. ASM(详见《电子制作))PtC12C5XX单片机编程方法一文),该文是用程序存储器第1页面和数据存储器BANK1 体编辑的源程序,占用程序存储器空间! 是从D.600'开始的地址存放的程序:j第二次再写时.用同一PIC12C509A芯片,也是一种振荡器,振荡频率比前者高(以便观察),其源程序定义为J PIC04.ASM,其清单如下:LISTP=12C509A:选芯片型号. INCLUDEP12C509A.INCCOUNT1EQU11H;自定义寄存1器(RAM地址).COUNT2EQU12HSTATUSEQU03H;定义状态寄存j器的地址.JRP0EQU0005H;定义状态寄存器的位地址.IORG0;复位矢量.:N~P;第二次再写时加的NOP;两条空子令.eBCFSTATUS.RP0;选定程序』存储器的0页面.GOTOMAINORGD.30';程序从12C509A!的0页面开始存放.; MAINMOVLWB.00001000J TRISGPIO:设GPIO第0~易编程器电路,如图1所示.该编程器成本低,制作容易,只要装配无误,即可将PIC12C5××芯片进行编程.当然编程之前,读者应当把PIC12C5X×芯片的源程序在MPLAB集成开发软件下进行汇编而生成对应的目标码hex.即可直接用图1的编程器与PC 配合烧写芯片.然后用相应的实验板演示其实验.蕈1N4148D77—8—9D6U112050X240XXc21O0FI.2V030222uFJ51V该编程器采用自复式电源(无需外接电源)即可工作.编程器的基本原理是用GPlO第O位的数据位和GPIO 的第1位的时钟位通过RS232接口(DB9插头)与PC机通信.在编程软件的支持下,完成对芯片的编程.编程器与PC机的级联如图2所示.2.PIC12C5X×编程器支持软件巨配合图1编程器的支持软件为IC—Prog1.05C版本.读者可以直接从网站http://wwwPIC16C0M下载其编程软件IC—Prog1.05C.该软件支持PIC单片机上百个产品型号(仅PIC16C54除外)的编程(即烧写芯片).这里,笔者给出编程时使用该软件的主要操作步骤:(1)打开IC—Prog1.05C软件,其界面如图3所示.(2)装载目标码hex.从图3的界面上,用鼠标点击命令File,在其下拉菜单中,选Openfile命令,并点击之,则出现一新界面,新界面下面的文件类R11Ok一02——丫——一BC547B^R2U15kDB9的Programming,又出现一新界面,又全选界面上的功能.到此点击OK命令.界面消失,恢复图3界面.(6)图3界面右边Configuration(配置位)的选择.选Oscillator(振荡类型)如XT(晶振).界面右下的WDT(看门狗),CP或MCLR(复位)应按程序的功能选择.(7)编程或读芯片程序.用鼠标点击图3界面上的Command,在其下拉菜单中,第一个命令是读芯片中的程序ReadALL;第二个命令是对芯片的编程ProgramALL.若仅编程,用鼠标点击该Pr0gramALL命令,即可按新界面提示一点击Y es.此时即可自动完成芯片的编程.利用上述的编程器通过PC机在型,用鼠标点击之,再选苎竺竺苎三二迹二二:::二二二==--二==二=二==:二二_=::::二=::::::16进制.然而确定其源}.0.0.0.0:::::::::::::::程序的盘符路径,选择对}0010:OFFFOFFFOFFFOFFFOFFFOFFFOFFFOFFF哪10018:0FFF0FFFOFFFOFFF0FFF0FFFOC080006矿应的源程序目标码,如10020:OCCO0002006800690526000004460000'hPIC01hex,用鼠标点击,}.0.0.2.8::吐092F:42晡0000:.5.4::::;:;则可把该目标码转移到}.0.03.8:::FF::FF::FF::FF::FF::FF;:FF::FF:新界面的上方栏目中,最j0048:OFFFOFFFOFFFOFFFOFFFOFFFOFFFOFFFyyy ...…l0050:0FFFOFFF0FFF0FFF0FFF0FFF0FFF0FFF后点击其"打开"命令-完lO058:0FFFOFFFOFFFOFFF0FFF0FFF0FFFOFF'F茹;成目标码的装载.10060:0FFFDFFFFFDF10FFF0F..啪(3)选择芯片型号.用鼠标点击图3界面的懑赢蕊蠢r商寿寿■鬲Settings,在其下拉菜单l.0.00.8:::;嚣::FF::FF:;oFOFFFoF0FFF::::中用鼠标指定Device命j0018:0FFF0FFF0FFF0FFF0FFFOFFFOFFFOFFFyy {0020:0FFFOFFFOFFFOFFFOFFF0FFF0FFF0FFF帆令-~MicrochipPIC__'点f0028:OFFFOFFFOFFFOFFFOFFFOFFF0FFFOFFF咖击编程心44-片的型号i0..0.3.0::::::::::::::::::::FF::::::::PIC12CS08A/509A.l0..04.0:::::::::::::::::::::(4)选串口和J/0.用10050:0A4F02E90A4F0A3F0FFF0FFFOFFFOFFF0最i0058:0FFF0FFFOFFFOFFF0FFF0FFF0FFF0FFF,鼠标再点击Settings.在10060:OFFFOFFFOFFF0FFFOFFFOFFFOFFFOFFF帆其下拉菜单中,点击命令⑤Hardware,在新的界面上IC—Prog1.05C软件的配合下.完全成选串口COM1或COM2……,和功地对PIC12C5××心44--片的再烧写.DirectI/0,选好后点击OK.图4,图5示出了芯片烧写时.其程序(5)选编程功能.用鼠标再点击存储器空间状态实例.图4是Settings,在其下拉菜单中,点击【PIC12C508A第一次烧写,图5是Options命令,出现一新界面,界面上PIC12CSO8A第二次烧写.的编程功能全选.之后再点击该界面上J雾侣仃一一一¨一一一¨一一。

PIC编程器自制

PIC编程器自制

自制PIC烧录器林茂荣第209期前言最近许多单晶片已经藉由消费性电子产品这一管道,默默地渗透到一般人的日常生活里头,因此单晶片与人类生活之间的关系已经密不可分;也因为有利可图,所以许多商业活动就大量涉入到单晶片领域,像是国内的义隆电子等,都以单晶片为主要的业务活动,加上因为单晶片制程技艺发达,成本也相对地降低,这更助长了单晶片的应用领域,例如有一项资料显示,目前出厂的私家车辆中,平均会使用约25只单晶片,只是这些应用,恐怕连使用者都不得而知,也弄不清楚;早期的单晶片微电脑与现今者有很大的差异,先期开发出来的单晶片少部分现今依然被沿用着,有的甚至逐渐被改良或说整合成像是有完整功能的电脑,而目前应用在消费性电子产品上的单晶片还是以8爻单晶片系列为主,而且最近发展的趋势是,这些单晶片都有FLASH的程式记忆体,也就是说主导这些单晶片运作的程式,有必要时可以随时更新;笔者从早期在大学时期开始接触电脑,到目前以业余的方式接触单晶片,一路走来已经二十余年,这期间没有间断过与电脑的关系,从宏碁的小教授、频果APPLEII、286、到如今动辄2G的CPU;唯现今电脑使用者与电子线路之间的关系好像松垮无力,除了自己装组电脑的DIY外,好像很少听到有人利用电脑结合一般的电子创作,这实在是很可惜的一件事;从目前笔者接触单晶片的经验,觉得PIC系列非常棒,这是以一个业余爱好者的角度而言,因为可以利用组合语言或C语言写PIC程式,而MICROCHIP公司可以提供免费的编译程式,同时就PIC的发展,目前完全走向FLASH化,使得程式的开发相当方便,更棒的是,网路上的相关资源非常丰富,网路上可以搜寻得到的,从基本的PIC入门资讯,到可以完全自己动手的烧录器一应具全;基於这些理由,笔者鼓励业余爱好者,不彷从PIC开始,这真是一个很好的管道;本文的主要目的,就是要提出一个PIC的烧录器制作,而要自己烧录单晶片,重要的关键因素还包括有烧录软体,因此除烧录器制作外,同时也要介绍几种可以用来烧录PIC的免费软体;这些烧录软体搭配烧录器可以用来烧录具有代表性的FLASH PIC,如12F675、12F629、16F84、16F628、16F72、及16F73等,同时也可以烧录一些常用的串列EEPROM;为什麽会选择这几只PIC呢那是因为这些单晶片都是FLASH制程,从功能上看也具有代表性,因此很适合业余者选择使用,而且熟悉这些单晶片的运作後,也就相当於了解整个PIC系列的单晶片;烧录器原理与硬体线路照理讲,因为单晶片里头的程式记忆体做烧录时的要求相当严谨,自然也要采用通过原厂认证的烧录器才好,这是因为认证程序过程中会有一套严谨的品质管制,当然这是以商业生产活动的角度来看,至於以一般业余的眼光,虽说把关的要求有时用业余的角度做衡量也不见得会输给专业,但是就少了把关的管控程序;因为这里是以业余的角度做PIC烧录器,虽然不能声称绝对可以和经过认证的商业方法相融,但是以实用角度而言,可以相融是毫无问题的;由於采用了某些无法控制的方式例如因为业余因素,不采用外接电源等,也因此而无法堂而皇之地说它是正式的PIC烧录,但是从个人、业余、与实用的角度做衡量标准,充作个人使用,这是一个再适合不过的PIC烧录器;PIC程式烧录原理为了要了解PIC的程式烧录过程,我们必须要先弄懂PIC的程式烧录原理;注意虽然此处所谈的烧录原理也许也适用於其它单晶片,但这里专指PIC单晶片;不论是哪一类的PIC,是一次烧录OTPIC,开玻璃窗的紫外灯光抹除EPROMIC,或者是最近流行的FLASH电子抹除EEPROMIC,它们都有个可以直通到IC内部程式记忆体的路径,假如要做烧录器,需要蒐集的资料,就是包括弄清楚这些烧录用的相关脚位,然後正确地把它们接到烧录器的接座上;基本上,要把程式内容传送到IC里头的程式记忆体内,是采用串列的方式来进行,这有一点类似I2C的方式,所以这就必须要包括有时脉讯号CLOCK与串列资料DATA讯号;除此之外还必须要有个控制脚,这在PIC系列,通常是指MCLR这一只脚,既然是电子抹除与书写,就免不了要有电源,因此要做PIC烧录,就必须要找到5只脚,分别是电源、接地、控制脚、时脉讯号、与串列资料;所以,凡是烧录器就必须要具备上述几个脚位;针对电脑常用的RS232串列阜,要对应到控制脚、时脉讯号、与串列资料自然是不成问题,关於电源那就要动一点脑筋;由於RS232串列阜的定义,有一些脚位作为握手对应用,因此使用时可以让它保持在高电位,这高电位对於RS232的定义来说,就是+12伏特,虽然这些脚位都只是讯号规模,但由於RS232的应用牵涉到连线的距离,因此这些讯号规模的脚位,也大多能提供高达10毫安培的电流;这对於PIC的烧录是足够的,也因此单独靠着RS232介面,不需要额外的电源供应线路,就能做PIC的烧录器;基本上,可以把RS232串列阜视为电流工作,其实早期在中等距离的资料传输,RS232串列阜还提供有所谓的电流环CURRENT LOOP模式,也就是以电流的有无来做1与0的区别,而不是使用电压,这在患有严重杂讯干扰的区域特别管用,在某种程度上,可以把RS232串列阜视为电流工作型,自然要提供数毫安培电源是毫无问题的;烧录器线路参看图1,就是这个足以应付常用的PIC IC烧录器线路,RS232的第3脚就是控制讯号,它被接到MCLR,由於做烧录时MCLR一定先要维持在高电位,这一只脚高电位时会是+12V,而且它可以提供高达10毫安培的电流,所以此脚同时也接上以简单的电阻串联然纳的方式,来取得+5V电源;为了确保极性的稳定,所以然纳是使用,经过1N4148之後,就可以提供相当稳定且具有极性保护的+5V电源;时脉讯号由第7脚提供,而串列资料则接第8及第4脚,它分别对应到RS232串列阜的资料输出与输入脚,这是因为串列资料为双向,也就是烧录时会做写入的动作,而程式烧录之後要确认时,就必须要做读出;而不论写入或读出,都是经由串列资料脚,也就是说对PIC 而言,它以单脚做输入及输出,而RS232串列阜的输出入脚分别是第8及第4脚,这也就是为什麽第8及第4脚要同时接到DATA脚;针对图1来说,虽然只列出了12F675、12F629、16F84、16F628、16F72、及16F73等,但是要追加任何的PIC IC,甚至是EEPROM,只要把相对应的接脚找出来就可以了,例如16C71其实只要烧录程式支援它,就可以把它放在16F84的烧录IC上做烧录;又例如要烧录16C72A,虽然这里没有这只IC的编号,其实把它放在16C72上也是可以做烧录的;相同的道理,许许多多PIC编号的IC,只要脚位数相同,而烧录程式有支援它,把它插到同脚位数的IC座上,也都可以做烧录;软体支援IC的详细情况,可以参看表1;笔者熟知要做烧录当然要有适合的烧录程式做配合才行,因此笔者是先从网路上找到免费的PIC烧录软体,先研究这些软体支援哪一些烧录器硬体,然後再做烧录器的设计;烧录器制作完整的线路请参看图1,整个烧录器使用的零件非常少,以图中所列的PIC IC为烧录对象,就只要备妥8只脚,18只脚,及28只脚的DIP型 IC座,然後根据图1的接脚做焊接就可以了;虽然笔者刚开始是以16F84及16F628烧录器做设计参看照片1,之後也曾经想利用转换器的方式,要把12F629插在16F84的IC座上,但是却发现这个方法很不理想,最好还是以个别的IC座,把这些接脚以并联的方式,分别接到不同的IC座的相对应脚上,如图1所示,这也就是为什麽笔者会做这样的设计;请注意,虽然PIC系列也都包含有SMD封装的IC,但是针对个人以业余用途来衡量,采用SMD封装是不合理的,因此这里就一概不考虑到SMD封装的IC烧录,若是有必要,那只好针对自己的需求,去购买SMD与DIP的转换座;参看图1是适用於上述烧录器使用的硬体线路,制作此线路并没有严格的要求,你可以使用万用线路板做焊接,倒是放置烧录PIC IC的脚座要特别注意,因为要常做插拔,所以这里使用的IC座建议采用圆孔MACHINE HOLE型,此处分别需要有8PIN、18PIN、及28PIN三个IC座;参看图2是针对图1所做的线路板布线;另外,焊接时要特别注意ZD1及D1的极性,还有C1的极性也不要装错,DB9焊接时,记得两旁的脚座焊接要牢靠,否则DB9的讯号接脚容易因受力过大而造成焊接点受创;还有使用这个烧录器时,IC的插拔一定要特别注意,最好是使用IC插拔工具器,否则烧录的IC,很容易因为插拔动作而使IC接脚受伤,尤其是28PIN的IC;由於PIC IC的接脚除了电源与接地脚之外,其余接脚可以说都是输出入脚,因此插拔动作也要特别考虑到静电破坏的问题,总之,以笔者的经验来说,在冷气房内最要注意静电的破坏,当然一般情况也是要提防才好;笔者的经验是,I/O脚一旦遭静电破坏就会出现不可预期的结果,例如程式动作时LED是要亮灯的,却偏偏不亮,原来是用来驱动LED做指示的I/O 脚受静电烧毁;这些情况值得特别注意,那是因为一般FLASH 的PIC IC,虽然可以多次烧录,但是IC设计与生产时的考量,可不会把你开发程式时的IC插拔动作列为主要的规格做考虑,因此插拔的动作还是要多加小心;烧录软体谈到PIC IC的烧录,除了烧录器线路外,最重要的就是搭配烧录器使用的软体,虽然MICROCHIP提供了烧录软体,但是必须要搭配专用的烧录器,还好网路上有许多现成的PIC 烧录软体,於是笔者透过网际网路,搜寻了一些适用的烧录软体;这些软体都是免费的,当然除了在此处列出来介绍以外,也还有不少的烧录软体,但是因为这些我所看到的其它烧录软体,在功能及实用性上都比较单薄,而且相对地功能也都较不齐全,在功能上也都能够被这里所介绍的三种软体所包括,因此就只取这三种软体做介绍;参看表1所示,分别是这三种软体的基本资料,更具体的用法与说明,则分别以独立的章节做介绍;ICPROG105烧录程式说明参看照片2是ICPROG105的程式执行画面,它已经完全是视窗操作环境,由於ICON的设计佳,让操作非常方便,基本上它把视窗切成上下两半,上面是程式内容,下方则是EEPROM 资料记忆体内容,同时可以看到这样的区块共有5组,分别是BUFFER1到BUFFER5,它们很像活页纸旁的标签,只要滑鼠在标签上点选,就可以在这5组缓冲器之间快速切换;笔者发现,这对於要做比对程式内容相当方便,程式也提供了这5个区块之间的内容比对,且比对结果会逐行用颜色来标示出相异处;同时,参看程式画面的右手边小型直立的长方块内,有包括振荡器的选择OSCILLATOR,保险丝烧录FUSES的设定,程式核对码CHECKSUM的显示,以及程式ID码的内容设定及显示;而上述几项的设定就成为所谓的组织码CONFIG WORD,它的内容显示在这长方块的正下方;另外,这个烧录程式也有反组译的功能,只要以滑鼠在ICON的A处点一下,就可以得到反组译的程式内容,参看照片3;值得一提的是,此烧录程式虽然主要是做PIC的烧录,但是也支援其它单晶片及EEPROM 记忆体的烧录,因此假如你需要其它的IC烧录,不彷在设定SETTINGS的DEVICE内找寻,或者是直接在画面的右上方一个蓝色的小窗口内直接以滑鼠选择▼下拉,就可以看到能够烧录的所有IC编号;另外,这个程式可以搭配许多不同的硬体线路使用,因此执行後先要把你所使用的硬体介面设定好,使用图1线路所示的烧录器,可以选择JDM PROGRAMMER,要设定硬体介面可以从选单上的SETTINGS内的HARDWARE进入,也可以利用快速键F3进入;PIX烧录程式说明PIX是笔者接触PIC时所认识的第一个烧录程式,到目前为止的PIX113版本,虽然还是无法完全进入视窗的操作环境,处处都有DOS的影子,不过操作上还算相当方便,虽然没有滑鼠的点选方便,但是在萤幕上,只要是设定的项目上,都有红色的第一个大写字母,只要依照这些指示做按键动作,很方便可以完成必要的设定;例如萤幕左上角的FOWPC分别就是进入烧录条件做设定,参看照片4;而萤幕底边的功能键操作也相当方便,从F1到F10都对应到常用的功能,另外搭配了ALT键及CTRL键,又把F1到F10对应到另外的20种功能目前有些功能键是空白闲置,这种贴心创新的设计,使得虽然是DOS式的操作,但也算相当方便;这个程式有个组织档CONFIG,它存放了程式的基本设定,包括硬体介面等,所以第一次执行此程式时,必须先要设定好组织档,一旦顺利执行,往後开启程式时,这个执行档会於执行程式时被采用,也就是毋须再做设定;通常以图1线路做烧录时,执行PIX程式烧录,必须要把硬体设定为LUDI,至於是采用哪一个COM阜,就由你自行决定;另外此程式也具有反组译的功能,把程式HEX档读进来之後,只要按D键,就可以执行反组译的工作;WINPICPR烧录程式说明基本上,这程式具备了有条不紊的操作安排,进入程式之後画面很简洁,第一眼看到的是很像活页簿的目录,可以发现总共有6页可以翻缆,参看照片5,分别是CODE,DATA,DEVICE&CONFIG,OPTIONS,INTERFACE,及MESSAGES;CODE及DATA就是分别代表程式资料码与EEPROM资料,DEVICE&CONFIG可以选择不同的PIC编号,以及设定烧录条件,OPTIONS可以做一些次要的条件设定;而INTERFACE是用来设定烧录器的,假如你采用的是如图1所示的烧录器线路,则要选择COM84 PROGRAMMER FOR SERIAL PORT,在这里还提供了烧录器的测试功能,以滑鼠在INITIALIZE方块上点一下,可以看到萤幕下方会出现INITIALINGPIC-PROGRAMMER:SUCCESS,就表示烧录器介面大致上没问题,参看照片6;至於MESSAGES就是操作时的流水帐纪录,任何的操作程序,例如烧录动作等,这里都会以流水帐的方式详细地做纪录;PIC烧录注意事项第一次使用PIC烧录器时,大家最常碰到的问题就是烧录条件的设定,一般说来,假如采用MICROCHIP免费提供的MPASM做组译,大多数书写程式者都会把烧录条件写在程式上,如此程式编译之後,程式码内容就会包含有烧录条件,此时只要把程式码载入烧录程式内,就不必再去设定烧录条件;有些烧录条件的设定不会影响程式本身,但有些条件设定不当,就会使程式无法正常运作;这里就针对PIC常用的一些设定做说明;这包括有CODE PROTECTION,POWER-UPTIMER,WATCHDOG TIMER,OSCILLATOR,FUSE,及ID等;烧录时若把CODE PROTECTION打开ON,就会让烧录後的程式码无法正常读出,也因为如此,所以烧录时若把这个功能打开,之後要进行烧录後验证VERIFY时,就会出现错误讯息,这是因为烧录後的读出内容与原来烧录的内容有异之故;这功能通常运用於商业生产时,为了保护程式不轻易外流,於程式烧录时,可以把这个功能打开;值得一提的是,虽然它可以保护程式不能被读取,但是依然有一些偏方,可以读得到有保护功能的烧录程式内容;WATCHDOG TIMER则是内附看门狗计时的开关,此项条件务必要符合程式的运作,否则误用此项条件,往往会严重影响程式的运作,轻则使动作异常,重则造成程式完全无法运作;POWER-UP TIMER是插电启动程式时的一个延迟线路,这是一个内附的硬体线路,有了这个功能,就可以避免使用外接的启动IC,通常有些运用单晶片的产品,会要求插拔电源的测试,若没有这个功能,电源插拔几次之後,可能会造成程式无法正常启动的现象,一般采用单晶片时,会采用外加的启动线路来确保这个功能;OSCILLATOR则是用来选择适合的振荡线路,它实际上就是一个硬体振荡线路的路径选择或说增益控制,这可以确保不同振荡线路都可以维持最佳的运作状态,例如一般石英晶体选择XT,而如果工作频率高於10MHz,也许烧录时就应该试着选择HS;另外;还包括有使用电阻电容振荡线路的RC设定,以及低功率情况下使用的LP等;至於FUSE,实际上它是针对上述4项条件的设定总开关,也就是说你可以直接设定FUSE的值来完成上述的4种设定,但是因为它是个数值,所以不容易掌握,写程式时也可以直接设定FUSE值,不过一般以CONFIG虚拟指令来设定会比较好;至於ID,它是提供运用时的一个方便标示,例如你可以把生产的序号放在这上面,日後有维修或需要追踪时,只要读出这个ID码就可以做生产序号的确认;一般编写程式时应该要把这些条件带进程式里头,但是有些程式语言例如C语言或者是程式编译器没有这个功能,因此不得不把这些设定关掉,下面是组合语言对这些烧录条件的设定例子:__config_CP_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC从上述的程式叙述很容易可以看出来这些设定,但是偶而也可以看到某些程式就直接把FUSES值设定好,例如针对16F84而言,上述烧录条件设定的FUSES值是3FF1,因此在程式中把FUSES值设定为3FF1,也就等於设定了上述的烧录条件设定;烧录时,碰到内含有EEPROM的IC,这些资料都可以选择与程式码分开或一起做烧录,同时有些烧录程式还可以允许你单独载入EEPROM的烧录资料,也可以把这些EEPROM资料单独存成档案,这对於某些程式的烧录也算是相当好的功能;例如有个程式把对照表资料就放在EEPROM内,假如你把这些资料放在程式内,而这些对照表资料需要有好几个版本,那就必须要编译好几次程式,要是你把程式与EEPROM分开,那麽载入程式後,只要载入不同版本的EEPROM资料档,就可以有好几个版本,同时万一这对照表需要修改,或是程式开发阶段需要做一些TRY AND ERROR的测试,那麽就更加方便在这方面的作业了;牛刀小试做完了上述的烧录器制作与烧录程式介绍之後,当然也要实地演练一番才好,这里笔者就拿一个程式的开发过程做烧录时,所碰到的实况做演练说明;这是一个以LED做显示的计频仪,程式名称叫做GLEDKOTF,这是我的F版本,先使用文书处理把程式编妥後,存成附档名为ASM的档案,先以MICROCHIP免费提供的MPLAB编译软体做组译的工作,参看照片7及照片8,经过成功组译之後,你可以得到许多档案,包含有LIST档及ERROR档等;其中附档名是HEX的档案最重要,这也就是烧录程式时要使用的档案,例如上述我就可以得到的档案,有了程式档之後,接下来就是执行PIX烧录程式,此时要先把烧录器的硬体接妥,假设你是接在个人电脑的COM1上,接着如照片9所示,就是PIX烧录程式的执行画面,这是按了M键之後的介面设定,这里因为是采用图1线路的烧录器且接在COM1使用,因此选择了LUDI及COM1,这就完成了硬体的设定,注意这是初次使用时才必须要做的设定,往後就不必这样做了,除非烧录硬体线路有异动;接着就要载入程式,参看照片10及照片11,分别是要载入程式的动作,按下F3键来做程式的载入动作後,就得到了照片11的画面,假如你还有资料档要载入,同样是按F3键,但是要先按住ALT键,找到你要载入的资料档,资料载入之後就如照片12所示;此时,因为所有烧录条件都已经包含在程式档内,所以也就不必逐一去设定烧录条件,而且要载入EEPROM 的资料也已经就绪,此时按下F9键做烧录,萤幕下方的横状小长框内会有位址的变动显示,这表示烧录进行中,完成之後就如照片13;结论笔者年轻时,不论是一般的电子材料行,或者是电子街上的商店,总是很容易可以买到新奇实用的电子套件,而且彷间的电子杂志,也不时可以发现有趣实用的制作文章,如今这些似乎已不复存在;为什麽呢原因当然是错综复杂的,客观的条件下,有些新奇的电子线路已经不那麽容易让人自己动手了,例如动辄上百只脚的SMD封装IC,要如何焊接更何况这些IC的功能,通常就像是黑盒子般,而且通常是你要的脚没长出来,你不需要的脚伸出来一大堆,长久以往,就渐渐疏远,导致现在电子套件没有生存空间;加上,工业生产规模以量大讲求效率为重心,造成套件敌不过一般的完成商品,生存空间自然也就岌岌可危,如果以影射到生物圈,那麽电子套件可以算是濒临绝种;能够挽救吗笔者一直希望有个契机出现,现今的PIC单晶片,盼望可以是挽救这濒临绝种电子套件的一丝希望,因为它已经让人有可以挥舞的空间,这些单晶片的灵巧功能与广泛的应用,真希望这可以给套件注入一些生命力,希望本文对於期望能自己动手的朋友有实质上的助益,制作愉快;有任何问题,作者的EMAIL是,欢迎指教;。

PIC全系列编程器

PIC全系列编程器

PStar V6—PIC全系列单片机/EEPROM编程器CoPIC7X—PIC16C(F)5X/6x/7x/8x/9X生产用高速脱机拷贝器使用说明书(合订本)北京市比高科技有限责任公司2005.11PStar V6PIC全系列/串行EEPROM编程器★全面支持PIC全系列12/16/18等10大类、超过250种以上的型号★支持全系列EEPROM,包括24,25,93三大系列,从1K位到512K位★支持在线编程(ICSP),无需任何附件★采用易换式适配器★速度提高5倍以上,远高于其它同类产品★全中文操作北京市比高科技有限责任公司2002.4PStar V6编程器,是我公司依靠多年来制造PIC专用编程器的经验,经长时间酝酿和试验开发出来的新一代高性能PIC单片机开发工具,从94年国内第一台全系列PIC编程器PStar V3.1,到后来行销多年深受用户称赞的PStar V4.0和PStar V4.5,我们一直把为用户提供高性能和高可靠性的产品做为我们的目标。

经过长时间的精心设计和开发,PStar V6终于面世了,比其上一代产品PStar V4.5,V6无论是从性能上,还是从使用方便性上,以及外观上,都有了质的飞跃!PStar V6的主要特性包括:1、支持器件多,包括PIC12Cxxx,PIC16C4xx,PIC16C5xx,PIC16C6xx,PIC16C7xx,PIC16C9xx,PIC18Cxxx,MCP25xxx以及Flash 系列16Fxxx及18Fxxx,超过100种,是目前市场上支持器件种类最全最多的PIC编程器,其中,16C4xx,18Fxxx,MCP25xxx是其他编程器目前还无法支持的。

2、支持全系列的串行EEPROM3、通过内置的ICSP接口,可以直接支持ICSP(在线路板编程)而无需任何附加装置,用户可以等到电路板焊好后,最后再写入程序,对于Flash单片机,更可以完成在线升级的功能。

烧写PIC16C57应用程序步骤

烧写PIC16C57应用程序步骤

烧写PIC16C57应用程序步骤烧写PIC16C57应用程序分为以下步骤:1、将SUPERPRO/GH编程器与电脑进行连接。

将SUPERPRO/GH编程器的通讯端口与电脑连接,打开电源开关。

此时编程器的红色POWER指示灯亮,表示工作正常。

2、双击桌面SUPERPRO/GH图标,进入编程环境。

注:如出现通讯出错的提示框,可能因为电源或通讯端口没有接好。

应重新检查电源和通讯接口的连接,直到出现通讯成功的提示框。

3、器件选择点击文件菜单,选择“器件”菜单中的“选择器件”选项,出现选择器件提示框。

在提示框中左侧选择厂商名称:Microchip,右侧选择器件名称:PIC16C57C,点击确定即可。

4、装入程序原文件。

点击文件菜单,选择“装入文件”选项,出现装入文件提示框。

此时可选择需要烧写的程序,SCR.HEX文件,点击确定。

注:一般情况下文件都已选择好,只需进行以下烧写步骤即可。

5、将PIC16C57芯片放置在编程器中。

芯片放在编程器的插槽中,底端对齐,缺口朝上,扳下固定开关将芯片固定。

(可参照编程器插槽旁的图示)。

6、对PIC16C57进行编程。

在编程环境中,点击“查空”图标,可直接进入“器件操作”菜单,对芯片进行查空操作。

注:如芯片存储器内为空,表示芯片还没有写进任何程序,编程器发出单音“嘀”,否则表示已经有程序存在,发出“嘀嘀嘀”声。

查空完毕后,在“器件操作”菜单中选择“Program”,点击“确定”,对芯片进行编程操作。

如编程器发出“嘀”,表示程序装载成功,发出“嘀嘀嘀”表示在装载程序过程中出现错误。

编程完毕后,选择“Blank_check”(查空),点击“确定”,确定程序是否烧写进芯片。

7、编程完毕。

扳开固定开关,取出芯片,即可对下一芯片进行编程操作。

PIC单片机烧录教程

PIC单片机烧录教程

PIC单片机烧录教程PIC单片机(Peripherals Interface Controller)是一种广泛应用于嵌入式系统的微处理器。

烧录是将程序代码加载到单片机中的过程,它决定了单片机的功能和行为。

本文将为您介绍一种基本的PIC单片机烧录方法,帮助您更好地理解和掌握PIC单片机的应用。

一、准备工作在开始烧录之前,您需要准备以下材料和软件:1. PIC单片机烧录器(如TL866II Plus等)2. USB数据线3. PIC单片机(如PIC16F877A)4. 适配器(如果需要)5. 编程软件(如MPLAB X IDE)二、连接硬件1. 将PIC单片机烧录器通过USB数据线连接到计算机。

2. 将PIC单片机插入烧录器的座槽中,确保插入正确并稳固。

3. 如果需要适配器,请将适配器连接到烧录器上,并将PIC单片机插入适配器的座槽中。

三、安装软件1. 下载并安装编程软件MPLAB X IDE,可以从Microchip官网上免费下载。

2. 打开MPLAB X IDE,接受软件许可协议并完成安装。

3. 在软件中选择正确的PIC单片机型号,以确保编程的正确性。

四、编写程序在烧录之前,您需要编写PIC单片机的程序代码。

使用任何您熟悉的编程语言,如C语言或汇编语言,在MPLAB X IDE中编写程序。

确保程序逻辑和功能满足您的需求,并且没有语法错误。

五、设置编程器1. 打开MPLAB X IDE软件,选择“文件”菜单,点击“设置项目属性”。

2. 在弹出的对话框中,选择“工具”选项,然后在“下拉菜单”中选择您使用的烧录器型号。

3. 确保选中的烧录器与您现实中使用的烧录器一致。

4. 点击“应用”并关闭对话框。

六、连接编程器1. 在MPLAB X IDE软件中,选择“调试”菜单,点击“硬件工具”。

2. 在弹出的对话框中,选择您使用的烧录器,并点击“连接”按钮。

3. 确保连接成功后,您将看到烧录器的相关信息显示在软件的界面上。

pic汇编程序范例

pic汇编程序范例

pic汇编程序范例pic汇编程序是一种用于编写和运行在PIC微控制器上的汇编语言程序。

下面将介绍一个简单的pic汇编程序范例,以帮助读者更好地理解和掌握该编程语言。

标题:使用pic汇编编写一个LED闪烁程序引言:本文将介绍如何使用pic汇编语言编写一个简单的LED闪烁程序。

通过这个例子,读者将学习如何初始化IO端口、设置延时、控制IO端口输出等基本操作。

第一部分:准备工作在开始编写程序之前,我们需要准备一些硬件和软件环境。

首先,我们需要一块搭载PIC微控制器的开发板,例如PIC16F877A。

其次,我们需要一个pic汇编器,例如MPLAB X IDE,用于编写、汇编和调试程序。

第二部分:程序设计下面是一个简单的LED闪烁程序的pic汇编代码:```LIST p=16F877A ; 指定使用的PIC微控制器型号INCLUDE <p16F877A.INC> ; 引入PIC微控制器的寄存器定义文件ORG 0x0000 ; 程序入口地址; 初始化端口BSF STATUS, RP0 ; 切换到Bank1MOVLW b'00000000' ; 设置TRISA寄存器为输出模式 MOVWF TRISABCF STATUS, RP0 ; 切换到Bank0; 主循环LOOP:BSF PORTA, 0 ; 将RA0置高,点亮LEDCALL DELAY ; 调用延时函数BCF PORTA, 0 ; 将RA0清零,熄灭LEDCALL DELAY ; 调用延时函数GOTO LOOP ; 无限循环; 延时函数DELAY:MOVLW D'100' ; 设置延时时间,可根据实际需要调整 MOVWF COUNTDELAY_LOOP:DECFSZ COUNT, F ; 将COUNT减1,并检查是否为零GOTO DELAY_LOOP ; 若不为零,则继续循环RETURNEND```第三部分:程序解析在上述程序中,我们首先使用了`BSF`和`BCF`指令来设置和清零端口A的第0位,用于控制LED的亮灭。

PIC单片机高性能编程器+ICSP在线下载器

PIC单片机高性能编程器+ICSP在线下载器

■通过贴片适配器或ICSP,可支持贴片器件或引脚数大于40PIN的器件。

■具有USB和串口两种通信方式,方便没有串口的笔记本电脑使用,USB与串口的切换全电子开关自动切换,不需要手动跳线.■对于10FXXX系列的直插器件也可以直接在座上烧与,不需要适配器(较多几仟元的编程器烧10F系列芯片都要加适配器的).■支持器件全,支持的器件包括PIC10XXX/12XXX/16XXX/18XXX,还支持24XXX与93CXX的串行EEPROM.■器件算法完全由软件实现,硬件具有在线升级功能,有效保护用户投资利益。

■有完善的过流保护电路,不会因芯片短路而损坏编程器。

■连接USB口通讯时,可不用外接电源。

■内置高速单片机,自动校验数据,确保系统可靠性。

■高速编程,烧录PIC16F72,擦除+查空+编程+验证,仅3秒。

■采用表面贴片工艺生产,可靠性高,使用寿命长;■编程器体积小巧,适合外出携带;■通过内置的ICSP接口(ICSP接口完全兼容于MICROCHIP的ICD接口),可以直接支持ICSP(在线路板编程)而无需任何附加装置,用户可以等电路板焊好后,最后再写入程序,对于FLASH单片机,更是可以完成在线升级功能。

编程器软件特点■全中文界面,中文在线帮助系统,方便用户使用。

(连配置位的设置也全部做成了中文的,有利于初学者使用)■同时我们还提供了英文版的烧写软件,为海外客户的使用提供了方便。

■具有设定芯片接触可靠后自动编程功能,便于批量生产。

(只需把芯片放入而无需按任何安按键即可完成芯片的烧写).■具有编程计数功能,可预设烧写数量,并对烧写数量计数.■系列号自动增加功能,可设置自增区域(ID/ROM/EEPROM区)/自增进制(16进制/10进制)/自增起始地址/结束地址/自增步长,可设置自增时忽略高字节.■自动识别文件中的配置字及内部EEPROM数据。

■全面的信息提示,烧写的过程同时有声音提示,让用户清楚了解工作状态 .■具有自动检测编程器硬件功能,软件启动时自动检测及设置编程器硬件,无须手动设置及可使用.■设有烧写数据监测。

PIC单片机烧录教程

PIC单片机烧录教程

1.PIC单片机的开发编译环境主要有两个,一个是旧版的 MPLAB IDE v8.92 ,一个
是新版的 MPLAB X IDE v3.00.02-beta
2.对于老版本MPLAB IDE v8.92,双击运行打开后,连接上kit3或者ICD3等仿真烧
录器,在下图红圈处单击选中
3.这时,会有一个弹框跳出,点击“OK”,不用理睬
4.接着点击下图圈中的“Settings”
5.然后,下图红圈处,单击选中,使能KI3给烧录芯片供电,然后单击确定,随后
还有一个弹框出现,点击“OK”,忽略即可
6.接着,如下图所示,红圈处的文字提示表示烧录芯片供电成功,接下来单击红箭
头所指按钮,便能实现程序烧录了
7.新版本环境烧录办法,双击运行MPLAB X IDE v3.00.02-beta
8.编译好相关代码后,打开其配套的烧录软件,见下图:
9.A处选择正确的芯片,B处找到烧录文件 **.hex的所在位置
10.然后,在下图圈中的地方单击
11.进入如下界面,并在输入框中输入默认密码“microchip”
12.然后,点击Log on,进入后,单击下图圈中的按钮,并勾选前头所指,即允许了
kit3等烧录器对目标烧录芯片的供电:
13.接着单击下图所示圈中的按钮,并单击箭头指向的地方,即可连接上kit3
14.可能会出现警告弹框,点击OK即可,然后,单击下图圈中的按钮,先后会出现
两个红框圈中的类似文字提示信息,表示最终烧录成功
15.。

如何编写高效PIC控制器课件简介

如何编写高效PIC控制器课件简介

如何使用示波器对PIC进行调 试?
通过将示波器连接到PIC控制器的 输出端口,可以观察并分析其输出 信号的波形和电信号特征。
学习如何进行PIC控制器的编译和下载
编译
编译的作用是什么?
编译是将高级语言转化为机器语言的过程,是将程序 源代码转化为可以在PIC控制器上运行的二进制代码。
使用哪些工具进行编译?
如何测试开发环境?
可以尝试编写简单的程序,并 进行编译和下载测试,确认开 发环境能够正常工作。
掌握如何进行PIC控制器的模拟和调试
什么是PIC控制器仿真器?
PIC控制器仿真器是一种软件工具, 能够模拟PIC控制器的运行过程, 并进行调试和测试。
常用的PIC控制器调试器是哪 些?
常用的PIC控制器调试器包括ICD2、 ICD3、PICkit等。
常用的PIC控制器板是哪些?
常用的PIC控制器板有PIC16F877、 PIC18F4550、PIC12F675等。
PIC芯片脚位的功能有哪些?
PIC芯片有多个脚位,每个脚位都 有不同的功能,包括电源供应、 I/O控制、时钟输出等。
学习编程语言的语法和语义
1 C语言有哪些基础语法?
C语言的基础语法包括变量、运算符、控制语句、函数等。
定时器和计数器是PIC控制器中 的电路设备,用于计时和计数, 支持复杂的时间和计数规划。
如何使用定时器和计数 器?
可以通过编写指令,对定时器 和计数器进行初始化、配置和 操作。
在PIC控制器中如何实现 PWM输出?
可以使用定时器和计数器的功 能来控制输出PWM信号,实现 类似于模数的输出效果。
常用的编译器有C18、C30、XC8等。
下载
下载的作用是什么?

一起来制作简易ICD2调试器-PIC单片机

一起来制作简易ICD2调试器-PIC单片机

一起来制作简易ICD2调试器与初学者的交流中,经常有人问怎么学单片机,怎么入门。

搜遍了网上所有资料,几乎所有回答都是:先看书,然后动手做实验。

提到实验就少不了工具,如实验板、编程器、调试器(仿真器)。

由于调试器配合PC机可以模拟程序的运行,监控程序的运行状态,并实时地把运行结果显示给使用者参考,以方便查找程序中的错误等等。

由此可见调试器对于开发工程师和初学者的作用。

但市场上成熟的调试器价格都比较昂贵,少则几百,多则数千元。

本文向读者推出的EZ-ICD2调试器,正是这样一种产品。

经笔者测试使用,证明该产品电路简单、工作稳定、成本低廉、容易制作。

支持大部分常用PIC单片机的调试和烧写。

特别适合初学者DIY使用。

为此笔者还特意组织了这篇文章,希望能对大家制作有些帮助。

调试器特点该调试器具有如下特点:1、使用串口与PC连接,虽然速度受到一定的限制,但是可以保证通讯稳定。

2、使用Mplab ide 6.x以上版本集成开发环境,软件可以免费从网上获取。

3、支持PIC16F87x等常用芯片的仿真,和大部分PIC芯片的擦除、烧写和读取。

4、电路简单,成本低廉,使用材料均能在各地方电子市场找到。

特别适合初学者DIY使用。

5、工作电源从用户开发板获取,使用倍压电路产生烧写高压。

6、调试器体积小巧,携带方便。

调试器的制作步骤该调试器的原理图如图1图1、原理图制作好后的调试器如图2图2,调试器效果图第一步,焊接所有电阻元件、二极管和稳压管。

电阻元件均不用考虑极性,如果不能确定电阻值,最好先使用万用表测量。

特别注意电阻R3、R4、R5、R6、R7、R8的值不能跟标准值相差太远;二极管和稳压管均为有方向的元件。

焊接时要特别注意。

IN5817一般为黑色,有白色圆圈的一端为负端;IN4148一般为红色,有黑色圆圈的一端为负端;8.2V和4.7V稳压管一般也是红色,有黑色圆圈的一端为负端。

在PCB上有短杠端为负端。

元件极性不确定时,请先用万用表等确认。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DIY PIC编程器
作者:单片机爱好者转载自:单片机工具之家发布日期:2011-4-24
DIY PIC编程器
制作一个花钱少而且非常简单Microchip PIC16F84系列Flash单片机的编程器。下面的两幅分别为实物图和软件运行时的图片。
绪论
这个编程器虽然功能很少,但它不仅制作简单,而且成本极低。对于初学者来图,编程器由打印口来控制,比如:Vdd是由D2反向信号来控制的,当这个脚为“0”时2N2907导通,给14脚提供+5V的电压。同样Vpp也受D3和2N2907的控制,提供+14V的电压支MCLR脚.编程电压Vpp是在+5V的状态下加上78L09的稳压得到的。数据由RB7负责写入和读出, D0输出编程信号,ACK在校验时用来是读取芯片的。D1主要是做时钟信号输出的。至于直流电源的输入大约在DC 17V左右。
图一:编程器的线路图
软件
Wpic16.rar是最新的Windows版本编程软件。下图是PIC16F84编程器检测和设置画面。
相关文档
最新文档