新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MMA7260的STC12C5410AD單片機程序

        MMA7260的STC12C5410AD單片機程序

        作者: 時間:2016-12-01 來源:網絡 收藏
        頭文件可以在本站的軟件下載區下載 在51hei.com上搜索即可找到
        #include "STC12C5410AD.H"
        sbit MMA7260sleep=P1^0; //MMA7260休眠與否,0-休眠;1-正常工作
        //---------------------------------------
        //名稱: 延時約1毫秒函數
        //-----------------------------------------
        void delay1ms()
        {
        word k;
        for(k=0;k<12000;k++);
        }
        void delayms(word ms)
        {
        word k,j;
        for(j=0;j
        for(k=0;k<12000;k++);
        }
        //---------------------------------------
        //名稱: 串口數據發送函數
        //-----------------------------------------
        void uart_putchar(byte ch)
        {
        TI=0;
        if (ch == )
        {
        SBUF= 0x0d; //outputCR
        while(!TI);
        return;
        }
        SBUF=ch;
        while(!TI);
        }
        //---------------------------------------
        //名稱: 串口數據接收函數
        //-----------------------------------------
        byte uart_getchar(void)
        {
        if(RI)
        {
        RI=0;
        return SBUF; //有數據接收到,返回1
        }
        else
        {
        return 0; //無數據接收到,返回0
        }
        }
        void putstr(char ch[])
        {
        byte ptr=0;
        while(ch[ptr])
        {
        uart_putchar((byte)ch[ptr++]);
        }
        }
        //---------------------------------------
        //名稱: 模數轉換函數(8位)
        //-----------------------------------------
        byte ReadAD(byte ch)
        {
        ADC_DATA = 0; //清A/D轉換結果寄存器
        ADC_CONTR = 0xF8|ch; //0000,1000ADCS = 1,啟動轉換
        delay1ms();
        do{;}
        while((ADC_CONTR&0x10)==0); //0001,0000等待A/D轉換結束
        ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG位,停止A/D轉換
        return ADC_DATA;
        }
        /***************************************************
        把0--255的數值轉化為3位字符串格式
        ****************************************************/
        void Byte2Str3(char zifu[],byte val,byte StartPtr)
        {
        char characters[11]="0123456789";
        byte tv=0;
        tv=val/100;
        zifu[StartPtr++] = characters[tv];
        tv=(val%100)/10;
        zifu[StartPtr++] = characters[tv];
        tv=val%10;
        zifu[StartPtr] = characters[tv];
        //zifu[3] = 主站蜘蛛池模板: 合江县| 荥阳市| 内乡县| 巧家县| 武鸣县| 五大连池市| 嘉鱼县| 乐业县| 太原市| 陵水| 白沙| 宁城县| 抚宁县| 阜阳市| 淮南市| 会昌县| 白山市| 靖远县| 昭通市| 扶沟县| 凉城县| 弥勒县| 南平市| 达拉特旗| 墨竹工卡县| 龙里县| 曲沃县| 沙湾县| 民县| 六盘水市| 东阿县| 碌曲县| 金平| 尚志市| 上饶县| 万盛区| 宜良县| 遂宁市| 湘乡市| 阳山县| 衡山县|