返回首页
当前位置: 主页 > 单片机学习 > PIC单片机 >

PIC系列8位单片机源程序详解

时间:2009-07-02 11:12来源:单片机信息网 作者:admin 点击:
PIC系列单片机的源程序是指PIC的助记符指令编写的程序(汇编语言程序)。这里将对PIC源程序的格式要求和其源程序的建立或书写作简要的介绍。 一般来说对PIC的源程序格式并没有要求统一的编
  

PIC系列单片机的源程序是指PIC的助记符指令编写的程序(汇编语言程序)。这里将对PIC源程序的格式要求和其源程序的建立或书写作简要的介绍。
一般来说对PIC的源程序格式并没有要求统一的编写形式,用户可以根据习惯来编写,当然编写时应遵守汇编的一些规范。下面以PIC16F84芯片点亮一支发光二极管的汇编程序实例,介绍一种源程序编写的方法(格式),以供实际应用时参考。

         源程序清单
1.File TURNON.ASM
2.Assembly code for PIC16F84 microcontroller
3.Turns on an LED connected to B0
4.Uses RC oscillator,about 100kHz
5.CPU configuration
6.(it’s a 16F84,RC oscillator.
7.watchdog timer off,power-up timer on)
8.processor 16F84
9.include <p16F84.inc>
10._config_RC_OSC&_WDT_OFF&_PWRTE_ON
11.Program
12.org 0;start at address 0
13.At startup,all ports are inputs.
14.Set Port B to all outputs
15.movlw B‘00000000’;w=binary 00000000
16.tris Portb     ;copy w to port B control reg
17.Put a 1 in the lowest bit of port B.
18.movlw B‘00000001’;w=binary 00000001
19.movwf portb    ;copy w to port B itself
20.Stop by going into an endless loop
21.fin:goto fin
22.end ;program ends here
现对源程序清单逐行加以说明。
第1行为文件(File)名,这里取名TURNON.ASM。TURNON意指一个接通(即接通LED)程序。ASM是源程序的扩展名。
第2行说明是由适用于PIC16F84微控制器的汇编码编写的源程序。
第3行说明程序用途是接通PIC16F84 PORTB的B0位LED。
第4行说明由RC振荡器供给时钟,频率约为100kHz。
第5、6、7行说明对16F84 CPU的结构设置(用RC振荡器,看门狗定时器即watchdog timer关,上电power-up定时器开,关于16F84的结构设置,后面将详谈)。
第8、9、10行为伪指令。这是用来向汇编程序提供有关如何完成汇编的控制命令信息,它既是汇编过程的控制指令,也是汇编程序的操作指令。在这里8、 9、10行还向汇编程序说明,单片机用的是16F84,用RC振荡器、看门狗定时器关断不用,但上电定时器接通使用。对照5、6行,可见二者内容相同,但一个是注释,专门为用户说明,另一个是伪指令,是为PC机的汇编程序提供命令信息。
第11行又是注释,说明程序主体由此开始。
第12行说明程序存放在由地址0开始的16F84单片机中的程序存贮器中,也是一条伪指令。
第13、14两行为注释,说明后续的一段指令(两句)的作用,即在启动时,所有端口为输入,随即将B口设定为全输出(即各位均为输出)。
第15行是汇编语言编写的第一条指令,即对二进制(B)数“00000000”存入工作寄存器W。
第16行将W寄存器的内容(即00000000)传送到B口控制寄存器,使B口成为输出口。15、16行均带有注释。  第17行为注释,说明下面的二条指令是使B口的最低位为1。
第18行的指令将二进制数00000001送入工作寄存器W,第19行指令则将W寄存器的内容复制到B口,则B口的最低位B0为高电平,其余各位则为低电平,使接到B0位的LED发光。
第20行又是注释。说明下面的指令将使B0位为高的状态继续下去。
第21行的指令为无限循环语句,维持B1口输出为高不变。
第22行是伪指令END,表明程序到此结束。
将清单所列程序在PC机上用一种名为MPASM的汇编软件进行汇编后,如无错误,即可获得扩展名为.HEX的相应机器码文件,借助编程器将该文件的相应内容烧入PIC16F84的程序存储器内,并将编程好的芯片插入前述的电路板中,再加上电源,即可点亮16F84 B0位的LED。

顶一下
(1)
100%
踩一下
(0)
0%
双击复制本文网址,发送给您QQ/MSN上的朋友:
------分隔线----------------------------
此页的访问者还关注了以下资讯:
  • ·网络单片机PIC18F97J60的开发与应用
    ·PIC中档单片机的中断总结
    ·MPASM的伪指令
    ·PIC单片机应用问答
    ·PIC单片机在线调试中的一些问题
    ·PIC单片机引脚中断程序的设计技巧
    ·PIC 单片机软件编程技巧
    ·PIC16C5X 单片机睡眠状态的退出方法
    ·PIC 中BANK和PAGE的分析
    ·PIC单片机开发的几个问题
    ·PIC 单片机选择存储体0或1的方法
    ·PIC 单片机晶振设计
    ·PIC 8位单片机芯片引脚功能
    ·PIC系列8位单片机源程序详解
    ·PIC单片机的C语言使用(一)
    ·编译通不过错误总汇
    ·PIC系列8位单片机源程序的组成
    ·PIC系列单片机数据存储器的特点和功能
    ·PIC系列单片机数据存储器的特点和功能
    ·浅谈PIC8位单片机中的RAM和汇编程序的关系
    ·PIC8位单片机汇编语言常用指令的识读(上
    ·PIC8位单片机汇编语言常用指令的识读(中
    ·PIC 8位单片机16F8X系列简介
    ·PIC系列单片机的伪指令
    ·选择PIC单片机存储体0或1的方法
    ·Windows下PIC8位单片机源程序汇编和固化(一
    ·Windows下PIC 8位单片机源程序汇编和固化
    ·Windows下PIC 8位单片机源程序汇编和固化
    ·Windows下PIC 8位单片机源程序汇编和固化
    ·Windows下PIC 8位单片机源程序汇编和固化
    ·Windows下PIC 8位单片机源程序汇编和固化
    ·Wineows下PIC 8位单片机源程序汇编和固化
    ·PIC单片机的C语言使用
    ·小议编写PIC单片机源程序应注意的问题
    ·PIC系列单片机的振荡器配置方法
    ·PIC 8位单片机的电源和时钟
    ·PIC单片机16F84的内部硬件资源(八)
    ·PIC单片机16F84的内部硬件资源(七)
    ·PIC CCS C语言程序范例
    ·PIC单片机16F84的内部硬件资源(六)
  • 您可能还感兴趣的内容:
  • 义隆、合泰、松翰、feeling、EMC、holtek、sonix各大品牌IC、单片机、芯片底价销售!(义隆大陆区总代理商)
  • 发表评论 查看所有评论
    .请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论.
    .用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任.
    .本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据·
    .请客观的评价您所看到的资讯,提倡就事论事.杜绝漫骂和人身攻击等不文明行为!
    评价:
    表情:
    用户名: 密码: 验证码:
    单片机销售业务热线
      手机:13684994966
    本站赞助商信息
    编辑推荐信息
    论坛最新讨论资讯
    本站赞助商链接