设计与开发

8051单片机存储器 51单片机存储器小结

小编 2024-11-24 设计与开发 23 0

51单片机存储器小结

存储器分为程序存储器(ROM)和数据存储器(RAM),两种又都可以分为片内和片外,片外即需要自己在单片机外部扩展。

8051单片机的片内程序存储器有4K,片内数据存储器有256个字节,其中又分为高128字节位特殊功能寄存器区,真正用户能用的RAM只有低128字节。

8052单片机有8K片内程序存储器,而数据存储器除了低128字节外还有扩展的高128字节,地址上跟特殊功能寄存器一样,但物理上是独立的,寻址方式不一样,扩展的高128字节只能间接寻址。

Keil中变量的存储类型:

存储类型

说明

code

程序空间(无需改变的变量)

data

直接访问的内部数据存储器(速度最快)

idata

间接访问的内部数据存储器(可以访问全部256字节RAM)

bdata

可位寻址的内部数据存储器

xdata

外部数据寄存器(最大64K)

pdata

分页的外部数据寄存器(最大256字节,少用)

【如无使用关键字,系统则按默认处理(根据存储模式)】

Keil中的存储模式:

存储模式

说明

Small

变量默认为data型,最大128字节

Compare

变量默认为pdata型,最大256字节

Large

变量默认为xdata型,最大64K

Keil中设置如下图:

我们平常使用的STC单片机,有很多型号,具体存储器大小都要看型号:

【89/90系列的机器周期需要12个或6个时钟周期】

【12/15系列的机器周期只需要1个时钟周期】

51单片机上的FFT算法

最近用增强型51单片机做了一个简易的点阵音乐频谱显示器,最主要是自己刚学完信号处理课程,想自己写一个FFT算法。现将已经能够在51单片机上运行的FFT算法供需要的伙伴们参考。

在51单片机上运行FFT算法,需要注意一下几点:

由于51单片机的内存RAM很小,只有128字节,52有256字节,而16点的浮点数输入,就需要2*4*16=128字节的内存开销,所以只有256字节的做多只能做16点的FFT运算。而且必须要用idata定义才能将其定义在高128字节。所以要做16点以上的FFT运算,必须选用有内部扩展RAM的51系列单片机,然后用xdata定义,并且要将存储模式设为LARGE模式。

8051单片机彻底研究(基础篇)

需要PDF文件书的联系我

第1章单片机的来龙去脉.................................................................2

1-1单片机从头说起.....................................................................2

1-2单片机与个人电脑的比较............................................................2

1-3典型的单片机应用系统.................................................................4

1-4最简化的单片机系统...........................................................................5

1-5单片机开发的实际问题.................................................................7

1-6本书的单片机学习环境....................................................................8

第2章8051单片机简介..............................................................12

2-1微型控制器与微型处理器................................................................12

2-2时势造英雄:MCS-51系列单片机..................................................12

2-38051单片机功能方框图...............................................................14

2-48051系统复位分析...................................................................20

习题.............................................................................................22

第3章单片机的汇编语言....................................................................26

3-18051单片机的程序设计..............................................................26

3-2写汇编程序的预备知识................................................................26

3-3汇编语言的基本架构.................................................................27

3-4写汇编语言前:熟悉寄存器与指令..............................................28

3-5试写一个8051汇编程序..............................................................30

3-6配合示波器做汇编语言的除错......................................................31

3-7更进一步的8051汇编程序.........................................................33

3-88051的反汇编程序....................................................................34

习题............................................................................................34

第4章8051的存储器...........................................................................36

4-18051内部存储器的分配.................................................................36

4-2程序存储器空间..............................................................................37

4-3外部数据存储器空间.....................................................................37

4-4内部数据存储器空间.............................................................38

习题...........................................................................................39

第5章8051指令的寻址模式..............................................................42

5-18051执行指令的过程...............................................................42

5-28051的直接寻址模式............................................................45

5-38051的间接寻址模式...................................................................46

5-48051的寄存器寻址模式...............................................................47

5-58051的立即寻址模式.....................................................................49

5-68051的索引寻址模式....................................................................49

习题..............................................................................................51

第6章 8051指令说明..........................................................................54

6-18051指令格式.................................................................................54

6-28051指令概述.................................................................................54

6-38051指令集整理.......................................................................56

6-4影响标志位的指令.................................................................58

6-58051指令解析一:算术运算指令....................................................59

6-68051指令解析二:逻辑运算与移位指令..........................................62

6-78051指令解析三:数据传送指令.....................................................64

6-88051指令解析四:布尔变量操作指令................................................68

6-98051指令解析五:程序分支指令......................................................69

习题.....................................................................................75

第7章8051单片机的引脚说明.............................................................78

7-18051单片机的引脚...................................................................78

7-2认识AT89C2051........................................................................81

7-38051与AT89C2051的差异...........................................................84

7-4AT89C系列的下一步..............................................................84

习题.............................................................................................8.6

第8章8051基本程序练习..................................................................88

8-1工具的准备............................................................................88

8-28051汇编程序X8051与LINK4的操作................................................89

8-3基础范例一:LED的亮与灭.........................................................90

8-4基础范例二:蜂鸣器的使用.........................................................92

8-5基础范例三:指示灯...................................................................93

8-6基础范例四:七段显示器的使用..................................................95

8-7基础范例五:按键的使用............................................................99

习题.......................................................................................102

第9章8051控制板线路说明..............................................................104

9-1如何选用控制板......................................................................104

9-2AT2051控制板的特点..............................................................105

9-3线路分析.................................................................................105

9-4AT2051控制板的应用与学习方向..................................................108

9-5AT2051元件表及元件照片.........................................................110

9-6组装指南.............................................................................112

9-7组装的测试步骤...................................................................113

第10章8051定时/计数彻底研究......................................................124

10-1什么是定时/计数................................................................124

10-28051定时器和计数器安排......................................................124

10-3定时/计数器相关的寄存器.......................................................125

10-48051的Timer定时/计数器设置步骤...............................................127

10-5 Timer模式0彻底研究...........................................................128

10-6Timer模式1彻底研究..............................................................130

10-7 Timer模式2彻底研究.........................................................137

10-8 Timer模式3彻底研究.........................................................138

10-98051Timer模式3的再探讨.....................................................139

第11章8051中断彻底研究.........................................................142

11-1为何要有中断...............................................................142

11-28051的中断................................................................142

11-5中断的寄存器(IE和IP)的介绍..........................................146

11-68051的中断源彻底研究..........................................................148

11-78051的中断设置步骤............................................................150

11-8AT2051控制板在中断上的安排................................................151

11-9内部计数器0中断程序范例.......................................................151

11-10外部负边沿中断INTO程序范例.............................................157

11-11外部低电平中断程序范例.................................................160

11-12串行传输中断程序范例.....................................................162

习题.........................................................................................168

第12章8051串行通信彻底研究(一).............................................170

12-1为何要通信....................................................................170

12-2如何进行串行通信......................................................171

12-3RS232C的规格...............................................................173

12-48051的串行接口概述..........................................................175

12-5申行传输控制有关的寄存器:SCON.............................................177

12-68051串行传输的波特率设置.....................................................178

12-7串行传输模式0彻底研究..................................................179

12-8串行传输模式1彻底研究.......................................................184

12-9串行传输模式2彻底研究......................................................188

12-10串行传输模式3彻底研究...................................................191

第13章8051串行通信彻底研究(二).................................................196

13-18051的多处理器通信彻底研究......................................................196

13-2AT2051的串行硬件线路分析.........................................................199

13-3AT2051控制板如何与PC连接....................................................200

13-4多处理器通信的写法分析.........................................................201

13-58051串行接口发送硬件分析.....................................................202

13-6串行传输实用程序范例............................................................205

13-7串行传输的应用与影响..........................................................207

习题...........................................................................................208

进阶练习篇

第14章 AT2051进阶练习(一).......................................................210

14-1练习:蜂鸣器的控制................................................................210

14-2练习:中断服务程序所占用的时间..............................................213

14-3练习:七段显示器的初步使用....................................................215

14-4练习:ACC值的转换与显示.......................................................218

14-5练习:BCD值的转换与显示...................................................221

14-6练习:按键操作的确认.............................................................224

14-7练习:学习波形Duty Cycle的计算与显示......................................227

14-8练习:学习温度值的换算与显示...................................................227

14-9练习:温度值每秒读取两次的写法...............................................228

14-10练习:另一种温度测量的写法..................................................229

习题...........................................................................................230

第15章AT2051进阶练习(二)...............................................................234

15-1练习:启动RS485串行通信接口.................................................234

15-2练习:练习温度值转成ASCIⅡ字符串的写法.......................................235

15-3练习:串行传输的写法.........................................................236

15-4练习:串行传输的写法二..........................................................237

15-5练习:将温度的精确度提高到小数点后一位...................................238

15-6练习:串行除错程序的加入.......................................................239

习题.........................................................................................240

第16章AT2051进阶练习(三)...................................................242

16-1练习:写入一个字节的数据到E'PROM 24LC16内...........................242

16-2练习:E2PROM的读回写法分析...............................................243

16-3练习:ID值读取的写法....................................................244

16-4练习:如何判断E2PROM是否存在...........................................245

16-5练习:ID值的在线更改...........................................................246

16-6练习:配合ID调用的串行通信程序........................................246

16-7练习:串行通信程序的除错....................................................247

16-8练习:RS485通信程序的完整版............................................248

第17章汇编语言的写法分析与除错.....................................................254

17-1汇编语言的难点.........................................................................254

17-2写程序的重点..............................................................................254

17-3LED除错法..................................................................................254

17-4蜂鸣器除错法...........................................................................255

17-5DISPLAY除错法.........................................................................255

17-6串行通信除错法.........................................................................256

17-7仪器协助除错法.........................................................................257

17-8高级仪器除错法...................................................................257

习题.......................................................................................258

第18章8051例程归纳整理..................................................................260

18-1清除4个内部DATA MEMORY地址.............................................260

18-2清除4个外部DATA MEMORY地址...............................................260

18-3将外部数据存储器上4个字节值存入内部数据存储器...........................261

18-4将4个内部数据值转存到外部数据存储器中......................................261

18-5内部数据存储器内4字节相加(不含正负符号)...............................262

18-6内部数据存储器的值和外部数据存储器的值相加...............................262

18-7内部数据存储器的4字节相减.....................................................263

18-8将内部数据存储器内的值取补码.................................................263

18-9对外部数据存储器做16位的加法运算.........................................264

18-10对外部存储器做减法运算.........................................................264

18-11内部数据存储器做值的比较..........................................................265

18-12外部数据存储器做整段值的比较.............................................265

18-13内部数据存储器区与累加器做比较...............................................266

18-144字节不含正负符号的乘法运算...............................................266

18-154字节不含正负符号的除法运算...................................................267

18-16对外部数据存储器内的值做异或运算产生一个校验码..........................268

18-17确认外部数据存储器(4字节)的校验码是否正确............................269

18-18在内部数据存储器内产生4个随机数..............................................269

18-19检查外部数据存储器(16位)是否为0000H.....................................270

18-20检查外部数据存储器(16位)的值是否为1000................................271

18-21检查外部数据存储器(16位)的值是否比5000大............................271

18-22将外部数据存储器(16位)值转换成6个BCD码.............................272

18-23将ACC值(<99)转换成两个BCD码..........................................273

18-24将累加器的值转换成3个BCD码...................................................273

18-25检查一段外部数据存储器(2KB)的读写功能...................................274

18-26计算2KB程序空间的校验和(CHECKSUM).......................................274

18-27清除外部数据存储器共2048个地址...............................................275

18-28将1个字节值转换成ASCⅡ码,供数据显示用..................................275

18-29将ASCII码转换成二进.制...................................................276

第19章混合式示波器的认识与使用....................................................280

19-2基本测量示范....................................................................283

19-3特殊信号测量.........................................................................285

第20章数字电表的使用...................................................................288

20-1数字电表功能..............................................................................288

20-2数字电表操作要点...................................................................288

20-3数字电表使用时的特别注意事项...................................................290

20-4AT2051控制板操作示范............................................................291

20-5电表的校正.........................................................................291

习题............................................................................................293

第21章USB烧录器的安装与使用........................................................296

21-1旗威USB烧录器....................................................................296

21-2烧录器的安装...........................................................................296

21-3烧录程序的安装....................................................................297

21-4烧录功能说明............................................................................297

21-5 Files文件菜单......................................................................299

21-6IC芯片菜单........................................................................301

21-7Programmer烧录器菜单.............................................................303

21-8Diagnostic 诊断菜单....................................................................305

21-9USB烧录器特殊用法...............................................................306

21-10USB烧录器注意事项...........................................................307

习题.......................................................................................307

附录............................................................................................309

附录AASCII表..........................................................................309

附录B8051相关IC引脚图............................................................311

附录C8051指令集总整理..................................................................314

附录D8051指令整理(按功能划分)................................................324

附录E8051指令整理(按十六进制排列)..........................................329

附录F8051SFR表与RESET后的初始值.............................................336

附录GSFR特殊功能寄存器整理表....................................................337

附录H如何购买电子元件.............................................................340

附录l如何识别晶体管(三极管)的引脚..............................................342

附录J如何看Data Sheet................................................................345

附录K如何焊接...........................................................................347

附录L如何上网找元件..............................................................349

相关问答

8051单片机 存储器 分为?

8051单机片的存储器分为:(1)64KB的程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM地址空间;(2)2...

8051单片机 的程序 存储器 是可以存储?

8051单片机的程序存储器可以存储用户程序,扩展型8051单片机还可以在这个空间存储掉电保护的用户数据,也就是当成EEPROM使用。需要特别注意的是,如果单片机采...

8051单片机 内部 存储器 怎么输出?

8051单片机内部存储器应该按照它的功率大小输出,应该按照它的内部数据量输出,应该按照他实际需要的输出8051单片机内部存储器应该按照它的功率大小输出,应该...

8051单片机 如何访问数据 存储器 ?

8051单机片将EA引脚接地,则运行片外程序存储器;EA接VCC,则运行片内程序存储器。当然,即使EA接VCC,如果程序运行时指令地址超过了片内程序存储器地址范围,也...

8051单片机 怎么访问外部数据 存储器 ?

8051单片机可以通过串行总线及并行总线访问外部数据存储器。常用的串行总线包括SPI和I2C,这两种总线的本质都是在时钟信号的协调下访问外部数据存储器,只不过...

说明 8051单片机 内部数据储存区空间分配情况。32个通用寄存器各对应哪些RAM单元?

片内数据存储区一般指的是片内ram。内部数据存储器(片内ram)一共有256字节。这256字节被分成两半,低128字节的ram区称为用户数据ram,高128字节为sfr区,sfr区...

8051单片机 内部结构分为哪四大部分?

8051单片机的内部结构分为四大部分:中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入/输出(I/O)端口和定时/计数器。中央处理器是单片机的核心...

8051单片机存储器 结构的主要特点是什么?

8051单片机存储器结构包括两类存储器:内部RAM和ROM。内部RAM包含了128字节的随机存储器,用于存储变量、数据和程序。ROM包含了4K或8K的只读存储器,用于存储可...

msc-51的程序 存储器 用于?

程序存储器用来存放编制好的始终保留的固定程序和表格常数;数据存储器用以存放数据或中间运行结果。8051单片机内部设置有256字节的RAM,其中有128字节的内部R...

8051单片机 各有哪两种功能?

8051单片机具有两种主要的功能,一是作为微控制器,可用于控制各种设备和系统,包括家用电器、工业自动化、汽车电子、医疗设备等;二是作为嵌入式系统的核心,...

猜你喜欢