*在学习51之前,最先接接触到的是Arduino,这个东西上手确实十分的简单,可以做出来一些小玩意,但是它的性能终究是不够强大,对于一些比较厉害的作品,用Arduino就显得心有余而力不足了,所以现在开始学习51和stm32。51的学习在大学本科阶段,在学校课堂上学到的基本上是一些理论知识,这些东西也确实有一定的必要,毕竟掌握了都是自己的。所以说我准备对这些理论的知识进行一个整理。好,废话不多说,现在切入正题。
对于一般的大学教材,前面两章基本上都是对单片机的一些基本的介绍,主要就是一些对单片机硬件结构认识过程,这个主要是让我们有个总体的认识,开始适应单片机的学习。这些东西就忽略了吧。就从51系列单片机的指令系统开始吧。这里使用汇编语言编写程序的。(以上都是废话,自动忽略)*

51系列单片机的指令系统

一:单片机指令系统的概述
(1)总共111条指令
(单字节指令49条,双字节指令45条,三字节指令17条)
(一个机器周期、12个时钟震荡周期指令64条,两个机器周期、24个时钟震荡周期指令45条、乘除两条指令位4个机器周期)
(12MHZ晶振:机器周期位1us)
(2)51指令不区分大小写
(3)指令格式:操作码+操作数

二:单片机的寻址方式
(1)寄存器寻址方式:MOV A,Rn
(2)直接寻址方式:MOV A,40H
(寻址范围:第一:内部RAM的128个单元、第二:特殊功能寄存器SFR,除了以单元形式外还能用寄存器符号形式:即MOV A,80H==MOV A,P0)
(3)寄存器间接寻址:(寄存器中放的是操作数地址、寄存器前面加标志符@)例如:MOV R1,#40H MOV A ,@R1
(寻址范围:第一:访问内部RAM、第二:片外数据存储器的64k字节的间接寻址、第三:片外的数据存储器的低256字节、第四:堆栈区)
(4)立即寻址方式:(操作数在指令中直接给出,需在操作数前面加上#,如果首位是A-F,前面还加0)例如:MOV A,#40H MOV A,#0FFH
(5)基址寄存器加变址寄存器间址寻址方式:(以DPTR\PC作为基址寄存器,以累加器A作为变址寄存器)
(6)位寻址方式:例如:MOV A,40H 把40H的值送到进位位C
(寻址范围:第一:内部RAM位寻址区、第二:特殊功能寄存器中的可寻址位)
(7)相对寻址方式:(目的地址=转移指令所在地址+转移指令字节数+rel(带符号的8位二进制数的补码数))

三:51系列单片机的指令系统及一般说明
(1)分类介绍:
数据传送类(28条)
算数操作类(24条)
逻辑运算类(25条)
控制转移类(17条)
位操作类 (17条)
(2)指令中符号的意义:
Rn当前寄存器区8个工作寄存器
Ri当前选中的寄存器区中可做间接寻址寄存器的2个寄存器
Direct 直接地址,即8位内部数据存储单元或者特殊功能寄存器地址
#data包含指令中的8位立即数
#data包含指令中的16位立即数
rel相对转移指令中的偏移量,8位带符号的补码数
DPTR数据指针,可用作16位的数据地址寄存器
bit内部RAM或者SFR中直接寻址位
C(Cy)进位标志位或者位处理机制中的累加器
addr11 11位目的地址
addr16 16位目的地址
@间接寻址寄存器
(x)x中的内容
((X))由X寻址的单元中的内容
---->箭头右边内容被箭头左边所替代

(持续更新中!!!)

单片机原理及应用学习笔记(一)相关推荐

  1. (补)单片机原理及应用学习笔记(三)

    (补)第一章:概述 部分一:单片机及其相关概念 NO1:按照功能结构划分概念 (1)微处理器:小型计算机或者微型计算机的控制和处理部分.又称作中央处理单元cpu,包含控制器和运算器两部分 (2)微型计 ...

  2. Unix原理与应用学习笔记----第六章 文件的基本属性2

    Unix原理与应用学习笔记----第六章 文件的基本属性2 改变文件权限命令:chmod 提示:文件或目录创建后,就被赋予一组默认的权限.所有的用户都有读,只有文件的所有者才有写. 相对权限设置 Ch ...

  3. 数据库原理及应用学习笔记

    在前面先记录一个不错的博客内容http://blog.codinglabs.org/articles/theory-of-mysql-index.html 这时在B站上看的东南大学的视频的学习笔记,主 ...

  4. 通信原理:课程学习笔记3之确知信号和随机过程

    文章目录 1 确知信号 2 随机过程 写在前面:本文源自笔者在大三时对北师大-人工智能学院-郭俊奇老师的"通信原理"课程的部分归纳与整理笔记.此处感谢郭俊奇老师!如发现笔者整理有误 ...

  5. 第3章 直流电机的工作原理及特性 学习笔记(一)

    本周主要学习了直流电机的基本结构及工作原理,需要复习到的知识主要有电磁感应定律和电磁力定律,即安培定律.法拉第定律.洛伦兹定律. 一.基本结构 根据工作原理,直流电机的组成可分为定子.转子和换向器三部 ...

  6. Hbase原理与实践(学习笔记一:基本概念):

    相关笔记: <Hbase原理与实践>读书笔记--1.HBase概述_凯哥多帅哦的博客-CSDN博客_hbase的实现原理1.1 HBase前世今生Google当年风靡一时的"三篇 ...

  7. 锁存器的工作原理_数字电路学习笔记(十):更多锁存器和触发器

    上一章中提到了普通RS锁存器的两大缺点: 1. S端口和R端口不能同时有效,但实际应用中不能保证这种情况不出现,此时可能会出错: 2. 在计算机中,有许多内存单元协同组成一个寄存器,存储同一个数据.但 ...

  8. 黑马公开课——运行原理与GC学习笔记

    .NET Framework 程序的运行原理 .NET Framework的组成: (1)基础类库(BCL):使用线程的类来完成编程,对于不存在的类,就自己编写: (2)编译工具:将源文件,编译成&q ...

  9. NB-IoT从原理到实践 学习笔记 part1-8

    PART A 四大特性篇 第一讲 NB-IoT基本介绍 Narrow Band Internet of Things 5G LTE-V Wifi.UWB LPWA,eMTC BT.Zigbee NB- ...

最新文章

  1. Cisco asa 5510升级IOS和ASDM
  2. C#Winform自动检测版本更新,下载最新版本
  3. [转]JavaScript中的几个tip
  4. 单位阶跃信号是周期信号吗_手机信号变成“HD”,是代表没有信号吗?你的手机正在被扣费...
  5. asp网站配置错误解决汇总_1
  6. Android 编码规范
  7. kali 创建php可执行文件_利用树莓派在kali环境下搭建Web环境(Apache+Php7.3+Mysql)...
  8. 如何解决Macbook充电端口连接器发热问题?
  9. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_7_练习_对文本的内容进行排序...
  10. ZYNQ图像处理(6)——均值滤波和中值滤波
  11. 代码 马佳义_武汉大学电子信息学院
  12. java 输入人名输出_Java 输入汉字姓名 输出 姓名拼音 首字母缩写组合
  13. 用vue将数字转为中文大写金额
  14. 同步时钟与异步时钟介绍
  15. Ultimate Tic-Tac-Toe
  16. Spec2006使用说明
  17. 基于U-Net+残差网络的语义分割缺陷检测
  18. iOS UIFont 字体大全
  19. window文件转换到linux,Window和Linux上的文件相互转换
  20. mysql编码修改utf8_修改数据库mysql字符编码为UTF8

热门文章

  1. python处理excel现有的脚本_Python脚本操作Excel实现批量替换功能
  2. newelm函数详解及Elman神经网络数据预测实例
  3. 什么是外观检测系统?外观检测系统的功能有哪些?
  4. SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解
  5. Python怎么启动打开Windows的应用程序
  6. 基于51单片机的红外体温计的设计
  7. 沣东新城镐京遗址规划_潜力无限?沣东新城凭什么就成了热门?!
  8. 在vscode编辑器里使用leetcode插件刷题
  9. java环境变量含义_java环境变量的配置及各环境变量的含义
  10. 浙大第五版概统复习提纲(前八章)