PIC单片机程序设计基础格式

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

区块链身份认证最新应用:ID Chain
关于FPGA芯片结构,工作原理以及开发流程知识详解
国内手机市场竞争异常惨烈 联想Z5之后再无爆款
海康小间距LED冷屏系列带来更舒适的观看体验
超声波焊接机常见问题及解决方法
PIC单片机程序设计基础格式
DC电源模块的优秀品质体现在哪些重要的关键参数
存储芯片价格触底?明年有望全面复苏
蛋鸡养殖智能环控系统方案
为什么工业互联网更需要更资深的技术工程师?
多电压系统需要电源电压测序-Multiple Voltage
傅里叶变换时域平移怎么理解
模拟运算电路图及工作原理讲解(二)
定颖电子将设四个智慧工厂
数据通信方式有哪几种
数控车床如何编程
现已开始提供面向IBM Power8和Xilinx Virtex
3D打印的进程原理
里卡多支持支持Active Response项目 助力开发智能电网系统
关于数模混合板设计指南图解