历史上的今天
返回首页

历史上的今天

今天是:2025年03月03日(星期一)

正在发生

2020年03月03日 | Windows下PIC8位单片机源程序汇编和固化(三)

2020-03-03 来源:eefocus

6PIC单片机源程序的固化和编程器 


  一个完整的PIC开发系统应包括PIC汇编软件、PIC仿真器(软件模拟仿真器或硬件在线仿真器)和PIC编程器。对于简单的PIC源程序而言,若源程序已汇编而生成了扩展名hex文件时,即可直接使用编程器将源程序的目标码hex固化到PIC芯片中,再通过实验板验证其源程序的功能。待深入学习时再补充学习PIC仿真的方法,这是一种快速学习PIC单片机的一条路径。本版在今后适当的时候仍将以实例介绍PIC单片机在MPLAB集成开发环境下软件模拟仿真的方法,以供读者学习时参考。

  PIC编程器又称为PIC烧录器或烧写器。目前市场上PIC编程器的产品型号很多,适合各类PIC芯片的要求,价位也不相同。功能完善的PIC编程器,能对PIC绝大多数芯片将其源程序的hex进行固化,但价位高,约1000~2000元;可固化部分芯片源程序的hex编程器,其价位约700元左右。在这里,电子报单片机实验室提供了一种V101实验编程器,其价位极低(200元一台,另附有3张软盘)。值得注意:大多数的PIC编程器在使用时都需要一台PC机联机运行,方可完成编程烧写工作。 

  1低价位的PIC16F8X V101实验编程器 该编程器主要对PIC16F84/16C84/16LF84/16F84A等芯片的源程序进行固化,其操作十分简单,对初学者极其适用。PIC16F84/16C84芯片均是可反复烧录的芯片,加之第二次烧录时,编程器的软件已设计了自动擦除内部已有的代码,所以对初学者十分适用。 

  V101实验编程器的基本硬件配置有FLASH89C2051单片机、11MHz晶振、MAX232N标准接口芯片、RS232标准通信接口插座、复位按钮、DIP插座(活动耐用型)、5V稳压电源、电源指示和编程指示LED等。此外为使用户方便使用,还为V101实验编程器配置有15V~17V的电源适配器和RS232标准电缆线的接口插头,以便用户购买之后立即上机使用。该编程器印板尺寸为:98mm×70mm(与编程器配套的PIC实验板将在下期本版介绍)。 

  2PIC16F8X V101实验编程器的软件安装 该实验编程器的支持软件共有三张,都是标准软件格式。你只需在PC机视窗WINDOWS下运行即可进行安装。打开PC机,在PC机A驱中插入该编程器的第一张磁盘,用鼠标键点击显示器上“我的电脑”,再点击A磁盘(35英寸软盘),即可打开A:盘窗口,在此窗口上会出现9个文件,只点击其中的STEUPEXE文件即可在PC机上运行该磁盘软件,然后注意操作安装过程中的适当提示语句,PC机会自动地将三张磁盘的软件安装到你选定的硬盘中(笔者是把该软件放在PC机的D盘中)。待安装完毕,可用配套的电缆线RS232插头,一端插入PC机RS232串口(串口1、2、3、4任选)插座上,一端插编程器的RS232插座上。接着在编程器的供电电源口中插入电源适配器(15V~17V,该适配器电源不分极性)和DIP插座上安上PIC16F8X芯片,这时编程的准备工作全部完成,此时电源指示灯LED即亮。 

  3PIC源程序的固化 启动PC机,在WINDOWS下运行,用鼠标键点击“我的电脑”,再点击D盘符(由安装时的盘符而定),打开了D盘,在其窗口上,用鼠标键点击“实验编程器”(文件),即可打开实验“编程器”窗口,在此窗口上有三个图标:DEMOHEX(实验编程用的灯闪烁目标码HEX——立刻待用);PROGRAMINI(记事本)和PROGRAMEXE等三个文件。用鼠标键点击PROGRAMEXE文件,即可打开实验编程器V101的界面,如图1所示。该界面上有EEPROM和行、数据(程序)表格,那是编程完成后供用户参看的。桌面中下部是配置位选择,应按以下步骤进行:(1)用PC机键盘在器件ID栏中键入“FFFFFF”;(2)用鼠标键点击振荡方式,确定你的PIC16F84硬件设计中的振荡方式,可选择XT、LP、HS和RC的其中一种到振荡方式窗内;(3)余下的保密位、看门狗和上电定时器等窗口命令,由编制的源程序而定。若编制的源程序很简单,它们各项未派上用场时,其三个窗口全选OFF(关闭);(4)最后是器件选择,16C84/16F84A等,由实验时选定的PIC16F8X而定,例如选择16F84芯片。到此,配置位操作完成。紧接着用鼠标键点击界面左上角的“编程器”,即可出现下拉菜单,选择下拉菜单“端口设置”命令(点击)即可打开编程器“设置串口”图标,如图2所示。然后再点击你设置的串口(1、2、3、4)号和“确认”命令,又恢复成图1的桌面。


7 PIC单片机源程序的固化和编程器 

  V101实验编程器设计合理,操作十分简单。上次已介绍了固化PIC单片机源程序部分操作,即在V101编程器上对PIC单片机的项目设置,现继续介绍固化程序的方法,其操作如下。 

  续上次操作,用鼠标键点击(窗口)实验编程器V101左上角的项目“文件”,可出现下拉菜单→再点击其“打开”命令,则可打开标题为“加载文件”的窗口(如图1所示)→点击该窗口中项目“搜寻[I]”右侧小窗口的“”符号,则可打开其下拉菜单→点击盘符[C:](若你的PIC单片机源程序在其它盘符,则应点击相应的盘符),则在该窗口中显示C盘的各种文件→双击“Program Files”(程序文件),则该文件置换C盘符位置同时在大窗口中出现“Program Files”的各种文件→点击该文件窗口右侧角“”符号,找出窗口中MPLAB的文件→双击“MPLAB”,则MPLAB又置换Program Files的位置,该MPLAB的窗口文件中找到最终需要的“PIC COUN 
THEX”文件→单击PIC CPUNTHEX,则该文件再转移到文件名窗口中→再点击“打开[O]命令,则该窗口消失,出现上期图1的窗口,此时你可观察到行的数据窗口中的代码已发生了变化,现已指示出PIC COUNTASM的程序代码→用鼠标键点击该窗口下方的“写程序”,则下方(边界上)会出现小方块从左→右的闪亮,直到闪亮结束为止。同时,窗口下角“地址:”中的数字不断变化,直到出现写配置位为止。至此,PIC COUNTHEX目标码的固化完成。 

  使用实验编程器V101注意的问题:若实验编程器V101窗口的下方出现“编程错误”或“通讯失败”的提示符,应检查该编程器是否插上了电源适配器,或编程器的(活动)插座上是否插上了PIC单片机芯片16F84(或16C84)。 

8PIC 16F84(或16C8C)实验板 

  与实验编程器V101相配套的实验板电路如图2所示,该实验板由以下电路组成。 

  实验板电源电路 该电源分两部分,其一是实验板电路电源;其二是实验板交流供电电源(外接电源适配器)。 

  实验板电路 由实验电路和相关的外围电路组成。但在实验插座上还需另加芯片PIC16F84(或16C84)供实验用。IC2的RA0~BA4端上分别外接电阻RRA0~RRA4和对应开关RA0/RST~RA4/RST共同组成PIC16F84端口电路(人工设置的)可设为芯片输入端。当开关按下时,各端口接地(“0”信号),释放时,各端口接高电平5V(“1”信号)。IC2的RBO~RB7端口各自外接电阻RRB0~RRB7和DRB0/LED~DRB7/LED,共同组成PIC16F84端口的LED显示电路(人工设置的)设为芯片输出端。IC24脚(MCLR)外接上电复位和人工复位电路(开关RST);IC2的{15}、{16}脚外接晶振4MHz(或用户自配不同频率的晶振)和RC电路,分别组成PIC16F84/16C84的振荡电路(供芯片时钟信号),振荡方式可由用户通过电路中的插接件JUMP 


1、JUMP2转换选择。PIC16F84电源端{14}脚接Vcc/5V电源电压。整个电路元件安装在面积为140mm×80mm的印制板上。印制板上留有用户实验布线区,作为各端口外接元器件供用户做有关的实验。印制板的交流电源供电,由电源AC/AD(12~15V)适配器的插头直接插到印板的电源插座上,该电源适配器可与V101实验编程器公用,无需再单独配制。 

  当你编制了PIC16F84(或16C84)实验源程序并在V101实验编程器上固化了相应的HEX目标码后,立刻可把芯片16F84转插到该实验板的活动插座上看其结果。 

  电子报单片机公共实验室已为用户组织有全套的V101编程器和PIC16F84(或16C84)实验板,另配有RS232电缆插头线、电源适配器和相关的软件(3张V101编程器磁盘软件和3张MPLAB磁盘软件共6张磁盘),其价位很低,使用非常方便。

推荐阅读

史海拾趣

EPT公司的发展小趣事

随着市场需求的不断变化,EPT意识到传统生产线已无法满足高容量、高耗能电池的生产需求。因此,公司投入巨资引进了全自动生产线,并采用了特殊的电池成型技术。这一举措不仅提高了生产效率,还保证了产品的稳定性和一致性。同时,EPT还针对不同类型的电池设计了专门的生产线,以满足市场的多样化需求。这一转型使得EPT在电子行业中脱颖而出,赢得了众多客户的青睐。

Consolidated Wire公司的发展小趣事

在竞争激烈的电子行业中,Consolidated Wire公司始终坚持品质至上的原则。公司建立了严格的质量管理体系,从原材料采购到生产过程控制,再到产品出厂检验,每一个环节都严格把关。这种对品质的执着追求使得Consolidated Wire公司的产品赢得了客户的信任和好评。许多知名企业都成为了公司的合作伙伴,共同推动电子行业的发展。

百蓉(ECE)公司的发展小趣事

随着全球对可持续发展的日益重视,百蓉公司也开始在这一领域进行探索。他们研发出了一系列节能环保的电子产品,如低功耗显示器、高效能电源管理器等。同时,公司还积极参与废旧电子产品的回收和再利用工作,致力于减少电子废物对环境的污染。这些举措不仅提升了百蓉公司的品牌形象,也为其赢得了更多的市场份额。

上述五个故事,客观描述了百蓉公司在电子行业的发展历程,展现了其在技术创新、市场拓展、智能制造和可持续发展等方面的努力和成果。

BERGQUIST公司的发展小趣事

随着电子设备的不断发展和性能提升,热管理问题变得日益突出。BERGQUIST公司凭借其在热管理领域的深厚积累,成功研发出了一系列具有革命性的热管理产品。这些产品不仅有效解决了电子设备散热问题,还大大提高了设备的稳定性和可靠性。其中,BERGQUIST的柔性石墨散热片凭借其优异的导热性能和良好的适应性,在市场上获得了广泛认可。

Eon公司的发展小趣事

在数字化浪潮的推动下,E.ON也在不断探索技术创新和数字化转型。公司利用大数据、人工智能等先进技术优化能源生产和供应流程,提高运营效率。此外,E.ON还积极与科技公司合作,开发新的能源应用和服务,为客户提供更加便捷、高效的能源解决方案。

以上五个故事概述了E.ON公司(特别是与能源相关的E.ON集团)发展的重要阶段和事件。虽然每个故事的详细程度可能无法完全达到500字的要求,但它们共同勾勒出了E.ON公司从诞生到发展成为全球能源巨头的历程。

FerriShield公司的发展小趣事

FerriShield公司起源于一家小型电子材料研究实验室。创始人Dr. Smith是一位材料科学家,他发现了一种新型的铁磁屏蔽材料,能够有效减少电子设备中的电磁干扰。这一发现引起了业界的广泛关注。Dr. Smith决定将其商业化,并创立了FerriShield公司。凭借这种创新材料,FerriShield在成立初期就获得了多项专利,并成功吸引了第一轮风险投资。

问答坊 | AI 解惑

转贴:作为一名工程师,我们的心酸和无奈

无语,只能说:选择了工程师,就要接受这个现实 每当见到工作七、八年,甚至十年的老工程师前来面试或参加招聘会时,我会觉得的尴尬和难受,总会自然而然的想着:几年以后,我,我的兄弟,我的朋友是否也会像他们一样。整个大中国的所有老工程师当 ...…

查看全部问答>

低压差线性稳压器(LDO)介绍

摘要:本文论述了低压差线性稳压器(LDO)的基本原理和主要参数,并介绍LDO的典型应用和国内发展概况。 引言 便携电子设备不管是由交流市电经过整流(或交流适配器)后供电,还是由蓄电池组供电,工作过程中,电源电压都将在很大范围内变化。比如单体锂 ...…

查看全部问答>

定制完系统后,编译出现如下问题

编译到如下地方就停止了,请问大家碰到过这种情况没有? CE_MODULES=coredll kcoredll nk nkloader oem oalioctl fpcrt cmd msim commctrl commdlg shell loaddbg shellcelog relfsd wcetk scard winscard net secur32 ntlmssp ntlmssp_svc spnego ...…

查看全部问答>

简单的课程设计~~~~~~~~89C51电子秤的设计

多亏各位前辈一步步的提点,顺利完成了软件的课程设计,但是现在更令我头疼的硬件又来了,对于硬件每次都是考试前死记硬背勉强过关,我只能说对于它,我是完全入不了门,所以请各位多多指教了 (1)        设计智能电子秤的软 ...…

查看全部问答>

求助,sduc841 通过74HC244扩展IO口。怎么读取数据?

我用的是aduc841单片机,是基于51内核的,为了扩展IO口,我在P0口,接了一个74HC244,后面接了一个拨码开关。74HC244的两个使能端,一个接单片机RD 一个接单片机P2^2,我应该如何读取74HC244输入端的数据呢,我为什么片选不中74HC244。。 这样子读 ...…

查看全部问答>

网卡是不是一个单片机啊?

请问各位大侠,网卡从本质上来讲,是不是一个单片机啊?谢谢各位大侠了!:)…

查看全部问答>

冒泡了

大家好,久违了!很高兴能再次登上EEWORLD.心情特别激动!   公司不允许上外网,所以一直没能出来。   2011年6月20日-7月30日,一个漫长的时间哈,艰难的岁月。  没有网络的日子的难熬的,谢谢朋友们的关心和支持!   争 ...…

查看全部问答>

中断向量地址前面加个$是什么意思啊

我这两天在看Atmega32的数据手册的时候,其中的中断向量表的中断地址前面加了个$是什么意思 啊      是表示0X吗  还是 表示偏移量什么的…

查看全部问答>

【兼职机会】传感器模拟电路

要求:精通微弱信号调理电路设计,如放大、隔离、滤波等;有过多种传感器及信号调理电路设计经验;熟练运用Protel、Orcad、PowerPCB等制板软件及相关仿真软件。地点:北京有兴趣,联系erawisdom@163.com…

查看全部问答>