關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 出租車計價器設(shè)計與制作

        出租車計價器設(shè)計與制作

        作者: 時間:2011-06-04 來源:網(wǎng)絡(luò) 收藏

        }
        }
        }
        return k;
        }
        //-------數(shù)碼管動態(tài)掃描-------------
        void led_show()
        {unsigned char i,k;
        //-----顯示單價----
        k=cost_val[state_val];
        i=k%10; //暫存?zhèn)€位
        P0=led_seg_code[i];
        P2=0xbf;
        delay(10);
        i=k%100/10;
        P0=led_seg_code[i];
        P2=0x7f;
        delay(10);
        //-----顯示距離------
        k=cnt_distance;
        i=k%10; //暫存?zhèn)€位
        P0=led_seg_code[i];
        P2=0xf7;
        delay(10);
        i=k%100/10;
        P0=led_seg_code[i];
        P2=0xef;
        delay(10);
        //-----顯示總價格-----------
        k=cnt_cost;
        i=k%10; //暫存?zhèn)€位
        P0=led_seg_code[i];
        P2=0xfe;
        delay(10);
        i=k%100/10;
        P0=led_seg_code[i];
        P2=0xfd;
        delay(10);
        }
        //-------計時----------------
        void timer1() interrupt 3 //T1中斷
        { T1_cnt++;
        if(T1_cnt>3999) //如果計數(shù)>3999, 計時1s
        { T1_cnt=0;
        if(cnt_3030) //沒有超過30秒,繼續(xù)計時
        {cnt_30++;}
        else //超過30秒,途中等待計價
        {cnt_30=0;
        cnt_cost=cnt_cost+cost_val[2];}
        }
        }
        //---------主程序----------------
        main()
        {//初始化各變量
        T1_cnt=0;
        state_val=0;
        key_val_old=255;
        init_variant();
        //初始化51的寄存器
        TMOD=0x20; //用T1計時 8位自動裝載定時模式,不用T0
        TH1=0x19; //250微秒溢出一次; 250=(256-x)*12/11.0592 -> x= 230.4
        TL1=0x19;
        EA=1; //開中斷
        ET1=1;
        TR1=0; //定時器T0
        TCON=0x01; //Int0中斷取邊沿觸發(fā)模式
        while(1)
        { key_val=scan_key(); // 255;//
        if (key_val!=key_val_old)
        { key_val_old=key_val;
        if (key_val!=255)
        { switch (key_val)
        { case 0: //啟動鍵
        TR1=1; //啟動計時,TR1=1為啟動了的標(biāo)志
        break;
        case 1: //清除鍵
        init_variant(); //清除變量
        TR1=0; //關(guān)閉定時器
        break;
        case 2: //白天/黑夜的切換
        if(state_val==0)
        {state_val=1;}
        else
        {state_val=0;}
        break;
        }
        }
        }
        if(IE0==1 TR1==1) //每來1個脈沖,中斷一次
        { IE0=0;
        cnt_30=0; //30秒的計時清零
        if(D_cnt100)
        {D_cnt++;}
        else //計數(shù)100次,每次10米,表示一公里
        {D_cnt=0;
        cnt_distance=cnt_distance+1;
        cnt_cost=cnt_cost+cost_val[state_val];
        }
        }
        led_show();
        }
        }
        //-----程序結(jié)束------------

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

        上一頁 1 2 3 下一頁

        關(guān)鍵詞: 制作 設(shè)計 計價器 出租車

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 商丘市| 曲沃县| 普安县| 明星| 丰原市| 荆门市| 新昌县| 商都县| 子洲县| 定兴县| 郁南县| 息烽县| 伊宁县| 竹北市| 南丰县| 虞城县| 巴东县| 济源市| 高青县| 湛江市| 醴陵市| 望谟县| 华容县| 韶山市| 新昌县| 建昌县| 莱西市| 利津县| 鹤岗市| 太仆寺旗| 合水县| 什邡市| 涡阳县| 邮箱| 华容县| 疏勒县| 石台县| 大方县| 乌鲁木齐县| 新乡县| 格尔木市|