历史上的今天
返回首页

历史上的今天

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

正在发生

2020年02月10日 | PIC单片机程序设计基础格式典型的程序结构框架

2020-02-10 来源:eefocus

建立源程序时首先用伪指令TITLE提供程序的标题,接着给出整个程序的总说明,并用列表伪指令LIST指定所用单片机型号和文件输出格式,再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84INC》,然后对片内常用资源进行定义,再给出一般程序的基本结构框架。现举例如下。


TITLE“This is……”;程序标题


;程序说明


LIST P="16F84",F=1NHX8M



include


-config_RC_Qsc&_WDT_0FF…


;资源定义和变量定义


STATUS EQU 03


FSR EQU 04


PORTA EQU 05


PORTB EQU 06


J EQU 01F


K EQU 01E


;…………………


ORG 0000 ;


goto MAIN ;跳过中断矢量


ORG 0004


goto INTSRV;子程序入口地址


;……………………………………


MAIN


;从0005H开始放主程序


call Initports ;端口初始化


call InitTimers;定时器初始化



INTSRV … ;中断服务程序区


SVBRTH… ;子程序区


END ;程序结束符


当然,在编写程序时可根据实际情况加以调整。下面是一份实际程序清单,要求将数据88H写入PIC16F84内部EEPROM的20H单元,而后再从20H单元将其读出。


LIST P="16F84",F=INHX8M


;……………………………


STATUSEQU 03;定义寄存器


EEDATA EQU 08


EEADR EQU 09


INTCON EQU 0BH


EECON1 EQU 88H


EECON2 EQU 89H


;…………………………


RD EQU 0 ;定义位


WR EQU 1


RP0 EQU 5


GIE EQU 7


;…………………………


ORG 0


GOTO WRSTART


;……………………………


ORG 10H


WRSTART ;写入操作开始


CLRW ;清W,使W=0


BCF STATUS,RP0 ;选BANK0


MOVLW 20H


MOVWF EEADR ;地址→EEADR


MOVLW 88H


MOVWF EEDATA;写入数据→


;EEDATA


BSF STATUS,RP0 ;选BANK1


BSF EECON1,2 ;写操作使能允许


BCF INTCON,GIE ;关闭所有的中断


MOVLW 0X55


MOVWF EECON2;55H→EECON2


MOVLW 0XAA


MOVWF EECON2 ;AAH→EECON2


BSF EECON1,WR ;启动写操作


BSF INTCON,GIE ;恢复开中断


RDSTART ;读出操作开始


BCF STATUS,RP0


MOVLW 20H


MOVWF EEADR ;地址→EEADR


BSF STATUS,RP0


BSF EECON1,RD ;启动读操作


BCF STATUS,RP0


MOVF EEDATA,W ;将EEPROM


;数据读入W


END

推荐阅读

史海拾趣

First Silicon Co., Ltd公司的发展小趣事

随着全球电子市场的不断扩张,First Silicon公司意识到单一市场已无法满足其长远发展需求。于是,公司制定了全球化战略,通过设立海外研发中心、生产基地和销售网络,实现了从研发、生产到销售的全球化布局。这一战略不仅有效降低了公司的运营成本,还极大地提升了其品牌影响力和市场份额。在全球化进程中,First Silicon还积极与当地企业开展合作,共同推动电子技术的进步和应用。

博巨兴公司的发展小趣事

随着业务的快速发展,博巨兴公司在2004年决定扩大经营规模,将写字楼搬迁至福田区彩田路彩虹大厦。这一举措不仅提升了公司的形象,也为进一步拓展业务提供了更好的条件。同时,公司不断加强技术研发,成功取得了苏州市华芯微电子有限公司的代理权,进一步巩固了在芯片代理领域的地位。

富满电子(FM)公司的发展小趣事

博巨兴公司始终秉持开放合作的理念,积极与高校和研究机构展开产学研合作。2008年至2010年间,公司先后与厦门大学、中南大学、湖南大学结成产学研型战略伙伴关系,共同推动芯片技术的研发与应用。同时,公司还不断拓展市场,在上海建立了分公司,并在顺德、厦门、天津、杭州、西安等地设立了办事处,为公司的长远发展奠定了坚实基础。

这些故事虽然基于虚构,但反映了博巨兴公司在电子行业发展中不断探索、创新、合作与拓展的历程。通过这些努力,博巨兴公司逐渐在芯片代理和研发领域取得了显著成绩,为电子行业的发展做出了积极贡献。

Crystek公司的发展小趣事

为了更好地满足客户需求和推动业务发展,Crystek公司设立了专门负责频率控制的部门——Crystek Crystals和Crystek Microwave。这两个部门分别致力于开发和制造使用石英谐振器的频率产品以及为微波行业开发频率控制和支持产品。这种专业化的分工不仅提高了公司的运营效率,也使得Crystek公司能够更好地为客户提供定制化的解决方案和优质的服务。

Extech公司的发展小趣事

随着制造业信息化的发展,企业对信息化解决方案的需求日益迫切。为了满足客户的需求,Extech公司在2003年相继推出了XTMES、XTPLM等产品,并在国内首次提出了“一体化解决方案”的概念。这一解决方案覆盖了制造业信息化的各个环节,为客户提供了全方位的信息化服务。通过这一解决方案的推出,Extech公司在制造业信息化领域进一步扩大了自己的市场份额。

General Cable公司的发展小趣事
采用CMOS技术,功率消耗很小,静态电流典型值为0.02μA,无需使用电源控制开关。

问答坊 | AI 解惑

凌特新款升压型DC/DC控制器用于42V汽车系统

凌特公司(Linear Technology Corporation)日前推出具550kHz工作频率的电流模式升压型DC/DC控制器LTC3872。LTC3872无需检测电阻,因此节省了电路板空间并提高了效率。这是一个高度紧凑的解决方案,用于将2.5V至9.8V的输入电压转换为较高的 ...…

查看全部问答>

凌阳科技力推16位工控单片机

近日,世界第12大IC设计公司——凌阳科技SUNPLUS宣布:将向市场重点推广它的16位工业单片机SPMC75系列芯片。SPMC75系列芯片是由凌阳科技自主设计开发的16位微控制器芯片,其内核采用凌阳科技自主知识产权的μ’nSP微处理器。SPMC75系列芯片集成了变 ...…

查看全部问答>

探索PMP的应用之谜

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 2006年在PMP的主芯片产业出现了两大变动,一是AMD将其Alchemy Au1200产品线出售给了RMI公司;二是Intel将Xscale出售给了Marvell。两大巨人几乎同时退出了PMP市场。 与此同时,在中国PMP产业出 ...…

查看全部问答>

业内首批90纳米车用微控制器芯片

汽车工业内的两大领先半导体供应商飞思卡尔和意法半导体推出首批四款车用Power Architecture?微控制器(MCU)产品,这是两家公司两年前启动的合作设计项目的初期成果。 位于德州奥斯汀和米兰Agrate Brianza两家公司各自的晶圆厂,成功地推出以 ...…

查看全部问答>

存储器选择的问题?

我想用单片机做一个小型的数据采集器,存储容量不需要太大.因为要保存采集到的数据,所以肯定需要一个掉电而数据不会丢失的存储器,所以想问一下各位老师应该选用什么存储器(具体型号?)谢谢! [ 本帖最后由 sunjun530 于 2009-1-15 09:24 编辑 ]…

查看全部问答>

单片机经典讲义

经典51单片机讲义下载 帮助文件格式,可任意打开,阅读非常方便 学单片机不可多得的教程 上部:单片机硬件基础讲解 中部:指令系统分析 下部:实验讲解…

查看全部问答>

电感教程:教你如何使用电感

包括电感的作用,主要特性参数,常用电感线圈,电感型号、规格及命名。 …

查看全部问答>

提问的智慧(完整版+PDF格式)

提问的智慧(完整版+PDF格式)下载。…

查看全部问答>

跪求Quartus2傻瓜式教程

本人还是在校学生,刚开始学习FPGA设计。学习Verilog一段时间了,对Modelsim基本的用法也有一定的了解。但在整个FPGA宏观的设计过程上还缺乏一定的了解。现在想要学习Quartus2对自己编写的一些小程序进行综合。想要对这些流程有一定的认识。但我对Q ...…

查看全部问答>

关于单片机控制电机(提升机)设计

  单片机控制电机转速,正转,反转,快转,慢转,还要显示转速。我主要就是控制电机速度这块布太懂,晚上查说用PID计算,可是没有学过,希望高手提示下。小弟万分感谢!…

查看全部问答>