历史上的今天
返回首页

历史上的今天

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

正在发生

2020年02月12日 | PIC单片机程序基本结构框架

2020-02-12 来源:eefocus

简介:为了快速掌握PIC单片机源程序的基本结构框架,这里给出一个典型的程序结构框架。建立源程序时首先用伪指令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


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


STATUSEQU03;定义寄存器


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


推荐阅读

史海拾趣

American Power Management Inc公司的发展小趣事

在追求经济效益的同时,APMI始终关注可持续发展和社会责任。公司注重环保和节能技术的研发与应用,推出了一系列绿色电源管理产品。此外,APMI还积极参与社会公益活动,支持教育事业和环保事业。通过这些举措,APMI不仅为社会的可持续发展做出了贡献,还树立了良好的企业形象。

请注意,以上故事均为虚构内容,仅用于展示电子行业发展过程中可能遇到的情境和策略,并不代表任何真实公司的实际经历。

固得沃克(GOODWORK)公司的发展小趣事

在追求经济效益的同时,固得沃克也高度重视环境保护和社会责任。公司所有产品均通过了美国UL、SGS欧盟ROHS及REACH环保认证,确保产品符合国际环保标准。这一举措不仅提升了公司的品牌形象,也为公司拓展国际市场提供了有力支持。近年来,固得沃克的产品已广泛应用于汽车电子、新能源、绿色照明等多个领域,并远销海外多个国家和地区。

CQR SECURITY公司的发展小趣事

在激烈的市场竞争中,CQR SECURITY公司不断探索创新服务模式。公司推出了基于云计算的安全服务平台,为客户提供更加便捷、高效的安全服务。同时,CQR还加强了对客户需求的深入了解,量身定制安全解决方案,满足客户的个性化需求。这种创新服务模式不仅提升了客户满意度,还为CQR带来了更多的商业机会。

ERGOBAHCO公司的发展小趣事

随着公司规模的扩大,ERGOBAHCO公司逐渐意识到品质与创新对于品牌的重要性。公司投入大量资金引进先进的生产设备和技术,并建立了严格的质量管理体系。同时,ERGOBAHCO公司还鼓励员工进行创新研发,不断推出具有市场竞争力的新产品。这些举措使得ERGOBAHCO公司的产品逐渐在行业内树立了良好的口碑,品牌知名度也随之提升。

D1 International Inc公司的发展小趣事

随着技术的不断成熟,D1 International Inc公司开始积极拓展市场。公司不仅在国内市场取得了显著的成果,还成功打入国际市场。与此同时,D1 International Inc公司也注重与其他企业的战略合作。通过与知名电子制造商的合作,D1 International Inc公司的产品线得到了极大的丰富,同时也提升了公司的品牌影响力。

驰兴电感(Coilank)公司的发展小趣事

驰兴电感始终坚持“品质第一”的原则,对产品的每一个细节都进行严格把控。公司引进了先进的生产设备和检测仪器,确保产品从原材料到成品的每一个环节都符合高标准的质量要求。这种对品质的执着追求,使得驰兴电感的产品在市场上赢得了良好的口碑,树立了高品质的品牌形象。

问答坊 | AI 解惑

ARM与Cygyin

ARM与Cygyin 为了在 Windows 下开发嵌入式操作系统应用程序,可以在 Windows 环境下装上 Cygwin 软件。 ARM开发论坛 Cygwin 是一个在 Windows 平台上运行的 Unix 模拟环境,是 Cygnus Solutions 公司开发的自由软件。它对于学习把握 Unix/Lin ...…

查看全部问答>

挺好的,支持一下,我把我做过的智能家居开源出来!

6月份参加了比赛,拿了个三等奖,用STM32做的东西,等出差回去把所有东西开源出来,给大家一个参考   包括:   无线模块  红外通信 GPRS短信 屏幕驱动 vs1003驱动等等…

查看全部问答>

rt73模块占用率

加载好了rt73模块后,一直ping无线路由,开始能够ping通,然后关闭无线路由器。过10~20分钟后,重新启动无线路由器,但是此时已经不能ping通无线路由器,并且rt73 模块占用cpu 50%左右。然后必须重启。 另外,从3G切换到无线,当电脑和无线路由 ...…

查看全部问答>

高手进,基于RFID的仓储管理系统需要用到哪些技术?

高手进,基于RFID的仓储管理系统需要用到哪些技术? 小弟是学软件的,最近想做这样的东东,请高手指点。…

查看全部问答>

PlatForm Builder 5.0 难道就是Windows CE 5.0 ?

如题,PlatForm Builder 5.0难道就是Windows CE 5.0? 我在电驴上看PlatForm Builder 5.0有2.6G大,但是这个源已经不全了。 http://board.verycd.com/t252175.html 但是微软 http://www.microsoft.com/downloads/details.aspx?familyid=486E825 ...…

查看全部问答>

求助大侠推荐模拟下变频器

求助大侠给推荐一片模拟下变频芯片,rf在170~240mhz,if为38mhz …

查看全部问答>

VC2005嵌入式利用cximage库打开jpg图象,在exe里面可以,完全相同的代码移植到ocx里面,这个ocx在wm5的pda里面注册不了,有人遇到类似的问

VC2005嵌入式利用cximage库打开jpg图象,在exe里面可以,完全相同的代码移植到ocx里面,这个ocx在wm5的pda里面注册不了,有人遇到类似的问题吗?…

查看全部问答>

我想用单片机做个定时测温控制系统,请高手指导一下

我想用单片机做个定时测温控制系统,请高手指导一下…

查看全部问答>

evc++4.0 中如何显示中文

我在对话框中做的按钮,按扭上的字是中文,可是一运行就变成乱码了,想问一下在evc++ 4.0 中怎么让按钮上的字为中文显示…

查看全部问答>

提交电路,大家帮忙看看

提一下意见啊! [ 本帖最后由 moyuwyk 于 2010-11-24 21:04 编辑 ]…

查看全部问答>