新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 由Proteus仿真入門單片機學習

        由Proteus仿真入門單片機學習

        作者: 時間:2011-12-03 來源:網絡 收藏

        3.3主程序

        #include
        #include
        #include
        void main(void)
        {
        static short P1_out_cnt=0; //定義對P1 口輸出時計數
        int_init(); //調用中斷初始化子程序
        while(1) //下面為一個無限循環
        {
        _nop_();
        }
        }

        3.4時鐘中斷子程序

        void timer_0 (void) interrupt 1 using 1
        { TL0= (65535-1000/16);
        TH0= ((65535-1000/16)>>8); //重置時鐘中斷0 的時間計數寄存器值
        P1=P1_out[P1_out_cnt]; //P1 口按數組給定值輸出
        P1_out_cnt++; //指向數組中下一個值
        P1_out_cnt=0x0f; //00001111B,保證0≤P1_out_cnt≤15
        }

        4 仿真與實驗

        在以上工作完成之后,通過仿真軟件7 professional 下面的ISIS7 Professional 菜單窗口里對一些參數進行設定,為了簡單完成仿真,在此只對必要的參數進行設定:首先對Design/Configure Power Rail 下的電源Vcc=5V 和GND=0 進行設定,其次是對Source/add or remove source code file 下的源程序代碼名和Code generation tool=ASEM51 進行設定,在次是對雙擊單片機U1 彈出的菜單進行Clock Frequency 和Program file 目標代碼(有源代碼編譯后產生的HEX 后綴名文件)的設定。最后點擊Debug/Execute 便開始仿真運行,在運行過程中可以看到電腦屏上電路圖中U1 輸出口的輸出狀態,虛擬示波器上顯示如圖3 所示的波形。

        為了對所仿真的結果做進一步的認證,在此設計了實際的電路來與之加以比較,如圖4所示是按照圖1 電路圖設計了實際電路板之后,用示波器對其輸出進行測試所得實際波形,實驗表明仿真的結果與實際的測試結果相一致。

        newmaker.com


        圖3 仿真輸出波形

        newmaker.com


        圖4 實際輸出波形

        5 結束語

        對所設計的C 語言程序結合硬件電路的進行了仿真,并通過虛擬示波器顯示了所設計程序運行的結果,并比較了仿真與實際電路運行輸出結果,表明了通過 仿真軟件可以達到與通過實際電路來學習單片機的效果。

        完整的設計了一個項目的硬件電路和C 程序,通過真實具體的正弦波發生電路及其程序的設計來達到學習單片機引路作用,增強了學習者對單片機工作原理和應用設計的理解,為單片機初學者提供了一種切實可行的方法。
        newmaker.com
        附圖實際測試電路板
        注:實際電路板上包涵了文中圖1 的電路

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 3 下一頁

        關鍵詞: Proteus 仿真入門

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 剑河县| 曲水县| 霍邱县| 海林市| 崇明县| 肇庆市| 额敏县| 顺义区| 调兵山市| 虹口区| 内乡县| 德钦县| 内江市| 万载县| 钟祥市| 应用必备| 乌兰察布市| 万山特区| 揭阳市| 高淳县| 平塘县| 瓦房店市| 且末县| 泌阳县| 奇台县| 盐城市| 大足县| 朝阳区| 象山县| 宁都县| 大关县| 萨迦县| 山东| 平阴县| 南召县| 德安县| 宿州市| 栾川县| 虎林市| 任丘市| 宁强县|