0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解PIC系列单片机数据存储器转换寄存器的指令

jf_35136247 来源:jf_35136247 作者:jf_35136247 2023-06-25 13:42 次阅读

A/D转换寄存器这里摘录一段笔者从网上下载的用PIC16F877单片机芯片(带Flash存储器的)完成有关A/D转换的源程序部分指令,并用它说明有关A/D转换寄存器在指令中的用法。

这里先引用部分源程序,源程序中的注释是笔者按照指令在程序中的作用所加的注释(不是某条指令的直接功能),这是初学者读以下指令时应注意的。A/D转换器部分源程序清单如下:

DEMO877ASM

ListP=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显示。

(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口为模拟量的输入通道。并选中芯片电源作基准电压。

想要了解更多单片机的知识,可以登录奥柯网站或者电话奥柯技术人员,免费获得技术支持,期待您的来电!
审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620845
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117723
  • PIC
    PIC
    +关注

    关注

    8

    文章

    507

    浏览量

    86748
  • 指令
    +关注

    关注

    1

    文章

    579

    浏览量

    35377
收藏 人收藏

    评论

    相关推荐

    loop指令执行时,隐含的寄存器

    当执行loop指令时,隐含的寄存器是CX寄存器。CX寄存器是循环计数器寄存器,它存储了循环的迭代
    的头像 发表于 02-14 16:15 413次阅读

    xmc7100 DMA为什么没有将ADC数据寄存器值传送到存储器缓冲区?

    我使用的是 xmc7100 芯片,为什么 DMA 没有将 ADC 数据寄存器值传送到存储器缓冲区?
    发表于 01-29 08:33

    AD5420AREZ使用AT89S52单片机移植官方程序,为什么无法写入数据寄存器

    AD5420AREZ使用AT89S52单片机移植官方程序,在Proteus下仿真没有问题,实际电路可以复位,可以写入控制寄存器,但是无法写入数据寄存器
    发表于 12-20 06:34

    单片机存储器主要有几个物理存储空间?

    单片机存储器主要有几个物理存储空间
    发表于 11-01 06:22

    单片机存储器从物理上可划分为4个存储空间,其存储器的空间范围是多少?

    单片机存储器从物理上可划分为4个存储空间,其存储器的空间范围是多少?
    发表于 11-01 06:20

    Linux程序状态寄存器访问指令

    或SPSR)_ ,操作数 MSR CPSR,R 0 ;传送R 0 的内容到CPSR MSR SPSR,R 0 ;传送R 0 的内容到SPSR 加载/存储指令 ARM 微处理器支持加载/存储指令
    的头像 发表于 10-07 14:22 566次阅读

    单片机89C2051能够完成存储器HM6116的数据存储吗?

    单片机功能强大,我想它可以完成存储器6116的数据存取功能吧?这或许是认识单片机比较容易的一步?讨厌我这个问题的朋友您就别看了,我真的不是想愚弄您。
    发表于 10-07 08:16

    一文讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系!

    程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一,此外PIC单片机之所以成为一时非常热的
    发表于 09-27 09:21

    8位PIC单片机上的存储器访问分区

    电子发烧友网站提供《8位PIC单片机上的存储器访问分区.pdf》资料免费下载
    发表于 09-25 14:50 0次下载
    8位<b class='flag-5'>PIC</b><b class='flag-5'>单片机</b>上的<b class='flag-5'>存储器</b>访问分区

    存储器寄存器映射#单片机

    单片机STM32电子技术
    未来加油dz
    发布于 :2023年08月11日 16:50:57

    存储器综合扩展(1)#单片机

    单片机存储器
    未来加油dz
    发布于 :2023年07月31日 23:03:55

    存储器的结构特点(2)#单片机

    单片机存储器
    未来加油dz
    发布于 :2023年07月31日 23:03:15

    存储器的结构特点(1)#单片机

    单片机存储器
    未来加油dz
    发布于 :2023年07月31日 23:02:49

    Microchip PIC系列8位单片机入门教程(2):点亮LED灯

    配置字的含义:PIC系列单片机都有配置字,这是从宏观设置单片机功能的寄存器,我们不需要手动配置。
    发表于 07-14 14:32 1375次阅读
    Microchip <b class='flag-5'>PIC</b><b class='flag-5'>系列</b>8位<b class='flag-5'>单片机</b>入门教程(2):点亮LED灯

    单片机的程序存储器数据存储器共处同一地址空间为什么不会发生总线冲突呢?

    单片机的程序存储器数据存储器共处同一地址空间为什么不会发生总线冲突呢?
    发表于 05-10 15:17