中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

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

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

開(kāi)發(fā)工具

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

技術(shù)支持

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

新品推廣

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

新聞中心

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

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

更新時(shí)間: 2019-03-23
閱讀量:1719

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

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

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

#include
__CONFIG (0x3f3a);      //燒寫(xiě)配置位
union  adres       //定義一個(gè)共用體,用于存放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ù)顯示一陣,使看來(lái)的數(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)換時(shí)鐘為8tosc    
 ADCS1=0;
    CHS0=0;                     //選擇RA0為AD的輸入      
    CHS1=0;
    CHS2=0;
    ADGO=0;                     //不進(jìn)行AD轉(zhuǎn)換
    ADON=1;                     //打開(kāi)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;           //啟動(dòng)A/D轉(zhuǎn)換
}


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

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

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

void display()         
   {
     int bai,shi,ge,qian,temp;   //定義4個(gè)臨時(shí)變量
     adresult.adre[0]=ADRESL;
     adresult.adre[1]=ADRESH;  //讀取并存儲(chǔ)A/D轉(zhuǎn)換結(jié)果,A/D轉(zhuǎn)換的結(jié)果通過(guò)共
     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;                 //求顯示的個(gè)位
     PORTD=TABLE[qian];          //分鐘十位顯示  
     PORTA=0B1111011;            //RA2輸出低電平,點(diǎn)亮千位顯示    
     delay();
     PORTD=TABLE[bai];           //查表得百位顯示的代碼
     PORTA=0x37;                 //RA3輸出低電平,點(diǎn)亮百位顯示
     delay();                    //延時(shí)一定時(shí)間,保證顯示亮度
     PORTD=TABLE[shi];           //查表得十位顯示的代碼

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

 

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

日喀则市| 炎陵县| 东乌珠穆沁旗| 英德市| 修水县| 周至县| 同德县| 宜川县| 宝清县| 阳江市| 年辖:市辖区| 广灵县| 中超| 苏尼特右旗| 大连市| 大洼县| 瑞金市| 唐海县| 榆中县| 吉安市| 通道| 龙井市| 达尔| 沈阳市| 兴仁县| 阿拉善左旗| 二手房| 安徽省| 长海县| 河池市| 新兴县| 宝山区| 平果县| 阳曲县| 五河县| 探索| 连江县| 盐津县| 福安市| 明水县| 黄骅市|