PIC系列单片机数据存储器的特点和功能

发布者:EtherealMelody最新更新时间:2013-09-09 来源: dzsc关键字:PIC系列  单片机  数据存储器 手机看文章 扫描二维码
随时随地手机看文章
    PIC系列单片机品种虽多,但各产品内部硬件资源的数据存储器设置仍是很有规律的。笔者以PIC16C71A和PIC16C63/65/65A两个品种为实例,查看它们片内数据存储器的结构,找出它们的特点并说明某些寄存器的主要功能,以供用户快速编程。表1和表2分别是PIC16C71A和PIC16C63/65/65A产品片内数据存储器的资源表,其它系列产品的片内数据存储器结构的资源与表1、表2资源都很相似,其差别仅仅是片内功能部件的种类和数量不同(PIC16C57/58单片机有4个存储体)。笔者从下述几个方面介绍表1和表2的特点和主要功能。

  1统一编址 PIC系列单片机各类数据存储器都是以寄存器方式工作和寻址的。专用寄存器包括了定时寄存器TMRO、选择寄存器OPTION(又称为项选寄存器)、程序计数器PCL、状态寄存器STATUS、间接寻址寄存器INDF和FSR、端口I/O寄存器(如PORTA、PORTB…)和相对应的端口I/O控制寄存器(又称为端口I/O数据方向寄存器,如TRIAS、TRISB…)、保持寄存器PCLATH和中断控制寄存器INTCON等。上述的专用寄存器都是PIC16C63/65/65A和PIC16C71A共同有的,它们不仅是寄存器名称、功能相同,而且寄存器的地址也完全相同。如果再查看其它PIC单片机,如PIC16C62/62A/64/64A、PIC16C71/72/73/73A/74/74A、PIC16C8X……它们的专用寄存器名称凡是与以上相同者其地址也完全与上述相同,可见尽管PIC系列单片机品种多,但掌握它们的规律后,学习是不难的。

  型号不同的PIC单片机,其数据存储器的内部资源仅仅是功能种类和多少的不同。如PIC16C71A型,其引脚为18脚,主要功能是带有8位的A/D转换部件,有4个A/D通道模拟输入,所以在表1中与其A/D转换部件有关的专用寄存器ADRES(用于存放A/D转换的数值结果)、A/D控制寄存器ADCON0(用于控制A/D转换器的操作)和A/D控制寄存器ADCON1(用于控制选择A/D引脚的功能)等。对PIC16C65/65A型,其引脚是40脚的,其功能比PIC16C71A单片机强,因而数据存储器表2中的专用寄存器的种类就比表1的增加了很多。

  专用寄存器的每个寄存单元都有相对应的固定用途,它们可分成两类:一类用于供CPU操作(如INDF和FSR、STATUS、PCL……);另一类用于控制外围功能芯片的操作。

    学习PIC单片机数据存储器时,不仅要了解各寄存器单元的功能,而且还应在编制程序时会调用它们完成编程目的。下面笔者将以编程实例说明它们的用途。
  2间接寻址寄存器INDF和FSR 位于PIC单片机数据存储器的最顶端、地址00单元(地址码最小)的间接寻址寄存器INDF是一个空的寄存器。它只有地址码,在物理上不是一个真正的寄存器。它的功能常常与寄存器FSR(又称寄存器选择寄存器)配合工作,实现间接寻址目的。初学专用寄存器INDF和FSR时,记住下述的逻辑关系对编程是有帮助的:使用寄存器INDF的任何指令,在逻辑上都是对寄存器FSR所指向的RAM进行访问,即对INDF(本身)进行间接寻址(访问),读出的应是FSR内容。以下的一个简单程序是用间接寻址方式清除RAM地址20h~2Fh单元寄存器内容的实例。
   MOVLW 0x20 ;20h→w,对指向RAM单元的指针
          ;初始化
   MOVWF FSR ;20h→FSR,FSR指向RAM
LOOP CLRF INDF ;清除INDF,即清除FSR内容所指
         ;向的单元20h→2Fh
   INCF   FSR ;(指针)FSR内容加1
   BTFSS FSR,4;判别(指令)FSR的D3位,若为零
         ;执行下条循环指令;若为1间跳
         ;执行。
GOTO LOOP;跳转到LOOP(循环)
CONTINUE…    ;已完成功能,继续执行程序
  由上述指令看出,因寄存器INDF和FSR的配合工作,达到了对RAM地址20h~2Fh的寄存器清零目的。由于完成上述功能的指令数很少,这就会简化指令系统,使PIC单片机的指令集得以精简。
  说明:上述各条指令易于看懂,所以无需再复述,但其中的一条判别指令“BTFSS FSR,4”比较关键。该条指令是保证题设中要选择RAM地址单元上限值2Fh时,其对应的二进制数为00101111B,此时FSR的第4位恰为1。所以上述指令中用了一条判断指令;BTFSS FSR,4,判断FSR的D3位值是否为1,若不为1而为0,则执行下条循环指令GOTO LOOP,使FSR中的地址不断加1,直到寄存器FSR的D3位为1时,这时它的内容代表的RAM地址恰为2Fh。
  由此可见,学习PIC单片机数据存储器中的专用寄存器时,不必要对每个产品的专用寄存器进行学习,只需先学习它们的共同点,然后选中一个产品型号的专用寄存进行详细分析,有条件时进行必要的相关指令操作,就能完全掌握单片机技术。

    A/D转换寄存器 这里摘录一段笔者从网上下载的用PIC16F877单片机芯片(带Flash存储器的)完成有关A/D转换的源程序部分指令,并用它说明有关A/D转换寄存器在指令中的用法。这里先引用部分源程序,源程序中的注释是笔者按照指令在程序中的作用所加的注释(不是某条指令的直接功能),这是初学者读以下指令时应注意的。A/D转换器部分源程序清单如下:[page]
DEMO 877ASM
List P=16F877
org   0x00    ;复位向量
NOP        ;空操作
Start Banksel PORTC   ;选择PORTC所在
;数据存储器的存储
;体(实为Bank0)
CLRF   PORTC  ;对RC口清零
MOVLW B′01000001′ ;A/D转换时钟选
;择FOSC/8,打开
; A/D转换器
MOVWF ADCON0  ;设定了A/D转换
;操作部分参数
Banksel OPTION_REG ;选择OPTION所在
;数据存储器的存储            ;体(实为Bank1)
MOVLW B′10000111′ ;设置预分频器TM
; R0,分频率1∶256
MOVWF OPTION   ;完成上条指令设置
CLRF  TRISC   ;设定RC口(8位)
;为输出
MOVLW B′0001110′  ;选中模拟量通道1
;(RA1/AN1)
MOVWF ADCON1  ;模拟基准电压
VREF为芯片电源电压,选择通道1(RA1/AN1)完成
main …

要阅读上述的指令,读者还需了解以下必要的补充知识。
    (1)关于用PIC16F877单片机作A/D转换器。PIC16F877单片机是具有多通道模拟量输入的8位A/D转换器。上述的源程序是利用该PIC产品作A/D转换的一种实验程序,其实验目的是用PIC16F877单片机来实现一个通道的8位A/D转换,并将转换结果以二进制形式经RC口输出再由LED显示。实验的电路原理如附图(笔者根据源程序而绘出的PIC16F877A/D转换硬件电路图)所示。

     (2)编制与A/D转换器有关的专用寄存器指令。要读懂上述的源程序,应根据以下的线索:1)把握源程序的编写惯例;2)选择RC口和对它清零;3)给A/D控制寄存器ADCON0的各位置数,达到A/D转换时选择A/D位的采样时间,即注释中的A/D时钟选择;4)选择专用寄存器Option并给它各位置数,达到选择预分频器TMR0和确定其分频率(1∶256);5)设定RC口为输出,以保证LED显示;6)给A/D控制器ADCON1的各位置数,以确定PIC16F877单片机的RA1口为模拟量的输入通道。并选中芯片电源作基准电压。读者若需深入了解A/D控制寄存器ADCON0和ADCON1的各位详细功能,请参看有关PIC单片机书籍的详细介绍。
A/D转换的主程序(main)约有13条,将在本版PIC系列专题的后期结合实验板的编程器介绍。PIC系列单片机的其它专用寄存器,如TRISA、STATUS Bank等,本报在前几期有关PIC单片机的文中均已介绍过。

 

关键字:PIC系列  单片机  数据存储器 引用地址:PIC系列单片机数据存储器的特点和功能

上一篇:Windows下PIC 8位单片机源程序汇编和固化(五)
下一篇:PIC系列单片机数据存储器的特点和功能

推荐阅读最新更新时间:2024-03-16 13:27

剩余电流保护器单片机系统的抗干扰设计
图1为用P87LPC767单片机设计的智能型剩余电流保护器系统框图,在电路设计、软件设计、PCB板设计等方面同步考虑其电磁兼容设计。剩余电流保护器是一种低压电器设备,内部没有大功率的高频电路,电磁辐射微弱,它产生的电磁骚扰对其他设备影响很小,这方面不是电磁兼容设计的重点。剩余电流保护器电磁兼容设计的重点是其在受到其他设备产生的电磁干扰时能保持稳定工作的能力,也即抗干扰能力。剩余电流保护器受到的干扰主要来自电网本身,主要有线路突然断路或雷电瞬变过压引起的单极性浪涌(冲击),以及由于闪电、接地故障或切换电感性设备而引起的信号参数产生瞬时扰动,这两方面是电磁兼容设计的重点,也是设计的难点。下文从多个方面介绍该智能型剩余电流保护器的电磁兼容
[单片机]
剩余电流保护器<font color='red'>单片机</font>系统的抗干扰设计
51单片机汇编语言的指令格式
  一个简单的循环灯实例   下图中的8个发光 二极管 代表 8 个彩灯,让我们看看是如何实现的   STAT: MOV A , #01H ; 高电平对应的发光二极管亮   LOOP: MOV P1, A ; 从 P1 口输出到发光二极管   MOV R1, #10   DEL1: MOV R2 , #200   DEL2: MOV R3, #126   DEL3: DJNZ R3, DEL3   DJNZ R2, DEL2   DJNZ R1, DEL1   RL A   LJMP LOOP ; 左移一位 , 下一个发光二极管亮   END    汇编语言 指令格式    : 操作码 ;  
[单片机]
51<font color='red'>单片机</font>汇编语言的指令格式
一种智能人体心率检测装置的设计
0 引 言 心率是人体中一个非常重要的生命信息,而传统的脉诊由于其定性化和主观性影响了心率测试的精度,成为中医脉诊应用、发展和交流中的制约因素。为了提高对此类生物医学信号的测试精度,必须结合现代科学技术。目前用于检测心率的仪器很多,常见的有基于压力传感器、光电传感器、电容传感器和电声传感器等类型的测试装置,但是对脉搏测试部位的选择没有太大区别,对于能在指端进行脉搏精确测量的仪器还是比较少。这里介绍的智能人体心率检测装置可以实现人体指端的无创测量,测试过程简单,能精确测量出心跳次数,实现数据显示和上、下限报警功能。 1 装置组成及工作原理 系统组成如图1所示。此设计以单片机AT89C2051为核心,由光电传感器采集脉搏信号,经
[单片机]
一种智能人体心率检测装置的设计
液晶控制器SED1520与单片机mPSD3334D的接口及显示设计
引言 点阵液晶显示器具有可显示复杂的文字及图形,显示屏面积大小多样等优点,在智能仪器仪表、电子设备等工业、民用方面有着广泛的应用前景。 ST公司的mPSD系列单片机以其接口功能强大、存储容量大和系统开发方便等优点,逐渐被应用到对功能要求较高的控制领域。其可编程逻辑的丰富外围接口和大容量存储器的使用必须通过PSDsoft? Express软件配置,与传统51系列单片机开发不同。本文通过在实际项目中对mPSD3334D的应用,重点介绍了其特点及其与内置SED1520液晶控制器的液晶模块GXM12232-1的接口,并给出了mPSD3334D的引脚配置和GXM12232-1显示控制流程图。 mPSD3334D及SED1520简介
[应用]
单片机硬件系统扩展外设设计分析
一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如 ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。 系统的扩展和配置应遵循以下原则: 1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。 2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。 3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会
[单片机]
<font color='red'>单片机</font>硬件系统扩展外设设计分析
有关51单片机读端口、读引脚的问题
80C51单片机有P0-P3四个P口,以P0为例说明: 要搞清这个问题,就要明白p0口的内部结构。P0口是由锁存器经两个驱动场效应管和外部引脚相连的。 读引脚的意思就是直接读P0外部引脚的电位,而读端口(锁存器)读的是内部与数据总线链接的锁存器的电位。 两者不同。一般来说,读取P0的数据,都是读引脚,目的是获取与P0相连的外部电路的状态。而读端口是在执行下述语句时由CPU自行完成的: inc P0;给p0加1 执行这个语句时 ,采用“读-改-写”的过程,先读取p0的端口数据,再加1,然后送到p0锁存器里。注意这个端口数据跟p0的引脚状态不一样,比如你事先给p0写进69H,p0里数据就是69H,而引脚上的状态因为你没有执行MOV A
[单片机]
基于51单片机的篮球记分牌设计
一、设计任务 设计一个基于单片机的篮球计分牌,实现两队的计分功能与24秒计时功能。 二、 性能指标要求 (1)按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。 (2)结合硬件能够正常计分(1,2,3)。 (3)能够正常显示分值。 (4)能够正常修改工作模式(计分与24秒)。 (5)能够24秒的误差不小于1秒。 拓展部分 能记录两队球员犯规次数计数。 三、设计思路及设计框图 1.设计思路 这次实训的芯片我们采用了AT89C52,并同时用keil进行C语言编程,再生成的HEX文件通过下载口导入AT89C52中。 器件中有一个12M的晶振并用与芯片相对应的管脚连接,将晶振产生的时钟信号作为定时信号。篮球计分牌分为三个部
[单片机]
意法半导体高性能微控制器为智能家居和工业系统新创新扫清障碍
新的STM32H7R/S微控制器将嵌入式应用性能提高到一个新水平,适合新一代智能工厂、建筑、基础设施和健康监测设备 2024年3月14日,中国-- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST) 发布了一款新的集MPU和MCU两者之长的高性能产品。 微处理器(MPU)系统通常更加复杂,处理性能、系统扩展性和数据安全性更高,而微控制器(MCU)系统的优势是简单和集成度高。取两者之长,意法半导体新产品越级进化。 在采用这些新的STM32H7 MCU后,设备厂商可以更快、更经济地开发智能家电、智能楼宇控制器、工业自动化和个人医疗设备,满足终端市场用户日益增长的需求
[物联网]
意法半导体高性能<font color='red'>微控制器</font>为智能家居和工业系统新创新扫清障碍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved