STC15系列单片机学习1:存储器、特殊功能寄存器

STC15系列单片机的存储器分为两种,程序存储器数据存储器。其实单片机的程序存储器就是Flash,类似于我们电脑上的硬盘;单片机的数据存储器就是SRAM,类似于我们电脑上的内存条。我们常说的单片机烧录或者下载,就是把产生的固件放在单片机的程序存储器Flash中,就像我们在电脑上装软件,软件是装在硬盘上。

一、程序存储器Flash

单片机的程序存储器就是用来存储程序的,STC15W4K系列单片机根据不同的型号,集成了不同大小的Flash,如下图所示:

单片机复位后,程序计数器PC里面存的内容就是0000H,表示单片机从程序存储器的0000H地址处开始执行程序。

单片机的中断向量也在程序存储器中,中断向量也就是中断服务程序的入口地址,也就是中断程序开始执行的地址,关于中断工作原理,后面单独讨论。

单片机的程序存储器Flash,可以反复擦写10万次以上,我们下载程序到单片机,其实就是重新擦写单片机的程序存储器Flash。

二、数据存储器SRAM

单片机的数据存储器SRAM,就是一种RAM,那个S是static的缩写,表示静态存储器,相对的就是动态存储器DRAM,这些以后再讨论。

单片机的SRAM用于存放程序执行的中间结果和过程数据STC15W系列单片机数据存储器的容量如下表所示:

STC15W4K系列单片机的内部SRAM和内部扩展RAM,在物理和逻辑上都分别属于不同的地址空间,也就是说内部SRAM和内部扩展RAM是两个相互独立的东西。

40引脚以上的STC15系列单片机还可以再单片机外扩展64kB的外部数据存储器。

2.1 内部RAM

STC15W4K系列单片机内部RAM一共256字节,这256个字节还分3个部分:

低128字节、高128字节、特殊功能寄存器区

低128字节:与传统的8051单片机兼容,因为8051单片机的RAM只有128个字节,低128字节的数据存储区,既可以直接寻址,也可以间接寻址。低字节RAM区也叫通用RAM区,它还可以继续分为工作组区(地址从00H--1FH,共32个字节大小)、可位寻址区(20H--2FH,共16个字节大小,既可以按字节为单位读写,也可以按照位为单位读写)、用户RAM区、堆栈区。

高128字节:51单片机的内核是intel公司,Intel再8052中扩展了高128字节的RAM,高128字节存储区只能间接寻址

特殊功能寄存器区:只能直接寻址,看起来与高128字节存储器的地址都是80H--FFH,但是它们是不同的东西,通过寻址方式来区分。

2.2 内部扩展RAM

STC15W4K系列单片机除了内部集成的256字节的内部RAM,还集成了3840字节的扩展RAM,扩展的3840字节RAM地址范围是0000H--0EFFH,可以看出他的地址也是从0000H开始的,而不是延续内部SRAM,说明它是一个独立的东西。

访问STC15W单片机内部扩展RAM的方法与访问8051单片机外部扩展RAM方法是相同的。

内部扩展RAM是否可以访问受辅助寄存器AUXR中的EXTRAM位控制:

EXTRAM位为0时,内部扩展的RAM可以读写;

EXTRAM位为1时,内部扩展的RAM禁止读写;

三、特殊功能寄存器SFR

特殊功能寄存器, Special Function Register的缩写SFR,是一种控制寄存器和状态寄存器,是用来对单片机内各个功能模块进行管理、控制和监视的。

特殊功能寄存器实际上就是一个特殊功能的RAM区。

STC15 单片机的特殊功能寄存器与高128字节RAM共用相同的地址范围,都是80H--FFH,但是SFR必须使用直接寻址指令访问。

STC15W系列单片机的特殊功能寄存器名称及地址分布如下:

红框部分可位寻址,蓝框部分不可位寻址。

 四、几种常用的寄存器

4.1 程序计数器 PC

程序计数器 PC(Program Counter的首字母缩写),PC是一个独立的寄存器,不属于特殊功能寄存器。PC有16位,用来控制指令的执行顺序。单片机复位后,PC = 0000H,强制单片机从程序存储器的0地址处开始执行程序。

4.2 累加器 ACC

累加器ACC,是单片机内部最常用的寄存器,是一个SFR,也可以写作A,常用于存放参加算术或逻辑运算的操作数和运算结果。

4.3 B寄存器

B寄存器在乘法和除法运算中,与累加器ACC配合使用。

4.4 程序状态字寄存器 PSW

4.5  堆栈指针 SP

堆栈指针是一个8位专用寄存器,是一个SFR,它用来指示栈顶的位置,系统复位后,SP初始化为07H。

4.6 数据指针 DPTR

数据指针是一个16位专用寄存器,有DPL和DPH组成。DPTR是传统8051单片机中唯一可以直接进行16位操作的寄存器,也可以对DPL和DPH单独进行字节操作。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 一、设计要求 …………………………………………2 二、设计方案和论证 …………………………………2 (一)总设计原理图 ………………………………… 2 (二)设计方案的选择 ………………………………2 硬件部分 ………………………………………4 软件部分 ………………………………………8 三、设计总结…………………………………………26 四、参考文献…………………………………………26 一、设计要求 1、准确计时,以数字形式显示时、分、秒的时间。 2、小时以24小时计时形式,分秒计时为60进位。 3、校正时间功能,即能随意设定走时时间。 4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。 5、设计5V直流电源,系统时钟电路、复位电路。 6、能指示秒节奏,即秒提示。 7、可采用交直流供电电源,且能自动切换。 二、设计方案和论证 本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且 省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分 、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得 编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求 。 (一) 总设计原理框图如下图所示: (二)设计方案的选择 1.计时方案 方案1:采用实时时钟芯片 现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等。这些实 时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新 每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专 用芯片来实现实时时钟功能。 方案2:使用单片机内部的可编程定时器。 利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计 时。该方案节省硬件成本,但程序设计较为复杂。 2.显示方案 对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式: 动态显示和静态显示。 静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的 工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复 杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当L ED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程 序编写比较麻烦。 LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在 单片机没有太多实时测控任务的情况下可以采用。 本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本 系统选择动态显示方式。 (三)硬件部分 1、STC89C51单片机介绍 STC89C51单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一 种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计 数器[5]。 STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地 址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、 定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接 起来,构成一个完整的微型计算机。其管脚图如图所示。 STC89C51单片机管脚结构图 VCC:电源。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第 一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电 流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编 程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电 流,当P2口被写"1"时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址"1"时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
基于STC89C52单片机步数检测计步器无线蓝牙APP上传设计毕业设计论文+软硬件设计源码: 第二章 方案的设计与论证 2.1控制方案的确定 本设计由STC89C52单片机最小系统+ADXL345加速度传感器电路+蓝牙模块电路+LED灯电路+电源电路组成。 2.2控制方式的选择 2.2.1 单片机芯片的选择 方案一 采用可编程逻辑器件CPLD作为控制器,CPLD可以实现各种复杂的功能、规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑,最终放弃了此方案。 方案二 采用ST公司的STC89C52单片机作为主控制器,STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。该单片机功耗低、接口丰富,成本低廉,完全能满足本设计要求。 方案三 采用单片机芯片控制MSP430单片机是美国德州仪器(TI)推出的一种16位超低功 耗的混合信号处理器(Mixed Signal Processor),主要是针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”混合信号处理的解决方案。MSP430F149是一个16位的、具有精简指令集的、超低功耗的混合型单片机,具有可靠性高、功耗低、扩展灵活、体积小、价格低和使用方便等优点,广泛应用于仪器仪表、专用设备智能化管理及过程控制等领域,有效地提高了控制质量与经济效益,已成为众多单片机系列中一颗耀眼的新星。然而其成本太高,故舍弃。 故选择方案二。 2.2.2倾角传感器的选择 方案一 采用陀螺仪来检测老人的位置信息,陀螺仪是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置,该模块精度高,稳定性强,但控制复杂。 方案二: 采用基于ADI公司的倾角传感器ADXL345模块来检测老人的位置信息,adxl345功能很强大,内置很多寄存器,而且成本低,易于控制。 故选择方案二。 2.2.3无线遥控模块的选择 方案一 采用红外遥控模块系统进行无线控制,红外载波频率:38KHz,其理论遥控范围为8-10米,遥控范围内,电路简单,成本极低。 中间有无障碍物等因素会影响到遥控距离,实际遥控距离可能更短,丧失了遥测的有用性。 方案二 使用WIFI模块进行本系统数据的无线传输。Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。Wi-Fi是一个无线网路通信技术的品牌,由Wi-Fi联盟(Wi-Fi Alliance)所持有。目的是改善基于IEEE 802.11标准的无线网路产品之间的互通性。Wi-Fi主要是用于替代工作场所一般局域网接入中使用的高速线缆的。这类应用有时也称作无线局域网(WLAN)。其覆盖性强,传输距离远。 但是其安全性不高,很容易被黑客窜改数据。 方案三 使用蓝牙模块进行本系统数据的无线传输。蓝牙可以替代很多应用场景中的便携式设备的线缆,在能够应用于一些固定场所,如智能家庭能源管理(如恒温器)等。其数据传输为10米,完全满足本设计要求,而且其数据传输的安全性非常高。 故选择方案三。 10、系统硬件框图(针对本设计,1对1,直接用) 11、程序流程图(针对本设计,1对1,直接用) 12、器件清单(针对本设计,1对1,直接用) 13、所用到的芯片、电路模块资料(针对本设计,1对1,直接用) 14、元器件焊接方法及注意事项 15、疑难问题解答 16、答辩技巧 17、C语言学习视频教程 18、该设计单片机学习视频教程(多套经典教程) 19、程序下载串口软件STC_ISP安装包 1、使用前必读(怎样查看资料以及下载程序等等,一目了然) 20、程序下载串口软件STC_ISP使用视频教程 21、程序编写软件Keil安装包 22、程序编写软件Keil使用教程及安装看程序视频教程 23、原理图绘制软件Altium Designer 15 24、原理图查看多种格式软件安装查看视频教程 2、源程序(C语言含详细备注) 3、原理图(源文件+PDF版+照片版) 4、PCB图 51蓝牙计步器.apk 5、实物图(高清) 6、演示视频(电路讲解,模块说明,设计工作流程,现象演示) 7、任务书 8、开题报告(1对1,可直接使用) 9、本设计论文(本设计论文,完全符合,内容丰富,1万字以上)
STC89C52单片机开发板 一、方案设计 1.1 方案论证 在科技广泛发展的今天,计算机的发展已经越来越快,他的应用已经越来越广泛。二 单片机的发展和应用是其中的重要一方面。单片机在工业生产(机电、化工、轻纺、自 控等)和民用家电方面有广泛的应用。其中,单片机在工业生产中的应用尤其广泛。 单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因 此被广泛应用。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是 C51系列单片机稳定性好,运算精度高,推动了工业生产,影响着人们的工作和学习。 而本次设计就是要通过对C52系列单片机最小系统进行开发板的设计。有助于当代大学生 及涉及单片机领域的工作者们更深入的了解和学习单片机的开发机应用。 1.2 设计思路 (1)本设计采用STC89C52单片机为主控制核心。 (2)选择PCF8951实现A/D、D/A转换装置,与单片机接口为P2.1口和P2.0口。 (3)此外,还选择了NRF905无线通信模块及4*4矩阵键盘等模块进行开发与学习设计。 硬件设计 本设计由8部分组成:STC89C52单片机最小系统、PCF8951A/D转换电路、报警器模块 、NRF905无线模块、矩阵键盘模块、温度传感器电路、红外接收模块、LED流水灯模块。 电路原理图见附录。 2.1 STC89C52单片机最小系统模块 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的 解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容 被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高 运作频率35Mhz,6T/12T可选。 复位电路 当振荡器运行时,只要有有两个机器周期即24个振荡周期以上的高电平在这个引脚出 现时,那么就将会使单片机复位,如果将这个引脚保持高电平,那么51单片机芯片就会 循环不断地进行复位。复位后的P0口至P3口均置于高电平,这时程序计数器和特殊功能 寄存器将全部清零。 单片机晶振 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结 合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么 单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频 率。 在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有 些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种 能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡 。 单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各 部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方 法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同 子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 晶振实物图: 单片机实物图如下: 2.2 PCF8951 AD/DA转换模块 PCF8591是一款单电源、低功耗8位COMS型A/D、D/A转换芯片,它具有4路模拟量输入 通道、一路模拟量输出通道和1个I2C总线接口。该器件I2C从地址的低三位由芯片的A0、 A1和A2三个地址引脚决定,所以在不增加任何硬件的情况下同一条I2C总线最多可以连接 8个同类型的器件。 该器件具有多路模拟量输入、片上跟踪保持、8位A/D转换和8位D/A转换等功能。A/D 与D/A的最大转换速率由I2C总线的最大传输速率决定。 PCF8591具有以下特点:单电源供电;正常工作电源电压范围为2.5V~6V;通过I2C总 线完成数据的输入/输出;器件地址由3个地址引脚决定;采样频率由I2C总线传输速率决 定; 4路模拟量输入可编程为单端输入或差分输入;可配置转换通道号自动增加功能; 模拟电压范围为VSS~VDD;片上跟踪保持功能;8位逐次逼近A/D转换;带有一路模拟量输 出的乘法D/A转换。 PCF8951A/D、D/A转换模块: PCF8951模块实物图: 2.3 Nrf905 无线通信装置 NRF9

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值