• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Keil 和Proteus 聯調在單片機教學中的應用實例

    2015-05-27 09:06:56武芳蔣汝根朱璇
    中國教育技術裝備 2015年20期
    關鍵詞:數據類型正弦波初學者

    ◆武芳 蔣汝根 朱璇

    作者:武芳,江蘇建康職業(yè)學院助教,研究方向為單片機與嵌入式微處理器;蔣汝根、朱璇,江蘇建康職業(yè)學院(211800)。

    1 前言

    單片機是一種功能強大的芯片,在日常生活中,隨處可見由單片機作為核心器件的電子產品。因此,學習單片機也成為一項技能。如何學好單片機?有兩款軟件是單片機學習者的“必備武器”:Keil 和Proteus。

    Keil 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發(fā)系統(tǒng),它的源文件既可以是C 語言,也可以是匯編語言,但與匯編相比,C 語言在功能、結構性、可讀性、可維護性等方面有明顯的優(yōu)勢,更適合初學者和高職類院校使用。

    Proteus 軟件是英國Lab Center Electronics 公司出版的EDA 工具軟件,它不僅具有其他EDA 工具軟件的仿真功能,還滿足從原理圖布圖、代碼調試到單片機與外圍電路的協同仿真。Proteus 簡單易學,對單片機初學者來說是一款極好的仿真軟件,也適用于高校的單片機教學。

    2 Keil 和Proteus 聯調實例

    如何將兩者的功能發(fā)揮到極致呢?本文以在教學中遇到的一個實例來介紹Keil 和Proteus 聯調給單片機學習帶來的便捷。

    實驗內容利用AT89C51 單片機和DAC0832 完成一個正弦波發(fā)生器,通過虛擬示波器來檢測產生的正弦波信號。一初學者的部分實例源程序:

    仿真結果希望得到一個連續(xù)的正弦波形如圖1(a)所示,而仿真運行后虛擬示波器顯示如圖1(b)所示。

    處理方法:Keil 和Proteus 聯調對于C 語言基礎不太好的初學者來說,很難找出問題的根源所在,這時候就可以通過Keil 和Proteus 的聯調來解決。兩種軟件的安裝方法和兩軟件動態(tài)鏈接庫的關聯在這里就不再贅述,具體的處理方法如下。

    1)設置:在Keil 工程中點擊“Project”,打開“Options for target‘Target 1’”對話框,選中“Debug”,設置如圖2所示。

    點擊后面的settings,本機聯調:host 為172.0.0.1,port 為8000。

    Proteus 的設置:運行Proteus 的ISIS,點擊菜單“DEBUG”,使“use remote debugger monitor”選中。

    2)Keil 和Proteus 聯調。如圖3所示,點擊Keil 中的調試按鈕1;分別按2 ~5 設置,打開觀察窗口和端口,設置好要監(jiān)測的變量;根據需要點擊按鈕6 中的調試圖標。開始Proteus 和Keil 的聯調。

    觀察watch 中的i 值,發(fā)現i 變化到127 后,再加1并沒有變化為128,而是變化到了-128!找到問題癥結!將i 的類型修改變unsigned char 之后,仿真結果正確,如圖1(a)所示。

    問題解析在C 中,默認的基礎數據類型均為signed[2]。在內存中,char 與unsigned char 存儲空間相同,為一個字節(jié);兩者的區(qū)別是:char 的最高位為符號位,表示范圍為-128 ~127;unsigned char 無符號位,表示范圍為0 ~255[3]。在實際使用過程中,在普通的賦值、讀寫文件和網絡字節(jié)流沒有區(qū)別,但顯示會出現不一樣的情況。在表示字節(jié)時,建議使用unsigned char 類型。

    3 結語

    在單片機學習過程中,往往會出現程序運行的結果與期望的不同,而一時又找不到問題癥結所在,在出現問題的關鍵時刻,運用Proteus 和Keil 的聯調可以輕松找到答案。本文實例不僅讓初學者了解了程序的運行過程,也用一種更直觀的方式向初學者展示了不同數據類型的取值范圍和對程序的影響,加深了初學者對數據類型的認識,提高了對單片機的學習興趣。這種方式的學習比單純的理論講解更有效,相信初學者在今后不會再犯同樣的錯誤。

    [1]陳貴銀.單片機原理及接口技術[M].北京:電子工業(yè)出版社,2011:234.

    [2]劉建清.從零開始學單片機C 語言[M].北京:國防工業(yè)出版社,2006:79.

    [3]周立功.Keil C51 使用幫助[EB/OL].[2003-08-17].www.eTuni.com.

    猜你喜歡
    數據類型正弦波初學者
    單相正弦波變頻電源設計與實現
    詳談Java中的基本數據類型與引用數據類型
    初學者,趕緊看過來
    童話世界(2020年26期)2020-10-27 02:23:28
    如何理解數據結構中的抽象數據類型
    數碼世界(2020年5期)2020-06-23 00:14:36
    采用BC5016S的純正弦波逆變器設計及制作
    電子制作(2019年7期)2019-04-25 13:18:18
    淺談如何提高初學者的鋼琴演奏能力
    北方音樂(2017年4期)2017-05-04 03:40:34
    初學者如何臨寫《九成宮醴泉路》
    丹青少年(2017年2期)2017-02-26 09:10:56
    給會計初學者的幾點實用性建議
    基于嵌入式技術的電網同步正弦波發(fā)生裝置研究
    文氏電橋正弦波振蕩電路
    河南科技(2014年11期)2014-02-27 14:09:47
    吴桥县| 龙胜| 定安县| 山东| 襄汾县| 招远市| 衢州市| 都昌县| 隆子县| 安宁市| 高雄市| 巴林左旗| 南开区| 吐鲁番市| 湾仔区| 沙湾县| 宽甸| 玉树县| 富民县| 垦利县| 盐源县| 古蔺县| 广宁县| 阳山县| 丘北县| 娄底市| 桂林市| 双牌县| 南雄市| 永兴县| 衡东县| 项城市| 清丰县| 汤原县| 蓝田县| 浦城县| 龙陵县| 巴林右旗| 义马市| 富宁县| 长岭县|