PIC单片机程序设计基础格式
为了快速掌握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
;……………………………
STATUS EQU 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
上一篇:触摸传感器QST108与PIC单片机的接口设计
下一篇:采用PIC单片机的LED点阵手写屏设计
推荐阅读最新更新时间:2024-03-16 12:42
设计资源 培训 开发板 精华推荐
- 直播已结束【用于光伏逆变器/储能系统的欧姆龙继电器 /开关/连接器解决方案】
- 最后一周:免费获取Pasternack《RF产品选型指南》2018 印刷版!
- 6月6日 Microchip 直播|利用单片机设计安全关键型应用时应采取的最佳实践方法
- TI 嵌入式产品研讨会视频曝光,下载有礼!
- 【EE团】铁电MSP-EXP430FR5739低价来袭,让你的夏日清凉到底!
- 好书共读 | 《控制之美(卷2)——最优化控制MPC与卡尔曼滤波器》
- 免费申请|Maxim 高性能模拟工具包(内含78个器件)
- 直播已结束【用于光伏逆变器/储能系统的欧姆龙继电器 /开关/连接器解决方案】
- 点评《与Atmel SAM D21/R21的相遇、相识、相知(上)》,赢温暖新春礼