PIC单片机入门_汇编/混编/C编比较
1.问题描述:
对RAM中从30h开始的50个单元清零。
2.汇编方法
<span style="font-size:18px;">COUNT EQU 20H ;指定20H寄存器为循环变量 FSR EQU 04H ;指定FSR为04H INDF EQU 00H ;指定INDF为00HMOVLW D’50 ;给循环变量赋初值MOVWF COUNT MOVLW 30H ;将30H →FSRMOVWF FSR NEXT CLRF INDF ;间接寻址 INCF FSR,1 ;地址指针内容加1,指向下一单元 DECFSZ COUNT,1 ;计数值减1,结果为0就 ;跳过下一条指令到STOP处GOTO NEXT ;跳转回去并执行下一次循环 STOP GOTO STOP ;停机 </span>
3.混编方法
<span style="font-size:18px;">#include<pic.h> char COUNT; //定义全局变量 main(){ COUNT=50; FSR=0x30;#asmINDF EQU 00H NEXT CLRF INDF INCF _FSR, FDECFSZ _COUNT,F GOTO NEXT#endasmwhile(1){ ; } }</span>
注意:只要是C语言中定义的变量,在汇编中对其寻址时一定要用下划线。
4.C语言编程
<span style="font-size:18px;">#include<pic.h> char COUNT; //定义全局变量 main(){ COUNT=50; FSR=0x30; INDF=0; NEXT: INDF=0;FSR++;if (COUNT-- >0) goto NEXT; while(1){ ; } }</span>
注意:用C语言编写可读性强,但是占用的资源会多。
PIC单片机入门_汇编/混编/C编比较相关推荐
- PIC单片机入门_输入输出端口详解
1.引言: PIC单片机引脚图: 在PIC16F87X 单片机中,28引脚型号的单片机有3 个I/O端口,分别是RA.RB和RC:40引脚型号单片机有5个 I/O端口,分别是RA.RB.RC.RD和R ...
- PIC单片机入门_指令系统
1.前文回顾 前面学习了PIC单片机的系统框架,也介绍了程序存储器.数据存储器的组织形式.这里需要补充一点的就是寻址方式,之前仅仅提到了立即数寻址.直接寻址.其实还有几个比较重要的寻址方式,PC相对寻 ...
- PIC单片机入门_框架与存储器
1.PIC16F877A单片机框架 1.1 为何性能如此之高? PIC单片机之所以有很高的性能是因为其具备如下特性: 内部为哈佛结构.寄存器文档.大多数单指令周期.指令流水线操作.长字型指令.指令数很 ...
- PIC单片机入门_中断系统详解
1.中断的基本概念 当单片机正在执行程序时,出现了某些特殊状况,例如定时时间到.有键盘信号输入等,此时CPU须要暂时停止当前的程序,而转去执行处理这些事件的程序,待执行完这些特定的程序之后,再返回到原 ...
- PIC单片机入门_定时器/计数器TMR0详解与实例
1.前言: PIC 系列单片机内部配备有数量不等的定时器/计数器模块:例如PIC17CX系列和PIC18CX系列都都配置了4个定时器/计数器模块:而PIC16F87X系列都配置了3个定时器/计数器模块 ...
- PIC单片机入门_异步通讯模式详解
1.USART用于异步通讯详解 1.1 USART的异步工作模式 在异步工作模式下, USART 采用的是标准非归零 ( NRZ编码格式 :一位起始位.8 位或 9 位数据位和一位停止位 ).最常用的 ...
- PIC单片机入门_同步/异步通信技术基础
1.前言 通用同步 / 异步收发器 (Universal Synchronous/Asynchronous Receiver/Transmitter, USART) 模块是两个串行 I/O 模块之一 ...
- PIC单片机入门_定时器TMR2详解与实例
1.前言 这里将介绍另一款定时器TMR2模块,TMR2与前面介绍的TMR0和TMR1相比,最大的差别是只能工作于定时模式,因此称它为"定时器TMR2". 2.TMR2的特性 TM ...
- PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)
PIC单片机入门教程(二)-- 安装集成开发环境(MPLAB X IDE) 教程中使用的电脑运行Windows 10 专业版 64位系统 1.下载 MPLAB X IDE v4.05 历史版本:htt ...
最新文章
- iOS 滚动图滚动到顶部汇总
- 纯粹数学:哈代的世外桃源
- mysql百万数据根据索引查询_mysql创建多列索引查询百万表数据的性能优化经验分享...
- python图像识别坐标转换成g代码_python - 将坐标系导出为ESPG代码:to_epsg()或ExportToEPSG() - SO中文参考 - www.soinside.com...
- pcm输出还是源码输出_LOL手游:上单英雄怎么选?还是推荐玩“狗头”,有肉又有输出...
- VB 利用fso 枚举文件和文件夹
- Android开发学习之路-LruCache使用和源码分析
- Node.js+windows
- linux 命令行参数解析,Linux C下的命令行参数解析
- 拓扑排序算法(1.0版)
- 常用的RS485芯片简介
- ae导出gif插件_有了它,AE终于可以直接导出gif动图啦!
- 《非洲归来 不必远方》读后感
- 《编码-隐匿在计算机背后的语言》 —— 读书笔记(三):数字
- 组合模型——Tree models、Boosting、 Committee
- 普通大一学生的自我反思
- 【IIS】XP系统的IIS发布
- uniapp 实现微信小程序全局分享及自定义分享按钮样式
- 注册一个域名需要多少钱_域名注册需要多少钱?注册一个域名一般要多少钱?贵吗?...
- 【JSP】登陆成功跳转用户信息界面显示基本用户信息
热门文章
- Android 帧动画何时停止播放
- hdu 2045(递推)
- zoj-3624(Count Path Pair)组合数+乘法逆元
- 二叉树的操作(二叉树的创建、先序遍历---先根、中序遍历----先左、后续遍历---后根)
- 在服务器搭建深度学习环境随笔
- 2019.07.11
- NOIP提高模拟-20181019-T1-加密
- 云服务器 ECS Linux 系统下使用 dig 命令查询域名解析
- (转)性能分析之-- JAVA Thread Dump 分析综述
- Android的BroadcastReceiver 广播 短信拦截