Pic 单片机为最常用单片机之一,许多程序均基于 pic 单片机进行开发。因此,熟练 pic 单片机编程尤为重要。为保证大家能准确、熟练掌握 pic 单片机的使用,本文特带来 pic 单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中予以讲解。如果你对本文即将讲解的内容充满兴趣,不妨继续往下阅读哦。
一、pic 的指令系统
pic8 位单片机共有三个级别,有相对应的指令集。基本级 pic 系列芯片共有指令 33 条,每条指令是 12 位字长;中级 pic 系列芯片共有指令 35 条,每条指令是 14 位字长;高级 pic 系列芯片共有指令 58 条,每条指令是 16 位字长。其指令向下兼容。
二、pic 汇编语言指令格式
pic 系列微控制器汇编语言指令与 MCS-51 系列单片机汇编语言一样,每条汇编语言指令由 4 个部分组成,其书写格式如下:
标号 操作码助记符 操作数 1,操作数 2;注释
指令格式说明如下:指令的 4 个部分之间由空格作隔离符,空格可以是 1 格或多格,以保证交叉汇编时,PC 机能识别指令。
1. 标号
与 MCS-51 系列单片机功能相同,标号代表指令的符号地址。在程序汇编时,已赋以指令存储器地址的具体数值。汇编语言中采用符号地址(即标号)是便于查看、修改,尤其是便于指令转移地址的表示。标号是指令格式中的可选项,只有在被其它语句引用时才需派上标号。在无标号的情况下,指令助记符前面必须保留一个或一个以上的空格再写指令助记符。指令助记符不能占用标号的位置,否则该助记符会被汇编程序作标号误处理。
书写标号时,规定第一字符必须是字母或半角下划线“—”,它后面可以跟英文和数字字符、冒号(:)制符表等,并可任意组合。再有标号不能用操作码助记符和寄存器的代号表示。标号也可以单独占一行。
2. 操作码助记符
该字段是指令的必选项。该项可以是指令助记符,也可以由伪指令及宏命令组成,其作用是在交叉汇编时,“指令操作码助记符”与“操作码表”进行逐一比较,找出其相应的机器码一一代之。
3. 操作数
由操作数的数据值或以符号表示的数据或地址值组成。若操作数有两个,则两个操作数之间用逗号(,)分开。当操作数是常数时,常数可以是二进制、八进制、十进制或十六进制数。还可以是被定义过的标号、字符串和 ASCⅡ码等。具体表示时,规定在二进制数前冠以字母“B”,例如 B10011100;八进制数前冠以字母“O”,例如 O257;十进制数前冠以字母“D”,例如 D122;十六进制数前冠以“H”,例如 H2F。在这里 PIC8 位单片机默认进制是十六进制,在十六进制数之前加上 Ox,如 H2F 可以写成 Ox2F。
指令的操作数项也是可选项。
PIC 系列与 MCS-51 系列 8 位单片机一样,存在寻址方法,即操作数的来源或去向问题。因 PIC 系列微控制器采用了精简指令集(RISC)结构体系,其寻址方式和指令都既少而又简单。其寻址方式根据操作数来源的不同,可分为立即数寻址、直接寻址、寄存器间接寻址和位寻址四种。所以 PIC 系列单片机指令中的操作数常常出现有关寄存器符号。有关的寻址实例,均可在本文的后面找到。
4. 注释
用来对程序作些说明,便于人们阅读程序。注释开始之前用分号(;)与其它部分相隔。当汇编程序检测到分号时,其后面的字符不再处理。值得注意:在用到子程序时应说明程序的入口条件、出口条件以及该程序应完成的功能和作用。
以上便是小编此次带来的“pic 单片机”的相关内容,通过本文,希望大家对 pic 单片机的汇编语言的使用具备一个初步的认识。在后期文章中,小编将为大家带来本文的下篇,如果大家对汇编内容存在一定兴趣,请一定要关注哦。
关键字:pic 单片机 汇编语言
引用地址:
pic单片机汇编语言讲解(上)
推荐阅读最新更新时间:2024-11-05 18:37
英飞凌发布支持IO-Link V1.1标准的通信系统的微控制器开发套件
英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)在2010年SPS/IPC/DRIVES展会上发布了可以支持IO-Link V1.1标准的、基于英飞凌16位XE166和8位XC800微控制器的设计评估套件,基于高实时性XE166和低成本XC800微控制器,可支持最多8个带FIFO缓冲的IO-Link通道。与工业自动化领域经验丰富的合作伙伴携手合作开发的这个IO-Link评估套件,可使设备制造商轻松评估基于IO-Link的完整主机从设备系统的功能。 IO-Link是一种标准化点对点通信标准,可简化工厂自动化系统中传感器和执行器的集成度。该系统为终端用户带来了诸多益处,包括更简易、更便宜的电缆连接,远
[单片机]
利用单片机以及24064液晶制作简单的示波器
程序时网上看到的,我刚好也用到这里边的一些子函数,觉得还不错,拿出来给大家参考,希望对和我一样的朋友有所帮助 #include iom16v.h #include macros.h #define BusyCheck (PIND&0x40) //Busy,PD6,忙标志 #define CS PORTD &= (~0x20) //_CS,PD5,片选 #define CNS PORTD |= 0x20 #define DisplayRegister
[单片机]
基于单片机的音频信号分析仪的设计
目前,大多数音频信号处理仪不但体积大而且价格贵,在一些特殊方面难以普及使用,而嵌入式系统分析仪具有小巧可靠的特点,所以开发基于特殊功能单片机的音频分析仪器是语音识别的基础,具有很好的现实意义。信号分析原理是将信号从时间域转换成频率域,使原始信号中不明显特性变得明显,便于分析处理。对于音频信号来说,其主要特征参数为幅度谱、功率谱。该音频信号分析仪的工作过程为:对音频信号限幅放大、模数转换、快速傅里叶变换(FFT,时域到频域的转换)、特征值提取;从到音频信号的幅度谱,进而得到音频信号的功率谱。 1 硬件设计 “智能家居”(SmartHome)也称智能住宅。家居网络智能控制系统就是利用先进的计算机技术、通讯技术和嵌入式技
[单片机]
51单片机-LED部分(2)
8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。 C++ Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #include #include #define uchar unsigned char uchar x, temp; sbit buzzer = P2 ^ 3; void delayms(uchar z); void main() { temp = 0xfe; while(1) {
[单片机]
单片机在微波功率控制技术中的应用方案
1 引言 微波以它的独特的功能开拓运用领域的新技术,其中包括微波通信,微波测量,微波加热等新技术。微波能产生于微波源。它是由产生微波能的心脏——微波管和为微波管提供必要工作条件的电源组成。微波作为一种新的能量传递方式,在电子电气行业中发展很快,其中大功率微波源常用于加热及无极光灯的激励源,为了更好地满足应用的需要,经常需要功率控制。为达到无极紫外灯在微波的激发作用下,能够产生连续可变的光源,并且能够较好地克服技术性与经济性的矛盾,提高性价比,本文论述单片机微波功率控制技术。 2 芯片简介 系统使用的pic16f873,采用静态设计技术、高性能的哈佛结构cpu和risc指令集,实现了低功耗和宽工作电压范围,提高了cpu的工作速
[单片机]
Microchip发布多款应用于当今主流嵌入式设计的PIC®和AVR®单片机产品
Microchip发布多款应用于当今主流嵌入式设计的PIC®和AVR®单片机产品 Microchip推出 5个新产品 系列和 60多款新器件 ,进一步丰富 8位PIC®和AVR®单片机 产品阵容 在2022年,随着智能手机、自动驾驶汽车和5G无线连接主导嵌入式设计市场,Microchip的8位PIC®和AVR®单片机(MCU)系列市场份额不断扩大。在过去50年里,8位MCU市场一直在稳步增长,Microchip每年的销量相当于西半球人手一件。为了支持持续的增长趋势,Microchip Technology Inc.(美国微芯科技公司)今日宣布推出5个新产品系列和60多款新独立器件,为嵌入式设计人员提供最常见问题的简单解决
[嵌入式]
PIC的读修改写操作
何谓读-修改-写,导致的问题及其解决之道: 只要PICmicro的命令,所处理的FILE (暂存器,内存,和I/O的统称),其最终的值,和命令处理前的值有关,那么,这种命令便是所谓的读-修改-写命令。因为这类命令的操作,可以再细分为三个小步骤,即是读(READ),修改(MODIFY),接著才是写(WRITE)。 如:ADDWF,DECF,IORWF,XORWF,BSF,BCF,‥‥等等皆是。 在使用这类命令的时候,如果所处理的FILE是I/O, 就必须要特别小心。因为,假设任务电压为5V;而您在PORTB的8支脚,没有串接电阻,分别接了8颗二极管(也许是LED)到地。如果,您在先前下了 BSF PORTB,0 这条命令,使得PO
[单片机]
C8051 F12X中多bank的分区跳转处理
在8051核单片机庞大的家族中,C8051F系列作为其中的后起之秀,是目前功能最全、速度最快的8051衍生单片机之一,正得到越来越广泛的应用。它集成了嵌入式系统的许多先进技术,有丰富的模拟和数字资源.是一个完全意义上的SoC产品。 C805IFl2X作为该系列中的高端部分,具有最快100MIPS的峰值速度,集成了最多的片上资源。其128 KB的片上Flash和8 KB的片上RAM足以满足绝大多数应用的需求。使用C8051F12X,只需外加为数不多的驱动和接口,就可构成较大型的完整系统。只是其中128 KB的Flash存储器不可避免地要处理bank分区问题。 幸运的是Keil C51开发环境对C8051F系列有良好的支持,包括一般的跨
[应用]