单片机 入门教程 汇编语言(pic单片机汇编语言讲解)
单片机 入门教程 汇编语言(pic单片机汇编语言讲解)
看到这篇文章的朋友,想必大家对 pic 单片机均具备一定兴趣,或对 pic 单片机具备一定使用需求前文中,小编曾对 pic 单片机汇编语言进行过部分讲解本文中,将对 pic 单片机的清零等指令加以讲解,以帮助大家更好掌握 pic 单片机编程,我来为大家讲解一下关于单片机 入门教程 汇编语言?跟着小编一起来看一看吧!
单片机 入门教程 汇编语言
看到这篇文章的朋友,想必大家对 pic 单片机均具备一定兴趣,或对 pic 单片机具备一定使用需求。前文中,小编曾对 pic 单片机汇编语言进行过部分讲解。本文中,将对 pic 单片机的清零等指令加以讲解,以帮助大家更好掌握 pic 单片机编程。
一、清零指令
1. 寄存器清零指令
实例:CLRW;寄存器 W 被清零
说明:该条指令很简单,其中 W 为 PIC 单片机的工作寄存器,相当于 MCS-51系列单片机中的累加器 A,CLR 是英语 Clear 的缩写字母。
2. 看门狗定时器清零指令。
实例:CLRWDT;看门狗定时器清零(若已赋值,同时清预分频器)
说明:WDT 是英语 Watchdog Timer 的缩写字母。CLR 见上述说明。注意该两条指令无操作数。
3. 寄存器 f 清零指令。指令格式:CLRF f
实例:CLRF TMRO;对 TMRO 清零
说明:在 PIC 系列 8 位单片机中,常用符号 F(或 f)代表片内的各种寄程器和 F 的序号地址。F 取值按 PIC 系列不同型号而不同,一般为 Ox00~Ox1F/7F/FF。TMRO 代表定时器 / 计数器 TMRO,所以 CLRF 对寄程器清零,采用了直接寻址方式直接给出要访问的寄存器 TMRO。
4. 位清零指令。指令格式 BCF f,b
实例:BCF REG1,2;把寄存器 REG1 的 D2 位清零
说明:BCF 是英语 Bit Clear F 的缩写。指令格式中的 F,同上说明;符号 b 是表示 PIC 片内某个 8 位数据寄存器 F 的位号(或位地址),所以 b 的取值为 0~7 或 D0~D7。实例中 REG 是 Register 的缩写。实例中的 2 代表指令格式中的 b=2 即寄存器 REG1 的 D2 位。
通过上述四条清零指令格式和实例,可以说明,学习 PIC 系列 8 位单片机的指令时应首先了解指令的助记符意义(功能),再有就是它的表达方式。初学者没有必要死记指令,重要是理解和实践。
二、面向字节、常数与控制操作的指令
1. 传送立即数至工作寄存器 W 指令
指令格式:MOVLW k;k 表示常数、立即数和标号
说明:MOVLW 是 Move Literal to w 的缩写
实例:MOVL 0x1E;常数 30 送 W
2.I/O 口控制寄存器 TRIS 设置指令
指令格式;TRIS f
说明;TRIS f 是 Load TRIS Register 的缩写。其功能是把工作寄存器 W 的内容送入 I/O 口控制寄存器 f。当 W=0 时,置对应 I/O 口为输出;W=1,置 I/O 口为输入。
实例:MOVLW 0x00 ;把 00H 送入 W
TRIS RA ;置 PIC RA 口为输出
MOVLW 0xFF ;把 FFH 送入 W
TRIS RB ;置 PIC RB 口为输入
说明:这是 PIC 汇编语言中常用的几条指令,即设置某个 I/O 口(这里是 RA 口和 RB 口)为输入或输出的语句。可见,识读指令时,一应充分理解语句格式的功能,二应前后联系阅读。
3.W 寄存器内容送寄存器 f(W 内容保持不变)指令
指令格式:MOVWF f
说明:MOVWF 是 Move W to f 的缩写
实例:MOVLW 0x0B;送 0BH 送 W
MOVWF 6 ;送 W 内容到 RB 口
说明:第一条指令 0x0B(常数 11)送工作寄存器 W,第二条指令,把 W 内容常数 11 送到寄存器 F6 中,查表 F6 即为 RB 口,所以 PORT_B(B 口)=0BH=D11
4. 寄存器 f 传送指令
指令格式:MOVF f,d
说明:MOVF 是 Move f 的缩写。F 代表 PIC 中的某个寄存器。指令中的 d 规定:d=0 时,f 内容送 W;d=1 时,f 内容送寄存器。
实例:MOVF 6,0 ;RB 口内容送 W
MOVWF 8 ;RB 口内容送 f8
说明:第一条指令中的 6 代表寄存器 f=6,查寄存器表 f=6 为 RB 口;0 代表 d=0,代表选择的目标为寄存器 W。第二条指令中的 8 代表寄存器 f=8。所以两条指令结果是把 RB 口的内容送 f8。至于 f8 内容是多少?还应在汇编语言开始时附加指令,这里从略。
5. 空操作指令
指令格式:NOP
说明:NOP 是英语 No OperaTIon 的缩写。NOP 无操作数,所以称为空操作。执行 NOP 指令只使程序计数器 PC 加 1,所以占用一个机器周期。
实例:MOVLW 0xOF;送 OFH 到 W
MOVWF PORT_B ;W 内容写入 B 口
NOP ;空操作
MOVF PORT_B,W ;读操作
说明:该三条指令是一种对 I/O 口的 B 口连续操作的实例,其目的达到写入 B 口的内容要读出时,应保证写、读之间有个稳定时间,因此加入了空操作指令 NOP。
6. 无条件跳转指令
指令格式:GOTO k
说明:执行该条指令时,将指令转移到指定的地址(跳转)。指令中的 k,常与程序中的标号联系起来。
实例:见第 9 条指令中
7. 寄存器内容减 1,结果为零的间跳指令
指令格式:DECFSZ f,d
说明:DECFSZ 是英语 Decrement f,Skip of not 0 的缩写。符号 f,d 代表的意义,前述已作说明。该条指令是指寄存器的内容减 1 存入 W(d=0)或 f(d=1)中。若指令执行结果减 1 不为零,指令顺序执行;为零时,就间跳下一条指令后再执行(等效顺序执行一条空指令 NOP),实际指令中,当 d=1 时,该项常被略去。
8. 寄存器内容加 1,结果为零间跳指令
指令格式:INCFSZ f,d
说明:INCFSZ 是英语 Increment f,Skip of 0 的缩写。该条指令与上一条(7)指令差别仅在于“1”上,即执行这条指令时,寄存器 f 内容加 1,若结果不为零,则指令顺序执行;为零则指令间跳执行。执行这条指令的其它逻辑关系与上条相同。
9. 子程序返回指令
指令格式:RETLW k
说明:RETLW 是 Return Literal to W 的缩写。该指令代表子程序返回,返回前先把 8 位立即数送 W。
以上便是小编此次想和大家分享的内容,希望大家喜欢。
,
-
- 最出名的烤翅(变态烤翅在南京美食界依旧是个传说)
-
2023-07-31 03:19:42
-
- 大牌墨镜有哪些牌子(奢奢哒韩星人手一副GM墨镜)
-
2023-07-31 03:17:37
-
- 冷热水龙头十大品牌(冷热水龙头品牌推荐)
-
2023-07-31 03:09:28
-
- 松原美食老店(美食记-松原)
-
2023-07-31 03:07:24
-
- 寒蝉鸣泣之时第二季分析(寒蝉鸣泣之时业)
-
2023-07-31 03:05:19
-
- 哪些水果都属于碱性水果(遇到这4种碱性水果别手软)
-
2023-07-31 03:03:14
-
- 大规模养猪设备(智能化养猪设备)
-
2023-07-31 03:01:09
-
- 大地飞歌南宁民歌节第一届(第22届南宁国际民歌艺术节)
-
2023-07-31 02:59:04
-
- 免费好用的外贸crm软件(免费客户管理软件推荐)
-
2023-07-31 02:56:59
-
- 电脑日常操作小技巧(8个超高效的电脑快捷操作技巧)
-
2023-07-31 02:54:55
-
- 菠菜怎样做才好吃各种美食教程(菠菜学会这样做)
-
2023-07-31 02:52:50
-
- 灭火器的使用和充放(灭火器再充装的要求和注意事项)
-
2023-07-31 02:50:45
-
- 橱柜门板什么颜色大气(橱柜门板颜色要怎么挑选)
-
2023-07-30 18:52:57
-
- 大秦赋中被忽略的名将(大秦赋中最痴情的男人)
-
2023-07-30 18:50:52
-
- 大哥柯受良当年有多牛(大哥柯受良飞跃黄河原因令人尊敬)
-
2023-07-30 18:48:47
-
- 哪些女星拍戏时意外怀孕(盘点被曝拍戏时不幸流产的八大女星)
-
2023-07-30 18:46:42
-
- 面筋的十五种做法(面筋的这个做法火了)
-
2023-07-30 18:44:38
-
- 电子身份证怎么办理(教你制作电子身份证)
-
2023-07-30 18:42:33
-
- 电脑的微星主板好不好(你应该了解的电脑硬件)
-
2023-07-30 18:40:28
-
- 免疫力低下者身体会有这5个迹象(请坦然接受有这5个变化)
-
2023-07-30 18:38:23