找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2265|回复: 0
收起左侧

PIC16F917单片机ADC程序与Proteus仿真图

[复制链接]
ID:962554 发表于 2021-8-27 00:36 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.png 51hei.png

单片机源程序如下:
  1. #include<pic.h>




  2.         void disp_adc_LED();

  3.         main()


  4.         {

  5.         int count ;

  6.            PORTB = 0 ;

  7.            count = 0 ;


  8.         TRISA = 0xFF ;                        // input
  9.         TRISB = 0x00 ;                        // output


  10.         RA0 = 0 ;






  11.         ADCON0 = 0x85 ;                                //                Right justified  , V ref+ = V dd  ,  Ch 1

  12.         ADCON1 = 0x30 ;







  13.                 for(;;)
  14.                         {
  15. do_conv:



  16.         ADCON0,GODONE = 1 ;







  17.         wait_eoc   :    while ( ADCON0,GODONE != 0 )






  18.         {
  19.                 goto wait_eoc   ;
  20.         }






  21.                 disp_adc_LED();




  22.                 for ( count = 0xf0 ; count > 0 ; count -- ) ;




  23.                         }




  24.         }












  25.   void disp_adc_LED()

  26. {
  27.         unsigned int i ;

  28.         i = ( ADRESH * 256 ) + ADRESL ;




  29.         if ( i > 896 )
  30.                 PORTB = 0x0F        ;

  31.         else

  32.         if ( i > 768 )
  33.                 PORTB = 0x0E        ;

  34.         else

  35.         if ( i > 640 )
  36.                 PORTB = 0x0C        ;
  37.         else

  38.         if ( i > 512 )
  39.                 PORTB = 0x08        ;


  40.         else
  41.         
  42.         if ( i > 384 )
  43.                 PORTB = 0x10        ;

  44.         else

  45.         if ( i > 256 )
  46.                 PORTB = 0x30        ;

  47.         else

  48.         if ( i > 128 )
  49.                 PORTB = 0x70        ;

  50.         else
  51.                 PORTB = 0xF0        ;









  52. }


  53. // ASSUMPTION :

  54. //         Gyro left  -->         OP < 2.5V ( Low Nibble LEDs )

  55. //         Gyro Right -->         OP > 2.5V ( High Niblle LEDs )
复制代码

所有资料51hei附件下载,Proteus7.5版本的仿真图:
16F917 ADC.zip (20.92 KB, 下载次数: 15)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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