新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于VC的MV05芯片PWM功能測試軟件設計

        基于VC的MV05芯片PWM功能測試軟件設計

        作者: 時間:2012-08-30 來源:網絡 收藏

        用戶自定義模式下數據包封裝函數代碼如下:

        void CCommWizardDlg::OnButtonUsrMode()

        { UpdateData(TRUE); //數據更新

        CString strtemp;

        int s1[9]; //存放數據包數據的數組

        unsigned char c1;

        // 時鐘選擇

        if(this->m_Check1) {s1[6]=0;s1[7]=0;}// 單時鐘

        if(this->m_Check2) {s1[6]=0;s1[7]=1;}// 雙時鐘

        if(this->m_Check3) {s1[6]=1;s1[7]=0;}// 四時鐘

        if(this->m_Check4) {s1[6]=1;s1[7]=1;}// 12 時鐘

        //占空比設置

        if(this->m_Check9) {s1[3]=0;s1[4]=0;s1[5]=0;}// 1:1

        if(this->m_Check10) {s1[3]=0;s1[4]=0;s1[5]=1;}// 1:2

        if(this->m_Check11) {s1[3]=0;s1[4]=1;s1[5]=0;}//1:3

        if(this->m_Check12) {s1[3]=0;s1[4]=1;s1[5]=1;}//1:4

        if(this->m_Check13) {s1[3]=1;s1[4]=0;s1[5]=0;}//1:5

        if(this->m_Check14) {s1[3]=1;s1[4]=0;s1[5]=1;}// 1:6

        if(this->m_Check15) {s1[3]=1;s1[4]=1;s1[5]=0;}// 1:7

        if(this->m_Check16) {s1[3]=1;s1[4]=1;s1[5]=1;}// 1:8

        // -ADC 控制

        if(this->m_Check5) {s1[1]=0;s1[2]=0;}// 0 主0 控

        if(this->m_Check6) {s1[1]=0;s1[2]=1;}// 0 主1 控

        if(this->m_Check7) {s1[1]=1;s1[2]=0;}// 1 主0 控

        if(this->m_Check8) {s1[1]=1;s1[2]=1;}// 1 主1 控

        s1[0]=0; //用戶自定義模式選擇

        c1=s1[0]*128+s1[1]*64+s1[2]*32+s1[3]*16+s1[4]*8+s1[5]*4+s1[6]*2+s1[7]*1 ;

        strtemp.Format(%02X ,c1); //10 進制轉化為16 進制

        m_strSendString=(CString)48 59 4C + strtemp ;

        }

        5 下位機軟件

        下位機軟件包括串口通信模塊和 功能配置模塊。串口部分使用中斷方式接收數據, 當接收到上位機的命令執行中斷服務程序轉到PWM 功能配置模塊,PWM 功能模塊對接收到的 數據進行按位解析,根據通信協議將不同的數據位送到不同的寄存器。該方法對其它測試系 統具有借鑒意義。

        6 結束語

        本文介紹了上海大學微電子研究與開發中心研發的一款汽車發動機冷卻風扇控制, 給出一種使用VC++6.0編寫上位機軟件對其進行測試的方法。本文的創新點是構造數據封裝 函數,將用戶要測試的項目一次發送給下位機,下位機按位解析數據包,將相應數據位送入 相應寄存器。通過調試證明該方法是完全可行的,提高了測試效率,測試結果達到了預期設 計指標,功能完全正確。

        pwm相關文章:pwm原理



        上一頁 1 2 3 下一頁

        關鍵詞: PWM MV 05 芯片

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 承德县| 马公市| 伊春市| 建平县| 阿尔山市| 仁布县| 天峨县| 故城县| 公安县| 遵义县| 井陉县| 紫阳县| 额尔古纳市| 安仁县| 南部县| 三都| 中阳县| 通化县| 舒兰市| 三河市| 抚松县| 南投市| 玉门市| 景洪市| 余庆县| 仁化县| 云南省| 梓潼县| 永康市| 龙江县| 祁连县| 祁东县| 枣强县| 邵阳县| 昌江| 东阳市| 稻城县| 大港区| 新密市| 云南省| 平利县|