PIC中档单片机汇编指令详解(6)

发布者:本人在最新更新时间:2016-05-20 来源: eefocus关键字:PIC  单片机  汇编指令 手机看文章 扫描二维码
随时随地手机看文章
立即数与控制操作指令

SLEEP 单片机进入低功耗休眠模式

语法形式:SLEEP

操作数:无

执行时间:一个指令周期

执行过程:

看门狗计数器清0

看门狗计数器的预分频器清0

STATUS寄存器的“TO”标志位置1

STATUS寄存器的“PD”标志位清0

状态标志影响:TO PD

说明:SLEEP指令可以让单片机停止所有的工作进入低功耗休眠模式,在休眠模式下芯片的功耗降至最低。在休眠状态下,单片机的主时钟振荡器将停止,所有内部寄存器的内容保持不变,直到出现某一条件将单片机从休眠状态下唤醒。

指令范例:

CALL PrepSleep ;关闭所有不需要的负载,准备进入休眠模式

SLEEP ;现在进入休眠模式

NOP ;唤醒后开始执行指令

CLRWDT 清除看门狗计数器

语法形式:CLRWDT

操作数:无

执行时间:一个指令周期

执行过程:

看门狗计数器清0

看门狗计数器的预分频器清0

STATUS寄存器的“TO”标志位置1

STATUS寄存器的“PD”标志位置1

状态标志影响:TO PD

说明:如果芯片在编程烧写时启用了独立的片上看门狗电路,则在程序运行的过程中必须隔一段时间就执行这条清除看门狗的命令。如果过了足够长的时间而没有执行这条指令,到了看门狗计数器计数溢出时就会让单片机产生复位,程序将会从复位地址处重新运行。PIC单片机的看门狗一旦被打开就不能通过软件的方式关闭,在芯片休眠的时候照样工作,故可以作为让单片机退出休眠的一个条件。通过启用看门狗可以避免软件死循环的故障。需要强调的是在一个好的程序设计中CLRWDT这条指令只在程序的主循环中出现一次,尽量避免到处放置清看门狗指令,绝对不能把这条指令放到中断服务程序中。

指令范例:

MainLoop:~~~ ;程序主循环

CLRWDT ;清看门狗

CALL KeyCheck ;检查按键

CALL Display ;显示刷新

GOTO MainLoop ;重复主循环体

RETLW 子程序结束返回并在W寄存器内赋一8位立即数

语法形式:RETLW k

操作数:k为8位立即数

执行时间:2个指令周期

执行过程:弹出栈顶内容到PC

k→W

状态标志影响:无

说明:除了在子程序返回时从W寄存器带出一个8位立即数外,其他的执行情况和指令“RETURN”完全相同。该指令经常被用于查表功能中。

指令范例:

MOVF Index,W ;W中设定查表索引值(0~3)

CALL Lookup ;调用查表子程序

…… ;其他指令

Lookup:ADDWF PCL,f ;对PC值作修改

RETLW ‘0’ ;返回0对应的ASCII码

RETLW ‘1’ ;返回1对应的ASCII码

RETLW ‘2’ ;返回2对应的ASCII码

RETLW ‘3’ ;返回3对应的ASCII码

RETFIE 中断服务程序结束并返回

语法形式:RETFIE

操作数:无

执行时间:2个指令周期

执行过程:弹出栈顶内容到PC

INTCON寄存器的第7位GIE自动置1

状态标志影响:无

说明:该指令把硬件堆栈栈顶的内容(中断发生时的返回地址)弹送到程序计数器PC内,对堆栈的影响如下图所示




    		    PIC中档单片机汇编指令详解(6)

和指令“RETURN”的情形基本相同,关键区别是该指令会把INTCON寄存器的第7位全局中断使能位(GIE)置1(在响应中断时该位自动清0)。然后返回到中断发生时的下一条指令处继续运行。

指令范例:

MOVF status_temp,w ;准备恢复STATUS寄存器的内容

MOVWF STATUS ;STATUS寄存器被恢复

SWAPF w_temp,f ;准备恢复W寄存器内容

SWAPF w_temp,w ;W寄存器被恢复

RETFIE ;中断返回并允许新的中断响应

RETURN 子程序结束返回

语法形式:RETURN

操作数:无

执行时间:2个指令周期

执行过程:弹出栈顶内容到PC

状态标志影响:无

说明:该指令将栈顶的内容(子程序调用时的返回地址)弹送到程序计数器PC内。注意特殊寄存器PCLATH的内容不会因此改变。程序将会回到在子程序调用时的下一条指令处开始执行。

影响见该图




    		    PIC中档单片机汇编指令详解(6)

指令范例:

CALL Dly4Tcy ;延时4个指令周期

…… ;其他指令

Dly4Tcy:RETURN ;CALL和RETURN总共消耗4个指令周期

关键字:PIC  单片机  汇编指令 引用地址:PIC中档单片机汇编指令详解(6)

上一篇:PIC196F877A串口通信程序
下一篇:PIC中档单片机汇编指令详解(1)

推荐阅读最新更新时间:2024-03-16 14:54

20-基于51单片机的温湿度检测仪设计
具体实现功能 系统由STC89C52单片机、DHT11传感器模块、1602液晶显示屏模块、按键模块、报警模块构成。 具体功能: 1、DHT11数字温湿度传感器把采集到的温湿度数据传给单片机并显示到液晶屏上; 2、可以手动设置温湿度上下限值; 3、当温湿度值超过设定的上下限值时,蜂鸣器响起,相应指示灯闪烁。 设计背景 温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度的检测与控制。并且随着人们生活水平的提高,人们对自己的生存环境越来越关注。而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度湿度的检测及控制就
[单片机]
20-基于51<font color='red'>单片机</font>的温湿度检测仪设计
最大限度降低电池供电MCU系统的耗电量
今日的便携式产品设计对所用的电池会有些相互冲突的要求,例如更丰富的产品功能会增加耗电,终端用户希望电池使用时间更长,但不断缩小的产品体积和成本限制却使电池容量无法增加,因此节省电力就成为最重要的考虑。传统设计为了将耗电减到最低,通常都尽可能减少电流消耗,但其实电池的蓄电量是电压、电流和时间的乘积,要有效提升整个系统的电源效率,就必须同时考虑这三项变量。微控制器系统若以电池做为电源,这些电池又能由使用者更换,则可采用专为这些变量而设计的微控制器,因为它们可通过芯片内置电压转换等功能和传统低耗电操作模式来解决上述问题。    电池特性    多数低端和中端便携式产品都会使用可替换的电池或充电电池,这些电池还可由使用者自行更换。如图1所示
[单片机]
最大限度降低电池供电<font color='red'>MCU</font>系统的耗电量
芯科实验室高性能低成本8位MCU 针对电机控制应用
近日,Silicon Labs(芯科实验室有限公司)宣布推出针对低成本电机控制应用而设计的高集成度、功能丰富的8位微控制器(MCU)。新型的C8051F85x/6x MCU具有高级模拟和通信外设、2kB-8kB Flash存储器、高性能、小封装和低价格,使得它们非常适合无刷直流电机控制等应用,例如遥控直升机和汽车、个人电脑和电风扇、电动工具和小家电。F85/6x MCU也非常适合其它消费和工业类应用,例如电源、电池充电器、机顶盒、投影机、照明设备和光收发模块。此外,这些经过AEC-Q100认证的MCU也能用于汽车车身电子应用中,例如电动车窗升降器和电动座椅等。 当今的嵌入式开发人员正在寻求低成本的混合信号MCU解决方案,这
[单片机]
TM1640与PIC12F629单片机的结合
TM1640是驱动数码管的专用集成电路,可以直接驱动16位共阴数码管,手册请下载附件。 /******************************* *本程序直接驱动16位共阴数码管,各数码管分别驱动0、1、2、……E、F。 */ #include pic.h //PIC12F629 __CONFIG(0x3F84); #define clk GPIO0 //时钟信号 #define dio GPIO1 //数据/地址数据 #define uchar unsigned char #define uint unsigned int
[单片机]
KungFu车载MCU累计出货超7亿颗,将高端芯片国产化推向新高度
9月12日,2020中国(深圳)国际汽车电子产业年会暨2019年度汽车电子科学技术奖颁奖典礼盛大召开,深圳市汽车电子行业协会会长张宗涛、深圳市科创委主任梁永生、中国汽车工业协会副秘书长叶盛基、中国工程院院士/中国汽车工程学会理事长李骏、深圳市汽车电子行业协会创会会长杨洪、上汽大众、上汽集团、一汽、东风、广汽、长安奇瑞、中车、五菱、陕汽、宇通、江铃、吉利、江淮等汽车电子行业代表和业内知名人士悉数出席。 李骏院士致开幕词时一再强调,车规级芯片对汽车电子的重要性,与消费级和工业级MCU有本质的区别,没有车规级芯片是造不出汽车的,目前中国整个电子元器件进口额超过了石油,严峻形势不容忽视。 中国工程院院士、中国汽车工程学
[嵌入式]
KungFu车载<font color='red'>MCU</font>累计出货超7亿颗,将高端芯片国产化推向新高度
MCU+传感器是物联网发展趋势
在处理器性能与无线通信技术日新月异的情况下,物联网有望在未来几年快速走进我们的生活。微控制器(MCU)作为物联网的核心零组件,无论在市场规模上还是技术上都将获得进一步发展。 MCU+无线快速成长 物联网的宗旨是万物皆可联网,借以构成庞大的应用系统,并打造智慧的生活环境。因此,物联网设备势必需要具备联网能力,同时还要兼顾成本和功耗。这一需求促使无线微控制器解决方案势力抬头。众多MCU大厂都注意到这一趋势,开始整合蓝牙、WiFi、ZigBee等通信技术于系统单芯片(SoC)中,并逐渐扩展产品组合。 兆易创新GigaDevice MCU产品经理金光一认为,物联网应用对MCU的处理能力、外设配置和成本价格都提出了新的需求
[物联网]
STC89C52单片机AD测试实验
/////////////////////////////////////////////////////////////////////////// 实现功能: 调节实验板上的标号为AD0的电位器改变电压,通过PCF8591的采集,把 数据传输给单片机,单片机通过处理把采集到的电压值,显示在数码管 上,注意所采用的通道为第0通道,也就是说调节的是AD0电位器 实验板型号:BS-XYD-C52 实验名称: AD测试实验 编写人: 谢应东 编写日期: 2012-4-30 ///////////////////////////////////////////////////////////////////
[单片机]
基于嵌入式PC104工控机和C8051F047单片机实现机器人系统的设计
1.引言 高压输电线及杆塔附件长期暴露在野外,因受到持续的机械张力、电气闪络、材料老化的影响而产生断股、磨损、腐蚀等损伤,如不及时修复更换,原本微小的破损和缺陷就可能扩大,最终导致严重事故。因此,电力公司需要定期对线路设备进行巡检,及时发现早期损伤和缺陷并加以评估,根据评估结果安排必要的维护和修复,从而确保供电的安全可靠性。传统的人工巡检方法不仅工作量大而且条件艰苦,特别是对于山区和大江大河等的输电线路巡检存在很大困难,甚至一些巡检项目靠常规方法都难以完成。因此,采用机器人自动巡线成为保障高压输电线安全运行的一种必要手段。 高压输电线路巡线机器人属于特种机器人的研究范畴,主要完成高压供电线缆的无损探伤、悬垂绝缘子绝缘特性检测、
[单片机]
基于嵌入式PC104工控机和C8051F047<font color='red'>单片机</font>实现机器人系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved