新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 2051的比較器模擬AD源程序(C語言)

        2051的比較器模擬AD源程序(C語言)

        作者: 時間:2011-05-17 來源:網絡 收藏

        2051的(C)

        本文引用地址:http://www.104case.com/article/150738.htm

        /* io分配: *
        ;* OUTPUT: *
        ;* P1.0 ...... 量輸入 *
        ;* P1.1 ...... DA輸入基準電壓 *
        ;* P1.2~7..... R-2R DA電阻網絡 *
        ;* P3.7 ...... LED 亮度輸出 *
        ;* CPU CLOCK EQU 6M */
        //xiaoqi last edit in 2001.11
        //#pragma src
        #i nclude AT89x051.h
        #i nclude stdlib.h>
        #i ncludemath.h>
        #i ncludeintrins.h>

        //變量類型標識的宏定義,大家都喜歡這么做
        #define Uchar unsigned char
        #define Uint unsigned int

        #define Ledlight() (P3 = 0x7f)
        #define Leddark() (P3 |= 0x80)

        sbit P36 = P3^6; // 器內部判斷腳
        sbit LED = P3^7; // 一個發光二級管觀察亮度變化

        // 內部標志位定義
        bit less; // 比較是否大于 1.小于,0.大于

        // 全局變量定義
        Uchar timer1, // 通用延時計數器
        timer2, // 按鍵蜂鳴器反應定時器
        adcdata, // ad轉換變量
        pwm1; // PWM輸出比例

        // 函數列表
        void DelayMs(unsigned int number); // 毫秒延時
        void timers0(); // 在定時器中斷中做數碼管的掃描顯示(ct0)
        void Initall(void); // 系統初始化
        void timers1(void); // TC1定時器中斷用于掃描顯示與鍵盤
        Uchar adcread(void); // adc轉換程序

        void main(void) using 0
        {
        DelayMs(120);
        Initall();
        pwm1 = adcread();
        LED=1;
        while(1)
        {
        pwm1 = adcread();
        timer2=10;
        while (timer2);
        }
        }

        // 毫秒延時
        void DelayMs(unsigned int number)
        {
        unsigned char temp;

        for(;number!=0;number--)
        for(temp=112;temp!=0;temp--);
        }

        /*************************************
        在定時器中斷中做LED的PWM輸出
        *************************************/
        void timers0() interrupt 1 using 1
        {
        TH0 = 0xff;
        TL0 = 0xd0;
        timer1--;
        if (timer1==pwm1)LED=0;
        if (timer1==0){
        LED=1;
        timer1=0x40;
        timer2--;
        };
        }

        比較器相關文章:比較器工作原理


        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        蜂鳴器相關文章:蜂鳴器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁安市| 精河县| 东乡| 安义县| 长寿区| 池州市| 华阴市| 七台河市| 商南县| 桐庐县| 黄冈市| 什邡市| 德钦县| 连南| 旬阳县| 疏勒县| 错那县| 松潘县| 钟山县| 临海市| 林甸县| 油尖旺区| 隆林| 大方县| 安丘市| 巍山| 宁乡县| 大同市| 东丽区| 甘洛县| 东乌珠穆沁旗| 保德县| 三台县| 文水县| 班戈县| 崇信县| 岢岚县| 美姑县| 柞水县| 乳源| 丰宁|