—— —— —— 技术资料下载中心

>> PIC单片机原理 \

PIC单片机程序设计的基本格式
为了快速掌握PIC单片机源程序的基本结构，这里给出一个典型的程序结构框架。建立源程序时首先用伪指令TITLE提供程序的标题，接着给出整个程序的总说明，并用列表伪指令LIST指定所用单片机型号和文件输出格式，再利用INCLUDE伪指令读入MPASM中提供的定义文件如《P16F84INC》，然后对片内常用资源进行定义，再给出一般程序的基本结构框架。现举例如下。 TITLE“This is……”；程序标题 ；程序说明 LIST P=16F84，F=1NHX8M ；
include <p16F84.inc>
－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

成都　金韦

[ 返回 ]