×
单片机 > 单片机程序设计 > 详情

PIC单片机AD转换LED显示程序

发布时间:2020-06-03 发布时间:
|

;*   单片机 模拟量进行模/数转换,并用LED显示出来我们可以看到转换 
;*  结果,0位AD当做8位来用了,利用 单片机 片内硬件资源TMR0和预分频器, 
;*  为ADC提供定时启动信号,A/D转换的时钟源选用了系统周期的8倍,选 
;*  用了电源电压VDD和VSS作为基准电压,软件方式查询其中断标志位ADIF.   


;************************************************************ 
   LIST     P=16F877                      ;列表伪指令 
   INCLUDE  "P16F877.INC"                 ;把包含文件含入源程序 
;************************************************** 
  __CONFIG 3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭 
;************************************************************ 
   ORG    0000H 
   NOP                                    ;放置一条ICD必段的空操作指令 
START 
   BANKSEL PORTC                          ;选择同PORTC寄存器相同的体 
   CLRF    PORTC                          ;清PORTC 
    MOV LW   B’010000001’                   ;选择:时钟时钟源为FOSC/8,允许ADC工作 
    MOV WF   ADCON0                         ;通道AN0,暂时不启动转换过程 

   BANKSEL OPTION_REG                     ;选择寄存器OPTION_REG的体为当前体 
    MOV LW   B’10000111’                    ;设定:RB口不用上拉,分频器配给TMR0 
    MOV WF   OPTION_REG                     ;分频比设为1:256 
   CLRF    TRISC                          ;PORTC所有管脚设为输出(接LED) 
    MOV LW   B’00001110’                    ;转换结果左对齐,只选1个A/D通道RA0/AN0 
    MOV WF   ADCON1                         ;选择VDD和VSS作参考源 
   BANKSEL PORTC                          ;选中同寄存器PORTC的体为当前体 
;--------------------------------- 
MAIN 
   BTFSS   INTCON,T0IF                    ;等待和循环检测TMR0溢出中断标志位 
   GOTO    MAIN                           ;如果没有发生TMR0溢出中断则返回循环检测 
   BCF     INTCON,T0IF                    ;如果发生了TMR0溢出中断,则清除标志位T0IF 
   BSF     ADCON0,GO                      ;开启A/D转换过程 
WAIT 
   BTFSS   PIR1,ADIF                      ;等待A/D转换过程结束,检测ADC中断标志位 
   GOTO    WAIT                           ;如果没有转换结束,则返回循环检测 
    MOV F    ADRESH,W                       ;如果转换完毕,则把A/D结果读到W 
    MOV WF   PORTC                          ;经过W送C口LED显示 
   GOTO    MAIN                           ;循环进行A/D转换 
;--------------------------------- 
   END                                    ;源程序结束 




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机制作超级流水灯