新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 電動車充電控制器制作

        電動車充電控制器制作

        作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
        幾天熬夜控制器終于完工,買別人的要幾百塊一套自己做只要幾十塊就能OK,還算是有點價值,不羅嗦直接上代碼,依然是以往的風格但注釋更加詳細,有興趣的騷年可以參考下


        工程文件及hex文件下載:http://www.51hei.com/f/chongdianqia.rar

        #include //包含頭文件
        #include//包函_nop_延時函數(shù)的頭文件
        #define uchar unsigned char//宏定義
        #define uint unsigned int//宏定義
        //595芯片控制腳定義
        sbit SH=P1^7;//HC595移位控制
        sbit ST=P1^6;//HC595鎖存更新顯示
        sbit DS=P1^5;//HC595串行數(shù)據(jù)輸入
        //輸入引腳定義
        sbit TB=P1^4; //投幣鍵
        sbit shu1=P1^3; //第一組輸入選擇
        sbit shu2=P1^2; //第二組輸入選擇
        sbit shu3=P1^1; //第三組輸入選擇
        sbit shu4=P1^0; //第四組輸入選擇
        //輸出引腳定義
        sbit out1=P3^0; //第一組輸出
        sbit out2=P3^1; //第二組輸出
        sbit out3=P3^2; //第三組輸出
        sbit out4=P3^3; //第四組輸出
        //計時用變量
        int cou=0; //計數(shù)器
        int TIME_SS=0;//秒
        int TIME_MM=0;//分
        int TIME_HH=0;//時
        //顯示緩存數(shù)組,第一個元素為顯示數(shù)據(jù),后面兩個為顯示八段碼的地址已經(jīng)初始賦值后面的程序只要維護顯示數(shù)據(jù)元素
        char P_HC[4][4][3]={{{0x00,0x00,0x01},{0x00,0x00,0x02},{0x00,0x00,0x04},{0x00,0x00,0x08}},{{0x00,0x00,0x10},{0x00,0x00,0x20},{0x00,0x00,0x40},{0x00,0x00,0x80}},{{0x00,0x01,0x00},{0x00,0x02,0x00},{0x00,0x04,0x00},{0x00,0x08,0x00}},{{0x00,0x10,0x00},{0x00,0x20,0x00},{0x00,0x40,0x00},{0x00,0x80,0x00}}};
        //定時器數(shù)據(jù)數(shù)組,分別代表四個輸出口所剩時間值單位為分鐘
        int TIME[4]={0,0,0,0};
        //投幣器計數(shù)器,存儲投幣數(shù)量選擇輸出口時一個投幣值可以增加某一輸出口240分鐘的定時值
        int TOUBI=0;
        ///////////////////////////////////////////////////
        void delay(unsigned char x) //延時函數(shù)
        {
        unsigned char i,j;
        for(i = 0;i < x;i++)
        for(j = 0;j < 200;j++);

        }
        ///////////////////////////////////////////////////
        //高位先入
        void sendbyte(char Rdate)//HC595串口輸入一個字節(jié)
        {
        char a;
        char date=Rdate;
        for(a=0;a<8;a++)
        {
        SH=0;
        if(date&0x80)//先將最高位移入
        {
        DS=1;
        SH=1;
        }
        else
        {
        DS=0;
        SH=1;
        }
        date=date<<1;//輸入的字節(jié)位左移
        }
        }
        ///////////////////////////////////////////////////
        void print(void)
        {
        //顯示函數(shù)功能是把顯示緩存數(shù)組中的數(shù)據(jù)顯示到八段碼上
        int i,j,k;
        for(k=0;k<4;k++)
        {
        for(j=0;j<4;j++)
        {
        for(i=0;i<3;i++)
        {
        sendbyte(P_HC[k][j][i]);
        }
        ST=0;
        _nop_();
        _nop_();
        ST=1;
        }
        }
        }
        ///////////////////////////////////////////////////
        void P_HC_fuzhi(int x,int y,int z )
        {
        //顯示數(shù)組顯示數(shù)據(jù)賦值函數(shù),第一個常數(shù)為八段碼組別,第二個為八段碼位置 ,第三個位賦值數(shù)據(jù)(0-9)
        switch(z)
        {
        case 0:
        P_HC[x][y][0]=0xc0;
        break;
        case 1:
        P_HC[x][y][0]=0xf9;
        break;
        case 2:
        P_HC[x][y][0]=0xa4;
        break;
        case 3:
        P_HC[x][y][0]=0xb0;
        break;
        case 4:
        P_HC[x][y][0]=0x99;
        break;
        case 5:
        P_HC[x][y][0]=0x92;
        break;
        case 6:
        P_HC[x][y][0]=0x82;
        break;
        case 7:
        P_HC[x][y][0]=0xf8;
        break;
        case 8:
        P_HC[x][y][0]=0x80;
        break;
        case 9:
        P_HC[x][y][0]=0x90;
        break;
        case 10:
        P_HC[x][y][0]=0xff;
        break;
        }

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

        }


        上一頁 1 2 下一頁

        關(guān)鍵詞: 電動車充電控制

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 霍城县| 铜山县| 石泉县| 郎溪县| 和平区| 吉木萨尔县| 东乡县| 永德县| 诸暨市| 成武县| 康乐县| 工布江达县| 武川县| 德惠市| 容城县| 浮山县| 北辰区| 略阳县| 宜州市| 习水县| 兴文县| 修水县| 永靖县| 遂宁市| 珲春市| 道真| 河源市| 阿坝| 靖西县| 疏勒县| 吉首市| 孟连| 衡山县| 高台县| 如东县| 武穴市| 韶山市| 龙陵县| 亚东县| 福贡县| 敦煌市|