历史上的今天
今天是: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
上一篇:PIC单片机开发存在的几个问题
史海拾趣
|
ARM与Cygyin 为了在 Windows 下开发嵌入式操作系统应用程序,可以在 Windows 环境下装上 Cygwin 软件。 ARM开发论坛 Cygwin 是一个在 Windows 平台上运行的 Unix 模拟环境,是 Cygnus Solutions 公司开发的自由软件。它对于学习把握 Unix/Lin ...… 查看全部问答> |
|
6月份参加了比赛,拿了个三等奖,用STM32做的东西,等出差回去把所有东西开源出来,给大家一个参考 包括: 无线模块 红外通信 GPRS短信 屏幕驱动 vs1003驱动等等… 查看全部问答> |
|
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 ...… 查看全部问答> |
|
VC2005嵌入式利用cximage库打开jpg图象,在exe里面可以,完全相同的代码移植到ocx里面,这个ocx在wm5的pda里面注册不了,有人遇到类似的问 VC2005嵌入式利用cximage库打开jpg图象,在exe里面可以,完全相同的代码移植到ocx里面,这个ocx在wm5的pda里面注册不了,有人遇到类似的问题吗?… 查看全部问答> |




