找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5312|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

無線發(fā)射模塊控制遙控車程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:148175 發(fā)表于 2016-11-16 08:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是樓主高一編的程序,如果那里不對的地方望大家指出批評
#include<STC12C5A60S2.H>
sbit shang=P1^0;
sbit xia=P1^1;
sbit zuo=P1^2;
sbit you=P1^5;
sbit jiasu=P1^6;
sbit jiansu=P1^7;
sbit ENA=P3^2;
sbit ENB=P3^3;
sbit deng=P2^0;
///*=======================================================================
//【函數(shù)原形】:void pwm0_1()
//【功能說明】:PCA時鐘源 控制寄存器 計數(shù)初值 的初始化設(shè)置
//【編寫日期】:2014年2月25日
//========================================================================*/
void pwm0_1()
{
        CCON=0x00;
        CL=0;
        CH=0;
        CMOD=0x00;
        //選擇PCA/PWM時鐘源=系統(tǒng)時鐘/12
        CCAP0H = CCAP0L =0;
        //賦初值
        CCAP1H = CCAP1L =0;
        //賦初值      
        CCAPM0 = 0x42;
        //P1.3 8位PWM輸出,無中斷
        CCAPM1 = 0x42;
        //P1.4 8位PWM輸出,無中斷
        PCA_PWM0=0x00;
        //在PWM模式下與CCAP0H組成9位數(shù)      
        PCA_PWM1=0x00;
        //在PWM模式下與CCAP1H組成9位數(shù)
}
/*=======================================================================
【函數(shù)原形】:void PWM_R(unsigned char Fosc_1)
【功能說明】:PWM_R控制寄存器設(shè)置
【參數(shù)說明】:Fosc_0  Fosc_0為占空比設(shè)置形參

========================================================================*/
void PWM_L(unsigned int Fosc_0)      
{
        CCAP0H=CCAP0L=Fosc_0;
}

/*=======================================================================
【函數(shù)原形】:void PWM_L(unsigned char Fosc_1)
【功能說明】:PWM_L控制寄存器設(shè)置
【參數(shù)說明】:Fosc_1  Fosc_1為占空比設(shè)置形參

========================================================================*/
void PWM_R(unsigned int Fosc_1)   
{
        CCAP1H=CCAP1L=Fosc_1;
        //此代碼用于控制輸出的占空比      
}
void S_T()
{

        P1M1=0x00;
        P1M0=0x00;
        pwm0_1();
        //PWM的初始化設(shè)置
//        TMOD=0x01;
//        TH0=0x8a;
//        TL0=0xd0;
//        ET0=1;
//        TH1=0X3C;
//        TL1=0X01;
//        ET1=1;
        AUXR=0x80;
        //定時器初始化
        EA=1;

}
/*=======================================================================
【函數(shù)原形】:void delay_ms(unsigned int T)
【參數(shù)說明】:T  延時時間設(shè)定   T  0~65535
【函數(shù)功能】:ms級延時函數(shù)
【編寫日期】:2014年2月26日
========================================================================*/

void ys1ms(unsigned int u)                //1ms
{
        unsigned char x,ccc;
        unsigned int bbb;
        for (bbb=0;bbb<u;bbb++)
        {
                x=12;
                ccc=169;
                do
                {
                        while (--ccc);
                }
                while (--x);
        }
}
int main()
{
        unsigned char qjsd;
        qjsd=185;
        S_T();
        ENA=0;
        ENB=0;
        PWM_R(128);
        PWM_L(128);
        CR=1;
        while(1)
        {
                if(shang==0)         //上
                {
                        PWM_L(qjsd);
                        ENA=1;
                             
                        PWM_R(qjsd);
                        ENB=1;

       

                        if(shang==1)
                        {
                                ENA=1;
                                ENB=1;
                        }
                }
                else if(xia==0)             //下
                {
                        PWM_L(20);
                        ENA=1;
                                
                        PWM_R(20);
                        ENB=1;
                       
                }
                else if(zuo==0)          //左
                {
                        PWM_L(19);
                        ENA=1;
                             
                        PWM_R(235);
                        ENB=1;
                       
                }
                else if(you==0)            //
                {
                        PWM_L(235);
                        ENA=1;
                             
                        PWM_R(19);
                        ENB=1;
                       
                }
                else if(jiasu==0)
                {
                        if((qjsd>=160)&&(qjsd<=240))
                        {
                                qjsd=qjsd+2;
                                ys1ms(200);
                        }
                        else if(qjsd<160||qjsd>240)
                        {
                                if(qjsd<160)
                                {
                                        qjsd=160;
                                }
                                else
                                {
                                        qjsd=240;
                                }
                        }
                }
                else if(jiansu==0)
                {
                        if((qjsd>=160)&&(qjsd<=240))
                        {
                                qjsd=qjsd-2;
                                ys1ms(200);
                        }
                        else if(qjsd<160||qjsd>240)
                        {
                                if(qjsd<160)
                                {
                                        qjsd=160;
                                }
                                else
                                {
                                        qjsd=240;
                                }
                        }
                }
                else
                {
                        PWM_R(127);
                        PWM_L(127);
                        ENA=0;
                        ENB=0;

                }
        }
}

288主圖.jpg (450.59 KB, 下載次數(shù): 182)

288主圖.jpg

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表