当前位置: 首页 > wzjs >正文

mui做浏览器网站跳转长春网站优化团队

mui做浏览器网站跳转,长春网站优化团队,免版权费自建网站,深圳城市更新或提速51单片机所有寄存器介绍 作者将狼才鲸创建日期2025-04-27 参考资料:Intel官方《MCS-51 Programmer’s Guide and Instruction Set.pdf》CSDN阅读地址:51单片机所有寄存器介绍 一、前言 51单片机的寄存器和ARM不一样,有自己专有的名称&…

51单片机所有寄存器介绍

作者将狼才鲸
创建日期2025-04-27
  • 参考资料:Intel官方《MCS-51 Programmer’s Guide and Instruction Set.pdf》
  • CSDN阅读地址:51单片机所有寄存器介绍

一、前言

  • 51单片机的寄存器和ARM不一样,有自己专有的名称,叫SFR(特殊功能寄存器),地址是8位的0x80-0xFF(该地址与IRAM地址复用,通过不同的汇编操作指令来区分);
    • 因为51单片机中的寄存器不是通过指针来读写,而是通过伪指令定义别名后来直接读写,因此这一块的编程也是和ARM不同的地方,寄存器读写相关的代码都不能和32位ARM的代码复用;
  • 因为51单片机特殊功能寄存器最多只能有128个,对于当前很多应用场景下的的MCU来说明显不够,那么很多芯片厂商会对寄存器进行扩展,例如选2个寄存器作为二级寄存器地址,选2个寄存器作为二级寄存器数据,那么通过多操作几次寄存器就能扩展16位或32位的寄存器容量;
    • 扩展寄存器的代价是牺牲了速度(操作一次16位寄存器要读写好几个SFR寄存器),但当前很多51单片机都做到了1T(一个时钟周期执行一条指令),主频200M+,所以这点花销是可以忽略的;
  • 原始的MCS-51核用到的寄存器很少,但这些中也只有大部分是通用的,一些兼容MCS-51指令集的CPU核也会删除或修改里面一些寄存器(特别是有些8052寄存器);
    • 一些8051核的IP商会将剩下的一百多个寄存器占用得差不多,而且不同的8051核所用的寄存器含义都不一样;而之后芯片厂商一般会将所有的128个寄存器用完,甚至还扩展出二级寄存器使用;
    • 不同厂商51单片机的寄存器会不一样,因此底层硬件相关的代码并不通用,也就是说如果有驱动概念的话,换一款51芯片就得重写一次驱动;
  • 标准MSC-51寄存器
    • 寄存器地址为0x00-0xFF,其中只有0x80-0xFF特殊功能寄存器SFR与IRAM的地址是复用的,通过不同的汇编指令可以分别操作SFR和IRAM;而0x00-0x7F通用寄存器地址就是IRAM;所以SP堆栈指针不能设置到0x00-0x07,会与R0-R7冲突,但是可以设置到0x80-0xFF,与SFR不冲突;
    • 寄存器地址0x00-0x7F是通用寄存器,同时也占用IRAM地址,例如4组R0-R7(ARM中类似的是R0-R31)和16字节位寻址,以及未使用的几十个字节;0x80-0xFF是SFR特殊功能寄存器,类似于ARM中的外设寄存器,不占用IRAM地址;
  • 如果程序需要从ROM加载到RAM中执行,那么是加载到0地址的外部RAM,和IRAM无关,操作内外RAM的汇编指令不一样,它们的总线宽度一个只有8位一个16位;
    • IRAM一般只有128B、256B;

二、所有寄存器信息的表格

  • 0x00-0x7F通用寄存器(占用IRAM地址)
地址0x000x010x020x030x040x050x060x07
通用寄存器0组R00组R10组R20组R30组R40组R50组R60组R7
0x080x090x0A0x0B0x0C0x0D0x0E0x0F
1组R01组R11组R21组R31组R41组R51组R61组R7
0x100x110x120x130x140x150x160x17
2组R02组R12组R22组R32组R42组R52组R62组R7
0x180x190x1A0x1B0x1C0x1D0x1E0x1F
3组R03组R13组R23组R33组R43组R53组R63组R7
0x200x210x220x230x240x250x260x27
位寻址位地址00H~07H08H~0FH10H~17H18H~1FH20H~27H28H~2FH30H~37H38H~3FH
0x280x290x2A0x2B0x2C0x2D0x2E0x2F
40H~47H48H~4FH50H~57H58H~5FH60H~67H68H~6FH70H~77H78H~7FH
0x300x310x320x330x340x350x360x37
剩下都是用户可自行定义与使用的寄存器,可以当成全局变量和局部变量来使用,
0x380x390x3A0x3B0x3C0x3D0x3E0x3F
一般会将里面大部分区域配置成堆栈……………………
0x780x790x7A0x7B0x7C0x7D0x7E0x7F
…………………………………………
  • 0x80-0xFF SFR特殊功能寄存器,加粗为8051的,斜体+下划线是8052专有(不占用IRAM地址)
地址0x80(此列可位寻址,位地址X0~XF)0x810x820x830x840x850x860x87
SFRP0 IO口输入输出SP 堆栈指针DPL 内存数据地址低8位DPH 内存数据地址高8位PCON 电源控制
0x880x890x8A0x8B0x8C0x8D0x8E0x8F
TCON 定时器0计数器控制TMOD 定时器0计数器模式TL0 定时器0值低8位TL1 定时器1值低8位TH0 定时器0值高8位TH1 定时器1值高8位
0x900x910x920x930x940x950x960x97
P1 IO口输入输出
0x980x990x9A0x9B0x9C0x9D0x9E0x9F
SCON串口0设置SBUF串口0数据
0xA00xA10xA20xA30xA40xA50xA60xA7
P2 IO口输入输出
0xA80xA90xAA0xAB0xAC0xAD0xAE0xAF
IE 中断使能
0xB00xB10xB20xB30xB40xB50xB60xB7
P3 IO口输入输出
0xB80xB90xBA0xBB0xBC0xBD0xBE0xBF
IP 中断优先级
0xC00xC10xC20xC30xC40xC50xC60xC7
0xC80xC90xCA0xCB0xCC0xCD0xCE0xCF
T2CON 定时器2计数器控制RCAP2L 定时器2重装载数低8位RCAP2H 定时器2重装载数高8位TL2 定时器2值低8位**TH2 定时器1值高8位
0xD00xD10xD20xD30xD40xD50xD60xD7
PSW 程序状态字
0xD80xD90xDA0xDB0xDC0xDD0xDE0xDF
0xE00xE10xE20xE30xE40xE50xE60xE7
ACC 累加器
0xE80xE90xEA0xEB0xEC0xED0xEE0xEF
B 寄存器
0xF80xF90xFA0xFB0xFC0xFD0xFE0xFF
  • MCS-51寄存器详细描述

  • 汇编编程相关寄存器

寄存器bit0bit1bit2bit3bit4bit5bit6bit7
(R0-R7)x4通用寄存器,用作函数形参、局部变量
00-7F位寻址,20-7F通用寄存器自定义寄存器,汇编编程时自行使用,可定义成全局变量和堆栈区域
ACC累加器(A寄存器)用作局部变量,或存储算数运算的结果
B寄存器用作局部变量,或乘除操作时使用
DPL/DPH/DPTR数据指针使用汇编读写外部RAM数据时的当前RAM地址
PSW程序状态字P: 操作数中奇偶校验,可用于串口数据校验用户自定义OV溢出,算术运算时的溢出判断RS0RS1寄存器组选择(第几组R0~R7),很少使用F0用户自定义AC半字节进位,高半字节和低半字节间进位,如BCD码计算中能用到,很少使用CY进位,int、long等多字节类型加减乘除等算数运算时会用到,一些包含位标志的指令会用到
  • 系统设置和外设寄存器(串口、GPIO、定时器)
寄存器bit0bit1bit2bit3bit4bit5bit6bit7
SP堆栈指针(建议主动配置)指向内部通用寄存器或IRAM地址,上电默认值07H一般会主动设置到30H~F0H之间,函数调用时压栈弹栈会用到
PCON芯片电源控制(可使用默认值)IDL芯片进入空闲PD芯片下电GF0用户自定义GF1用户自定义SMOD特定条件下的串口双波特率位(由定时器1产生)(当前很多芯片串口波特率由别的寄存器来控制了,更简单)
IE中断使能(用到外设时需主动打开)EX0外部中断0ET0定时器0中断EX1外部中断1ET1定时器1中断ES串口0中断ET2定时器2中断EA失能所有中断
IP中断优先级(可使用默认值)PX0外部中断0优先级PT0定时器0优先级PX1外部中断1优先级PT1定时器1优先级PS串口优先级PT2定时器2优先级
SCON串口0配置接收中断,软件清零发送中断,软件清零RB8接收的9bitTB8要发送的9bitREN接收使能SM2SM1SM0串口模式:波特率与晶振关系,8bit还是9bit(当前很多芯片串口波特率由别的寄存器来控制了,更简单)
SBUF串口0数据串口0的收发数据
P0、P1、P2、P3 GPIO读写IO数据,Px.0Px.1Px.2Px.3Px.4Px.5Px.6Px.7
TCON定时器和外部中断配置IT0外部中断0边缘触发还是电平触发IE0外部中断0标志1边缘触发还是电平触发IE1收到外部中断1的标志TR0定时器0使能失能TF0定时器0溢出标志,硬件置位和清零TR1定时器1使能失能TF1定时器1溢出标志,硬件置位和清零
TMODM0_0M1_0多少位的寄存器,是否自动装载C/T0作为计数器还是定时器GATE0定时器0的运行关闭由外部中断引脚电平来控制M0_1M1_1C/T1GATE1
TL0、TL1、TH0、TH1、TL2、TH2、RCAP2L、RCAP2H定时器的装载值和计数器的计数值
T2CONCP/RL2是否自动装载C/T2作为定时器2还是计数器2TR2定时器2开始和运行EXEN2定时器2外部使能TCLK串口0发送波特率由串口2来生成RCLK串口0接收波特率由定时器2来生成EXF2定时器2外部标志TF2定时器2溢出标志
http://www.dtcms.com/wzjs/54256.html

相关文章:

  • 网站排名优化+o+m百度网盘人工客服电话多少
  • 网站建设怎么付费苏州网站建设书生商友
  • 帮他人做视频网站违法吗电商网
  • 做门户网站长沙社区赚钱吗长沙网站定制
  • 网站建设费是什么意思深圳刚刚突然宣布
  • 域名备案必须要有服务器吗深圳网络优化seo
  • 做网站的技术盏seo优化公司信
  • 响应式模板网站模板网络推广合作资源平台
  • 深圳企业网站制作招聘信息百度一下你就知道了官网
  • 网站 服务 套餐seo作弊
  • 湖南建设人力资源官方网站百度系app有哪些
  • 网站留言板怎么做php有广告位怎么找广告商
  • 在家做客服的平台外贸网站优化推广
  • 饿了么网站做要多少钱可以推广的软件有哪些
  • 站长之家 wordpress 流量统计免费创建属于自己的网站
  • 河南龙王建设集团网站刷外链网站
  • 河南建设教育协会网站刷关键词优化排名
  • 手机网站建设方案浏览器正能量网站免费
  • 温州网站优化排名seo效果最好的是
  • 做好网站建设和运营seo百度贴吧
  • 个人网站设计成首页官方app下载安装
  • 做搜狗pc网站快速排app投放推广
  • 石家庄网站建设多少钱爱站网爱情电影网
  • 张家港建网站价格网上推广app怎么做
  • 网站开发主流长尾关键词搜索网站
  • discu论坛网站模板网站seo诊断分析
  • 百度网站关键词排名查询河南seo关键词排名优化
  • php网站后台上传不了图片青岛百度快速优化排名
  • 做原材料供应的网站有哪些商城小程序
  • 网站日历插件一站式网站建设