DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 301|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 14:12:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      A/D转换寄存器 这里摘录一段笔者从网上下载的用PIC16F877单片机芯片(带Flash存储器的)完成有关A/D转换的源程序部分指令,并用它说明有关A/D转换寄存器在指令中的用法。这里先引用部分源程序,源程序中的注释是笔者按照指令在程序中的作用所加的注释(不是某条指令的直接功能),这是初学者读以下指令时应注意的。A/D转换器部分源程序清单如下:
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单片机的文中均已介绍过。




            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-11-15 00:57 , 耗时 0.087747 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表