版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機課程設(shè)計</b></p><p> 學(xué)院名稱: 汽車與交通工程學(xué)院 </p><p> 專 業(yè): 汽車服務(wù)工程 </p><p> 班 級: </p><p> 學(xué) 號:
2、 </p><p> 姓 名: </p><p> 二〇一三 年 九 月 </p><p><b> 目 錄</b></p><p> 序 言…………………………………………………………………3</p><p&g
3、t; 第1章. Freescale 系列單片機介紹…………………………………4</p><p> 1.1關(guān)于Freescale …………………………………………………………………4</p><p> 1.2 Freescale 種類繁多的個性化單片機系列 …………………………………4</p><p> 1.3 Freescale系列單片機總體特點 …………
4、……………………………………4</p><p> 第2章.Freescale 系列單片機的最小系統(tǒng) …………………………5</p><p> 2.1 S12XS128單片機的最小系統(tǒng)電路設(shè)計 ………………………………………5</p><p> 2.2 MC9S12XS128單片機的最小系統(tǒng)設(shè)計 ………………………………………5</p>&l
5、t;p> 第3章. 單通道連續(xù)采樣-8位模式電路圖……………………………6</p><p> 第4章. 單通道連續(xù)采樣-8位模式電路圖源程序 …………………7</p><p> 第5章.課程設(shè)計心得…………………………………………………14</p><p> 參考文獻 ………………………………………………………………15</p><
6、;p><b> 序言</b></p><p> 自從單片機問世以來,在國外,它已廣泛應(yīng)用于自動控制、數(shù)據(jù)采集和處理、家用電器等各方面,同時也滲透到其它各個科技領(lǐng)域。在國內(nèi),雖然起步較晚,但由于單片機價廉物美、功能強、體積小、使用靈活方便,得到發(fā)展越來越多的發(fā)展,尤其在工業(yè)過程控制、自動化儀器等領(lǐng)域得到廣泛應(yīng)用。對推動國家的工業(yè)現(xiàn)代化進程有著重大意義。通過本次設(shè)計掌握單片機硬件和軟件
7、方面的知識,更深入了解單片機的實際應(yīng)用。</p><p> 本說明書共分為5章,第一章介紹了Freescale系列單片機的一些基本知識;第二章介紹Freescale系列單片機的最小系統(tǒng);第三章介紹了單通道連續(xù)采樣-8位模式電路圖;第四章單通道連續(xù)采樣-8位模式電路圖源代碼;第五章是對于本次課程設(shè)計的心得體會。 </p><p> 第1章 介紹Freescale系列單片機</p&
8、gt;<p> 1.1關(guān)于Freescale</p><p> Freescale(飛思卡爾)半導(dǎo)體公司是全球最大的半導(dǎo)體公司之一,其前身為Motorola(摩托羅拉)半導(dǎo)體部,2004年從摩托羅拉分拆上市。它從1953年開始從事半導(dǎo)體業(yè)務(wù),是世界半導(dǎo)體產(chǎn)業(yè)與技術(shù)的開拓者,為汽車電子、消費電子、工業(yè)控制、網(wǎng)絡(luò)和無線市場設(shè)計并制造了眾多的嵌入式半導(dǎo)體產(chǎn)品, 在微控制器領(lǐng)域長期居于全球市場領(lǐng)先地位。
9、如1983年推出的MC68HC05是世界產(chǎn)量第一的8位單片機(產(chǎn)量第二的是8051單片機)</p><p> 1.2Freescale種類繁多的個性化單片機系列</p><p> Freescale在單片機領(lǐng)域長期居于全球市場領(lǐng)先地位,其MCU產(chǎn)品種類繁多,并且不斷有新的MCU產(chǎn)品發(fā)布,令人有眼花繚亂之感。按位數(shù)分,F(xiàn)reescaleMCU大致可分為8位、16位、32位。</p&
10、gt;<p> ?。?)低端8位機。有HC08、HCS08、RS08系列產(chǎn)品,他們類似于許多廠家生產(chǎn)的基于8051內(nèi)核的單片機產(chǎn)品,性價比高,集成度高,不提供外部總線。</p><p> (2)中端16位機。主要有HCS12和S12X系列產(chǎn)品,屬于高性能通用型器件他們已有很長的生產(chǎn)歷史,還在不斷派生出新的器件。16位機可以工作在單片模式,也可以工作在總線擴展模式,使用靈活、功能強大,在功耗、速度和
11、性能方面都比8位32位結(jié)構(gòu)具有明顯的應(yīng)用優(yōu)勢。</p><p> ?。?)高端32位。有PowerPC、ColdFirre、MAC、M.CORE、DSC系列。</p><p> 1.3Freescale系列單片機的總體特點</p><p> (1)品種全、選擇余地大、新產(chǎn)品多(紛繁)、個性化</p><p> ?。?)應(yīng)用領(lǐng)域極廣,尤其在
12、汽車、手機領(lǐng)域</p><p> ?。?)在同樣速度下所用的時鐘頻率較Intel類單片機低很多,因而使得高頻噪聲低,抗干擾能力強,更適合用于工控領(lǐng)域及惡劣的環(huán)境。</p><p> ?。?)重視大客戶,缺乏中小用戶(近年正在改善)</p><p> 第2章 介紹Freescale系列單片機的最小系統(tǒng)</p><p> 2.1 S12XS1
13、28單片機的最小系統(tǒng)電路設(shè)計</p><p> 2.2 MC9S12XS128單片機的最小系統(tǒng)設(shè)計</p><p> MCU最小系統(tǒng)是指可以使用內(nèi)部程序運行起來的所必須的基本外圍電路.MC9S12XS128芯片的最小系統(tǒng)包括電源電路、復(fù)位電路、晶振電路、BDM調(diào)試接口電路、PLL電路等,如上圖所示,為實際實現(xiàn)的最小系統(tǒng)硬件電路原理圖,圖中也給出了最小系統(tǒng)元件的參考值和一個連接在PB0口
14、上的LED燈。</p><p> S12X MCU系統(tǒng)時鐘電路和電源電路分布在PCB時,要按照以下規(guī)則布線,才能使得系統(tǒng)的電磁兼容性得到保證:(1) 晶振應(yīng)盡量靠近MCU時鐘輸入引腳,晶振外殼要接地。(2) 盡量讓時鐘信號回路周圍電場趨近于0.用底線將時鐘區(qū)圈起來,時鐘要盡量短。(3) 晶振下面和對噪聲特別敏感的器件下面不要走線(4) 鎖相環(huán)PLL 的濾波電路要盡量靠近MCU
15、0;(5) 每個電源端和接地端都要至少接一個去耦電容,去耦電容要盡量靠近MCU。</p><p> 第3章 單通道連續(xù)采樣-8位模式電路圖</p><p> 第4章 單通道連續(xù)采樣-8位模式源代碼</p><p> /*************************************************</p><p>
16、 文件名稱:main.c</p><p> 功能描述:實現(xiàn)AD單通道連續(xù)采樣-8位</p><p> AD轉(zhuǎn)換結(jié)果送數(shù)碼管顯示</p><p> 作者: 汽車與交通工程學(xué)院 10東汽服2班 陶佳冬</p><p> 編譯環(huán)境:Freescale CodeWarrier V5.0 For S12</p><p&
17、gt; 版本: V2.0</p><p><b> 說明:</b></p><p><b> 修改記錄:</b></p><p> 創(chuàng)建日期:2013-09-25</p><p> **************************************************/
18、</p><p> #include <hidef.h> /* common defines and macros */</p><p> #include "derivative.h" /* derivative-specific definitions */</p><p> /*************
19、*********************宏定義*******************************************/</p><p> #define SEG_DD DDRB //段碼口方向</p><p> #define DIG_DD DDRA
20、 //位碼口方向</p><p> #define SEG_NUM PORTB //段碼數(shù)據(jù)</p><p> #define DIG_NUM PORTA
21、 //位碼數(shù)據(jù)</p><p> /***********************************函數(shù)聲明******************************************/</p><p> void Delay(unsigned int loop_times);
22、 //延時子程序</p><p> void ATD0_Init(void); //ATD0初始化子程序</p><p> /**********************************全局變量聲明***************************************
23、****/</p><p> const unsigned char g_LED_Seg_Table[17] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,</p><p> 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x00}; </p><p>
24、; //共陰數(shù)碼管字形表定義</p><p> //************主程序************//</p><p> /************************************************************************</p><p> 函數(shù)名稱: void main(void)</p>
25、;<p> 函數(shù)功能: 實現(xiàn)AD單通道連續(xù)采樣,并用數(shù)碼管顯示采樣結(jié)果</p><p> 調(diào)用函數(shù): void Delay(unsigned int loop_times) -------- main.c文件中</p><p> void ATD0_Init(void); -------- main.c文件中 </p><p>
26、*************************************************************************/</p><p> void main(void)</p><p><b> {</b></p><p> /* put your own code here */</p>&l
27、t;p> unsigned char convert_value; //AD轉(zhuǎn)換結(jié)果</p><p> unsigned char led_dig; //數(shù)碼管位選值</p><p> unsigned char
28、 i; //數(shù)碼管位選值</p><p> unsigned char SM_SBUFF[3]; //循環(huán)變量</p><p> //用戶緩沖顯示內(nèi)容</p><p> SEG_
29、DD = 0xFF; //段碼端口設(shè)置為輸出口</p><p> DIG_DD = 0xFF; //位碼端口設(shè)置為輸出口</p><p> SEG_NUM = 0x00;
30、 //段碼端口輸出全0</p><p> DIG_NUM = 0x00; //位碼端口輸出全0</p><p> ATD0_Init();
31、 //AD初始化</p><p> led_dig = 0x01; </p><p> for(i=0;i<6;i++) //單‘8’左移</p><p><b> { </b
32、></p><p> SEG_NUM = g_LED_Seg_Table[8]; //送段碼</p><p> DIG_NUM = led_dig; //送位碼</p><p> led_d
33、ig = led_dig<<1; //位選信號左移1位</p><p> Delay(500); </p><p><b> } </b></p><p> DIG_NUM = 0x00;
34、 //熄滅數(shù)碼管</p><p> Delay(20); </p><p><b> for(;;)</b></p><p><b> {</b></p><p> while(!ATD0STAT2L_CCF0)
35、 </p><p><b> {</b></p><p><b> ;</b></p><p> } //等待轉(zhuǎn)換完成</p><p> convert_valu
36、e = ATD0DR0L; //讀取轉(zhuǎn)換結(jié)果</p><p> //拆分轉(zhuǎn)換結(jié)果以便送顯示</p><p> SM_SBUFF[2] = convert_value/100; //拆分轉(zhuǎn)換結(jié)果以便送顯示</p><p> SM_S
37、BUFF[1] = convert_value/10%10;</p><p> SM_SBUFF[0] = convert_value%10;</p><p> led_dig = 0x01; //顯示轉(zhuǎn)換結(jié)果</p><p> for(i=0;i<3
38、;i++) </p><p><b> {</b></p><p> SEG_NUM = g_LED_Seg_Table[SM_SBUFF[i]];</p><p> DIG_NUM = led_dig;</p><p> led_dig = led_dig<<1;</p><p&
39、gt; Delay(1); </p><p><b> }</b></p><p> } /* wait forever */</p><p> /* please make sure that you never leave this function */</p><p><b> }</b
40、></p><p> /******************函數(shù)實現(xiàn)***********************/</p><p> /****************************************</p><p> 函數(shù):void delay(void)</p><p><b> 功能:延時<
41、;/b></p><p> 說明:延時500*loop_times個機器周期</p><p> ****************************************/</p><p> void Delay(unsigned int loop_times)</p><p><b> {</b>&
42、lt;/p><p> unsigned int loop_i,loop_j;</p><p> for (loop_i=0; loop_i<loop_times; loop_i++) </p><p><b> {</b></p><p> for (loop_j=0; loop_j<500;loop_j
43、++) </p><p><b> {</b></p><p><b> ;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&
44、lt;/p><p> /*************************************</p><p> 函數(shù):AD_Init(void)</p><p> 功能:ATD0初始化</p><p><b> 說明:</b></p><p> ********************
45、********************/</p><p> void ATD0_Init(void) //初始化</p><p><b> {</b></p><p> ATD0DIEN = 0; //禁止數(shù)字輸入</p><p> /* APCTL1 = (ETRIGSEL
46、 | SRES1 | SRES0 | SMP_DIS | //</p><p> ETRIGCH3 | ETRIGCH2 | ETRIGCH1 | ETRIGCH0 | //</p><p><b> ) */</b></p><p> ATD0CTL1 = 0x00; //AD分辨率選擇8位,且采樣前不放電</p&
47、gt;<p><b> /* </b></p><p> * 0b00000000</p><p> * ||||||||__</p><p> * |||||||___ </p><p> * ||||||____[ETRIGCH3~ETRIGCH0]外部觸發(fā)通道選擇位 &
48、lt;/p><p> * |||||_____ </p><p> * ||||______采樣前是否放電控制位 </p><p> * |||_______ </p><p> * ||________ATD轉(zhuǎn)換精度選擇位SRES1:SRES0]=[0:0]為8位</p><p> *
49、 |_________外部觸發(fā)源選擇位,S12XS系列此位無效 </p><p><b> */ </b></p><p> /* APCTL2 = (0 | AFFC | ICLKSTP | ETRIGLE | //</p><p> ETRIGP | ETRIGE | ASCIE | ACMPIE | //</p>
50、<p><b> ) */</b></p><p> ATD0CTL2 = 0x40; //AD模塊快速清零, 無等待模式, 禁止外部觸發(fā), 中斷禁止</p><p><b> /* </b></p><p> * 0b01000000</p><p>
51、* ||||||||__ATD比較中斷使能位</p><p> * |||||||___ATD轉(zhuǎn)換序列結(jié)束中斷使能位 </p><p> * ||||||____外部觸發(fā)信號使能位</p><p> * |||||_____ </p><p> * ||||______[ETRIGLE:ETRIGP]外部
52、觸發(fā)信號觸發(fā)條件選擇位</p><p> * |||_______停止模式內(nèi)部時鐘使能位</p><p> * ||________AD模塊快速清零位</p><p> * |_________只讀位 </p><p><b> */</b></p><p> /* A
53、PCTL3 = (DJM | S8C | S4C| S2C | //</p><p> S1C| FIFO | FRZ1 | FRZ0 | //</p><p><b> ) */</b></p><p> ATD0CTL3 = 0x88; //AD轉(zhuǎn)換結(jié)果右對齊,每個序列1次轉(zhuǎn)換, No FIFO, Freeze模式下繼
54、續(xù)轉(zhuǎn)換</p><p><b> /* </b></p><p> * 0b10001000</p><p> * ||||||||__[FRZ1:FRZ0]后臺調(diào)試凍結(jié)使能位</p><p> * |||||||___</p><p> * ||||||____結(jié)
55、果寄存器先進先出模式位</p><p> * |||||_____ </p><p> * ||||______</p><p> * |||_______</p><p> * ||________[S8C~S1C]一個轉(zhuǎn)換序列的長度</p><p> * |_________
56、結(jié)果寄存器數(shù)據(jù)對齊位 </p><p><b> */</b></p><p> /* APCTL4 = (SMP2 | SMP1 | SMP0 | PRS4 | //</p><p> PRS3 | PRS2 | PRS1 | PRS0 | //</p><p><b> ) */</b&g
57、t;</p><p> ATD0CTL4 = 0x03; //采樣時間4個周期,PRS=3</p><p><b> /* </b></p><p> * 0b00000011</p><p> * ||||||||__[PRS4~PRS0]ATD時鐘預(yù)分頻因子</p><
58、;p> * |||||||___</p><p> * ||||||____</p><p> * |||||_____ </p><p> * ||||______</p><p> * |||_______[SMP2~SMP0]采樣時間選擇位</p><p> *
59、 ||________</p><p> * |_________ </p><p><b> */</b></p><p> /* APCTL5 = (0 | SC | SCAN | MULT | //</p><p> CD | CC | CB | CA | //</p><p&g
60、t;<b> ) */</b></p><p> ATD0CTL5 = 0x27; //單通道連續(xù)采樣,通道0 </p><p><b> /* </b></p><p> * 0b00100000</p><p> * ||||||||__</p>
61、<p> * |||||||___[CD~CA]模擬輸入通道選擇碼</p><p> * ||||||____</p><p> * |||||_____ </p><p> * ||||______多通道采樣模式位</p><p> * |||_______連續(xù)轉(zhuǎn)換序列模式位,1是連續(xù)轉(zhuǎn)
62、換;0是只進行一次轉(zhuǎn)換</p><p> * ||________特殊通道轉(zhuǎn)換使能位</p><p> * |_________只讀位 </p><p><b> */</b></p><p><b> } </b></p><p> 第5章 課程設(shè)計心
63、得</p><p> 課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機的開發(fā)技術(shù)是十分重要的。</p><p> 回顧起此次單片機課程設(shè)計,至今我仍感慨頗多,的
64、確,從選題到定稿,從理論到實踐,在整整兩星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的
65、,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說三極管PNP管腳不懂怎么放置,不懂分得二極管的正負(fù)極,對單片機匯編語言掌握得不好,通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。</p><p> 這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在xx老師的辛勤指導(dǎo)下,終于游逆而解。同時,在xx老師的身上我學(xué)得到很多
66、實用的知識,在次我表示感謝!同時,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝! </p><p><b> 參考文獻</b></p><p> [1]任勇、王永東等。單片機原理及應(yīng)用[M]。北京:清華大學(xué)出版社,2012</p><p> [2]馬志良.單片機原理與控制技術(shù)[M].北京:機械工業(yè)出版社,2002</p&g
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計說明書
- 單片機原理課程設(shè)計說明書
- 單片機課程設(shè)計說明書——電子秒表
- 智能加濕器單片機課程設(shè)計說明書
- 單片機步進電機課程設(shè)計說明書
- 單片機課程設(shè)計電子秒表設(shè)計說明書
- 單片機課程設(shè)計--電子秒表設(shè)計說明書
- 單片機課程設(shè)計---交通燈設(shè)計說明書
- at89c51單片機課程設(shè)計說明書
- led顯示屏單片機課程設(shè)計說明書
- 宿舍安全系統(tǒng)單片機課程設(shè)計說明書
- 光立方-單片機技術(shù)課程設(shè)計說明書
- 單片機數(shù)字溫度計 課程設(shè)計說明書
- 單片機原理課程設(shè)計---比賽計分器設(shè)計說明書
- 單片機課程設(shè)計說明書--基于adc0809溫度測量單片機系統(tǒng)設(shè)計
- 門禁電子密碼鎖單片機課程設(shè)計說明書
- 雞雛恒溫孵化器單片機課程設(shè)計說明書
- 數(shù)字式秒表-《單片機技術(shù)》課程設(shè)計說明書
- 單片機課程設(shè)計說明書——紅外線避障小車
- 00-60秒表單片機課程設(shè)計說明書
評論
0/150
提交評論