历史上的今天
返回首页

历史上的今天

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

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

2020-03-02 来源:eefocus

3 MPLAB中源程序文件被存入到指定的目录和装载 


  在PC机屏幕上,当用键盘键入并编辑了源程序(COUNTASM)之后,再用鼠标键打开File下拉菜单,选择Save(保存)命令,用鼠标键点击Save,即可打开图1(目录路径为C:PROGRA~1MPLAB)的窗口。在该窗口的File Name(文件名)栏中(标题——Save File As),选择好路径,用键盘输入文件名PIC COUNTASM(用户自定义名),再用鼠标键点击OK,即可将源程序文件以指定的文件名PIC COUNTASM存入到指定的目录中。这一过程通常称为对PIC单片机(微控制器)源程序(COUNTASM)的存盘。 

  在MPLAB集成开发环境下,在MPLAB的桌面上,用鼠标键点击File下拉菜单,在该菜单中,选择Open Source(打开源文件)命令,再用鼠标键点击OPEN SOURCE,又可打开图2的对话框(窗口),在此对话框中选择好目录路径(与前面相同)。在窗口的“列出文件类型栏”中,选择Source File(源文件),再用鼠标键多次点击文件名窗口右侧滚动槽上的箭头按钮(也可拖动槽上的滚动块),把已建立的源程序PIC COUNTASM转移到文件名的窗口中。然后用鼠标键点击源程序名PIC COUNTASM,则可把该文件名点击到文件名栏中。到此源程序装载完成,用鼠标键点击确定(OK),则可在PC机显示屏的MPLAB桌面上看到已选定路径和文件名(C:PROGRA~1MPLABPIC COUNT.ASM)的标题栏中再次出现源程序文件如图3所示。编程者即可确认源程序确已完成存盘和装载。 

  由上述介绍的PIC单片机在MPLAB集成开发软件中的源程序COUNTASM建立、编辑、存盘和装载等软件操作过程中可见,要在MPLAB中将源程序COUNTASM汇编,还需在PC机上进行多种操作,才有可能达到对源程序汇编目的(该装载步骤可以略去)。 

  为了使PIC单片机初学者快速掌握源程序汇编方法,笔者建议初学者应在PIC机上多动手操作,反复练习PIC单片机源程序的建立编辑—存盘—装载等汇编前期操作过程,以便在学习即将介绍的汇编方法时尽可能少出错误,增强学会PIC单片机源程序汇编的信心。为此笔者再推荐一种下面最简的PIC单片机试验源程序,以便初学者多次反复练习。 

  LIST     P=PIC16C84 
  #INCLUDE P16C84INC 
  ORG     0 
START 
  MOVLW   0x04 
  GOTO    START 
  END

4 在MPLAB中创建项目 

  项目管理程序(Project Manager)是MPLAB集成开发软件的重要组成部分。不创建项目就不能进行符号(源程序代码)汇编和调试,在整个项目管理中可进行以下操作:创建项目——把源代码文件加入到项目中——汇编源代码——编辑源代码——重建所有源文件——调试源代码等。 

  创建项目也是汇编源程序之前必要的准备工作,其操作过程如下:按照以上介绍的方法,在PC机上打开MPLAB集成开发软件的桌面,选择Project(项目)命令,用鼠标键点击菜单栏中的Project,在其下拉菜单中选择New Project(新项目)命令,并用鼠标键点击它,则可在MPLAB的桌面上打开New Project(新项目)的对话框,如图1所示。对话框的顶部是标题栏(新项目),在对话框的项目路径与名称(Project Path and Name)域内用键盘键入C:PROGRA~1MPLABPIC COUNT.PJT字符(窗口中其它项目内容可以不调整)。然后用鼠标键点击OK(确认)即可打开图2所示的Edit Project(编辑项目)的对话框。继续操作,再用鼠标键点击一次该图右边窗口中出现的文件名pic count.asm和中间位置的项目栏“<=Add”,即可把上述的文件名复制到project Files的栏目窗口中。又用鼠标键点击窗口中的OK,此时对新源程序pic count.asm的创建项目或编辑项目(Edit Project)就全部完成,如图3 所示。 

  在完成创建项目的操作步骤后,可在MPLAB的目录路径C:PROGRA~1MPLABPIC COUNT.PJT下生成三个文件:PIC COUNTPJT(项目文件)、PIC COUNTCFG(配置文件)和PIC COUNTASM(源程序文件)。

5 在MPLAB中PIC源程序的汇编 

  在PC机上应用MPLAB集成开发软件对源程序PIC COUNTASM汇编的准备工作经上述介绍的几次操作已完成,余下的操作即可立刻对指定的源程序进行汇编。读者将会看到,即将介绍的汇编操作十分简单。初学PIC单片机汇编源程序时,应熟练掌握已介绍的各种操作,即建立和编辑指定PIC单片机的源程序→存盘装载观察源程序→创建(源程序)项目→编辑(源程序)项目→进入对源程序PIC COUNTASM汇编。所以在完成创建项目和编辑项目的操作之后,紧接着用鼠标键单击project(项目)项,即可打开project的下拉菜单,在该下拉菜单下用鼠标键单击Make project(制作项目)命令,即可调用Windows版的MPASM对其源程序自动汇编。如果汇编正确,屏幕上将显示图1的信息框;如果汇编有错误,则屏幕上将显示图2的信息框。此时可打开其错误文件,观察其错误信息,再修改源程序。待修改源程序之后再重复操作源程序的存盘→创建(源程序)项目→编辑(源程序)项目→再汇编源程序,直到汇编正确为止。所以汇编PIC单片机的源程序可按图3的步骤进行。 

  到此,笔者以PIC COUNTASM(二进制计数器)源程序为例,说明了运用MPLAB集成开发软件汇编其源程序的主要操作过程。在完成源程序的汇编之后,你可在MPLAB的目录路径:C:PROGRA~1MPLAB下打开已生成的PIC COUNTASM(源程序)、PIC COUNTCFG(配置)、PIC COUNTCOD(符号信息与目标码)、PIC COUNTERR(错误)、PIC COUNTHEX(机器码,又称目标码)、PIC COUNTLST(列表)和PIC COUNTPJT(项目)等7个文件。这些文件在今后对源程序模拟调试和编程(烧录)都将分别派上用场。读者可以将上述7个文件在PC机上分别打开看看它们的一些代码和特点,尤其应该看看列表文件(LST)所提供的各种信息。 

  在这里,笔者再推荐一种简单的试验程序,可使初学者反复练习PIC源程序的汇编方法,并能在汇编完成之后用编程器对PIC单片机写入程序和用实验板进行实时实验,以达到直观的学习效果。 

  本实验程序是给PIC16F84单片机的B口送数,而B口上接有8 只发光二极管,只要给B口送不同的数,则B口上的发光二极管就会按指定的规律点亮,其实验程序如下: 

   LIST   P=PIC16F84 
    #INCLUDE P16F84INC 
   ORG    0 
START MOVLW 0    ;送0到W 
   BSF    STATUS,5 ;STATUS的D5位置1 
   MOVWF  TRISB   ;置B口为输出 
   BCF    STATUS,5 ;STATUS复位 
   MOVLW  0x81   ;二进制10000001送W 
   MOVWF  PORTB  ;B口的D7、D0上LED 
             ;亮,其余灭 
LOOP GOTO   LOOP  ;循环跳转 
    END 

  该源程序可以命名为PIC81ASM以便辨认(可自定义)。为此读者可以按下表改变MOVLW 0x?的值,达到使B口LED灯按下表规律点亮。 

  上述的源程序已在PC机上汇编通过,读者可以有意设置错误,如把上述源程序中的PORTB写成POTRB,此时,汇编出错,可以查看PIC81ERR文件是如何提示的,再改正之,即可汇编出正确的PIC81HEX文件进入编程器。

推荐阅读

史海拾趣

Aerovox Corporation公司的发展小趣事

Aerovox Corporation成立于1922年,是一家专业生产电容器和电子元件的公司。以下是关于Aerovox Corporation发展的五个相关故事:

  1. 成立与初期发展: Aerovox Corporation于1922年在美国马萨诸塞州波士顿成立,最初名为"Northeast Electric Company",后来改名为"Aerovox Corporation"。公司的创始人是W·H·J·Gilbert先生,他致力于开发高性能的电容器。起初,Aerovox主要生产电感线圈和电容器,为无线电和电视等新兴行业提供支持。

  2. 二战期间的发展: 在二战期间,Aerovox Corporation转向军事市场,为美国军方生产电容器和其他电子元件,支持军事通信和雷达系统的发展。这一时期,公司迅速扩张并积累了丰富的技术经验。

  3. 技术创新与扩张: 随着电子技术的不断发展,Aerovox Corporation不断进行技术创新,推出了一系列具有创新性的产品,包括高压电容器、电感器和电源解决方案。公司不仅在军事领域取得了成功,还在民用市场上获得了广泛的应用。

  4. 全球化和市场拓展: Aerovox Corporation通过建立全球销售网络和合作伙伴关系,拓展了国际市场。公司在美国以外的地区设立了生产基地和销售办事处,提供定制化的解决方案,满足客户不断增长的需求。

  5. 持续创新与领先地位: 如今,Aerovox Corporation仍然致力于持续创新,不断开发新的产品和解决方案,以满足不断变化的市场需求。公司在电力电子、医疗设备、工业自动化、交通运输等领域拥有广泛的应用,保持着行业领先地位。

这些故事展示了Aerovox Corporation作为一家具有悠久历史和丰富经验的电子公司,在不同时期和领域的持续发展和创新。

Hamamatsu公司的发展小趣事

Habia Cable公司电子行业发展的五个故事

故事一:聚四氟乙烯的先驱

Habia Cable的故事始于1941年,由Carl Herbert Jacobsson在瑞典斯德哥尔摩创立。起初,公司是一家聚合物制造商,专注于胶木部件的生产。然而,Jacobsson的远见卓识使Habia成为欧洲首批使用聚四氟乙烯(PTFE)的公司之一,并在1946年在美国推出了第一款商业聚四氟乙烯产品。这一创新不仅为Habia奠定了技术基础,也使其迅速在电线电缆领域崭露头角。随着时间的推移,Habia成为最早制造聚四氟乙烯电线和电缆的公司之一,这一技术突破为公司后续的发展奠定了坚实的基础。

故事二:国际扩张的征程

自1957年Habia制造其第一条电缆以来,公司便踏上了国际扩张的征途。1969年,Habia在荷兰布雷达开设了其第一家国际销售办公室,这标志着公司正式进入全球市场。随后,Habia在70年代至80年代经历了迅速的国际扩张,工厂和销售办事处相继在法国、德国、英国、西班牙、比利时和美国等地成立或收购。这一时期的快速扩展不仅增强了Habia在全球范围内的市场竞争力,也为其后续的发展积累了宝贵的经验和资源。

故事三:技术创新的引领

Habia Cable一直以来都是技术创新的引领者。在2000年,公司收购了德国Norderstedt的高温电线和电缆制造商Isotec Kabel GmbH,这一举措使德国成为Habia最大的市场,并为其在欧洲的进一步发展提供了强有力的支持。此外,Habia Cable还不断投资于新技术和新设备的研发,以满足市场对高性能电缆和线束的需求。例如,在2016年,Habia Cable投资独特设备制造含氟聚合物电线和电缆的长截面和大截面产品,以满足离岸部门等苛刻应用的需求。

故事四:亚洲市场的布局

随着全球化进程的加速,Habia Cable也开始将目光投向亚洲市场。2000年,Habia Cable在中国常州设立工厂,生产同轴电缆,这标志着公司正式进入亚洲市场。此后,Habia在亚洲的扩张步伐不断加快,不仅在中国建立了多个生产基地,还在韩国、香港和日本等地设立了销售办事处。这些举措不仅提升了Habia在亚洲市场的知名度,也为其在全球范围内的业务增长提供了新的动力。

故事五:定制解决方案的提供

Habia Cable一直致力于为客户提供定制化的解决方案。公司拥有一支知识渊博的销售团队和设计工程师团队,他们能够与客户紧密合作,根据客户的独特需求开发满足其要求的电缆和线束产品。Habia Cable的制造灵活性、低订单数量要求和短交货周期等特点使其在市场上具有很强的竞争力。无论是电信、核电、国防还是海洋和工业领域,Habia Cable都能为客户提供高质量、高性能的电缆和线束产品,满足其苛刻的应用需求。

FERYSTER公司的发展小趣事

在技术创新的同时,FERYSTER公司也非常注重市场拓展。公司管理层通过深入的市场调研,发现亚洲市场对于高性能电子产品有着巨大的需求。于是,他们制定了针对亚洲市场的营销策略,包括加强品牌宣传、与当地企业建立合作关系等。这些措施取得了显著成效,FERYSTER公司的产品在亚洲市场的销量迅速增长,为公司带来了丰厚的利润。

安碁科技(AKER)公司的发展小趣事

在电子行业快速发展的背景下,安碁科技始终坚持持续创新和客户导向的经营理念。公司不断投入研发资源,推出具有竞争力的新产品和解决方案,以满足客户不断变化的需求。同时,安碁科技也注重与客户的沟通和合作,深入了解客户的需求和反馈,不断优化产品和服务。这种以客户为中心的经营模式,使得安碁科技在市场上赢得了良好的声誉和口碑。

这五个故事只是安碁科技发展历程中的一部分,但它们充分展示了公司在电子行业中的崛起和发展。安碁科技凭借其卓越的技术实力、品质管理和创新能力,在激烈的市场竞争中脱颖而出,成为行业的佼佼者。未来,随着电子行业的不断发展和变化,安碁科技将继续保持创新和进取的精神,为客户和市场带来更多优质的产品和服务。

Boundary Devices公司的发展小趣事

随着技术的不断进步和市场的不断变化,Boundary Devices不断拓展其产品线,推出了包括开发板、OEM板和调制解调器等在内的多种产品。这些产品不仅满足了客户多样化的需求,也进一步提升了公司在行业中的竞争力。同时,公司注重创新,不断投入研发力量,推出了一系列具有自主知识产权的产品,为公司的长期发展注入了新的动力。

Diplohmatic A/S公司的发展小趣事

随着业务的不断扩展,Diplohmatic A/S公司意识到质量管理的重要性。公司投入大量资源,引进先进的质量管理体系和检测设备,对生产过程中的每一个环节进行严格把控。同时,公司还加强了员工的质量意识培训,确保每一位员工都能深刻理解并贯彻公司的质量方针。这些措施的实施,使得公司的产品质量得到了显著提升,赢得了客户的广泛赞誉。

问答坊 | AI 解惑

protel99se教程

学习PROTEL99se必备…

查看全部问答>

基于AT89S52单片机的LED点阵显示屏控制系统的设计.PDF

基于AT89S52单片机的LED点阵显示屏控制系统的设计.PDF…

查看全部问答>

2440开发板,液晶显示800*600问题

液晶显示问题。我买了快开发板,本来是1024*768分辨率的,根据网上资料,修改成800*600,但是整个WINDOWS界面只显示了屏幕的左上角,其他WINDOWS CE程序一切正常,不知道如何是好,希望各位能给电帮助。…

查看全部问答>

网络开发笔记6_伪动态网页

一 为什么说是伪动态     做网站的人知道动态网页常用的开发语是ASP.net、JSP、PHP。而这里我们是没法用上的,我们用的是cgi文件。   二 什么是CGI        Common Gate Interface(通用网关 ...…

查看全部问答>

STM8关于LIN总线的请教

大家好!      小弟现在遇到一个奇怪的问题。      硬件测试环境:板子是STM8S208,板子上有两个LIN接口,一个做主机,一个做从机,用一条串口线将两个口连接起来通信。       ...…

查看全部问答>

关于申请租借TI仿真器的问题

近几天一直在TI网站上瞎转悠,深为它的器件性能所引,在我提交的电源方案中(还没有完善)决定使用它的Piccolo CPU : _TMS320f28035,它可以由一块CPU担任所设想的从PFC到输出部分的、全部分的功率控制。     然而,搞这个没有个仿真器 ...…

查看全部问答>

如何使用 CCS 建一个 M3 的工程

如何使用 CCS 建一个 M3 的工程,一直在用 MDK,最近不得不熟悉 CCS ,不知道 CCS 要怎么建工程呢? 找到一个 PDF ,按照里边的步骤还是能编译,而且很慢,这样的工具怎么用呢? [ 本帖最后由 Study_Stellaris 于 2011-12-5 16:00 编辑 ]…

查看全部问答>

OMAPL138开发板无法连接上PC

在CCS3.3的开发环境下,拿TDS560仿真器连接omapl138的板子,在reset_TDS560USB_plus时出现如下错误:C:\\CCStudio_v3.3\\cc\\bin>dbgjtag -f brddat\\ccbrd0.dat -rv ------------------------------------------------------------------------ ...…

查看全部问答>

BeagleBone试用第一周 底板PCB--今天终于决定把板子拿去制了。到底如何不管他。

今天终于决定把板子拿去制了。到底如何不管他。 时间要紧。有错就改嘛。反正还是好同志。 希望大家支持,阿莫那里要求插孔都加大0.15MM 所以我的孔画的比较大。 有关硬件的资料: [ 本帖最后由 damiaa 于 2012-9-28 16:27 编辑 ...…

查看全部问答>

编译出错

Building configuration: project - Debug Updating build tree... Linking Error[e16]: Segment CSTACK (size: 0x32 align: 0x1) is too long for segment definition. At least 0x19 more bytes needed. The problem occurred while proces ...…

查看全部问答>