—— —— —— 技术资料下载中心

>> 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的文中均已介绍过。　　

成都　丁锦元

[ 返回 ]