基于51單片機(jī)的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)電氣工程專業(yè)_第1頁
基于51單片機(jī)的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)電氣工程專業(yè)_第2頁
基于51單片機(jī)的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)電氣工程專業(yè)_第3頁
基于51單片機(jī)的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)電氣工程專業(yè)_第4頁
基于51單片機(jī)的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)電氣工程專業(yè)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余52頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、題目:基于 51 單片機(jī)的教學(xué)實驗系統(tǒng)的設(shè)計與開發(fā)THE DESIGN AND DEVELOPMENT OF TEACHING EXPERIMENTSYSTEM BASED ON 51 MCU Abstract單片機(jī)經(jīng)過幾十年的發(fā)展,目前已經(jīng)廣泛應(yīng)用于生產(chǎn)生活的各個領(lǐng)域。全國高等院校的計算機(jī)科學(xué)與技術(shù)專業(yè)和電子信息工程等專業(yè),已經(jīng)普遍開設(shè)了單片機(jī)相關(guān)的課程。單片機(jī)技術(shù),單片機(jī)原理與接口技術(shù)應(yīng)用等課程作為工科專業(yè)的必修專業(yè)基礎(chǔ)課,對教學(xué)提出了較高的要求,尤其是實踐教學(xué)環(huán)節(jié)。單片機(jī)技術(shù)的教學(xué)必須要有一定課時的高質(zhì)量的實驗課程來配合理論課的教學(xué),只有這樣才能使學(xué)生更好的掌握單片機(jī)的開發(fā),提高動手實踐

2、的能力,培養(yǎng)創(chuàng)新精神。但是目前市場上的單片機(jī)實驗系統(tǒng)普遍價格昂貴,并不能很好的滿足單片機(jī)的教學(xué)。在這樣的情況下,構(gòu)建一個低成本,源代碼開放,有完整電路原理圖的單片機(jī)教學(xué)實驗系統(tǒng)是非常有必要的。對于提高單片機(jī)的教學(xué)效果,培養(yǎng)單片機(jī)的開發(fā)人才具有很大的現(xiàn)實意義。論文主要完成了以下工作:1. 分析了目前單片機(jī)教學(xué)中存在的問題,和目前市場上存在的單片機(jī)教學(xué)實驗系統(tǒng)的現(xiàn)狀。提出了構(gòu)建一種低成本,源代碼開放,適合學(xué)校單片機(jī)教學(xué)的51 單片機(jī)教學(xué)實驗系統(tǒng)。2. 為了解決單片機(jī)教學(xué)中存在的問題,對單片機(jī)教學(xué)進(jìn)行改革,提高單片機(jī)的教學(xué)效果,使學(xué)生能夠更好的掌握單片機(jī)的開發(fā)技術(shù),結(jié)合單片機(jī)教學(xué)大綱的要求,利用宏晶

3、科技公司生產(chǎn)的 STC89C52 單片機(jī)為核心,設(shè)計完成單片機(jī)教學(xué)實驗系統(tǒng)的硬件開發(fā)工作,并且調(diào)試成功。提供了所有的硬件電路原理圖,以供給單片機(jī)教學(xué)使用。3. 結(jié)合單片機(jī)教學(xué)實驗系統(tǒng)的硬件和教學(xué)需要,開發(fā)了一系列的基礎(chǔ)類的實驗,即基礎(chǔ)接口設(shè)計實驗。同時為了滿足創(chuàng)新性教學(xué)和太高學(xué)生綜合設(shè)計能力等的需要,開發(fā)了一些綜合性的實驗項目,例如,數(shù)字電子鐘實驗,簡易計算器實驗,溫控系統(tǒng)實驗等供教學(xué)以及單片機(jī)課程設(shè)計和畢業(yè)設(shè)計的使用。所開發(fā)的實驗項目均提供匯編源代碼和 C 源代碼,供學(xué)生參考。4. 開發(fā)了基于 SST89E564RD 的硬件仿真器。以使學(xué)生能夠在課堂上學(xué)會單片機(jī)的硬件仿真調(diào)試,真正的掌握單片

4、機(jī)的開發(fā)技術(shù)。目前本課題已經(jīng)完成了 51 單片機(jī)的教學(xué)實驗系統(tǒng)的所有的硬件和軟件的開發(fā)調(diào)試工作,經(jīng)過小規(guī)模的試用,證明符合本課題設(shè)計的預(yù)期,效果良好。關(guān)鍵詞:STC89C52;單片機(jī);實驗系統(tǒng);調(diào)試與仿真THE DESIGN AND DEVELOPMENT OF TEACHING EXPERIMENT SYSTEM BASED ON 51 MCUAbstractAfter several decades of development, now MCU is widely used in all areas of life and production. National institution

5、s and universities of higher learning and technical expertise in computer science and electronic information engineering and other professionals, have widely opened MCU-related courses. "Single-chip technology", "MCU principles and interface technology" and other professional eng

6、ineering curriculum as a compulsory basic course, the teaching is making higher requirements, especially in practice teaching. MCU technology teaching demands a certain class time of high-quality courses to test the theory with the experiment in teaching. Only in this way the students can better gra

7、sp the MCU development, improve the hands on ability and the creating consciousness. However, the current MCU experimental system from market is generally expensive, and can not meet the relevant teaching well. In such circumstances, It is very necessary to build a MCU experimental teaching system o

8、f low-cost and open source code with a complete circuit diagram. It also has great practical significance for improving the teaching effectiveness and the training of concerned human resources.This thesis has completed the following tasks:1. The analysis of current problems in MCU teaching and the s

9、tatus of existed MCU experimental teaching system and the proposal to build a system of low-cost, open source code, suitable for teaching as “51 MCU experiment teaching system”.2. In order to solve the problems in MCU teaching, make some reforms, improve the teaching effectiveness, enable the studen

10、ts to better grasp the development of chip technology, and to combine with the MCU curriculumrequirements, by using STC89C52 produced by HongJing Technology as a core, we designed and completed the development of the system's hardware, and finally successfully debugged. All the hardware circuit

11、diagrams are provided to match the relevant teaching.3. To meet the demand for MCU hardware and teaching, a series of basic experiments are developed as basic interface design experiment. Meanwhile, in order to meet the innovative teaching and the needs of comprehensive design capabilities for highe

12、r level students, a number of comprehensive pilot projects are developed such as digital electronic clock experiment, simple calculator experiment and temperature control system experiment for the use of teaching , curriculum design and graduation design. All the developed experimental projects are

13、provided source code and C source code for students reference.4. The hardware emluator is developed out based on SST89E564RD to enable the students to learn the hardware simulation debugging of MCU in class and totally grasp the concerned developing technology. Currently, the project has completed t

14、he hardware and software development and debugging work of “51 MCU System”. Through a small-scale trial it proved to be complied with the anticipation of this topic and achieved good effects.Keywords: STC89C52;MCU;Experimental system;Debugging and simulation目錄1 緒論11.1 研究背景和意義11.2 研究現(xiàn)狀31.3 本文的主要工作42

15、單片機(jī)實驗系統(tǒng)總體設(shè)計52.1 實驗系統(tǒng)的單片機(jī)選型52.1.1 選型原則.52.1.2 STC 系列單片機(jī)性能簡介62.2 系統(tǒng)功能72.2.1 單片機(jī)實驗系統(tǒng)硬件總體邏輯結(jié)構(gòu).72.2.2 FLASH 存儲技術(shù)和 ISP 在系統(tǒng)編程功能72.2.3 單片機(jī)實驗教學(xué)功能.103 系統(tǒng)硬件設(shè)計123.1 STC89 單片機(jī)最小系統(tǒng).123.2 發(fā)光二極管電路.133.3 鍵盤電路.143.4 LED 數(shù)碼管顯示電路.143.5 模數(shù)轉(zhuǎn)換電路.153.6 數(shù)模轉(zhuǎn)換電路.153.7 RS232 串行接口.163.9 I2C 接口電路.173.10 溫度傳感器接口電路184 系統(tǒng)實驗項目設(shè)計194.

16、1 本實驗系統(tǒng)對單片機(jī)實驗教學(xué)的改進(jìn).194.2 單片機(jī) C 語言開發(fā)基礎(chǔ)204.2.1 利用 C 語言開發(fā)單片機(jī)的優(yōu)點.204.2.2 單片機(jī) C 語言 C51 中的基本數(shù)據(jù)類型和基礎(chǔ)語句.214.2.3 單片機(jī) C 語言 C51 的基本結(jié)構(gòu).224.3 實驗系統(tǒng)基本實驗程序設(shè)計234.4 實驗系統(tǒng)綜合實驗程序設(shè)計.284.4.1 數(shù)字電子鐘實驗284.4.2 溫控系統(tǒng)實驗.305 系統(tǒng)的開發(fā)環(huán)境及硬件仿真調(diào)試335.1 單片機(jī)系統(tǒng)開發(fā)環(huán)境.335.1.1 單片機(jī)集成開發(fā)環(huán)境 KEIL Vision2335.1.2 KEIL C51 Vision2 軟件的使用365.2 硬件仿真調(diào)試設(shè)計43

17、5.2.1 單片機(jī) SST89E564RD 作仿真器的工作原理445.2.2 仿真監(jiān)控程序 SoftICE 的燒錄.446 總結(jié)與展望48參考文獻(xiàn)491 緒論1.1 研究背景和意義單片機(jī)自 20 世紀(jì) 70 年代問世以來,以其性價比高,體積小,功能強(qiáng),開發(fā)較為容易等優(yōu)點,迅速占領(lǐng)市場,廣泛應(yīng)用于日常生活的各個領(lǐng)域。在我國,單片機(jī)系統(tǒng)已被廣泛的應(yīng)用于工業(yè)自動化控制,消費(fèi)類電子,智能儀器儀表,通信系統(tǒng)和軍事領(lǐng)域1。因此,對于計算機(jī)科學(xué)技術(shù),電子信息工程,通信工程和自動化控制等專業(yè)的高等院校學(xué)生來說,學(xué)習(xí)并掌握單片機(jī)開發(fā)技術(shù)具有非常重要的意義。目前,世界上很多著名的半導(dǎo)體制造商幾乎都有自己的單片機(jī)產(chǎn)

18、品,例如TI,Atmel,NEC,F(xiàn)reescale 等等。這些不同廠商的單片機(jī)產(chǎn)品在功能和結(jié)構(gòu)上都有不同點,指令系統(tǒng)也不完全兼容,應(yīng)用的領(lǐng)域也是各有側(cè)重。在所有的單片機(jī)產(chǎn)品中,以 Intel 公司在 1981 年推出的 8051 單片機(jī)應(yīng)用最為廣泛。目前很多新型的單片機(jī)也是屬于 8051 系列,它們只是在 8051 單片機(jī)的基礎(chǔ)上增強(qiáng)了部分功能2。在國內(nèi),8051 單片機(jī)更是占有統(tǒng)治地位,已經(jīng)廣泛應(yīng)用于各個領(lǐng)域。國內(nèi)的各個高等校開設(shè)的單片機(jī)課程一般也是以 8051 單片機(jī)做為授課內(nèi)容。在全國高等院校計算機(jī)科學(xué)與技術(shù)專業(yè)和電子信息類專業(yè)中,已普遍開設(shè)了單片機(jī)相關(guān)的課程。單片機(jī)技術(shù),單片機(jī)原理與

19、接口技術(shù)應(yīng)用等課程作為工科專業(yè)的必修專業(yè)基礎(chǔ)課,對教學(xué)提出了較高的要求,尤其是實踐教學(xué)環(huán)節(jié)。單片機(jī)技術(shù)的教學(xué)必須要有一定課時和高質(zhì)量的實驗課程來配合理論課的教學(xué), 只有這樣才能使學(xué)生更好的掌握單片機(jī)的開發(fā),提高動手實踐的能力,培養(yǎng)創(chuàng)新精神。但是目前,我國高等院校在單片機(jī)的教學(xué)過程中還是普遍存在著一些問題的,這也制約和限制了對單片機(jī)開發(fā)人才的培養(yǎng)速度。在教學(xué)工程中存在的問題主要集中在以下這幾個方面:(1) 單片機(jī)課程以理論講解為主。整個學(xué)期的大部分時間都是老師在講授單片機(jī)理論知識,學(xué)生雖然也能聽懂,但是往往是一知半解,學(xué)完以后對單片機(jī)的概念還是很模糊,要求學(xué)生獨(dú)立開發(fā)程序就更是不可能完成的任務(wù)。

20、- 50 -(2) 目前國內(nèi)的單片機(jī)教材絕大部分都是以 80C51 單片機(jī)為例,編程語言還是采用 80C51 的匯編指令集,學(xué)生學(xué)習(xí)匯編語言還是有一定難度的,而且目前在實際的開發(fā)工作中大部分都是采用 c 語言來開發(fā)程序,所以學(xué)生在學(xué)校學(xué)習(xí)完單片機(jī)的課程以后,就業(yè)以后還是不能獨(dú)立進(jìn)行開發(fā)工作,還需要再進(jìn)行專門培訓(xùn)。這樣看來學(xué)校的單片機(jī)教學(xué)和實際的開發(fā)工作存在脫節(jié)。(3) 單片機(jī)教學(xué)對實踐教學(xué)環(huán)節(jié)重視程度不夠?,F(xiàn)在很多學(xué)校也都有單片機(jī)技術(shù)實驗室,也開設(shè)了單片機(jī)的實驗課程,但是效果并不理想,問題出在哪里呢?主要是目前各個高校的單片機(jī)實驗室普遍購買的設(shè)備是單片機(jī)的實驗箱。在上單片機(jī)實驗課的時候,學(xué)生往

21、往都是按照實驗指導(dǎo)書的要求,拿到源代碼直接編譯鏈接運(yùn)行程序,然后看看硬件的演示效果,一般廠家提供的源代碼都是匯編格式的,學(xué)生也沒學(xué)過單片機(jī) c 語言編程,所以自己也不會去編程實踐3。在硬件接口電路方面,實驗箱一般不提供整體的電路原理圖,只是有分模塊的電路, 然后學(xué)生按照實驗指導(dǎo)書的圖樣連線即可,根本就沒有掌握接口電路原理,就更不用說自己學(xué)會設(shè)計電路了。(4) 學(xué)校實驗室資源有限。因為單片機(jī)實驗系統(tǒng)的價格還是比較昂貴的, 所以目前高校的單片機(jī)實驗室配置資源很有限,不能滿足學(xué)生自主學(xué)習(xí)的要求。以我們學(xué)校為例,計算機(jī)科學(xué)與技術(shù),電子信息工程,通信工程三個專業(yè)的學(xué)生共用一個單片機(jī)實驗室。而實驗室一共只

22、有 30 套實驗箱4。最多能滿足日常的教學(xué)工作,而且開設(shè)的實驗教學(xué)課時也很有限。在這種情況下,學(xué)生想進(jìn)一步提高自己的實踐能力要求使用實驗室的設(shè)備,我們也沒有時間和能力給學(xué)生提供這樣的機(jī)會。在目前這樣的情況下,構(gòu)建一個低成本,源代碼開放,并且具有完整電路原理圖的單片機(jī)教學(xué)實驗系統(tǒng)是非常有必要的。首先這套系統(tǒng)可以嚴(yán)格的控制生產(chǎn)成本,使實驗室的設(shè)備投資大幅下降,可以引進(jìn)更多的實驗設(shè)備,滿足每個學(xué)生做實驗時可以人手一套;其次也可以根據(jù)學(xué)校和學(xué)生的實際情況更靈活的安排單片機(jī)教學(xué)的內(nèi)容,使理論和實踐的結(jié)合更加緊密;最終達(dá)到培養(yǎng)學(xué)生的自主學(xué)習(xí)能力和創(chuàng)新精神的目的,對單片機(jī)開發(fā)方面人才的培養(yǎng)和單片機(jī)教學(xué)的革新

23、具有重大意義。為此,我針對學(xué)校實驗室的現(xiàn)狀,設(shè)計開發(fā)了一款新型的低成本的單片機(jī)實驗開發(fā)系統(tǒng)。該系統(tǒng)由硬件和軟件兩部分組成。硬件部分根據(jù)學(xué)生的實際情況和生產(chǎn)成本的要求開發(fā)了相應(yīng)的接口電路,同時也將單片機(jī)全部管腳資源引出,利于學(xué)生自己開發(fā)擴(kuò)展。軟件部分設(shè)計了適合學(xué)生實踐的源代碼,包括匯編語言和c 語言程序,重點是提供了 C 語言的程序,使學(xué)生能夠更好的學(xué)習(xí)單片機(jī) c 語言編程。該實驗系統(tǒng)不僅能滿足單片機(jī)教學(xué)的應(yīng)用,也能滿足學(xué)生的課程設(shè)計,畢業(yè)設(shè)計以及全國大學(xué)生電子設(shè)計競賽等課外實踐活動的需要,有利于培養(yǎng)學(xué)生的自主學(xué)習(xí)能力和創(chuàng)新精神。1.2 研究現(xiàn)狀目前單片機(jī)實驗系統(tǒng)市場已經(jīng)非常成熟,有很多公司都提

24、供相應(yīng)的產(chǎn)品。不過大部分產(chǎn)品都是以實驗箱的形式,雖然接口豐富,但是價格比較昂貴,基本上都在 2000 元以上,所以實驗室不能大批量引進(jìn)供學(xué)生學(xué)習(xí),也無法提供額外的時間給學(xué)生自己動手實踐,僅能滿足正常的教學(xué)環(huán)節(jié)。在這樣的情形下,學(xué)生普遍反映教學(xué)時間短,沒有足夠時間真正去理解硬件原理和編程思路,導(dǎo)致教學(xué)效果不理想。例如我們實驗室引進(jìn)的江蘇啟東計算機(jī)公司生產(chǎn)的 DVCC-51 系列單片機(jī)教學(xué)實驗系統(tǒng),就是一套功能很強(qiáng)大,接口豐富的實驗系統(tǒng)。但是這套系統(tǒng)的實驗指導(dǎo)書在硬件部分并沒有提供完整的電路原理圖,導(dǎo)致學(xué)生在做實驗的時候并不清楚硬件電路是如何設(shè)計的,只是機(jī)械的接受。軟件代碼部分僅提供匯編語言的源代

25、碼,不提供 c 語言的源代碼,與以后的開發(fā)設(shè)計脫節(jié)。早期的單片機(jī)實驗系統(tǒng)都是基于 MON51 監(jiān)控程序的,功能比較單一,并不能將程序直接燒錄到單片機(jī)內(nèi)部的 ROM 中,而是將程序裝載到外部的 RAM 中,都沒有采用當(dāng)今主流的 ISP 功能。還有一些實驗箱系統(tǒng)功能更加強(qiáng)大豐富,例如有的系統(tǒng)是集成了 51 單片機(jī)和 8086 微機(jī)原理實驗系統(tǒng)的綜合型實驗系統(tǒng),雖然這樣的系統(tǒng)看起來功能強(qiáng)大, 可以做很多實驗,但是對單片機(jī)的實踐學(xué)習(xí)來說并不見得是一件好事,而且此類系統(tǒng)的價格往往非常高。1.3 本文的主要工作本文的主要工作包括單片機(jī)硬件接口電路設(shè)計,實驗軟件設(shè)計,以及硬件仿真調(diào)試技術(shù)。本文擬利用 STC

26、 系列單片機(jī)作為該實驗系統(tǒng)的單片機(jī)核心,外圍接口電路為RS232 串口,鍵盤及 LED 顯示電路,數(shù)模轉(zhuǎn)換和模數(shù)轉(zhuǎn)換電路,蜂鳴器驅(qū)動電路, LCD 液晶顯示接口電路,I2C 接口電路,溫度傳感器接口電路等。軟件部分配合各實驗?zāi)K的匯編語言程序和 C 語言程序,并在此基礎(chǔ)上開發(fā)幾個綜合實驗程序。在 PC 端利用 KEIL Vision2 軟件開發(fā)環(huán)境進(jìn)行程序的開發(fā)調(diào)試,利用 ISP 技術(shù)下載調(diào)試程序,PCB 電路板的繪制設(shè)計和制作,以及后期的安裝和調(diào)試工作。利用單片機(jī) SST89E564RD 的 IAP(In Application Programmable)即在應(yīng)用可編程功能作為硬件仿真。2

27、單片機(jī)實驗系統(tǒng)總體設(shè)計2.1 實驗系統(tǒng)的單片機(jī)選型20 世紀(jì) 80 年代以來,單片機(jī)的發(fā)展非常迅速,就通用單片機(jī)而言,世界上著名的半導(dǎo)體公司投放市場的產(chǎn)品就有數(shù)百個品種。盡管單片機(jī)的種類很多,但是目前在我國使用最多的還是 INTEL 公司的 8051 系列單片機(jī)。8051 系列單片機(jī)是 8 位的單片機(jī),以其品種規(guī)格全,性價格比高,兼容性強(qiáng),開發(fā)容易,軟硬件設(shè)計資料豐富等優(yōu)點,牢牢占據(jù)了我國單片機(jī)應(yīng)用領(lǐng)域的頭把交椅。在國內(nèi)高等院校的教學(xué)中,只要是開設(shè)單片機(jī)這門課程的學(xué)校,基本上是以 8051 單片機(jī)為例進(jìn)行講解。因此我們?yōu)榱烁玫姆?wù)學(xué)校的單片機(jī)實驗教學(xué),也選擇了 51 系列的單片機(jī)作為實驗系統(tǒng)

28、的 MCU,本文中選用了宏晶科技推出的完全兼容傳統(tǒng)的8051 單片機(jī)的 STC89C52 單片機(jī)。2.1.1 選型原則對于核心 MCU 的選擇,主要基于以下幾個原則: 1、典型性MCS 是美國Intel 公司生產(chǎn)的單片機(jī)符號,例如 Intel 公司的MCS-48、MCS-51 和 MCS-96 系列單片機(jī)。MCS-51 系列單片機(jī)典型產(chǎn)品有 8031、8051、8751 等。20 世紀(jì) 80 年代中期以后,Intel 公司以專利轉(zhuǎn)讓的形式把 8051 內(nèi)核技術(shù)裝讓給許多其他的半導(dǎo)體芯片制造商,如 Atmel、Dallas、Analog Devices 等。這些廠家生產(chǎn)的單片機(jī)是與 MCS-51

29、 指令系統(tǒng)兼容的單片機(jī),因而常用 80C51 系列來稱呼所有具有 8051 指令系統(tǒng)的單片機(jī)。到目前為止,80C51 系列單片機(jī)仍是開發(fā)應(yīng)用的主流,也是高等院校單片機(jī)教學(xué)的主要理論對象5。宏晶科技推出的 STC89 系列 8 位單片機(jī),指令代碼完全兼容 80C51 系列單片機(jī),非常適合于學(xué)校的實驗教學(xué)。2、兼容性因為 MCS-51 單片機(jī)對單片機(jī)技術(shù)的發(fā)展影響深遠(yuǎn),具有重要理論意義,在后期很多半導(dǎo)體公司通過購買 Intel 公司的授權(quán),生產(chǎn)了兼容 MCS-51 系列的單片機(jī),統(tǒng)稱為 80C51 系列。此系列的單片機(jī)也成為了 8 位單片機(jī)市場的統(tǒng)領(lǐng),應(yīng)用非常廣泛。各個廠商生產(chǎn)的 80C51 系列

30、單片機(jī)都是與 MCS-51 指令系統(tǒng)兼容的, 只是可能在某些方面進(jìn)行了加強(qiáng)6。例如 STC89 系列單片機(jī)即是指令系統(tǒng)兼容于80C51 系列單片機(jī),但其工作頻率可以達(dá)到 40MHz,F(xiàn)LASH ROM 可達(dá)到 64KB,片上集成了 512 字節(jié)的 RAM,并采用 ISP 在系統(tǒng)可編程技術(shù)。3、性價比任何電子系統(tǒng)產(chǎn)品都要考慮成本因素,我們對 MCU 的選擇同樣也要考慮成本。對學(xué)校的實驗室應(yīng)用來說,能找到教學(xué)效果和成本的平衡點是非常重要的, 我們既要保證實踐教學(xué)的效果,又要盡力節(jié)省實驗室預(yù)算?;诖丝紤],宏晶科技生產(chǎn)的 STC89 系列單片機(jī)首先兼容于 80C51 系列單片機(jī),可以保證實踐教學(xué)的需

31、求,而且這款芯片是國內(nèi)價格最低的芯片,可以達(dá)到實驗室控制成本的要求?;谝陨系倪x型原則,我們選用了宏晶科技生產(chǎn)的 STC89C52RC 這款單片機(jī), 完全能夠保證學(xué)校實驗室的教學(xué),同時也是兼容性強(qiáng),低成本的最佳選擇。2.1.2 STC 系列單片機(jī)性能簡介7STC89C52RC 單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的 8 位單片機(jī),指令代碼與傳統(tǒng)的 80C51 系列單片機(jī)完全兼容。其特性主要有以下幾點:1、工作電壓:3.3V-5.5V。2、工作頻率范圍:0-40MHz,實際工作頻率可達(dá)到 48MHz。3、用戶應(yīng)用程序空間:8KB。同時片內(nèi)具有 512 字節(jié) RAM。4、共有3個

32、16 位定時/計數(shù)器。其中定時器 0 還可當(dāng)作兩個 8 位定時器用。5、通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個 UART。6、內(nèi)部具有看門狗。7、工作溫度范圍:-4080(工業(yè)級)/075(商業(yè)級)。8、中斷系統(tǒng)完全兼容于 80C51 系列單片機(jī),增加了兩個外部中斷 INT2,INT3,到達(dá) 4 路外部中斷,下降沿中斷或低電平觸發(fā)中斷,PowerDown 模式可由外部中斷低電平觸發(fā)中斷方式喚醒。9、抗干擾能力強(qiáng)。電源、時鐘、復(fù)位、I/O 口電路經(jīng)過特殊處理。寬工作電壓,不怕電源抖動??撮T狗電路經(jīng)過處理,打開后無法關(guān)閉。具有高抗靜電保護(hù)(ESD)。10、低電磁輻射??山?ALE

33、時鐘信號輸出。外部時鐘頻率可降低一半,即單片機(jī)工作在 6T 模式,內(nèi)部時鐘振蕩器增益可以降低一半。11、具有兩個 16 位數(shù)據(jù)指針 DPTR0/DPTR。可通過 DPS 位進(jìn)行選擇,大大增加了編程的靈活性。2.2 系統(tǒng)功能本文設(shè)計的單片機(jī)教學(xué)實驗系統(tǒng)接口豐富,綜合功能強(qiáng),系統(tǒng)穩(wěn)定,適于單片機(jī)實驗教學(xué)和綜合項目,例如課程設(shè)計,畢業(yè)設(shè)計等應(yīng)用。2.2.1 單片機(jī)實驗系統(tǒng)硬件總體邏輯結(jié)構(gòu)本單片機(jī)實驗系統(tǒng)硬件擬利用 STC 系列單片機(jī)作為實驗系統(tǒng)的單片機(jī)核心, 外圍接口電路為 RS232 串口,鍵盤及 LED 顯示電路,7 段數(shù)碼管,數(shù)模轉(zhuǎn)換和模數(shù)轉(zhuǎn)換電路,蜂鳴器驅(qū)動電路,LCD 液晶顯示接口電路,溫

34、度傳感器接口電路, IIC 接口電路等。硬件總體邏輯結(jié)構(gòu)如表 2-1 所示:表 2-1 硬件總體邏輯結(jié)構(gòu)串口電源LCD 液晶顯示接口鍵盤晶振單片機(jī)核心STC89C52數(shù)模轉(zhuǎn)換溫度傳感器接口復(fù)位模數(shù)轉(zhuǎn)換IIC 接口LED 顯示數(shù)碼管蜂鳴器具體硬件接口電路了在第三章中敘述。2.2.2 FLASH 存儲技術(shù)和 ISP 在系統(tǒng)編程功能7目前,F(xiàn)lash 存儲器已經(jīng)廣泛應(yīng)用,STC89C52RC 單片機(jī)就采用了可多次擦寫的片內(nèi) Flash。Flash 存儲器雖然有一定的擦寫壽命,但是一般可到達(dá) 10 萬次以上,所以我們完全不用擔(dān)心擦寫的壽命問題,因此我們在開發(fā)編程時,對單片機(jī)反復(fù)擦寫,不用顧忌單片機(jī)的擦

35、寫壽命。這對于實驗教學(xué)來說是非常好的一個特性,因為在實驗教學(xué)中,學(xué)生要反復(fù)修改調(diào)試所寫程序,就不可避免的要經(jīng)常對Flash 進(jìn)行擦寫,而我們又不必顧忌單片機(jī)的壽命問題,這對于我們降低實驗室的使用成本和后期的維護(hù)工作都是有很大的便利。ISP(In System Programmable)在系統(tǒng)編程功能,極大的簡化了單片機(jī)的開發(fā)流程。ISP 技術(shù)是指單片機(jī)片內(nèi)的 cpu 可以對片內(nèi) Flash 進(jìn)行擦寫操作,用戶只需利用上位機(jī)的軟件通過串口將程序燒寫到片內(nèi) Flash 中。這樣,我們就可以實時的在開發(fā)板的單片機(jī)上運(yùn)行應(yīng)用程序。由于單片機(jī)是在真實的硬件環(huán)境中運(yùn)行程序,比在仿真器的環(huán)境中運(yùn)行真實可靠。

36、如果已設(shè)置 P1.0/P1.1=0/0,才會判斷是否下載用戶程序,則冷啟動后,如 P1.0/P1.10/0,則直接跑用用戶程序,只會占時 50,可忽略不計。建議選擇 P1.0/P1.1 不同時為 0/0,則立即跑用戶程序, 跨過系統(tǒng) ISP 監(jiān)控程序。STC89C52RC 單片機(jī)具有 ISP 功能。STC89C52RC 單片機(jī)在系統(tǒng)可編程功能使用說明如圖 2-1 所示:PC 機(jī)端的控制軟件必須先下載命令流,再給單片機(jī)上電復(fù)位圖 2-1 STC89C52RC 單片機(jī)在系統(tǒng)可編程功能使用說明利用STC89C52RC 的ISP 在系統(tǒng)編程時,需要將串口線一端接到 PC 端的串口,另一端接到開發(fā)板的串

37、口,從而使上位機(jī)軟件 STC-ISP 與單片機(jī)進(jìn)行通信,控制單片機(jī)進(jìn)行程序的燒寫。上位機(jī)軟件 STC-ISP 的操作界面如圖 2-2 所示圖 2-2 STC-ISP 的操作界面編程步驟如下:1、首先將串口線一端與 PC 機(jī)的串口,另一端與單片機(jī)開發(fā)板的串口相連, 并且給開發(fā)板上電。2、當(dāng)硬件連接正常后運(yùn)行軟件 STC-ISP,首先要選擇使用的單片機(jī)型號, 例如 STC89C52RC。3、打開文件,燒寫用戶的程序,調(diào)入已經(jīng)編號的程序代碼(*.bin,*.hex)。4、選擇串口,所使用的 PC 機(jī)的串口,例如串口 1,com1 等。5、是否需要設(shè)置雙倍速,雙倍速選中 Double Speed 即可

38、。6、下載,也可選擇重復(fù)下載。下載程序是要注意,一定要先選擇下載按鈕,然后再給單片機(jī)上電復(fù)位。如果先上電,單片機(jī)檢測不到合法的下載命令流,單片機(jī)就會直接跑以前的程序。7、寫入程序后即可運(yùn)行,此時就可觀察硬件的實際運(yùn)行效果了。2.2.3 單片機(jī)實驗教學(xué)功能本文設(shè)計的單片機(jī)實驗教學(xué)系統(tǒng)硬件接口比較豐富,完全能夠滿足單片機(jī)實驗教學(xué)的需求。本實驗系統(tǒng)提供了大量的實驗項目供教師選擇,開展不同層次的實驗教學(xué),能使教師更好的開展實驗教學(xué),使學(xué)生能夠更好的掌握單片機(jī)開發(fā)技術(shù)。本系統(tǒng)提供了單片機(jī)開發(fā)板的所有電路原理,使學(xué)生在學(xué)習(xí)時對硬件電路的分析更加清晰,能夠全面提高電路設(shè)計的能力,并且所配套的實驗都有相應(yīng)的

39、c 語言和匯編語言的源代碼,可以供學(xué)生參考修改程序。為本實驗系統(tǒng)設(shè)計的實驗項目如下: 模塊化接口程序:單片機(jī) I/O 口控制實驗(1) 閃爍燈實驗(2) 流水燈實驗(3) 驅(qū)動蜂鳴器實驗(4) 定時器應(yīng)用實驗(5) 數(shù)碼管靜態(tài)顯示實驗(6) 數(shù)碼管動態(tài)顯示實驗(7) 外部中斷實驗(8) 定時器中斷應(yīng)用實驗(9) 利用定時器和蜂鳴器發(fā)聲實驗(10) 獨(dú)立按鍵實驗(11) 矩陣鍵盤實驗(12) 串口應(yīng)用實驗(13) A/D 0804 實驗(14) D/A 0832 實驗(15) 1602 液晶顯示實驗(16) 12864 帶字庫液晶實驗(17) IIC 總線實驗綜合應(yīng)用程序:(1) 數(shù)字電子鐘實驗

40、(2) 簡易計算器實驗(3) 數(shù)字溫度計實驗(4) 實驗系統(tǒng)整版檢測實驗(5) C/OS-II 操作系統(tǒng)在單片機(jī)上的移植和應(yīng)用實驗3 系統(tǒng)硬件設(shè)計3.1 STC89 單片機(jī)最小系統(tǒng)一個單片機(jī)的最小系統(tǒng)硬件由三部分組成,電源部分,時鐘信號,復(fù)位電路。有了這三部分,單片機(jī)系統(tǒng)才可以正常穩(wěn)定的工作。我們在設(shè)計單片機(jī)實驗系統(tǒng)的時候首先先要設(shè)計單片機(jī)的最小系統(tǒng)硬件電路。(1)電源電路電源電路為實驗系統(tǒng)提供必要的工作電壓,此實驗系統(tǒng)的電源電路有兩種電源輸入方式。一種是從 USB 口取得+5V 電源。只需要一根 USB 線從電腦的 USB 口+5V 電壓,在實驗教學(xué)中,非常方便使用,學(xué)生操作安全簡單。另一種

41、為交流電源從電源插座輸入口接入,通過 7805 三端穩(wěn)壓器得到+5V 的直流電源提供系統(tǒng)工作電壓8。同時電源電路中也有保護(hù)電路,以保護(hù)三端穩(wěn)壓器 7805 和電腦主機(jī)的電源。電源電路如圖 3-1 所示:圖 3-1 電源電路(2)時鐘電路時鐘電路采用 STC 單片機(jī)外接晶振電路實現(xiàn)。實驗系統(tǒng)采用 11.0592MHz 晶振,此晶振可以保證單片機(jī)在串口通訊的時候降低串口通訊的誤碼率。時鐘電路如圖 3-2 所示:圖 3-2 時鐘電路(3)復(fù)位電路復(fù)位電路采用簡單的 RC 沖放電電路。在編寫程序和調(diào)試的時候,如果出現(xiàn)程序跑飛得現(xiàn)象的時候,可以按下復(fù)位鍵,單片機(jī)即復(fù)位。復(fù)位電路如圖 3-3所示:圖 3-

42、3 復(fù)位電路3.2 發(fā)光二極管電路發(fā)光二極管電路由 8 個發(fā)光二極管組成,通過 74HC5739接單片機(jī)的 P1 口, 當(dāng)單片機(jī)輸出低電平時,發(fā)光二極管點亮,當(dāng)單片機(jī)輸出高電平時,發(fā)光二極管熄滅。發(fā)光二極管電路如圖 3-4 所示:圖 3-4 發(fā)光二極管電路3.3 鍵盤電路鍵盤電路由 4×4 矩陣鍵盤和 4 個獨(dú)立按鍵組成。鍵盤電路如圖 3-5 所示:圖 3-5 鍵盤電路3.4 LED 數(shù)碼管顯示電路LED 數(shù)碼管顯示電路 8 位數(shù)碼管組成,由兩片 74HC573 驅(qū)動組成。LED 數(shù)碼管電路如圖 3-6 所示:圖 3-6 LED 數(shù)碼管電路3.5 模數(shù)轉(zhuǎn)換電路本實驗系統(tǒng)硬件的模數(shù)轉(zhuǎn)換

43、電路由 8 位 A/D 芯片 ADC080410組成。模擬電壓由 ADIN 輸入,片選地址信號接 74HC573。轉(zhuǎn)換輸出接單片機(jī)的 P1 口。模數(shù)轉(zhuǎn)換電路如圖 3-7 所示:圖 3-7 模數(shù)轉(zhuǎn)換電路3.6 數(shù)模轉(zhuǎn)換電路本實驗系統(tǒng)硬件的數(shù)模轉(zhuǎn)換電路由 8 位 D/A 芯片 DAC083211組成。數(shù)字信號由單片機(jī)的 P0 口輸入。輸出的模擬信號接 P5。數(shù)模轉(zhuǎn)換電路如圖 3-8 所示:圖 3-8 數(shù)模轉(zhuǎn)換電路3.7 RS232 串行接口RS232 串行接口電路由 MAX232 電平轉(zhuǎn)換電路組成。MAX232 芯片可以將 TTL 電平轉(zhuǎn)換成 RS232 電平12,以供單片機(jī)與 PC 機(jī)通信。RS

44、232 串行接口電路如圖3-9 所示:圖 3-9 RS232 串行接口電路3.8 LCD 液晶顯示接口電路本實驗系統(tǒng)有 160213和 1286414的兩種液晶接口電路,液晶顯示接口電路如圖 3-10 和圖 3-11 所示:圖 3-10 1602 液晶顯示接口電路圖 3-11 12864 液晶顯示接口電路3.9 I2C 接口電路I2C 接口電路由一片 AT24C02 存儲芯片組成,可以用來做I2C 總線編程實驗15。I2C 接口電路如圖 3-12 所示:圖 3-12 I2C 接口電路3.10 溫度傳感器接口電路本實驗系統(tǒng)上設(shè)計有 DS18B20 數(shù)字溫度傳感器16。DS18B20 數(shù)字溫度傳感

45、器為單總線接口器件,數(shù)據(jù)傳輸通過 P2.2 接口完成。溫度傳感器接口電路如圖 3-13 所示:圖 3-12 溫度傳感器接口電路4 系統(tǒng)實驗項目設(shè)計4.1 本實驗系統(tǒng)對單片機(jī)實驗教學(xué)的改進(jìn)傳統(tǒng)的單片機(jī)教學(xué)都是按照教學(xué)大綱的要求,分為理論課和實驗課兩部分來教學(xué)的。一般院校都是重視理論課的教學(xué),而對實驗課的教學(xué)重視程度不夠,實驗課安排的課時和理論課比起來少的可憐。例如我們學(xué)校,電子信息工程專業(yè), 通信工程專業(yè),計算機(jī)科學(xué)與技術(shù)專業(yè),自動化控制專業(yè)和機(jī)械設(shè)計專業(yè)的學(xué)生都要學(xué)習(xí)單片機(jī)應(yīng)用設(shè)計這門課,學(xué)校安排理論課時為 51 課時,而實驗課課時只有 17 課時,學(xué)生沒有足夠時間做實驗,所以教學(xué)效果不是很理

46、想。一學(xué)期的單片機(jī)課程學(xué)習(xí)下來,很多學(xué)生還是對單片機(jī)的概念搞不清楚,更不用說動手實踐開發(fā)了?,F(xiàn)在的單片機(jī)理論課教學(xué)很多都是按照大綱要求采取按部就班的順序根據(jù)教材來講單片機(jī)硬件基礎(chǔ)知識,51 匯編指令集,外圍接口技術(shù),應(yīng)用實例。這延續(xù)了傳統(tǒng)的教學(xué)模式,第一節(jié)課直接上來講很多理論知識,對于學(xué)生入門來說是比較困難的,學(xué)生掌握的情況并不好,往往很多學(xué)生在開始階段就對單片機(jī)失去興趣,后面就應(yīng)付了事了。這種模式下單片機(jī)教學(xué)以理論講解為核心內(nèi)容,而應(yīng)用技術(shù)的講解不做為重點,這也限制了學(xué)生們對單片機(jī)開發(fā)的實際認(rèn)識,導(dǎo)致學(xué)生的實際動手能力比較弱,學(xué)習(xí)單片機(jī)以為就是學(xué)好書本上的理論知識就夠了,也足夠應(yīng)付考試了。所

47、以會出現(xiàn)老師和學(xué)生對單片機(jī)的實驗教學(xué)都不夠重視的現(xiàn)象。很多學(xué)校的老師也都普遍認(rèn)為單片機(jī)的實驗課開展比較困難,課不好上, 因為學(xué)生不會自己動手做實驗,都不會調(diào)程序,對硬件系統(tǒng)的理解就更差了。所以針對單片機(jī)這種應(yīng)用性強(qiáng)的,突出實踐的課程,怎樣能夠更好的培養(yǎng)學(xué)生的能力,就成為了大家關(guān)注的問題焦點。結(jié)合本文開發(fā)的單片機(jī)實驗教學(xué)系統(tǒng),我們嘗試改變單片機(jī)以往那種傳統(tǒng)的教學(xué)方式。我們采取將單片機(jī)理論課和實驗課結(jié)合到一起,將原來理論課的 51課時和實驗課的 17 課時合并為 68 課時,并且全部課程都在實驗室開展。這樣對提高學(xué)生的實踐動手能力是非常有幫助的。教材我們采用 STC 系列單片機(jī)手冊和我們自己編寫的

48、實驗教程,將這兩種教材相結(jié)合使用。直接采用手冊教學(xué),會更加直觀,對學(xué)生學(xué)習(xí)單片機(jī)非常有幫助,也對學(xué)生以后進(jìn)行硬件電路設(shè)計打下堅實基礎(chǔ),培養(yǎng)學(xué)生自己看芯片手冊學(xué)習(xí)的能力。我們上課采取模塊化教學(xué)的方式,在學(xué)期初先介紹單片機(jī)的概念和 51 單片機(jī)的硬件結(jié)構(gòu),內(nèi)部資源并結(jié)合 STC 單片機(jī)的手冊進(jìn)行講解。當(dāng)講解完部分單片機(jī)的硬件結(jié)構(gòu)后,要安排一定的課時講解 51 單片機(jī)的 C 語言編程,因為現(xiàn)在公司開發(fā)單片機(jī)相關(guān)產(chǎn)品時基本上都是應(yīng)用 C 語言,所以學(xué)習(xí)單片機(jī)的 C 語言編程是非常有必要的。后面配合實驗系統(tǒng)開展基礎(chǔ)實驗內(nèi)容。這樣在實驗室邊講解邊練習(xí)編程實踐,使學(xué)生能夠?qū)纹瑱C(jī)有更加深入的認(rèn)識,學(xué)習(xí)效果會

49、更好。我們基礎(chǔ)內(nèi)容的講解和練習(xí)一般安排一半或者一半多一點的課時,后面的時間就安排學(xué)生做一些綜合的內(nèi)容,可以參考我們實驗系統(tǒng)設(shè)計的綜合實驗程序。以項目的形式開展教學(xué),讓學(xué)生真正體會做一個綜合項目的方方面面的工作。這樣通過一學(xué)期的單片機(jī)應(yīng)用課程的學(xué)習(xí),使學(xué)生能夠具備獨(dú)立進(jìn)行單片機(jī)軟硬件開發(fā)的能力,將來能夠更好的適應(yīng)用人單位對技術(shù)人才的需求。經(jīng)過這樣一學(xué)期的學(xué)習(xí)鍛煉,學(xué)生對單片機(jī)開發(fā)技術(shù)的認(rèn)識會更全面深刻,達(dá)到了我們對培養(yǎng)技術(shù)人才的要求。4.2 單片機(jī)C 語言開發(fā)基礎(chǔ)4.2.1 利用 C 語言開發(fā)單片機(jī)的優(yōu)點C 語言作為計算機(jī)程序設(shè)計語言大家庭里最經(jīng)典的一種語言,在各種場合都得到了廣泛的應(yīng)用。C 語

50、言易于學(xué)習(xí),支持廣泛,資料繁多,得到了廣大程序設(shè)計人員的鐘愛。目前很多硬件相關(guān)的開發(fā)都用 C 語言編程,例如,51 系列單片機(jī),AVR 單片機(jī),PIC 單片機(jī),嵌入式 ARM,DSP 處理器等等。C 語言本身不依賴于底層的硬件系統(tǒng),僅進(jìn)行簡單的修改即可將程序移植到不同的系統(tǒng)中應(yīng)用,而且 C 語言本身提供了很多函數(shù)我們可以直接拿來利用,縮短開發(fā)時間,提高開發(fā)效率。隨著單片機(jī)性能和集成開發(fā)工具的不斷發(fā)展,現(xiàn)在利用 C 語言進(jìn)行開發(fā)單片機(jī)應(yīng)用程序,具有開發(fā)效率高,程序可讀性強(qiáng),可移植,后期維護(hù)修改成本低等優(yōu)點,因此利用 C 語言進(jìn)行單片機(jī)的開發(fā)已經(jīng)成為主流17。單片機(jī) C 語言編程與單片機(jī)匯編語言編

51、程相比,有如下優(yōu)點: 1、對單片機(jī)的指令系統(tǒng)不需要掌握,可以直接用 C 語言編程控制單片機(jī),學(xué)習(xí)較容易。2、寄存器的分配,數(shù)據(jù)類型等細(xì)節(jié)都有編譯器自動管理,不需要我們?nèi)ゲ僮鳌?、有規(guī)范的編程格式,利用不同的函數(shù)組合,可以使程序結(jié)構(gòu)化,易于后期對程序的維護(hù)升級。4、程序庫中包含很多標(biāo)準(zhǔn)函數(shù),具有很強(qiáng)的數(shù)據(jù)處理能力,使用方便。5、具有成熟的模塊化編程技術(shù),使在一個硬件平臺編號的程序很容易移植到別的硬件平臺。C 語言本身是高級語言,常用語法也不是很多,關(guān)于單片機(jī)的 C 語言程序常用語法更少,學(xué)生即使沒有 C 語言的基礎(chǔ)僅在單片機(jī)課堂上也能掌握單片機(jī)的 C 語言編程。而且通過實驗程序的編寫,結(jié)合硬件電

52、路,應(yīng)用到實踐中去,學(xué)生會對單片機(jī)系統(tǒng)的開發(fā)和 C 語言的應(yīng)用融會貫通。4.2.2 單片機(jī) C 語言 C51 中的基本數(shù)據(jù)類型和基礎(chǔ)語句18在應(yīng)用 C51 對單片機(jī)進(jìn)行編程時,數(shù)據(jù)類型不同的變量所占的空間是不同的。所以我們要在設(shè)變量時綜合考慮,不能隨意給變量賦值。因為單片機(jī)的存儲空間是有限的,而不同的變量數(shù)據(jù)類型所占的空間是不同的,所以我們要選擇合適的數(shù)據(jù)類型,節(jié)省單片機(jī)的存儲空間。在編程時,我們首先要設(shè)定合適的數(shù)據(jù)類型,不同的數(shù)據(jù)類型有著不同的數(shù)據(jù)范圍,能表示的十進(jìn)制數(shù)大小不同,所以我們在設(shè)定一個變量時一定要給這個變量聲明一個數(shù)據(jù)類型,告訴編譯器,讓編譯器編譯程序之前從單片機(jī)內(nèi)存中分配一定的

53、空間給變量。單片機(jī) C 語言中常用的數(shù)據(jù)類型如表 4-1:表 4-1 單片機(jī) C 語言中常用的數(shù)據(jù)類型表數(shù)據(jù)類型關(guān)鍵字表示的數(shù)的范圍無符號字符型unsigned char0-255有符號字符型char-128-127無符號整型unsigned int0-65535有符號整型int-32768-32767在單片機(jī) C51 程序中常用的基礎(chǔ)語句為 if 選擇語句,while 循環(huán)語句,do while 循環(huán)語句,for 循環(huán)語句,switch case 多分支選擇語句這 5 種語句。如表:有這些常用語句,一般的單片機(jī)應(yīng)用程序就可以編制了。4.2.3 單片機(jī) C 語言 C51 的基本結(jié)構(gòu)C51 源程

54、序基本結(jié)構(gòu)與普通 C 程序基本一致,C51 源程序的擴(kuò)展名也為“.c”,例如 led.c 等等。一個 C51 源程序是一些具有不同功能的函數(shù)的集合,在這個集合中有且僅有一個 main()函數(shù),是這個源程序的主函數(shù)。C51 源程序都是從主函數(shù) main()函數(shù)開始的,當(dāng)主函數(shù)中所有語句執(zhí)行完畢的時候,程序結(jié)束。在 C51 程序中常用到的頭文件有定義51 或者52 系列單片機(jī)特殊功能寄存器和位寄存器的 reg51.h 或者 reg52.h19。這兩個頭文件基本上是一樣的內(nèi)容,僅是 52 單片機(jī)比 51 單片機(jī)多了一個定時器,所以 reg52.h 中只比 reg51.h 多定義了一個定時器的內(nèi)容。當(dāng)

55、然這兩個文件我們也可以修改內(nèi)容,可以根據(jù)我們使用的單片機(jī)的手冊,觀察單片機(jī)的內(nèi)部硬件資源,然后來改寫頭文件。還有較常用的頭文件是定義數(shù)學(xué)運(yùn)算的 math.h,該頭文件中包含了很多數(shù)學(xué)運(yùn)算函數(shù),以備我們可以在程序中直接調(diào)用頭文件中包含的內(nèi)部函數(shù)。當(dāng)我們將單片機(jī)的內(nèi)部結(jié)構(gòu)硬件基本講解完成,了解了特殊功能寄存器的功能后,就可以緊接著來介紹單片機(jī) C 語言編程了。我們還可以結(jié)合 STC 系列單片機(jī)的手冊查找這款單片機(jī)的特有功能,然后我們自己編寫適用的頭文件,為以后的編程應(yīng)用打下良好的基礎(chǔ)。同一階段引導(dǎo)學(xué)生自己獨(dú)立閱讀芯片手冊,為以后的設(shè)計硬件電路打下基礎(chǔ)。編寫一個 C51 源程序有很多要注意的事項,例

56、如:首先我們要知道 C 語言程序是由函數(shù)構(gòu)成的。一個 C51 源程序可以包含一個main()函數(shù)和很多其他函數(shù)。這些功能函數(shù)可以是編譯器提供的特定庫的庫函數(shù),也可以是編者根據(jù)實際硬件自己寫的功能函數(shù)。其次是 C 語言的編程風(fēng)格問題。我們一定要養(yǎng)成一個良好的編程風(fēng)格,比如函數(shù)大括號的縮進(jìn)問題,這對我們自己檢查程序 BUG 時很有幫助,還有程序的注釋問題,一個良好的程序一定要有詳細(xì)的注釋,例如在每個功能函數(shù)頭上加上詳細(xì)的函數(shù)說明,還有為一些特定語句加上注釋,這樣對我們將來對程序的再利用和移植都是非常重要的。所以可見一個良好的編程風(fēng)格對程序設(shè)計人員是多么的重要。所以我們要在授課過程中和學(xué)生強(qiáng)調(diào)編程風(fēng)格的問題。當(dāng)我們做一個比較大的項目時,程序量是比較大的,而把所有函數(shù)都安排到一個 c 源文件中是不合適的,這時候就要我們利用工程來管理整個項目程序。工程項目可以分為 c 源文件和頭文件兩大類。而我們又習(xí)慣將不同的功能函數(shù)寫在不同的 c 源文件中,這樣有利于項目的組織和開發(fā)。最后我們利用編譯器將項目的所有源文件鏈接起來,生成程序的 16 進(jìn)制文件 hex 文件或者 2 進(jìn)制文件 bin 文件。4.3 實驗系統(tǒng)基本實驗程序設(shè)計為了配合本單片機(jī)教學(xué)實驗系統(tǒng)的使用,根據(jù)從簡入繁,由易到難的原則, 結(jié)合單片機(jī)課程的大綱和進(jìn)度要求,我們設(shè)計了相應(yīng)的實驗程序,以備學(xué)生在實驗室中根據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論