2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題目單片機(jī)控制的萬年歷設(shè)計(jì) </p><p>  學(xué)院 機(jī)電工程系 </p><p>  專業(yè) 電子信息工程技術(shù) </p><p>  年級(jí) &l

2、t;/p><p>  姓名 </p><p>  指導(dǎo)教師 </p><p><b> ?。?0 年 月)</b></p><p>  基于單片機(jī)控制1602液晶的萬年歷</p><p><b>  摘要&

3、lt;/b></p><p>  隨著社會(huì)主義市場(chǎng)經(jīng)濟(jì)的發(fā)展,人們對(duì)時(shí)間和溫度可靠性的要求不斷提高;到目前為止,利用先進(jìn)的單片機(jī)技術(shù)、控制技術(shù)以及通訊技術(shù),設(shè)計(jì)高性能、高節(jié)能、能適應(yīng)不同領(lǐng)域的產(chǎn)品是必然的趨勢(shì)</p><p>  本論文分析單片機(jī)控制1602液晶的原理及系統(tǒng)的組成結(jié)構(gòu),提出不同的控制方案,通過研究和比較,本論文采用液晶實(shí)現(xiàn)時(shí)鐘和溫度,然后用數(shù)字對(duì)系統(tǒng)單片機(jī)的設(shè)計(jì)。最后

4、對(duì)系統(tǒng)的軟硬件設(shè)計(jì)進(jìn)行了詳細(xì)的介紹。本論文設(shè)計(jì)與實(shí)現(xiàn)通過單片機(jī)控制來實(shí)現(xiàn)想要的目的。具體講述了系統(tǒng)的總體設(shè)計(jì)與軟件的實(shí)現(xiàn),并對(duì)系統(tǒng)采取的可靠性措施進(jìn)行了說明。</p><p><b>  目錄</b></p><p><b>  第一章 緒論4</b></p><p>  1.1數(shù)字電子鐘的背景4</p>

5、<p>  1.2 數(shù)字電子鐘的意義4</p><p>  1.3數(shù)字電子鐘的應(yīng)用5</p><p>  第二章 數(shù)字鐘的硬件設(shè)計(jì)6</p><p>  第三章 數(shù)字鐘的軟件設(shè)計(jì)10</p><p>  3.1 ds1302芯片的介紹10</p><p>  3.2 程序的實(shí)現(xiàn)13</

6、p><p>  3.3 DS18B20溫度管的介紹17</p><p>  3.4 DS18B20的程序20</p><p><b>  3.5主函數(shù)25</b></p><p>  第四章 調(diào)試與功能說明28</p><p>  4.1 硬盤調(diào)試28</p><p

7、>  4.2 系統(tǒng)性能測(cè)試與功能說明28</p><p>  4.3 系統(tǒng)時(shí)鐘誤差分析29</p><p>  4.4 軟件調(diào)試問題及解決29</p><p>  第五章 單片機(jī)的應(yīng)用特點(diǎn)和應(yīng)用領(lǐng)域31</p><p>  5.1 單片機(jī)的特點(diǎn)31</p><p>  5.2 單片機(jī)的應(yīng)用領(lǐng)域32&

8、lt;/p><p><b>  結(jié)束語34</b></p><p><b>  致 謝35</b></p><p><b>  參考文獻(xiàn)36</b></p><p><b>  第一章 緒論</b></p><p>  1.1數(shù)字

9、電子鐘的背景 </p><p>  20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時(shí)間對(duì)人們來說總是那么寶貴,工作</p><p>  的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷

10、大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。 </p><p>  目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢(shì)。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替

11、硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 </p><p>  單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。</p><p>  1.2 數(shù)字電子鐘的意義 </p><p>  數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分

12、,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)

13、的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。</p><p>  1.3數(shù)字電子鐘的應(yīng)用 </p><p>  數(shù)字鐘已成為人們?nèi)粘I钪校罕夭豢缮俚谋匦杵?,廣泛用于個(gè)人家庭以及車站、碼頭、劇場(chǎng)、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。由于數(shù)字集</p><p>  成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性

14、能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。 </p><p>  第二章 數(shù)字鐘的硬件設(shè)計(jì)</p><p><b>  1)最小系統(tǒng)</b></p><p>  單片機(jī)最小系統(tǒng)或者稱為最小應(yīng)用系統(tǒng),素質(zhì)用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對(duì)51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、復(fù)位電路、晶振電路。&l

15、t;/p><p>  復(fù)位電路:使用了獨(dú)立式鍵盤,單片機(jī)的P1口鍵盤的接口。該設(shè)計(jì)要求只需4個(gè)鍵對(duì)步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制,但考慮到對(duì)控制功能的擴(kuò)展,使用了6路獨(dú)立式鍵盤。復(fù)位電路采用手動(dòng)復(fù)位,所謂手動(dòng)復(fù)位,是指通過接通一按鈕開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài),晶振電路用30PF的電容和一12M晶體振蕩器組成為整個(gè)電路提供時(shí)鐘頻率。如圖。</p><p>  晶振電路: 51單片機(jī)的時(shí)鐘信號(hào)通常用兩種電

16、路形式電路得到:內(nèi)部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡(jiǎn)稱晶振)或陶瓷晶振器,就構(gòu)成了內(nèi)部晶振方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如圖5示。其電容值一般在5~30pf,晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路實(shí)用較多。 </p><p>

17、;  1.電源引腳 </p><p>  Vcc 40 電源端 </p><p>  GND 20 接地端 </p><p>  工作電壓為5V,另有AT89LV51工作電壓則是 2.7-6V, 引腳功能一樣。 </p><p><b>  2.外接晶體引腳 </b></p><p&g

18、t;  晶振連接的內(nèi)部、外部方式</p><p><b>  XTAL1 19 </b></p><p><b>  XTAL2 18 </b></p><p>  XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外</p><p>  部振蕩信號(hào)應(yīng)直接加到XTAL

19、1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為 12MHz,時(shí)鐘頻率就為 6MHz。晶振的頻率可以在 1MHz-24MHz內(nèi)選擇。電容取 30PF左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。AT89單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳 XTAL1和 XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及

20、電容 C1和 C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為 12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為 22μF。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。 </p><p>  3.

21、 復(fù)位 RST 9 </p><p>  在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后 P0-P3口均置 1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器 SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為 ROM的 00H處開始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳 RST通過一個(gè)斯密特觸發(fā)

22、器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6MHz時(shí),C取22μF,Rs約為200Ω,Rk約為1K。復(fù)位操作不會(huì)對(duì)內(nèi)部RAM有所影響。 </p><p><b>  4.輸入輸出引腳 </b></p><p>  

23、(1) P0端口[P0.0-P0.7] P0是一個(gè)8位漏極開路型雙向I/O端口,端口置1(對(duì)端口寫</p><p>  1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動(dòng)8個(gè)TTL。 </p><p>  對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上位電阻。 </p><p>  在訪問外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(

24、低 8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。 </p><p>  (2) P1端口[P1.0-P1.7] P1是一個(gè)帶有內(nèi)部上拉電阻的 8位雙向 I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收低 8位地址信息。 </p><p>  (3) P2端口[P2.0-P2.7] P2是一個(gè)帶有內(nèi)部上拉電阻的

25、 8位雙向 I/0端口。輸出時(shí)可驅(qū)動(dòng) 4個(gè) TTL。端口置 1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部 Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。 </p><p>  在訪問外部程序和 16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高 8位地址。而在訪問 8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。 </p><p>  (4) P3端口[P3.0-P3.7] P

26、2是一個(gè)帶有內(nèi)部上拉電阻的 8位雙向 I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。 </p><p>  對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接控制信息。除此之外P3端口還用于一些專門功能,LED顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運(yùn)行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等。

27、</p><p>  發(fā)光二極管(LED)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨(dú)使用,也可以組裝成分段式或點(diǎn)陣式LED顯示器件(半導(dǎo)體顯示器)。分段式顯示器由7條線段圍成 8字型,每一段包含一個(gè)發(fā)光二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號(hào)。LED數(shù)碼管有共陽、共LED液晶的原理和符號(hào).。顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,

28、因此需要,另需來顯示橫。采用動(dòng)態(tài)顯示方式顯示時(shí)間,硬件連接如下圖所示,時(shí)的十位和個(gè)位分別顯示在分的十位和個(gè)位分別顯示在第四個(gè)和第五個(gè)秒的十位和個(gè)位分別顯示在,其余顯示橫線。LED顯示器的顯示控制方式按驅(qū)動(dòng)方式可分成靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。對(duì)于多位LED顯示器,通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,其硬件連接方式。流80mA(每段 10mA);動(dòng)態(tài):平均電流 4-5mA 峰值電流 100mA </p><p>

29、;  3.3 鍵盤控制電路 </p><p>  該設(shè)計(jì)需要校對(duì)時(shí)間,所以用三個(gè)按鍵來實(shí)現(xiàn)。按 khour來調(diào)節(jié)小時(shí)的時(shí)間,按來調(diào)節(jié)分針的時(shí)間,按 ksec來調(diào)節(jié)秒的時(shí)間。 </p><p>  時(shí)間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?0ms。很容易想到,抖動(dòng)問題不解決就會(huì)引起對(duì)閉合鍵的識(shí)別。用軟件方法可以很容易地解決抖動(dòng)問題,這就是通過延</p><p>

30、;  第三章 數(shù)字鐘的軟件設(shè)計(jì)</p><p>  系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題: </p><p> ?。?)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡(jiǎn)潔和流程合理; </p><p

31、>  (2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改; </p><p> ?。?)建立正確的數(shù)學(xué)模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù); </p><p> ?。?)繪制程序流程圖; </p><p> ?。?)合理分配系統(tǒng)資源; </p><p> ?。?)為程序加入

32、注釋,提高可讀性,實(shí)施軟件工程; </p><p>  (7)注意軟件的抗干擾設(shè)計(jì),提高系統(tǒng)的可靠性。 </p><p>  3.1 ds1302芯片的介紹</p><p>  對(duì)于市面上的大多數(shù)51單片機(jī)開發(fā)板來說。ds1302和ds18b20應(yīng)該是比較常見的兩種外圍芯片。ds1302是具有SPI總線接口的時(shí)鐘芯片。ds18b20則是具有單總線接口的數(shù)字溫度傳感器

33、。下面讓我們分別來認(rèn)識(shí)并學(xué)會(huì)應(yīng)用這兩種芯片。 </p><p>  首先依舊是看DS1302的datasheet中的相關(guān)介紹。</p><p>  DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行日歷電路通信。實(shí)時(shí)時(shí)鐘/日歷提供秒、分、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通

34、過AM/PM指示決定采用24或12小時(shí)格式。DS1302與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線:(1)RES(復(fù)位),(2)I/O(數(shù)據(jù)線),(3)SCLK(串行時(shí)鐘)。時(shí)鐘/RAM的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31字節(jié)的字符組方式通信。DS1302工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功耗小于1mW。 DS1302時(shí)由DS1202改進(jìn)而來,增加了以下特性:雙電源管腳用于主電源和備份電源供應(yīng),Vccl為可編

35、程涓流充電電源,附加七個(gè)字節(jié)存儲(chǔ)器。它廣泛用于電話、傳真、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。下面將主要的性能指標(biāo)作一綜合:●實(shí)時(shí)時(shí)鐘具有能計(jì)算2100年之前的秒、分、時(shí)、日、日期、星期、月、年的能力,還有閏年調(diào)整的能力●31X8為暫存數(shù)據(jù)存儲(chǔ)RAM●串行I/O口方式使得管腳數(shù)量最少●寬范圍工作電壓</p><p>  上面是它的一些基本的應(yīng)用介紹。</p><p>  下

36、面是它的引腳的描述</p><p>  下面是DS1302的時(shí)鐘寄存器。我們要讀取的時(shí)間數(shù)據(jù)就是從下面這些數(shù)據(jù)寄存器中讀取出來的。當(dāng)我們要想調(diào)整時(shí)間時(shí),可以把時(shí)間數(shù)據(jù)寫入到相應(yīng)的寄存器中就可以了。 </p><p>  這是DS1302內(nèi)部的31個(gè)RAM寄存器。在某些應(yīng)用場(chǎng)合我們可以應(yīng)用到。如我們想要做一個(gè)帶定時(shí)功能的鬧鐘。則可以把鬧鐘的時(shí)間寫入到31個(gè)RAM寄存器中的任意幾個(gè)。當(dāng)單片機(jī)掉

37、電時(shí),只要我們的DS1302的備用電池還能工作,那么保存在其中的鬧鐘數(shù)據(jù)就不會(huì)丟失。</p><p>  由于對(duì)于這些器件的操作基本上按照數(shù)據(jù)手冊(cè)上面提供的時(shí)序圖和相關(guān)命令字來進(jìn)行操作就可以了。因此在我們應(yīng)用這些器件的時(shí)候一定要對(duì)照著手冊(cè)上面的要求來進(jìn)行操作。如果覺得還不夠放心的話??梢缘骄W(wǎng)上下載一些參考程序。對(duì)著手冊(cè)看別人的程序,看別人的思路是怎么樣的。 </p><p>  DS130

38、2和單片機(jī)的連接很簡(jiǎn)單。只需一根復(fù)位線,一根時(shí)鐘線,一根數(shù)據(jù)線即可。同時(shí)它本身還需要接一個(gè)32.768KHz的晶振來提供時(shí)鐘源。對(duì)于晶振的兩端可以分別接一個(gè)6PF左右的電容以提高晶振的精確度。同時(shí)可以在第8腳接上一個(gè)3.6V的可充電的電池。當(dāng)系統(tǒng)正常工作時(shí)可以對(duì)電池進(jìn)行涓流充電。當(dāng)系統(tǒng)掉電時(shí),DS1302由這個(gè)電池提供的能量繼續(xù)工作。 </p><p><b>  3.2 程序的實(shí)現(xiàn)</b>

39、</p><p>  #include<reg51.h>//寄存器的定義</p><p>  #include"ww.h"</p><p>  #include <intrins.h></p><p>  #include"delay.h"</p><p>

40、;  sbit sck=P3^6;//時(shí)鐘</p><p>  sbit io=P3^4;//數(shù)據(jù)</p><p>  sbit rst = P3^5;// DS1302復(fù)位// DS1302復(fù)位</p><p>  uchar time_data[7]={11,04,05,19,16,44,00};//年周月日時(shí)分秒</p><p>

41、;  uchar write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};</p><p>  uchar read_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81};</p><p>  uchar dis[6];</p><p>  void write_ds1302_byte(u

42、char dat)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=0;i<8;i++)//有八位脈沖,是串行的,</p><p><b>  {</b></p><p>

43、;  sck=0;//先是低電平</p><p>  io=dat&0x01;//是從地位開始傳的 </p><p>  sck=1;//拉高,把數(shù)據(jù)傳過去,完成</p><p>  dat=dat>>1;//與完了,要移位操作</p><p><b>  }</b></p><p

44、><b>  }</b></p><p>  void write_ds1302(uchar add, uchar dat)</p><p><b>  {</b></p><p>  rst=0;//rst是片選,先置低脈沖</p><p>  _nop_();//不動(dòng)</p>

45、<p>  sck=0;_nop_();</p><p>  rst=1;//是為了寫數(shù)據(jù)</p><p><b>  _nop_();</b></p><p>  write_ds1302_byte(add);//傳數(shù)據(jù)</p><p>  write_ds1302_byte(dat);//傳數(shù)據(jù)</

46、p><p>  rst=0;//保持,因?yàn)樗容^敏感</p><p><b>  _nop_();</b></p><p>  io=1;//釋放出</p><p>  sck=1;//釋放出</p><p><b>  }</b></p><p>  u

47、char read_ds1302(uchar add)</p><p><b>  {</b></p><p>  uchar i,value;</p><p><b>  rst=0;</b></p><p><b>  _nop_();</b></p><

48、;p>  sck=0;_nop_();</p><p><b>  rst=1;</b></p><p><b>  _nop_();</b></p><p>  write_ds1302_byte(add);</p><p>  for(i=0;i<8;i++)</p>

49、<p><b>  {</b></p><p>  value=value>>1;</p><p><b>  sck=0;</b></p><p><b>  if(io)</b></p><p>  value=value|0x80;</p>

50、;<p><b>  sck=1;</b></p><p><b>  }</b></p><p><b>  rst=0;</b></p><p><b>  _nop_();</b></p><p><b>  sck=0;&l

51、t;/b></p><p><b>  sck=1;</b></p><p><b>  io=1;</b></p><p>  return value;</p><p><b>  }</b></p><p>  void set_rtc(vo

52、id)//設(shè)置時(shí)間</p><p><b>  {</b></p><p>  uchar i,j;</p><p>  for(i=0;i<7;i++)</p><p><b>  {</b></p><p>  j=time_data[i]/10;</p>

53、;<p>  time_data[i]=time_data[i]%10;</p><p>  time_data[i]=time_data[i]+j*16;//轉(zhuǎn)換bcd碼</p><p><b>  }</b></p><p>  write_ds1302(0x8e,0x00);//去除寫保護(hù)</p><p&

54、gt;  for(i=0;i<7;i++)//往里寫數(shù)據(jù)</p><p><b>  {</b></p><p>  write_ds1302(write_add[i],time_data[i]);</p><p><b>  }</b></p><p>  write_ds1302(0x8e

55、,0x80);//加除寫保護(hù)</p><p><b>  }</b></p><p>  void read_rtc(void)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i

56、=0;i<7;i++)</p><p><b>  {</b></p><p>  time_data[i]=read_ds1302(read_add[i]);</p><p><b>  }</b></p><p><b>  }</b></p><

57、p>  /*void time_pros()</p><p><b>  {</b></p><p>  dis[1]=time_data[6]/16;</p><p>  dis[2]=time_data[5]%16;</p><p>  dis[3]=time_data[5]/16;</p>&l

58、t;p>  dis[4]=time_data[4]%16;</p><p>  dis[5]=time_data[4]/16;</p><p><b>  } */</b></p><p>  #ifndef __WW_H__</p><p>  #define __WW_H__</p><p&

59、gt;  #include"delay.h"</p><p>  //uchar time_data[7]={0,0,12,15,5,3,00};</p><p>  //uchar write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};</p><p>  //uchar read_add[7]={

60、0x8d,0x8b,0x89,0x87,0x85,0x83,0x81};</p><p>  //uchar dis[6];</p><p>  void write_ds1302_byte(uchar dat);</p><p>  void write_ds1302(uchar add, uchar dat);</p><p>  uch

61、ar read_ds1302(uchar add);</p><p>  void set_rtc(void);</p><p>  void read_rtc(void);</p><p>  //void time_pros(void);//轉(zhuǎn)換十進(jìn)制</p><p>  //void display(void);</p>

62、<p><b>  #endif</b></p><p><b>  延時(shí)函數(shù)文件</b></p><p>  #include"delay.h"</p><p>  void delayms(uint xms)</p><p><b>  {</b&

63、gt;</p><p><b>  uint i,j;</b></p><p>  for(i=xms;i>0;i--)</p><p>  for(j=110;j>0;j--);</p><p><b>  } </b></p><p>  void delay

64、(uint t)</p><p><b>  {</b></p><p>  while(t--);</p><p><b>  }</b></p><p>  void delay_50ms(uint t)</p><p><b>  {</b><

65、;/p><p><b>  uchar j;</b></p><p>  for(;t>0;t--)</p><p>  for(j=6245;j>0;j--);</p><p><b>  }</b></p><p>  #ifndef __DELAY_H__<

66、;/p><p>  #define __DELAY_H__ </p><p>  #define uint unsigned int </p><p>  #define uchar unsigned char</p><p>  void delayms(uint xms);</p><p>  void delay

67、(uint t);</p><p>  void delay_50ms(uint t);</p><p><b>  #endif</b></p><p>  有了上面的這些函數(shù)我們就可以對(duì)DS1302進(jìn)行操作了。當(dāng)我們想要獲取當(dāng)前時(shí)間時(shí),只需要調(diào)用( void )這個(gè)函數(shù)即可。讀取到的時(shí)間數(shù)據(jù)保存在這個(gè)結(jié)構(gòu)體中 </p><

68、;p>  3.3 DS18B20溫度管的介紹</p><p>  下面再讓我們看看DS18B20吧。 </p><p>  全數(shù)字溫度轉(zhuǎn)換及輸出。</p><p>  先進(jìn)的單總線數(shù)據(jù)通信。</p><p>  最高12位分辨率,精度可達(dá)+-0.5攝氏度。</p><p>  12位分辨率的最大周期為750毫秒

69、。</p><p><b>  可選擇寄生工作方式</b></p><p>  檢測(cè)溫度為-50’C~+125’C(-67’+257’F)</p><p>  內(nèi)置EEPROM,,限溫報(bào)警功能。</p><p>  64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。</p><p>  多樣封裝形式

70、,適應(yīng)不同硬件系統(tǒng)。</p><p>  DS18B20的內(nèi)部存儲(chǔ)器分為以下幾部分 </p><p>  ROM:存放該器件的編碼。前8位為單線系列的編碼(DS18B20的編碼是19H)后面48位為芯片的唯一序列號(hào)。在出場(chǎng)的時(shí)候就已經(jīng)設(shè)置好,用戶無法更改。最后8位是以上56位的CRC碼。 </p><p>  RAM:DS18B20的內(nèi)部暫存器共9個(gè)字節(jié)。其中第一

71、個(gè)和第二個(gè)字節(jié)存放轉(zhuǎn)換后的溫度值。第二個(gè)和第三個(gè)字節(jié)分別存放高溫和低溫告警值。(可以用RAM指令將其拷貝到EEPROM中)第四個(gè)字節(jié)為配置寄存器。第5~7個(gè)字節(jié)保留。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。</p><p>  DS18B20的溫度存放如上圖所示。其中S位符號(hào)位。當(dāng)溫度值為負(fù)值時(shí),S = 1 ,反之則S = 0 。我們把得到的溫度數(shù)據(jù)乘上對(duì)應(yīng)的分辨率即可以得到轉(zhuǎn)換后的溫度值。 </p>&

72、lt;p>  DS18B20的通訊協(xié)議: </p><p>  在對(duì)DS18B20進(jìn)行讀寫編程時(shí),必須嚴(yán)格保證讀寫的時(shí)序。否則將無法讀取測(cè)溫結(jié)果。根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令。這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。 </p><p>  

73、復(fù)位要求主機(jī)將數(shù)據(jù)線下拉500us,然后釋放,DS18B20收到信號(hào)后等待16~160us然后發(fā)出60~240us的</p><p>  存在低脈沖,主機(jī)收到此信號(hào)表示復(fù)位成功。</p><p>  上圖即DS18B20的復(fù)位時(shí)序圖。 </p><p>  下面是讀操作的時(shí)序圖</p><p><b>  這是寫操作的時(shí)序圖<

74、/b></p><p>  3.4 DS18B20的程序</p><p>  #include<reg51.h></p><p>  #include"ss.h"</p><p>  #include"delay.h"</p><p>  void init_

75、1(void)</p><p><b>  {</b></p><p><b>  uchar x;</b></p><p><b>  DQ=1;</b></p><p><b>  delay(8);</b></p><p>&

76、lt;b>  DQ=0;</b></p><p>  delay(80);</p><p><b>  DQ=1;</b></p><p><b>  delay(8);</b></p><p><b>  x=DQ;</b></p><p

77、><b>  delay(4);</b></p><p><b>  }</b></p><p>  void write_byle(uchar date)</p><p><b>  {</b></p><p><b>  uchar i;</b>

78、</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  DQ=0;</b></p><p>  DQ=date&0x01; </p><p><b>  delay(4);</b

79、></p><p><b>  DQ=1;</b></p><p>  date=date>>1;</p><p><b>  }</b></p><p><b>  delay(4);</b></p><p><b>  }

80、</b></p><p>  uchar read_byle(void)</p><p><b>  {</b></p><p>  uchar i,value;</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b>&

81、lt;/p><p><b>  DQ=0;</b></p><p>  value>>=1;</p><p><b>  DQ=1;</b></p><p><b>  if(DQ)</b></p><p>  value=value|0x80;

82、</p><p><b>  delay(4);</b></p><p><b>  }</b></p><p>  return value;</p><p><b>  }</b></p><p>  uchar temupt(void)</p

83、><p><b>  {</b></p><p>  uchar a,b;</p><p><b>  init_1();</b></p><p>  write_byle(0xcc);</p><p>  write_byle(0x44);</p><p&g

84、t;  delay(10);</p><p><b>  init_1();</b></p><p>  write_byle(0xcc);</p><p>  write_byle(0xbe);</p><p>  a=read_byle();</p><p>  b=read_byle();&

85、lt;/p><p><b>  b<<=4;</b></p><p>  b+=(a&0xf0)>>4;</p><p><b>  return b;</b></p><p><b>  }</b></p><p>  #i

86、fndef __SS_H__</p><p>  #define __SS_H__</p><p>  #include<reg51.h></p><p>  #include"delay.h"</p><p>  sbit DQ=P3^7;</p><p>  void init_1(

87、void);</p><p>  void write_byle(uchar date);</p><p>  uchar read_byle(void);</p><p>  uchar temupt(void);</p><p><b>  #endif</b></p><p><b&g

88、t;  延時(shí)函數(shù)文件</b></p><p>  #include"delay.h"</p><p>  void delayms(uint xms)</p><p><b>  {</b></p><p><b>  uint i,j;</b></p>

89、<p>  for(i=xms;i>0;i--)</p><p>  for(j=110;j>0;j--);</p><p><b>  } </b></p><p>  void delay(uint t)</p><p><b>  {</b></p>&l

90、t;p>  while(t--);</p><p><b>  }</b></p><p>  void delay_50ms(uint t)</p><p><b>  {</b></p><p><b>  uchar j;</b></p><p&

91、gt;  for(;t>0;t--)</p><p>  for(j=6245;j>0;j--);</p><p><b>  }</b></p><p>  #ifndef __DELAY_H__</p><p>  #define __DELAY_H__ </p><p>  

92、#define uint unsigned int </p><p>  #define uchar unsigned char</p><p>  void delayms(uint xms);</p><p>  void delay(uint t);</p><p>  void delay_50ms(uint t);</p>

93、;<p><b>  #endif</b></p><p><b>  液晶c語言程序設(shè)計(jì)</b></p><p>  #include <reg51.h></p><p>  #include"smg.h"</p><p>  #include&quo

94、t;delay.h"</p><p>  sbit rd = P2^6; </p><p>  sbit rw = P2^5;</p><p>  sbit ep = P2^7; </p><p>  //uchar table[]="I LOVE MUC";</p>

95、<p>  //uchar code table1[]="WWW.BAIDU.COM";</p><p>  void write_tt(uchar tt)</p><p><b>  {</b></p><p><b>  ep=0;</b></p><p><

96、;b>  rd=0;</b></p><p><b>  rw=0;</b></p><p><b>  P0=tt;</b></p><p>  delayms(1);</p><p><b>  ep=1;</b></p><p>

97、  delayms(1);</p><p>  ep=0;</p><p>  } </p><p>  void write_com(uchar dat)</p><p><b>  {</b></p><p><b>  ep=0;<

98、/b></p><p><b>  rd=1;</b></p><p><b>  rw=0;</b></p><p><b>  P0=dat;</b></p><p>  delayms(1);</p><p><b>  ep=1;

99、</b></p><p>  delayms(1);</p><p><b>  ep=0;</b></p><p><b>  }</b></p><p>  void init(void)</p><p><b>  {</b><

100、;/p><p>  delayms(15);</p><p>  write_tt(0x38);</p><p>  delayms(5);</p><p>  write_tt(0x38);</p><p>  delayms(5);</p><p>  write_tt(0x38);</p

101、><p>  write_tt(0x38);</p><p>  write_tt(0x08);</p><p>  write_tt(0x01);</p><p>  write_tt(0x06);</p><p>  write_tt(0x0c);</p><p><b>  }<

102、;/b></p><p>  #ifndef __SMG_H__</p><p>  #define __SMG_H__</p><p>  #include"delay.h"</p><p>  //uchar table[]="I LOVE MUC";</p><p>

103、;  void write_tt(uchar tt);</p><p>  void write_com(uchar dat);</p><p>  void init(void);</p><p><b>  #endif</b></p><p>  如果想獲取當(dāng)前的溫度數(shù)據(jù),在主函數(shù)中調(diào)用 ( void )就可以了。

104、溫度數(shù)據(jù)就保存到Temperature中去了。</p><p><b>  3.5主函數(shù)</b></p><p>  #include"ss.h"</p><p>  #include"smg.h"</p><p>  #include"delay.h"<

105、/p><p>  #include"ww.h"</p><p><b>  bit flag;</b></p><p>  uchar time_data[];</p><p>  //uchar write_add[7]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};<

106、/p><p>  //uchar read_add[7]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81};</p><p>  //uchar table[]="2";</p><p>  uchar disp[]="0123456789";</p><p>  //uchar

107、 table[]="℃ ";</p><p>  void main()</p><p><b>  {</b></p><p>  uchar temp;</p><p><b>  init();</b></p><p>  // set_rtc();

108、</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  read_rtc();</p><p>  //time_pros();</p><p>  write_tt(0x80);</p><p&

109、gt;  write_com(disp[time_data[4]/16]);</p><p>  write_tt(0x81);</p><p>  write_com(disp[time_data[4]%16]);</p><p>  delay_50ms(20);</p><p><b>  if(flag)</b>

110、</p><p><b>  {</b></p><p>  write_tt(0x82);</p><p>  write_com(':');</p><p>  write_tt(0x85);</p><p>  write_com(':');</p>

111、;<p>  delay(55500); </p><p><b>  flag=0;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

112、<p>  write_tt(0x82);</p><p>  write_com(' ');</p><p>  write_tt(0x85);</p><p>  write_com(' ');</p><p>  delay(55500);</p><p><b&

113、gt;  flag=1; </b></p><p><b>  }</b></p><p>  write_tt(0x83);</p><p>  write_com(disp[time_data[5]/16]);</p><p>  write_tt(0x84);</p><p> 

114、 write_com(disp[time_data[5]%16]);</p><p>  delay_50ms(20);</p><p>  write_tt(0x86);</p><p>  write_com(disp[time_data[6]/16]);</p><p>  write_tt(0x87);</p><

115、p>  write_com(disp[time_data[6]%16]);</p><p>  delay_50ms(20);</p><p>  write_tt(0x8b);</p><p>  write_com(disp[time_data[1]/16]);</p><p>  write_tt(0x8c);</p>

116、<p>  write_com(disp[time_data[1]%16]);</p><p>  delay_50ms(20);</p><p>  write_tt(0x80+0x45);</p><p>  write_com('2');</p><p>  write_tt(0x80+0x46);<

117、/p><p>  write_com('0');</p><p>  delay_50ms(20); </p><p>  write_tt(0x80+0x47);</p><p>  write_com(disp[time_data[0]/16]);</p><p>  write_tt(0x80+0x4

118、8);</p><p>  write_com(disp[time_data[0]%16]);</p><p>  delay_50ms(20);</p><p>  write_tt(0x80+0x49);</p><p>  write_com('-');</p><p>  write_tt(0x

119、80+0x4a);</p><p>  write_com(disp[time_data[2]/16]);</p><p>  write_tt(0x80+0x4b);</p><p>  write_com(disp[time_data[2]%16]);</p><p>  delay_50ms(20);</p><p&

120、gt;  write_tt(0x80+0x4c);</p><p>  write_com('-'); </p><p>  write_tt(0x80+0x4d);</p><p>  write_com(disp[time_data[3]/16]);</p><p>  write_tt(0x80+0x4e);</p

121、><p>  write_com(disp[time_data[3]%16]);</p><p>  delay_50ms(20); </p><p>  temp=temupt();</p><p>  write_tt(0x80+0x40);</p><p>  write_com(disp[temp/10]);<

122、;/p><p>  delay(50);</p><p>  write_tt(0x80+0x41);</p><p>  write_com(disp[temp%10]);</p><p>  delay(50);</p><p>  write_tt(0x80+0x42);</p><p>  

123、write_com(0xa5);</p><p>  write_tt(0x80+0x43);</p><p>  write_com('c');</p><p><b>  }</b></p><p><b>  }</b></p><p>  

124、第四章 調(diào)試與功能說明</p><p>  單片機(jī)應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法</p><p>  是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟/硬件故障。 </p><p><b>  4.1 硬盤調(diào)試 </b></p><p>  拿到電路板后,首先要檢查加工質(zhì)量,并

125、確保沒有任何方面的錯(cuò)誤,如短路和斷路,尤</p><p>  其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測(cè)其數(shù)值,看是否與所用相同;</p><p>  完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切</p><p>  正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的</p>

126、<p>  探針放到單片機(jī)接電源的引腳上檢測(cè)一下,看是否符合要求。 </p><p>  4.2 系統(tǒng)性能測(cè)試與功能說明 </p><p>  走時(shí):默認(rèn)為走時(shí)狀態(tài),按 24小時(shí)制分別顯示“時(shí)時(shí)-分分-秒秒”,有 2個(gè)“-”動(dòng)態(tài)</p><p>  顯示,時(shí)間會(huì)按實(shí)際時(shí)間以秒為最少單位變化。 </p><p>  走時(shí)調(diào)整:按

127、ksec對(duì)秒進(jìn)行調(diào)整,按一下加一秒;按 kmin對(duì)分進(jìn)行調(diào)整,按一下加一</p><p>  分;按khour對(duì)時(shí)進(jìn)行調(diào)整,按一下加一小時(shí),從而達(dá)到快速設(shè)定時(shí)間的目的。 </p><p>  4.3 系統(tǒng)時(shí)鐘誤差分析 </p><p>  時(shí)間是一個(gè)基本物理量,具有連續(xù)、自動(dòng)流逝、不重復(fù)等特性。我國(guó)時(shí)間基準(zhǔn)來自國(guó)家</p><p>  授時(shí)中

128、心,人們?nèi)粘J褂玫臅r(shí)鐘就是以一定的精度與該基準(zhǔn)保持同步的。結(jié)合時(shí)間概念和誤</p><p>  差理論,可以定義電子鐘的走時(shí)誤差 S=S1-S2,S1表示程序?qū)嶋H運(yùn)行計(jì)算所得的秒;S2表示</p><p>  客觀時(shí)間的標(biāo)準(zhǔn)秒。S>0時(shí)表示電子鐘秒單元數(shù)值刷新滯后,即走時(shí)誤差為“慢”;反之,</p><p>  S<0表示秒單元數(shù)值的刷新超前,即走時(shí)誤差

129、為“快”。 </p><p>  本次設(shè)計(jì)的單片機(jī)電子鐘系統(tǒng)中,其誤差主要來源包括晶體頻率誤差,定時(shí)器溢出誤差,</p><p>  延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時(shí)誤差;定時(shí)器溢出的時(shí)間誤差,本應(yīng)這一秒溢</p><p>  出,但卻在下一秒溢出,造成走時(shí)誤差;延遲時(shí)間過長(zhǎng)或過短,都會(huì)造成與基準(zhǔn)時(shí)間產(chǎn)生偏</p><p>  差,造

130、成走時(shí)誤差。 </p><p>  4.4 軟件調(diào)試問題及解決 </p><p>  軟件程序的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采</p><p>  取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者</p><p>  一般需要仿真系統(tǒng)的支持。本次課題,Keil軟件來調(diào)試程序,

131、通過各個(gè)模塊程序的單步或跟</p><p>  蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。 </p><p>  仿真部分采用 protus 6 professional軟件,此軟件功能強(qiáng)大且操作較為簡(jiǎn)單,可以很</p><p>  容易的實(shí)現(xiàn)各種系統(tǒng)的仿真。 </p><p>  首先打開 protus 6 professional軟件,在

132、元件庫中找到要選用的所有元件,然后進(jìn)行</p><p>  原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運(yùn)行,觀察顯示結(jié)</p><p>  果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運(yùn)行查,直到滿足要求。 </p><p>  第五章 單片機(jī)的應(yīng)用特點(diǎn)和應(yīng)用領(lǐng)域</p><p>  5.1 單片機(jī)的特點(diǎn)&

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論