• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234
    設(shè)計開發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

    技術(shù)支持

    從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

    新聞中心

    提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

    基于QL200數(shù)字電壓表的源程序

    更新時間: 2019-03-23
    閱讀量:2718

    十年專注單片機方案開發(fā)的方案公司英銳恩,分享基于QL200數(shù)字電壓表的源程序。

    英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

    //////////////////////////////////////////////////
    //  Author  : Toby
    //  Date  : 2008/09/18
    //      Function : 用QL200來做數(shù)字電壓表,用4個數(shù)碼管來顯示RA0的輸入電壓
    //  MCU   : PIC16F877A
    //  C Compiler : PICC 8.05
    //  IDE   : MPLAB IDE v8.10               
    /////////////////////////////////////////////////

    #include
    __CONFIG (0x3f3a);      //燒寫配置位
    union  adres       //定義一個共用體,用于存放10位A/D轉(zhuǎn)換的結(jié)果
    {int  y1;
    unsigned  char  adre[2];
    }adresult; 

    float ADSL=0;
    unsigned char QC=0;
    const char TABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90};  //定義常數(shù)0-9的數(shù)據(jù)表格
    void initial();                //系統(tǒng)各I/O口初始化 
    void interrupt adint(void);   //AD中斷函數(shù)
    void adinitial();              //AD初始化函數(shù)
    void display();                //顯示函數(shù)
    void  delay();           //延遲函數(shù)

    main()                          //主程序

    {
       unsigned char a;
       initial();             //調(diào)用I/O初始化函數(shù) 
       while(1)
         {
          
            adinitial();        //調(diào)用AD初始化函數(shù)
            if(QC%5==0)           
                 for(a=100;--a;)  //連續(xù)顯示一陣,使看來的數(shù)據(jù)不閃
                   {
                     display();
                   }           
         }

    }

    //系統(tǒng)各I/O口初始化子程序
    void  initial()
    {
        TRISA=0B00000001;   //只有RA0為輸入,其它都為輸出
     TRISD=0;   //C口為輸出
        PORTD=0xff;        //關(guān)閉所有顯示

    }


    //A/D轉(zhuǎn)化初始化子程序
    void   adinitial()
    {
        ADCS0=1;                    //使A/D轉(zhuǎn)換時鐘為8tosc    
     ADCS1=0;
        CHS0=0;                     //選擇RA0為AD的輸入      
        CHS1=0;
        CHS2=0;
        ADGO=0;                     //不進行AD轉(zhuǎn)換
        ADON=1;                     //打開AD轉(zhuǎn)換模塊
     ADFM=1;                  //轉(zhuǎn)換結(jié)果右移,及ADRESH寄存器的高6位為"0"
     PCFG3=1;                    //讓RA0為AD的輸入   
     PCFG2=1;
     PCFG1=1;
     PCFG0=0;                
     ADIE=1;            //A/D轉(zhuǎn)換中斷允許

     PEIE=1;             //外圍中斷允許
     GIE=1;         //總中斷允許
        ADGO=1;           //啟動A/D轉(zhuǎn)換
    }


    //中斷服務(wù)程序
    void  interrupt  adint(void)
    {
        QC++;
        ADIF=0;             //清除中斷標志
     

    //延時子程序
    void  delay()                    //延時程序

      {
         int i;                      //定義整形變量
         for(i=100;i--;);            //延時
        }

    void display()         
       {
         int bai,shi,ge,qian,temp;   //定義4個臨時變量
         adresult.adre[0]=ADRESL;
         adresult.adre[1]=ADRESH;  //讀取并存儲A/D轉(zhuǎn)換結(jié)果,A/D轉(zhuǎn)換的結(jié)果通過共
         ADSL=adresult.y1;    //用體的形式放入了變量y1中  
         temp=ADSL/209*1000;         //10位AD=1024,我的電源電壓為4.9V,所心1024/4.9=208.9=209

         qian=temp/1000;                    
         bai=temp%1000/100;          //求顯示的百位
         shi=(temp%100)/10;          //求顯示的十位
         ge=temp%10;                 //求顯示的個位
         PORTD=TABLE[qian];          //分鐘十位顯示  
         PORTA=0B1111011;            //RA2輸出低電平,點亮千位顯示    
         delay();
         PORTD=TABLE[bai];           //查表得百位顯示的代碼
         PORTA=0x37;                 //RA3輸出低電平,點亮百位顯示
         delay();                    //延時一定時間,保證顯示亮度
         PORTD=TABLE[shi];           //查表得十位顯示的代碼

    PORTA=0x2F;                 //RA4輸出低電平,點亮十位顯示
         delay();                    //延時一定時間,保證亮度
         PORTD=TABLE[ge];            //求個位顯示的代碼
         PORTA=0x1F;                 //RA5輸出低電平,點亮個位顯示
         delay();                    //延時一定時間,保證亮度
         PORTD=0xff;
       }

     

    (文源網(wǎng)絡(luò),侵刪)

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>