久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

海爾單片機數字IO口測量模擬量的方法與實例

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年05月18日   【字體:

 通過數字IO口對電容充放電,讀取高低電平變化的時間來判斷模擬量的值。硬件成本有要求,精度不是很高的情況下可以參考一下。C代碼。

 
/*
項目:數字IO口取ADC值
芯片:HR6P59P2S2HL 內部4M
功能:
熱敏電阻與電容(224)并聯,再串聯100歐電阻到59 PA0
采樣一次花時25ms左右
*/
 
#include <hic.h>
 
#define uint8 unsigned char
#define uint16 unsigned int
#define bool sbit
 
static volatile section0 sbit        CHG_PIN                @ (unsigned) &PA * 8 + 0 ;
 
volatile uint8 t8_ms;
volatile uint8 adcs_ms;
volatile uint8 adcs_value;
 
volatile uint16 delay;
volatile bool adcs_en;
 
void Clr_Ram_Asm()
{
        __asm{
        LCALL        0X3FF
        MOVA        CALR
   
        BCC                PSW,RP0
        MOVI        0X10
        MOVA        IAA
CLR_BANK0
        CLR                IAD                        ;清除存儲組0的RAM數據
        INC                IAA
        JBS                IAA,5
        JUMP        CLR_BANK0
        MOVI        0X30
        MOVA        IAA
CLR_BANK1
        CLR                IAD                        ;清除存儲組1的RAM數據
        INC                IAA
        JBS                IAA,6
        JUMP        CLR_BANK1
        MOVI        0X50
        MOVA        IAA
CLR_BANK2
        CLR                IAD                        ;清除存儲組2的RAM數據
        INC                IAA
        JBS                IAA,5
        JUMP        CLR_BANK2
        MOVI        0X70
        MOVA        IAA
CLR_BANK3
        CLR                IAD                        ;清除存儲組3的RAM數據
        INC                IAA
        JBS                IAA,7
        JUMP        CLR_BANK3
 
        CLR                IAA
    };
}
 
void Init_Config()
{
        __asm{
                MOVI        0XFF
                MOVA        T8
                MOVI        B'00000000'
                OPTION
               
                MOVI        B'11110001'
                TRIS        PA
                MOVI        B'00000000'
                TRIS        PB
        };
        PA = 0B00000000;
        PB = 0B11111111;
       
        INTC0 = 0;
        T8IF = 0;
        T8IE = 1;
        GIE = 1;
}
 
void io_charge_cap()
{
        t8_ms++;
        if(t8_ms == 240)
        {
                __asm{
                MOVI        B'11110000'
                TRIS        PA
                }
                CHG_PIN = 1;
        }
        else if(t8_ms == 255)
        {
                t8_ms = 0;
                __asm{
                MOVI        B'11110001'
                TRIS        PA
                }
                adcs_en = 1;
        }
}
 
void cap_discharge_timer()
{
        if(adcs_en == 1)
        {
                adcs_ms++;                        //最大時間25ms
                if(adcs_ms >= 255)
                        adcs_ms = 254;
                if(CHG_PIN == 0)                //電壓為1V時認為是低電平
                {
                        adcs_value = adcs_ms;
                        adcs_en = 0;
                }
        }
        else
        {
                adcs_ms = 0;
        }
}
 
 
void isr(void) interrupt
{
        if(T8IE&T8IF)
        {
                T8IF = 0;
                T8 += 209;                //4M 100us
               
                //        PA2 = PA2^1;
                io_charge_cap();
                cap_discharge_timer();
        }
        else
        {
                T8IF = 0;
        }
}
 
void main()
{
        Clr_Ram_Asm();
        Init_Config();
       
        while(1)
        {
                __Asm CWDT;
                delay++;
                if(delay==10000)
                {
                        delay = 0;
                        PB = adcs_value;
                }
        }
}
 
關閉窗口

相關文章

主站蜘蛛池模板: 久久久久久久久蜜桃 | 国产成人精品一区二区三区网站观看 | 国产精品福利视频 | 亚洲www啪成人一区二区麻豆 | 91视视频在线观看入口直接观看 | 伊人色综合久久天天五月婷 | www.亚洲区| 日本一级淫片免费啪啪3 | 国产成人jvid在线播放 | 日韩一级电影免费观看 | 亚洲国产欧美在线 | 国产精品69毛片高清亚洲 | 精品在线一区 | 99国产精品久久久久 | 亚洲精品4 | 国产成人久久av免费高清密臂 | 日韩aⅴ视频 | 成人av网页 | 丁香久久 | 国产伦精品一区二区三区视频金莲 | 日韩一级精品视频在线观看 | av在线一区二区 | 亚洲精品视频一区二区三区 | 99re在线视频观看 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 精品亚洲一区二区 | 久久久久国产一区二区三区四区 | 色综合一区二区 | 色视频在线免费观看 | 日韩av在线播 | 99国产精品99久久久久久粉嫩 | 精品久久久久久久久久久久久久 | 欧美一级精品片在线看 | 日本一区二区高清不卡 | 91资源在线 | 久久免费精品 | 日韩在线电影 | jizz在线看片 | 一区二区久久电影 | 国产亚洲欧美在线视频 | 国产精品jizz在线观看老狼 |