文章分类

当前位置:首页>技术文章>PIC系列单片机数据存储器的特点和功能(下)

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

3 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 的各位置数,以确定 PIC1F877 的 RA1 口为模拟量的输入通道。并选中芯片电源作基准电压。读者若需深入了解 A/D 控制寄存器 ADCON0 和 ADCON1 的各位详细功能,请参看有关 PIC 单片机书籍的详细介绍。 A/D 转换的主程序(main)约有 13 条,将在本版 PIC 系列专题的后期结合实验板的编程器介绍。PIC 系列单片机的其它专用寄存器,如 TRISA、STATUS Bank 等,本报在前几期有关 PIC 的文中均已介绍过。 ?成都丁锦元


© 星光电子技术工作室 2021 All Rights Reserved.
如有任何问题、建议、业务、合作,请联系手机/微信:13713820066