第一篇:單片機原理與應用實習報告
單片機小系統板安裝實習報告
一、概述
1、實習名稱與內容
單片機小系統板安裝實習
2、實習目的
《單片機原理與應用》是電子信息工程專業的一門重要專業課,對應用能力和動手能力要求很高。通過單片機小系統板安裝實習,鞏固所學理論知識、培養系統設計的思想、提高自身的動手能力,學到電子產品的工藝設計知識,了解電子產品制造過程、熟悉電子產品工藝,掌握制作電子產品的操作技能,為進一步學習和應用奠定基礎。
3、實習時間
xxx
4、實習方式
安裝方式
二、主要實習過程
1、熟悉電路結構,分析電路原理圖。(1)實驗板的特性
SXY-MCU單片機實驗開發板的CPU可與51系列(DIP40)單片機兼容,其功能強大,充分利用單片機自身的資源構成最小系統。主要由I2C ROM模塊、RS232模塊、485接口、數碼管顯示模塊、指示燈模塊、繼電器模塊、鍵盤顯示模塊、溫度傳感模塊、紅外線接收器模塊等八個模塊組成。通過一系列實驗,實現單片機I/O控制、中斷控制、數碼管顯示、鍵盤掃描輸入、數據通信、溫度采集、紅外線遙控、繼電器控制、音響控制和I2C總線功能,實現各個模塊的功能。
(2)各個功能模塊的連接情況
I2C ROM模塊:本模塊采用了AT24C02串行ROM,此器件使用了I2C總線接口模式,如原理圖所示,單片機的P3.4和P3.5分別連接24C02的時鐘線SCL和數據線SDA。
RS232模塊:此模塊直接由單片機的串行口P3.0(RXD)、P3.1(TXD)通過電平轉換芯片MAX232并連接到232接口。具體的電路請見原理圖。
485接口:本模塊也是直接有單片機串行口P3.0(RXD)、P3.1(TXD)連接到485接口芯片SN75176,SN75176的RE信號由單片機的P3.3控制。
數碼管顯示模塊:此模塊有4位一體共陰數碼管一個,段碼直接由單片機的數據總線P0口輸出,位碼是單片機的地址線(P2.1、P2.2、P2.3)經過74LS138譯碼驅動顯示,四位數碼管右起的地址分別是02H、04H、06H、08H。數碼管段碼與單片機P0口的具體對應關系如下:
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ddpecgafb數碼管段碼單片機P0口afegdbcdp
例如要是右邊第一個數碼管顯示為0,需先對單片機的P2口輸出02H選通,然后單片機的P0口輸出ed就可以使其顯示了。
指示燈模塊:此模塊有8位發光二極管,采用了74LS373鎖存器鎖存單片機的8位數據,鎖存器的使能輸出地址是0BH。而發光二極管是低電平點亮,故要使8位發光二極管右邊一位點亮,需先對單片機的P2口輸出0BH作為選通,然后單片機的P0口輸出FE就可以了,依次類推可以點亮各個發光二極管。
繼電器模塊:本模塊采用了2個5V繼電器F4100,由單片機的P2.0控制JDQ1,單片機的P3.6控制JDQ2,輸出結果到JP2,工作中也可以由D11和D9看出繼電器控制信號狀態。
鍵盤顯示模塊:本模塊采用了2*5的鍵盤,需要采用掃描方式連接到單片機P1口,鍵盤的從左起分別是單片機P1.0、P1.1、P1.2、P1.3、P1.4。行分別是連接到單片機的P1.6、P1.5,注意,運用此模塊時需要將ISP-JUMP短接。
溫度傳感模塊:采用溫度傳感器DS18B20,直接連接到單片機的P1.7。此模塊運用的時候也需要將ISP-JUMP短接。
紅外線接收器模塊:此模塊直接與單片機的P3.2連接。(3)硬件連接 將CPU芯片AT89S51和其他芯片插好,+5V直流電源供電即與JP1座相連,+5V指示燈亮就表示本系統已經供電了,如果對此開發板采用ISP編程,請將J4(ISP-JUMP)處跳線拔掉,默認是連接好跳線。原理圖見附錄
2、元器件的識別與檢測 電阻:50歐的電阻八個
120的電阻一個,表面顏色為“棕紅黑黑棕”;
200的電阻兩個,表面顏色為“紅黑黑黑棕”; 1K的電阻四個,表面顏色為“棕棕黑黑棕”; 4.7K的電阻五個,表面顏色為“黃紫黑棕棕”;
排阻:若干個參數完全相同的電阻,它們的一個引腳都連到一起,作為公共引腳。其余引腳正常引出。所以如果一個排阻是由n個電阻構成的,那么它就有n+1只引腳,一般來說,最左邊的那個是公共引腳。它在排阻上一般用一個色點標出來。500歐和1K的排阻各一個。
電容:電解電容:10üF 2個;1üF 4個;
瓷片電容:瓷片電容103 pF 3個;瓷片電容104 pF 1個;
二極管,三極管:二極管4148 2個;三極管S8050 3個;三極管S8550 1個; 74LS系列和其他系列芯片若干。
3、焊接
利用前面檢測好的元器件,以及電路原理圖,在小系統板上焊接各個元器件。焊接訓練時,首先加熱電烙鐵,然后按要求焊接導線。在焊接時特別要注意錫不能太多,否則易發生短路。焊接完后再利用萬用表進行檢測。
4、測試
單片機系統的硬件調試和軟件調試是不能分開的,許多硬件錯誤是在軟件調試中被發現和糾正的。
(1)排除邏輯故障
這類故障由于設計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。應特別注意電源系統檢查,以防止電源短路和極性錯誤,并重點檢查系統總線(地址總線、數據總線和控制總線)是否存在相互之間短路或與其它信號線 短路。必要時利用數字萬用表的短路測試功能,可以縮短排錯時間。
(2)排除元器件失效
造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢查元器件與設計要求的型號、規格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。
(3)排除電源故障
在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯機仿真器調試時,將會損壞仿真器等,有時會使應用系統中的集成塊發熱損壞。
(4)聯機仿真調試
聯機仿真必須借助仿真開發裝置、示波器、萬用表等工具。這些工具是單片機開發的最基本工具。
信號線是聯絡8031和外部器件的紐帶,如果信號線連結錯誤或時序不對,那么都會造成對外圍電路讀寫錯誤。51系列單片機的信號線大體分為讀、寫信號線、片選信號線、時鐘信號線、外部程序存貯器讀選通信號(PSEN)、地址鎖存信號(ALE)、復位信號等幾大類。這些信號大多屬于脈沖信號,對于脈沖信號借助示波器(這里指通用示波器)用常規方法很難觀測到,必須采取一定措施才能觀測到。應該利用軟件編程的方法來實現。例如對片選信號,運行下面的小程序就可以檢測出譯碼片選信號是否正常。
MAIN:MOVDPTR,#DPTR
;將地址送入DPTR
MOVXA,@DPTR ;將譯碼地址外RAM中的內容送入ACCNOP;適當延時 SJMPMAIN;循環。
執行程序后,就可以利用示波器觀察芯片的片選信號引出腳(用示波器掃描時間為1μs/每格檔),這時應看到周期為數微秒的負脈沖波形,若看不到則說明譯碼信號有錯誤。對于電平類信號,觀測起來就比較容易。例如對復位信號觀測就可以直接利用示波器,當按下復位鍵時,可以看到復位引腳將變為高電平;一旦松開,電平將變低。
對于脈沖觸發類的信號我們要用軟件來配合,并要把程序編為死循環,再利用示波器觀察;對于電平類觸發信號,可以直接用示波器觀察。
5、程序的下載
將通訊電纜與Easy 51Pro編程器連接好,串口插頭插入電腦串口,USB插頭插入電腦任一個USB口,此時編程器上LED點亮,表明電源接通。啟動Easy 51Pro v2.0程序后,會自動檢測硬件及連接,狀態框中顯示“就緒”字樣,表示編程器連接和設置均正常。否則請檢查硬件連接和端口設置。
把51單片機芯片正確地放到編程器的相應插座上,這時注意,芯片的缺口要朝向插座的把手方向。
芯片放好后,就可以對芯片進行讀寫操作了,讀寫操作按下面的步驟進行:(1)先選擇器件(AT89S51)(2)用“擦除器件”擦除芯片
(3)用“打開文件”選擇打開要編寫的.HEX 和.BIN 文件(4)用“寫器件”編程
(5)用“校驗數據”檢查編程的正確與否 這樣程序就被燒錄到單片機芯片中了。
三、安裝與調試過程中發現的問題及解決辦法
在實習過程中出現的一些問題:
1、在實驗板焊接完成后,接上電源下載跑馬燈的實驗程序后,有個發光二極管一直不亮。
2、復位鍵不能用。
3、下載鍵盤顯示程序后,按下小鍵盤不起作用。
針對實習中出現的各種問題進行分析,復位不能用是電阻焊錯了,小鍵盤不能用是沒有將isp jump下面兩個排針短接,發光二極管不能用是排阻焊錯了。將以電阻重新焊接,排針短接后,系統板各個模塊功能正常。
由上得出在動手焊接前要認真仔細地分析電路原理圖,熟悉系統板各個模塊的工作原理;在焊接時先用萬用表將各元件測量一下,做到心中有數,安裝時先安裝低矮和耐熱元件(如電阻),然后再裝大一點的元件(如插槽、數碼管),最后裝怕熱的元件(如三極管)。焊接電解電容與發光二極管要注意正負極不要接反。
四、實習后的體會和收獲及不足
通過本次實習學習了焊接電路板的有關知識,熟練掌握了焊接的具體操作;了解了單片機小系統板的基本原理,學會了動手組裝和焊接單片機小系統板,而且在散件的組裝過程中還進一步學習了電子技術以及電子安裝工藝和測量調試技術。但在實習時,犯過不少錯誤,比如焊接時的漏錫、虛焊、焊錫無光澤;元件焊錯,好在有老師的及時教導和自己的細心研究,問題都順利的解決了。這次實習不僅學到了科學知識,鍛煉了動手能力,還培養了自己對科學和工作一絲不茍的態度,對以后的學習、工作和生活都大有裨益。
在整個的實習中我學習了很多的東西,使我眼界打開,感受頗深。簡單的焊接使我了解到人生學習的真諦,課程雖然結束了,但學習還沒結束,我知道作為信息時代的大學生,作為國家重點培育的高科技人才,僅會操作鼠標是不夠的,基本的動手能力是一切工作和創造的基礎和必要條件。
五、有關圖表等資料
SZ-MCU 原理圖 VCC20J1VCCU1D1Q0Q1Q2Q3Q4Q5Q6Q7256912151619D2LEDD3LEDD4LEDD5LEDD6LEDD7LEDD8LED123456789RP1 P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7GNDRRRRRRRRR***050dDPecGafbVCC654321Y4afY3C110uFP0.03P0.14P0.27P0.38P0.413P0.514P0.617P0.718Y51ALE11VCCY2VCC數碼管顯示RSTS11R1200R21KRESETD0D1D2D3D4D5D6D7OELE74LS373SM1edDP10560U2P1.0VCCP1.1P0.0,AD0P1.2P0.1,AD1P1.3P0.2,AD2P1.4P0.3,AD3P1.5P0.4,AD4P1.6P0.5,AD5P1.7P0.6,AD6RSTP0.7,AD7RXD,P3.0EATXD,P3.1ALEINT0,P3.2PSENINT1,P3.3P2.7,A15T0,P3.4P2.6,A14T1,P3.5P2.5,A13WR,P3.6P2.4,A12RD,P3.7P2.3,A11XTAL2P2.2,A10XTAL1P2.1,A9VSSP2.0,A***33323***2524232221VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCALEP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0123456789GNDRP2 VCCJP1VCCGND123123POWER3R3200+5VLEDC210UC310423222326VCC8個指示燈23212324VCCGNDR1 OUTR2 OUTT1 OUTT2 OUTC2+C2-12914745V+V-VCCC4C5C6C9RXDTXD123242325+5V電源供電及指示燈U4J25GND9483TXD172RXD161DB9彎針J3485A485BRXD11RE223485TXD413RXD1811TXD102321123233R1 INR2 INT1 INT2 INC1+C1-MAX23215GND22pFR44.7K16VCC232接口U8R0VCCREBDEADIGND8765VCC485B485A485B1GNDAT89S52P2.1P2.2P2.3HWXJSQVCCVCCU574LS138ABCY0Y1Y2Y3Y4Y5Y6Y710P1.01P1.12LEDP1.23P1.34P1.452323P1.561UP1.672325P1.781URESET92322P3.0RXD101UP3.1TXD112326P3.2HWXJSQ121UP3.3RE13P3.4SCL14C7P3.5SDA15P3.6JDQ116P3.7BELL1722pF18Y11912MHz20C8DS18B20cGY1復位電路P1.0P1.2P1.4P1.6P3.0P3.2SMGP3.4P3.6P2.7P2.5P2.3P2.1P0.7P0.5P0.3P0.1A0A2A4A6VCC20******72931333537392.54246810121416***8303234363840P1.1P1.3P1.5P1.7P3.1P3.3P3.5P3.7P2.6P2.4P2.2P2.0P0.6P0.4P0.2P0.0A1A3A5A77891078190GND11121112654321bU6P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7GNDALE3478***D0D1D2D3D4D5D6D7OELE74LS373GND***097Y0Y1Y2Y3Y4Y5Y6Y7Q0Q1Q2Q3Q4Q5Q6Q7256912151619VCC擴展接口A0A1A2A3A4A5A6A72616102GNDJDQ2VCC123GND地址鎖存器485接口R712120J42485A溫度傳感器321地址譯碼器VCCGND紅外線接受器GNDVCC456E1E2E3123RS485SN75176BPVCC321P1.7P1.6P1.5135J5246R54.7KU***65R621K2468102GND4VCC6810GNDD9LEDON11D1041482OFF14.7KP1.71P1.63RESET57P1.59SDASCL13579VCCJDQ1ON-COMOFF+54C13D11LED1K2VCCJDQ212ON-COMOFF+54C23蜂鳴器3CDS18B20U9KIN118B20KIN2JDQ1U10HWXJSQR8JDQ2R9GND12381BELLR101K2BEQ3S8550U11AAON2D124148OFF2KKBELL124LC02BISP下載接口OFF2C22ONOFF1C11ON1串行ROMVCCR114.7KQ1S805012BEQ2S8050C繼電器模塊1和2J6Y0Y6VCCGND13572.542468Y7ALEVCCGNDP1.0P1.1P1.2P1.3S1KIN1S6S2S3KEYS4S5P1.4R124.7K2*5的按鍵輸入KEYKEYS7KEYKEYKEYS9KEYS105.08*6JP26543213KEYGNDS8KEYC14VCC***1KIN2KEY21C10C11C12C132
SZ-MCU布局圖
第二篇:《單片機原理及應用》課程
《單片機原理及應用》課程
自評報告
陜西理工學院電氣工程系《單片機原理及應用》課程組 二○一○年三月
目 錄
第一部分 課程簡介
第二部分
課程內容與體系的改革 第三部分 實驗教材
第四部分 自評結果和評分依據 第五部分 存在的主要問題及整改措施 附件:自評評分依據 《單片機原理及應用》課程自評報告
第一部分 課程簡介
單片機技術廣泛地應用于工業控制、智能儀器儀表、機電一體化產品、家用電器等各個工業領域。因此,單片機原理及應用是工科院校各專業學生的一門重要的應用技術課程,對電類學生尤為重要,通過該課程可以了解工業高新技術,培養綜合的工程設計能力。學生在課程設計、畢業設計、科研項目中會廣泛應用到單片機知識,而且,進入工作后,更會廣泛接觸到單片機的工程項目。近幾年,一些用人單位直接把單片機應用技術測試作為人才選用的條件。顯然,提高該門課程的教學質量,對培養學生的綜合應用能力,提升學生在人才需求市場中的競爭能力,具有重要意義。
《單片機原理及應用》課程是自動化、電氣工程及其自動化、計算機科學與技術等專業的一門專業技術基礎課。單片機應用技術包含著廣泛的內容(基本原理、接口技術、開發方法、開發工具、控制技術等),而且構成完整的知識體系。也就是說,缺少某一個方面或某一個環節的知識,將會影響實踐應用能力。再者,單片機產品及其應用技術發展日新月異。在一門課程的有限教學時間內,如何讓學生比較系統全面的掌握單片機應用知識,同時能反映比較新的應用技術,培養學生的工程設計能力,必須加強課程建設力度,在課程內容與課程體系上進行重大改革。
《單片機原理及應用》課程在自動化、電氣工程及其自動化、計算機科學與技術3個本、專科專業中開設學時為40-60學時。多年來,該課程組師資隊伍建設穩步提高,教學和實驗條件逐步完善,現已形成了相對穩定的較高教學水平的師資隊伍和完全滿足實驗教學條件的實驗平臺。
目前,《單片機原理及應用》課程組共有6名課程主講教師和多位實驗技術人員,其中教授1人、副教授2人、講師3人,研究生5人,實驗師多人,承擔校內相關3個專業本、專科學生的單片機原理及應用課程教學與實驗任務。
《單片機原理及應用》課程組在多年的具體教學與實踐過程中,在課程建設和教學改革方面取得了較為顯著的成效。從2000年開始,課程改革小組注重教育思想和教學觀念的轉變,開展了課程教學內容、課程體系、教學方法及教學手段的改革研究與實踐,對課程的教學內容與體系進行了優化。目前已初步建立了以培養學生工程素質和綜合應用能力為教學目標的新的課程體系,在教材建設、實踐性教學環節建設方面取得了可喜的成果。李建忠教授把課程組研究的理論成果變成了現實成果,編著的《單片機原理及應用》(第二版被評為國家十一五規劃教材)一書被全國30多個省市的100多所高校采用,在國內產生較大影響。組織的實踐教學環節在本院多屆學生中也取得了顯著的成效。
《單片機原理及應用》教學儀器設備豐富,實驗開出率100%,同時開設一定的設計性、綜合性實驗。實驗室規章制度健全,管理人員到位,教學服務及時,為實驗課程教學提供了有力保障。
隨著“單片機原理及應用”課程內容和課程體系改革的進行,課程教學質量逐步明顯提高。伴隨著教學質量的提高,浮現出了許多科研項目。例如,智能型家用有毒氣體探測語音報警呼救裝置、機車防帶電過分相裝置、消失模澆注充型速度的微機化測試的研制,科研項目的進行又推動了教學質量的進一步提高。教師在教學中,結合自己的科研生動地講解原理、方法、技術。近幾年課程組成員結合自己的科研項目,在單片機應用技術方面發表論文多篇。
第二部分 課程內容與體系的改革
教材是教育思想、教育理念體現的載體,是一門課程教學內容與體系、教學方法及手段的集中表現。一本好的教材不能局限在知識的傳遞上,還應表現在科學思維方法、獲取知識的方法、綜合能力和創新設計能力培養方法的傳遞上,便于運用新的教學方法和手段組織實施教學。這是課程組改革研究的一個理論成果。
在理論研究的指導下,確定以教材建設為龍頭進行課程內容與體系的優化。由于單片機應用技術知識包含的內容廣泛,單片機產品及其應用技術發展速度快,如何在有限的計劃課時內讓學生比較完整的掌握單片機應用技術知識體系,同時了解一些比較新應用技術,吸取了國內外先進的教學思想和教學經驗,廣泛收集和查閱國內外優秀教材和有關教學資料,又結合我們多年積累的教學經驗和教訓,比較全面地考慮了各種因素,對課程內容與課程體系進行整體優化,編著了《單片機原理及應用》(第二版被評為國家十一五規劃教材)、《單片機原理及應用實踐教程》,形成了一套新的課程教學體系。教材內容體系進行了優化組合。既體現了系統全面,包含了基本原理、接口技術、開發方法、開發工具、控制技術等,又進行了濃縮精練,論述嚴謹透徹。教材內容的組織上采用“以點見面,觸類旁通”的精練濃縮方法。例如,在每一章節前都概述出相關的一般性內容和方法,然后再以具體的內容或典型的實例進行說明。始終貫穿應用觀點。例如,在單片機原理的講解中,著重強調站在應用角度,掌握單片機的功能特性和配置結構。即用戶站在單片機芯片外部看它所提供給用戶的使用功能和資源,達到正確、合理的使用單片機所提供的硬、軟件資源。這不僅給學生強調了達到應用的學習目標,而且給學生樹立了一個學習掌握應用知識的正確學習方法界面。這一點經教學實踐檢驗,取得了良好的教學效果。又例如,在應用技術的講解中,大多數選自生產和科研中的應用實例,使學生學后就能用。注重科學思維方法、獲取知識的方法、綜合能力和創新設計能力的培養方法的傳遞。掌握一門學科知識的學習方法,其實質是找出并抓住學科知識的內在聯系,形成一個完整體系。該書突出了這方面的特色。例如,在指令系統的講述中,大多數教材采取按功能類逐條指令羅列講解,使初學者很難理解記憶。其實,指令系統中有一些操作指令的子集合是具有特征規律的,不同操作指令的子集合之間也具有一些可比性特征規律,在該書的講述中用歸納、類推、類比方法進行縱向歸類,橫向類推、比較。這不僅能使學生掌握知識,而且學習了科學思維方法和學習方法。在講解基礎知識的基礎上,反映新的應用技術成果。例如,緊密結合基礎知識講解了單片機應用程序開發設計方法。
第三部分 實驗教材
在廣泛調研現有實驗教材經驗與問題的基礎上,引入新的教育理念,針對現代工程人才的培養模式、人才素質及能力的要求,課程組認為實驗教材不能局限在對基礎知識的驗證上、不能局限在基本實驗的操作指導上、不能局限在某一門課程知識的動手實踐能力的培養上、不能局限在理論教材的輔助功能作用上,還應給學生提供廣闊的、自由靈活的動手實踐空間,要培養學生在基本理論知識的基礎上能夠吸收、使用新技術方法,培養學生一般的工程實踐能力和創新設計能力,使實驗教材成為相對獨立的綜合實踐能力培養的指導書。在這樣的思想指導下,組織編寫了《單片機原理及應用實踐教程》的,于2001年5月在本院內部印刷使用。在多年的使用中取得了良好的效果。
《單片機原理及應用實踐教程》一書主要具有以下特色:(1)知識的系統完整性與實踐過程的系統完整性并重 實驗內容的編寫上緊密結合理論教學,按照單片機原理及應用課程知識的內在聯系,保持了知識的系統完整性。從宏觀結構上,實驗內容分為單片機系統功能、單片機系統擴展、單片機系統配置和綜合應用四大實驗組。在每個實驗組中又按照基礎→綜合→工程應用的方式安排了多個實驗項目,每個實驗項目中又按照基本原理、知識提要、基本技術、方法論證、實驗結果分析的方式進行組織。這樣,使該書成為學習、掌握單片機原理及應用知識的很有價值的參考書。從實踐應用過程看,該書宏觀上反映了單片機應用系統的開發環境、開發方法、開發過程。在每一個實驗項目中,又反映出了一個單片機應用系統立題概要分析、功能結構論證分析、器件選擇、硬軟件設計、系統調試、性能分析與測試、文檔收集與整理的全過程。使學生能夠學習、掌握到一個單片機應用系統開發設計過程中各個環節的技術方法。
(2)知識掌握和科學思維能力培養并重
在每個實驗項目中都提示出所依據的基本原理知識,所采用的方法和技術,通過實驗來加深對基本知識的理解,達到熟練掌握。在每個實驗項目后,提出一些很有價值的思考問題,主要圍繞實驗現象觀察與分析,培養學生科學細致地觀察與分析問題的方法和能力。每個實驗既給出了參考方案,又要求學生在參考方案的基礎上自行設計、調試,充分發揮學生的主觀能動性和創造力、有意識地培養學生對工程問題的分析與設計方法。每個實驗都要求學生按照嚴格的格式寫出實驗報告,在實驗報告中深入細致地分析、論證有關實驗現象與結果,通過實驗報告的書寫,培養學生嚴謹求實的科學方法和態度。
(3)既面向驗證性實驗又面向開放性、設計性實驗
根據單片機原理與應用的知識結構,實驗內容分為單片機系統功能、單片機系統擴展、單片機系統配置和綜合應用四個實驗組。每個實驗組又按照基本原理、技術、方法的應用,綜合應用、工程設計的思路方式安排了多個實驗項目,為學生提供了廣泛的實驗內容,即可以供課程實驗使用,也可以供開放實驗、設計實驗使用。
(4)實驗教學的目標確定在以下幾個方面:
驗證基本理論、方法和技術。通過驗證性實驗,使學生加深對基本理論、方法和技術理解,能夠熟練應用,并使學生進一步認識到:基本理論、方法和技術來源于實踐,又對實踐有強大的推動作用,在實踐中得到發展,得到創新。
基本實踐能力的培養。基本實踐能力包含:掌握小型單片機應用系統開發研制所采用的基本環境、方法、手段及所使用的儀器設備。
綜合工程實踐能力的培養。綜合工程實踐能力包含:掌握復雜單片機工程應用系統開發研制所采用的先進的環境、方法、手段及所使用的儀器設備,并能進行工程決策分析。
創新設計能力的培養。創新設計能力包含:在一些關鍵的技術環節上能夠激發出超常的思想方法或采用前沿性的技術手段分析解決問題。
(5)實驗教學的實施方式
根據現代工程人才的培養模式、人才素質及能力的要求,我們設計出了形式多樣的實驗教學方式。
指導型實驗。這類實驗納入單片機原理及應用課程的教學計劃和教學大綱,在老師的指導下,進行規定要求實驗,實驗后要寫出實驗報告。實驗目標是基本實踐能力的培養。
開放型實驗。這類實驗是學生根據自己的要求自發地進行實驗,實驗室必須隨時滿足學生的實驗要求。在這種實驗中,學生可根據自己的情況實現多種目標。
設計型實驗。這類實驗學生帶著自己的設計問題,進入實驗室進行調試或測試,一般結合課程設計、畢業設計、大學生科技活動項目進行。實驗要有明確的目標,主要培養學生綜合工程實踐能力和創新設計能力。
第四部分 自評結果和評分依據
為了進一步提高課程教學質量,努力做好課程建設與評估,電氣工程系專門成立了院系、教研室(課程組)兩級評估領導小組,負責對申報課程的指導、監督和審查。課程組全體任課教師認真學習、領會相關課程建設與評估精神,認真對照精品課程建設評估指標體系的各項要求,總結多年來課程建設的成果,結合課程建設過程中存在的實際問題,進行了認真細致地資料整理、自查自評。通過本次自查自評活動,真正達到了“以評促改,以評促建”的目的。
自評結果:Q=102分(≥100),符合并達到了校級精品課程的條件。詳見附件:課程自評表。
第五部分 存在的主要問題及整改措施
1.網絡教學和資源共享方面還需進一步的豐富和完善。實現與本課程相關的信息查詢、輔導答疑、作業練習等多種功能,方便學生網上學習。
2.實驗教學設備更新不夠,試驗教學手段還不夠豐富、不夠先進,理論教學內容和體系還需要進一步整合、優化;
3.進一步加大教學改革力度,轉變教育教學理念,探索高教理論,不斷改進和提高教師的理論與實踐教學方法和手段。
同時還需要認清形勢,剖析自我,虛心向兄弟院校學習先進的課程建設經驗,彌補自己的差距和不足,加快課程建設步伐,使《單片機原理及應用》課程教學全面上臺階、上水平。
附件:自評評分依據 師資結構:19分/20 1.1師資結構:A級,4分/4 課程組職稱結構合理,有教授、副教授、講師、高級實驗師、實驗師共8人,主要由教授、副教授、講師上課。
1.2教學水平:A級,5 分/6 教學水平高,高、中級職稱教師均開課2門以上;教學工作量飽滿,教案齊全;有教改及科研項目。
1.3學術水平:A級,6 分/6近3年發表論文篇,人均6篇;主編、參編教材9部;完成省廳級科研項目3項,校級科研基金項目3項,院教改項目7項。
1.4教風建設:A級,4分/4 教風良好;教研室制度健全,堅持教學研究活動,每年教研活動大于18次,有記錄;能堅持相互聽課、評教;能收集學生對教學的反饋信息,并改進教學;教學組無任何教學事故。教學條件:24分/25 2.1教學大綱:A級,6分/6 教學大綱符合專業培養目標和教學計劃的基本要求,并能結合教學計劃適時修訂、完善;大綱能反映課程體系結構,項目完整,層次清晰,重點、難點突出,要求明確;教學過程中能夠嚴格執行大綱。
2.2教材及教學參考書:A級,7 分/7 選用學校自編國家級規劃教材及相應教學參考書,滿足不同專業的培養計劃要求,使用效果好。
2.3課程教學管理及教學文件:A級,5分/6 教學參考資料豐富、齊全,能反映本課程發展現狀;課程有完整的教學工作總結,教師有教學日歷和教案。
2.4教學設備和手段:A級,6分/6 使用多媒體、板書講解和現場教學等手段;與實驗室共同開發研制有相應的實驗教學設備,且符合本校學生情況,使用效果好,完全能滿足正常的教學需要。3 考核:15分/17 3.1考試說明:A級,3分/3 在教學大綱的指導下,能按要求進行命題考試工作,命題質量高,考分分布合理。3.2題庫(卷庫)建設:B級,4分/5 有與教材配套使用的高質量的試題庫,試題庫完全符合教學要求。3.3命題與評分:A級,4分/4 考試命題形式多樣,有外校試題、教研室組織命題、試題庫組題等,全部為考教分離;有評分標準,流水閱卷,有效控制了評分誤差。3.4試卷分析:B級,3分/5 試題內容體現教學大綱的基本要求,難度適中,有一定的可信度和區分度;成績分布基本合理。4 教學改革:分/13 4.1教改方案:A級,4分/5 在切實可行的教改計劃,且能運用在教學過程中,有一定的總結。4.2教改效果:A級,7分/8 有專業教改項目的實施,完成教改項目7項,教改效果比較顯著,獲校教學成果獎二等獎3項。5 教學效果:21分/25 5.1講課質量:A級,9分/10 根據師生對講課質量的綜合評價,課程組總體講課水平較高。5.2課外指導:A級,5分/6 對學生課外學習有明確具體的要求,并認真落實、檢查;堅持課外輔導、答疑,效果較好。
5.3教學獲獎情況:A級,4分/4近幾年獲院級以上教學成果獎、講課大賽獎、教案評比獎的人數占課題組人數的70%;有畢業生調查信息表,畢業生反映本課程教學效果優良。
5.4學習質量:B級,3分/5 在嚴格組織考試、評分的情況下,學生考試成績真實,客觀反映了學生學習的現狀;學生基本知識掌握較扎實,但綜合解題能力一般。6 特色指標:A級,16分/20(1)兼顧教學的典型性和技術先進性
教學內容的典型性有利于學生理解相關基礎知識,掌握基本原理和方法,觸類旁通。隨著單片機應用技術日異月新的發展,在未來的實際工作中又會廣泛接觸到新技術、新器件。在理論教學和實踐充分考慮了典型性問題,同時在每個實驗的實現方案中又提示學生在典型性問題的基礎上采用一些新器件、新方法自行設計,讓學生接觸一些先進性技術、方法。
(2)基礎訓練與實際應用相結合
在注重單片機原理、實用接口技術的基礎上、還突出教學內容的實踐性和實用性。大多數實驗內容都取材于生產和科研實際。綜合應用實驗集中鍛煉學生了解實際系統要求,設計應用系統的能力。有助于開拓視野,強化工程觀念,培養創新能力和協作精神,提高綜合素質。
(3)注重綜合工程實踐能力和創新設計能力的培養
大多數實驗內容都取材于生產和科研實際,使學生所學就能所用。
每一個實驗項目的實驗過程都突出一個單片機工程應用系統開發設計的各個關鍵技術環節,尤其突出調試方法和手段。每一個實驗項目中都設置了若干問題,讓學生充分發揮主觀能動力和創新思維能力進行調試。每一個實驗項目除給出參考實驗方案外,還提示采用不同的方案、不同的器件、不同的方法自行設計、調試,給學生留下創新發揮的空間。
電氣工程系
《單片機原理及應用》課程組
2010.3
第三篇:單片機原理及應用課程設計
智能電子鐘(LCD顯示)
1、設計內容及要求...............................................................................................2 1.1、設計內容..............................................................................................2 1.2、設計要求..............................................................................................2 1.3、撰寫設計報告......................................................................................2
2、總體方案設計...................................................................................................2 2.1、方案圖................................................................................................2 2.2、面板布置圖.........................................................................................2 2.3、方案討論.............................................................................................3 2.4、明晰任務.............................................................................................4
3、電路原理圖......................................................................................................4
4、程序框圖.........................................................................................................5 4.1、顯示子程序流程圖............................................................................5 4.2、實時時鐘芯片 1302 讀/寫數據流程圖............................................6
5、編程序................................................................................................................6
6、調試....................................................................................................................6 6.1、軟件調試.............................................................................................6 6.2、仿真調試..............................................................................................7
7、自我感想............................................................................................................7
8、參考書目............................................................................................................8 附錄:C 語言編程源程序.......................................................................................8 1.設計內容及要求 1.1、設計內容:
以AT89C51 單片機為核心,制作一個 LCD 顯示的智能電子鐘。1.2、設計要求:
(1)計時:秒、分、時、天、周、月、年。(2)閏年自動判別。
(3)五路定時輸出,可任意關斷(最大可到16路)。(4)時間、月、日交替顯示。(5)自定任意時刻自動開/關屏
(6)計時精度:誤差≤1秒/月(具有微調設置)
(7)鍵盤采用動態掃描方式查詢。所有的查詢、設置功能均由功能鍵K1、K2完成 1.3、撰寫設計報告
單片機課程設計是以課題或項目設計方式開展的一門課程,具有較強的綜合性、實踐性,是工科、工程類院校或職業類院校電類專業在校生的必修課,是將單片機原理與應用課程的理論知識轉變為應用技術的重要教學環節。這一環節不但能加深對單片機原理的理解,而且還能培養學生的實踐動手能力,開發學生的分析、解決問題的能力。單片機課程設計環節的訓練能夠讓學生知道單片機工程項目的制作過程,使學生盡早了解單片機系統的開發過程。
2.總體方案設計 2.1、方案圖
2.2、面板布置圖
2.3、方案討論
方案一:采用實時時鐘芯片
實時時鐘芯片具備年、月、日、時、分、秒計時功能和多點計時功能,計時數據的更新每秒自動進行一次,不需程序干預。計算機可通過中斷或查詢方式讀取計時數據進行顯示,因此計時功能的實現無需占用 CPU 的時間,程序簡單。此外,實時時鐘芯片多數帶有鋰電池做后備電源,具備永不停止的計時功能;具有可編程方波輸出功能,可用做實時測控系統的采樣信號等;有的實時時鐘芯片內部還帶有非易失性 RAM,可用來存放需長期保存但有時也需變更的數據,由于功能完善,精度高,軟件程序設計相對簡單,且計時不占用 CPU 時間,因此,在工業實時測控系統中多采用這一類專用芯片來實現實時時鐘功能。
方案二:軟件控制
利用單片機內部的定時/計數器進行中斷定時,配合軟件延時實現時、分、秒的計時及秒表計時。該方案節省硬件成本,且能使設計者對單片機的指令系統能有更深入的了解,從而掌握單片機應用技術 MCS-51 匯編語言程序設計方法,因此,本系統設計采用此種軟件控制方法來實現計時。而由于 Atmel 公司 的AT89C51 是一種自帶 4KB Flash 存儲器的低電壓、高性能的 CMOS 8 位微處理器。該器件采用 Atmel 高密度非易失存儲器制造技術制造,與工業標準 的MCS-51 指令集和輸出引腳相兼容。AT89C51 將多功能 8 位 CPU 和閃存集成在單個芯片中,是一種高效的微控制器,使用也更方便,壽命更長,可以反復擦除 1000 次。形成了功能強大、使用靈活和具有較高性能價格比的微控制器。它的功能強大而且也比較容易購買,故本設計中所選的單片機為 AT89C51 單片機。2.4、明晰任務
采用 AT89C51 單片機作為系統的控制核心。時鐘數據通過市場上流行的時鐘芯片 DS1302 來獲取。DS1302 是 DALLAS 公司推出的涓流充電時鐘芯片,內含一個實時時鐘/日歷和 31 字節靜態 RAM,可以通過串行接口與計算機進行通信,使得管腳數量減少。實時時鐘/日歷電路能夠計算 2100 年之前的秒、分、時、日、星期、月、年的,具有閏年自動判斷調整的能力。定時電路能夠實現自定任意時刻自動開/關屏,采用 LCD LM016L 顯示年、月、周、天、時、分、秒。通過按鍵開關實現微調,確保計時精度:誤差≤1 秒/月。DS1302 時鐘芯片的主要功能特性:
(1)能計算 2100 年之前的年、月、日、星期、時、分、秒的信息;每月的天數
和閏年的天數可自動調整;時鐘可設置為 24 或 12 小時格式。(2)31B 的 8 位暫存數據存儲 RAM。(3)串行 I/O 口方式使得引腳數量最少。
(4)DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需 3 根線。
(5)寬范圍工作電壓 2.0-5.5V。
(6)工作電流為 2.0A 時,小于 300nA。
(7)功耗很低,保持數據和時鐘信息時功率小于 1mW。
3.電路原理圖
4.程序框圖
4.1、顯示子程序流程圖
4.2、實時時鐘芯片 1302 讀/寫數據流程圖
5.編程序 源程序見附錄部分 6.調試 6.1、軟件調試
目前設計過程中容易造成元件和儀器儀表的損壞,而借助 Keil 和 Proteus進行單片機系統的開發,可以節省設計成本,提高設計速度。Keil 軟件包是一個功能強大的開發平臺,它包括項目管理器、CX51 編譯器、AX51 宏匯編器、BL51/LX51 連接定位器、RTX51 實時操作系統、Simulator 軟件模擬器及 Monitor51 硬件目標調試器。它是一種集成化程度高的文件管理編譯環境,主要功能為編譯 C 語言源程序,匯編程序或混合語言源程序,連接和定位目標文件和庫,創建 HEX 文件,調試目標程序等。Keil 是目前最好的 51 單片機開
發工具之一。Keil 支持軟件模擬仿真(Simulator)和用戶目標調試(Monitor51)兩種工作模式。前者不需要任何單片機硬件即可完成用戶程序仿真、調試,后者利用硬件目標板中的監控程序可以直接調試目標硬件系統。Proteus 是一個完整的嵌入式系統軟件、硬件設計仿真平臺,它包括原理圖輸入系統 ISIS、帶擴展的 Prospice 混合模型仿真器、動態元件庫、高級圖形分析模塊和處理器虛擬系統仿真模型 VSM。ISIS 是 Proteus 系統的中心,具有超強的控制原理設計環境。ProteusVSM 最重要的特點是能把微處理器軟件作用在處理器上,并和該處理器的任何模擬和數字元件協同仿真,仿真執行目標碼就像在真正的單片機系統上運行一樣,VSM CPU 模型能完整仿真 I/O 接口、中斷、定時器、通用外部設備口及其他與 CPU 有關的外部設備,甚至能仿真多個處理器。6.2、仿真調試 Proteus 仿真
7.自我感想
經歷過這么多天不間斷的課程設計,我們有挺多感觸的,從最基本上說我們看到了,也意識到了自己的不足,對于不斷克服的各種阻礙也讓我們體會到了課程設計的意義所在。對于只接觸課本只動筆桿的我們,面臨實際的設計尺寸,讓我們很是尷尬,都說理論聯系實際,真正到聯系的時候才發現挺困難的,不過正是理論知識的各種補充才讓我們能最終完成任務,然后深深地體會到理論對現實的指導作用。我們現在最缺乏的就是實際工作經驗,而理論聯系實踐并不像我們想象的那么簡單,他需要堅實的理論基礎和實際工作經驗。堅實的理論基礎決定了我必須堅持學習新的知識新的理論,完善了自己的知識結構,才能在以后的實際中輕松面對,才能設計出更好的更有益于人們生活與工作的機械,才能跟上時代的步伐,不被淘汰。在這個一邊忙著復習忙著考試又要準備課程設計的日子里,真真正正的體會到了時間的寶貴,有點像高中忙忙碌碌的生活,不過能按時完成課程設計對我們來說也是一個莫大的安慰。嚴謹和細心是做機械設計的必要態度,要想做好一件事,就必須一絲不茍、態度認真。俗話說:“失之毫厘,謬之千里。”在機械設計上尤其應該注意。在以后的工作中,你的很小的一個疏忽將會造成一個公司很大的損失,甚至給用戶帶去生命危險,而自己也會為自己的不負責任行為付出代價。再者就是設計中要嚴謹和細心,對于機械是不能出差錯的,任何的微小誤差都可能產生不可預計的后果,當然對于我們來說就是設計中要走一些彎路,而且在這個嚴重缺少時間又惦記回家問題的我們來說也是一個很嚴重的后果。不過,困難雖是難免的,但我們有信心就能并且已經戰勝了困難,完成了這個無比揪心的課程設計。因為時間等各種關系設計中難免有些不足還請老師助教給予批評和幫助。
8.參考文獻
《MCS-51 系列單片機原理及應用》 孫涵芳 主編 《新概念 51 單片機 C 語言教程》 郭天祥 主編 《51 單片機課程設計》 周向紅 主編 《單片機原理及其應用教程》 張元良 主編 附錄:C 語言編程源程序
#include
uint year_data,t;//-----sbit SCLK=P3^5;//DS1302 通訊線定義 sbit DIO=P3^6;sbit RST=P3^7;sbit speak=P0^0;sbit DS=P2^0;//595 通訊線定義 sbit SH_CP=P2^1;sbit ST_CP1=P2^2;sbit ST_CP2=P2^3;sbit ST_CP3=P2^4;sbit ST_CP4=P2^5;sbit ST_CP5=P2^6;sbit ST_CP6=P2^7;sbit ST_CP7=P3^0;sbit ST_CP8=P3^1;sbit OE1=P1^0;sbit OE2=P1^1;sbit OE3=P1^2;sbit OE4=P1^3;sbit OE5=P1^4;sbit OE6=P1^5;sbit OE7=P1^6;sbit OE8=P1^7;sbit K1=P3^2;//按鍵接口定義 sbit K2=P3^3;sbit K3=P3^4;sbit K4=P0^1;sbit K5=P0^2;//-----void write_595(uchar temp)//寫 74HC595 一個字節 { uchar temp_595,i;temp_595=temp;for(i=0;i<8;i++)
{
SH_CP=0;
_nop_();_nop_();_nop_();if(temp_595&0x80){ DS=1;} else { DS=0;} _nop_();_nop_();_nop_();SH_CP=1;temp_595<<=1;} } //--------------void delay(uint z)//Nms 延時 { uint x,y;for(x=z;x>0;x--)for(y=112;y>0;y--);} //-------------void delaynus(uint z)//ums 延時 { uint x,y;for(x=z;x>0;x--)for(y=10;y>0;y--);} //---------------void write(uchar date)//寫入 DS1302 一個字節 { uchar temp,i;RST=1;SCLK=0;temp=date;for(i=0;i<8;i++){ SCLK=0;if(temp&0x01)DIO=1;else DIO=0;SCLK=1;temp>>=1;} } //-----uchar read()//讀出 DS1302 一個字節 { uchar a,temp;RST=1;for(a=8;a>0;a--){ temp>>=1;SCLK=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();SCLK=0;if(DIO){ temp=temp|0x80;} else { temp=temp|0x00;} } return(temp);} //---void write_1302(uchar add,uchar dat)//寫 DS1302 數據 { RST=0;SCLK=0;RST=1;write(add);write(dat);SCLK=1;RST=0;} //----------uchar read_1302(uchar add)// 讀 DS1302 數據 { uchar temp;RST=0;SCLK=0;RST=1;write(add);temp=read();SCLK=1;RST=0;return(temp);} //------------void display()//顯示子程序 { miao=read_1302(0x81);//讀秒 fen=read_1302(0x83);//讀分
shi=read_1302(0x85)&0x3f;//讀時 date=read_1302(0x87);//讀日 month=read_1302(0x89);//讀月 year=read_1302(0x8d);//讀年 day=read_1302(0x8B);//讀星期 write_595(miao);//顯示秒 ST_CP1=0;ST_CP1=1;ST_CP1=0;delaynus(10);write_595(fen);//顯示分 ST_CP2=0;ST_CP2=1;ST_CP2=0;delaynus(10);write_595(shi);//顯示時 ST_CP3=0;ST_CP3=1;ST_CP3=0;delaynus(10);write_595(date);//顯示日 ST_CP4=0;ST_CP4=1;ST_CP4=0;delaynus(10);write_595(month);//顯示月 讀 ST_CP5=0;ST_CP5=1;ST_CP5=0;delaynus(10);write_595(year);//顯示年 ST_CP6=0;ST_CP6=1;ST_CP6=0;delaynus(10);write_595(xingqi[day]);//顯示星期 ST_CP7=0;ST_CP7=1;ST_CP7=0;delaynus(10);} //----------void ds1302_init()//1302 初始化 { RST=0;SCLK=0;/* write_1302(0x80,0x00);//設置初始值 SEC write_1302(0x82,0x00);//設置初始值 MIN write_1302(0x84,0x00);//設置初始值 HR write_1302(0x86,0x00);//設置初始值 DATE write_1302(0x88,0x00);//設置初始值 MONTH write_1302(0x8A,0x00);//設置初始值 DAY */ write_1302(0x8C,0x10);//設置初始值 YEAR } //--------------void PORT_INIT()//端口初始化 { P0=0XFE;P1=0X00;P2=0X00;P3=0XFC;} void time_init()//定時器初始化 { TMOD=0x11;//設置定時 器 01 都為工作方式 1 TH0=(65536-50000)/256;//裝入初值 TL0=(65536-50000)%256;TH1=(65536-10000)/256;//裝入初值 TL1=(65536-10000)%256;PT0=1;//T0 定時器優先級最高 EA=1;//開總中斷
ET0=1;//開定時器 0 中斷 ET1=1;//開定時器 1 中斷 TR0=1;//啟動定時器 0 TR1=1;// 啟動定時器 1 } //--------------void main(void)//主程序 { PORT_INIT();ds1302_init();time_init();year=read_1302(0x8d);//讀年數據 year_data=0x2000|year;write_595(year_data>>8);//顯示 2010 年的 20 字樣 ST_CP8=0;ST_CP8=1;ST_CP8=0;set_shi=0x09;//鬧鐘初始值設定 set_fen=0x39;time_flag=0;//標志位 set=0;while(1){ switch(set){ case 0: //設置秒 { display();// 顯 示 子 程 序
if((shi==set_shi)&&(fen==set_fen)&&(time_flag==0))小時和分鐘 { speak=~speak;if((K2==0)&&(time_flag==0))//按鍵 K2 停 止鬧鐘響 { P0&=0XFE;time_flag=1;} delay(10);} } break;} if(fen==set_fen+1)// 當 不 按 下 鬧 鐘 停止按鍵,一分鐘后自動停止鬧 鐘 { P0&=0XFE;time_flag=0;} } } //--------void time0()interrupt 1 // 定時 器 0 中斷 { TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;mun++;if(mun==15){ mun=0;switch(set){ case 1: //設置秒閃爍 {OE1=1;delay(300);OE1=0;} break;case 2: //設置分閃爍 { OE2=1;delay(300);OE2=0;} break;case 3: //設置時閃爍 { OE3=1;delay(300);OE3=0;} break;case 4: //設置日閃爍 { OE4=1;delay(300);OE4=0;} break;case 5: //設置月閃爍 { OE5=1;delay(300);OE5=0;} break;case 6: //設置年閃爍 { OE6=1;OE8=1;delay(300);OE6=0;OE8=0;} break;case 7: //設置星期閃爍 { OE7=1;delay(200);OE7=0;} break;case 8: //設置鬧鐘閃爍 { OE2=1;OE3=1;delay(200);OE2=0;OE3=0;} break;} } TR0=1;} //-----------void time1()interrupt 3 // 定時器 1 中斷 { TR1=0;//先關定時器 TH1=(65536-20000)/256;TL1=(65536-20000)%256;//-if(K1==0){ delay(10);if(K1==0){ set++;if(set==9){ set=0;write_1302(0x80,miao);//設置初始值 SEC write_1302(0x82,fen);//設置初始值 MIN write_1302(0x84,shi);//設置初始值 HR write_1302(0x86,date);//設置初始值 DATE write_1302(0x88,month);// 設置初始值 MONTH write_1302(0x8A,day);//設置初始值 DAY write_1302(0x8C,year_data);//設置初始值 YEAR } t=50000;while((!K1)&&t){ t--;} } } //-------if(K2==0){ delay(10);if(K2==0){ switch(set){ case 1: { miao++;if((miao&0x0f)>0x09){ miao+=0x10;miao&=0xf0;} if(miao==0x60){ miao=0x00;} write_595(miao);ST_CP1=0;ST_CP1=1;ST_CP1=0;} break;case 2: { fen++;if((fen&0x0f)>0x09){ fen+=0x10;fen&=0xf0;} if(fen==0x60){ fen=0x00;} ST_CP2=0;ST_CP2=1;ST_CP2=0;} break;case 3: { if((read_1302(0x85)&0x80)==0x00){ shi++;if((shi&0x0f)>0x09){ shi+=0x10;shi&=0xf0;} if(shi==0x24)//24 小時制 { shi=0x00;} } else { shi=(shi|0x80)+1;if((shi&0x0f)>0x09){ shi+=0x10;shi&=0xf0;} if(shi==0x12)//12 小時制 { shi=0X80;} } write_595(shi);//顯示時 ST_CP3=0;ST_CP3=1;ST_CP3=0;} break;case 4: { date++;if((date&0x0f)>0x09){ date+=0x10;date&=0xf0;} if((date==0x32)&&((month==0x01)||(month==0x03)||(month==0x05)||(month ==0x07)||(month==0x08)||(month==0x10)||(month==0x12))){ date=0x01;} else if((date==0x31)&&((month==0x04)||(month==0x06)||(month==0x09)||(month ==0x11))){ date=0x01;} else if((date==0x29)&&(month==0x02)&&((year_data|read_1302(0x8d))%100!=0)& &((year_data|read_1302(0x8d))%400!=0)){ date=0x01;} else if((date==0x30)&&(month==0x02)&&((year_data|read_1302(0x8d))%100==0)& &((year_data|read_1302(0x8d))%400==0)){ date=0x01;} write_595(date);ST_CP4=0;ST_CP4=1;ST_CP4=0;} break;case 5: { month++;if((month&0x0f)>0x09){ month+=0x10;month&=0xf0;} if(month==0x13){ month=0x01;} write_595(month);ST_CP5=0;ST_CP5=1;ST_CP5=0;} break;case 6: { year_data++;if((year_data&0x000f)==0x0a){ year_data+=0x0010;year_data&=0xfff0;} if((year_data&0x00ff)==0xa0){ year_data+=0x0100;//向前進 1 year_data&=0xff00;//后面尾數歸 0 } write_595(year_data);ST_CP6=0;ST_CP6=1;ST_CP6=0;write_595(year_data>>8);ST_CP8=0;ST_CP8=1;ST_CP8=0;} break;case 7: { day++;if((day&0x0f)==0x08){ day=0x01;} write_595(xingqi[day]);ST_CP7=0;ST_CP7=1;ST_CP7=0;} break;} t=50000;while((!K2)&&t){ t--;} } } //-------------------------if(K3==0){ delay(10);if(K3==0){ switch(set){ case 1: { miao--;if((miao&0x0f)==0x0F){ miao&=0xf9;//減到 0 后,再減一次就歸 0, } if(miao==0xF9)//當全部減到 00 時,再 減一次就為 59 { miao=0x59;} write_595(miao);ST_CP1=0;ST_CP1=1;ST_CP1=0;} break;case 2: { fen--;if((fen&0x0f)==0x0F){ fen&=0xf9;} if(fen==0xF9){ fen=0x59;} write_595(fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;} break;case 3: { if((read_1302(0x85)&0x80)==0x00){ shi--;if((shi&0x0f)==0x0F){ shi&=0xf9;} if(shi==0xF9)//24 小時制 { shi=0x23;} } else { shi=(shi|0x80)-1;if((shi&0x0f)==0x0F){ shi&=0xf9;} ST_CP4=0;} break;case 5: { month--;if((month&0x0f)==0x0F){ month&=0xf9;} if(month==0x00){ month=0x12;} write_595(month);ST_CP5=0;ST_CP5=1;ST_CP5=0;} break;case 6: { year_data--;if((year_data&0x000f)==0x0F){ year_data&=0xfff9;} if((year_data&0x00f0)==0xF0){ year_data&=0xf999;} write_595(year_data);ST_CP6=0;ST_CP6=1;ST_CP6=0;write_595(year_data>>8);ST_CP8=0;ST_CP8=1;ST_CP8=0;} break;case 7: { day--;if((day&0x0f)==0x00){ day=0x07;} write_595(xingqi[day]);ST_CP7=0;ST_CP7=1;ST_CP7=0;} break;} t=50000;while((!K3)&&t)//松手檢測 { t--;} } } //---switch(set){ case 8: { if(K4==0){ delay(10);if(K4==0){ if((read_1302(0x85)&0x80)==0x00){ set_shi++;if((set_shi&0x0f)>0x09){ set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x24)//24 小時制 { set_shi=0x00;} } else { set_shi=(set_shi|0x80)+1;if((set_shi&0x0f)>0x09){ set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x12)//12 小時制 { set_shi=0X80;} write_595(set_shi);// 顯示鬧 鐘的時 ST_CP3=0;ST_CP3=1;ST_CP3=0;t=50000;while((!K4)&&t){ t--;} } } //----if(K5==0){ delay(10);if(K5==0){ set_fen++;if((set_fen&0x0f)>0x09){ set_fen+=0x10;set_fen&=0xf0;}
if(set_fen==0x60)
{
set_fen=0x00;
} write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;t=50000;while((!K5)&&t){ t--;} } set_shi+=0x10;set_shi&=0xf0;} if(set_shi==0x12)//12 小時制 { set_shi=0X80;} write_595(set_shi);// 顯示鬧 鐘的時 ST_CP3=0;ST_CP3=1;ST_CP3=0;t=50000;while((!K4)&&t){ t--;} } } //----if(K5==0){ delay(10);if(K5==0){ set_fen++;if((set_fen&0x0f)>0x09){ set_fen+=0x10;set_fen&=0xf0;}
if(set_fen==0x60)
{
set_fen=0x00;
} write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;t=50000;while((!K5)&&t){ t--;} } } } } //------------------------if(((K4==0)||(K5==0))&&(set==0)){ delay(10);if(((K4==0)||(K5==0))&&(set==0)){ write_595(set_shi);//顯示鬧鐘的時 ST_CP3=0;ST_CP3=1;ST_CP3=0;write_595(set_fen);ST_CP2=0;ST_CP2=1;ST_CP2=0;P1=0XF9;while((!K4)||(!K5));P1=0X00;} } //----------TR1=1;//退出時開定時器 } } //----------
第四篇:單片機原理與應用考試大綱
文章標題:單片機原理與應用考試大綱
第一章微型計算機基礎
一、考核知識點:
1、計算機的數據表示和數據運算
2、計算機的各種編碼
3、計算機的組成及工作過程
二、考核要求:
1、識記計算機的各種編碼
2、領會計算機的組成及工作過程
3、簡明應用計算機的數據表示和數據運算
第二章51單片機的硬件結構和原理
一、考核知識點:
1、單片機的發展史及各方面的應用2、51單片機的分類和內部結構
3、單片機的引腳和功能
4、單片機工作的時序
二、考核要求:
1、識記單片機的發展史及各方面的應用
2、識記單片機的引腳和功能
3、領會單片機工作的時序
4、簡明應用51單片機的分類和內部結構
第三章51單片機指令系統
一、考核知識點:
1、單片機的尋址方式
2、單片機的指令系統
3、助記符指令和二進制代碼指令的異同
二、考核要求:
1、領會助記符指令和二進制代碼指令的異同
2、綜合應用單片機的尋址方式
3、綜合應用單片機的指令系統
第四章匯編語言程序設計
一、考核知識點:
1、偽指令
2、匯編語言設計技巧
3、匯編語言到機器語言的編譯過程
二、考核要求:
1、領會偽指令
2、簡明應用匯編語言設計技巧
3、綜合應用匯編語言到機器語言的編譯過程
第五章51單片機的中斷系統
一、考核知識點:
1、中斷基本概念
2、中斷系統的程序編制
3、中斷系統的初步應用
二、考核要求:
1、領會中斷基本概念
2、簡明應用中斷系統解決工程問題
3、綜合簡明應用中斷系統的程序編制
第六章51單片機的內部定時器/計數器及串行接口
一、考核知識點:
1、單片機內部定時器/計數器的結構及工作原理
2、定時器/計數器的程序編制
3、定時器/計數器的初步應用
4、串行口的基本概念
5、串行口的程序編制
6、串行口的初步應用
二、考核要求:
1、識記串行口的基本概念
2、領會單片機內部定時器/計數器的結構及工作原理
3、簡明應用定時器/計數器解決工程問題
4、簡明應用串行口的程序編制
5、簡明應用串行口解決工程問題
6、綜合應用定時器/計數器的程序編制
第七章單片機的系統擴展與接口技術
一、考核知識點:
1、單片機外部總線的擴展
2、外部存儲器的擴展
3、I/O接口的擴展
4、管理功能部件的擴展
5、A/D和D/A接口功能的擴展
二、考核要求:
1、識記單片機外部總線的擴展
2、識記管理功能部件的擴展
3、簡明應用A/D和D/A接口功能的擴展
4、綜合應用外部存儲器的擴展
5、綜合應用I/O接口的擴展
第八章單片機應用系統設計
一、考核知識點:
1、單片機應用系統的開發過程
2、單片機開發工具的分類和使用
3、單片機應用系統的軟件和硬件調試過程
二、考核要求:
1、識記單片機應用系統的軟件和硬件調試過程
2、領會單片機應用系統的開發過程
3、領會單片機開發工具的分類和使用
第九章單片機系統的抗干擾技術
一、考核知識點:
1、單片機干擾源與分類
2、干擾對單片機系統的影響
3、硬件抗干擾技術
4、軟件抗干擾技術
5、數字濾波
二、考核要求:
1、識記單片機干擾源與分類
2、識記干擾對單片機系統的影響
3、識記數字濾波
4、簡明應用硬件抗干擾技術
5、簡明應用軟件抗干擾技術
第十章其它單片機簡介
一、考核知識點:
1、AT89C系列單片機的特點與性能
2、其它8位單片機的特點與性能3、16位、32位單片機的特點與性能
二、考核要求:
1、識記其它8位單片機的特點與性能
2、識記16位、32位單片機的特點與性能
3、領會AT89C系列單片機的特點與性能
《單片機原理及應用技術》考試大綱
《單片機原理及應用技術》課程是一門面向應用的專業技術課。單片機原理與應用介紹了單片機的基本知識和單片機技術的應用,其內容與工程實際緊密聯系,實用性很強,是一門在理論指導下,偏重于實際應用的課程。本課程具有實用性強、理論和實踐結合、軟硬件結合等特點。本課程圍繞使用較為廣泛的MCS-51系列單片機進行學習。本課程已成為理、工科電子類專業的一門基礎課程,這是從電子系統設計角度考慮的,它體現了電子系統設計的方法和硬件結構的變化。通過該課程的學習,要求學生掌握80C51單片機的工作原理、編程技術,掌握單片機應用系統的擴展方法和實際應用。因此,以單片機為內核,分析和設計一個簡單的計算機應用系統是我們學習本課程要達到的目的。
第一部分考試大綱
1單片機概述
本章為單片機的基本概念。
1.掌握有關單片機的基本概念、單片機的特點、單片機的應用。
2.理解單片機的總體組成。
3.了解單片微型計算機的產生、發展歷史、主要品種及系列。
2單片機結構和原理
本章以80C51單片機為例介紹了主要硬件結構和主要功能,著重掌握系統所提供的資源特性及其功能特性。
1.掌握80C51的內部結構。
2.掌握80C51單片機的存儲器組成。
3.掌握單片機并行輸入/輸出端口結構及功能。
4.了解單片機的時序概念和復位工作方式。
5.掌握單片機引腳功能
3指令系統
1.掌握指令與偽指令的正確格式。
2.掌握七種尋址方式的使用及尋址方式的含義。
3.掌握五類指令的功能和使用,特別是傳送指令。
4.理解書中所列例題與習題。
4匯編語言程序設計舉例
本章為MCS-51的一些常用偽指令,介紹順序結構程序設計、分支結構程序設計、循環結構程序設計和子程序的設計。
1.程序設計的基本步驟、各種基本的結構化程序設計方法;讀懂較復雜的常用程序。
2.掌握數據傳送指令的編寫。
3.理解算術運算程序設計。
4.理解數碼轉換程序設計。
5.理解查表程序設計。
6.理解子程序設計和參數傳遞。
7.理解邏輯運算程序設計
5中斷系統
1.掌握有關中斷、中斷源、中斷優先級等概念。
2.掌握中斷響應過程。
3.掌握中斷優先級排列。
4.掌握中斷允許寄存器IE、中斷優先級寄存器IP各位的含義及設置。
5.掌握外部中斷的兩種觸發方式:電平觸發、邊沿觸發。
6定時/計數器
1.掌握定時器/計數器的四種工作方式及有何不同。
2.掌握TMOD和TCON中各位的含義、作用。
4.掌握不同工作方式計數初值與定時時間的關系,即能根據定時時間算出計數初值,完成定時器的初始化編程和簡單應用編程。
7串行通信
1.理解有關通信、協議的概念。
2.理解串行口的四種工作方式。
3.掌握SBUF的含義及作用。
4.了解串行口的工作原理。
5.了解SCON中每一位的含義及SMOD位的作用。
6.掌握串行通信總線RS-232C標準、RS-232C電平轉換。
7.了解RS-232C與MCS-51的接口。
8系統擴展技術
1.掌握總線、驅動、鎖存和譯碼、地址重疊的概念。
2.掌握程序存儲器的擴展:EPROM程序存儲器及其擴展方法。
3.掌握數據存儲器的擴展:靜態存儲器SRAM及其擴展方法。
4.掌握簡單I/O口的擴展。
5.掌握8255A可編程并行接口:結構、控制字、工作方式、與8255A的接口方法。
9A/D和D/A轉換器接口技術
1.掌握DAC0832與單片機的接口方法與編程。
2.掌握ADC0809與單片機的接口方法與編程。
10鍵盤/顯示接口技術
1.掌握LED顯示器結構、工作原理和顯示方式。
2.掌握鍵盤接口原理。
3.理解LED顯示器與80C51單片機接口。
4.理解鍵輸入程序設計方法。
5.了解行列式鍵盤與80C51單片機接口。
11、功率接口技術
1.掌握簡單開關量接口、光電耦合接口和繼電器接口。
2.晶閘管與故態繼電器的應用接口。
12、單片機系統設計技術
掌握單片機系統的設計、開發、調試的原則、步驟及方法。
13、實用舉例
了解一兩個典型的單片機開發應用系統的設計思想和實現方法。
14、新型單片機介紹
了解MCS-51常見8位單片機。
第二部分考試考核改革方案
一、考試考核要求
《單片機技術及應用》選擇具有代表性的、使用較為廣泛的MCS-51系列單片機進行學習(具體以80C51為例),介紹了80C51單片機的硬件組成、軟件編程及一般應用系統組成。通過本課程的學習,要求掌握80C51單片機的系統結構、指令系統、程序設計方法、系統擴展方法、單片機常用接口等應用技術。本課程的教學過程由面授輔導、自學、實驗及作業四個環節組成,因此本課程考試考核要求為:
1.作業、實驗成績與期末考試成績共同評定為課程總成績。
2.作業、實驗占課程總分的60,期末理論考試占總分的40。
為使學生不把注意力僅僅放在期末考試上,培養學生系統學習的能力,加強學生各方面能力的培養,平時、實驗課、作業、考試都納入本課程的成績評定。平時的成績包括出勤、課堂提問和隨堂測試。期末考試可以選擇筆試、口試和進行實際實驗、設計等多種形式。
二、平時成績考核要求及說明
1.每章作業按要求完成后交教師批改,完成作業80為12分(及格);所有作業均完成,且質量較好者,20分(滿分)。中間情況酌情給分。
2.每次實驗均能按照教師安排進行,實驗態度好,至少完成5個實驗且實驗報告完整,為18分(及格);能基本獨立完成6個或以上實驗,實驗報告完整、無誤,實驗質量高,30分(滿分)。中間情況酌情給分。如果實驗有創新的特點,酌情加分。
3.作業與實驗的平均分為平時成績,滿分50分。
4.課程設計單獨計算成績,考評方法見其大綱。
三、理論考試說明
1.單片機技術及應用理論考試,采用閉卷筆試形式,考試時間120分鐘。
2.期末考試試題根據教學大綱,其范圍和難度按照本方案中制訂的考試考核內容和要求確定。考試命題覆蓋考試大綱要求范圍。
3.期末考試試題類型有以下幾種:
①填空題;
②選擇題;
③判斷題;
④簡答題
⑤綜合應用題。
四、考試考核要求層次
按照教學大綱的要求,理論考試要求分為掌握、理解和了解三個層次。
掌握:
對于本課程的重點內容要求學生達到掌握的程度。即能夠全面、深入理解和熟練掌握所學內容,并能夠用其分析、初步設計和解答與應用相關的問題,能夠舉一反三。要求學生掌握的內容也就是考試的主要內容,在考試中所占比例約70。
理解:
對于本課程的一般內容要求學生能夠理解。即要求學生能夠較好地理解所學內容,并且對所涉及的內容能夠進行簡單分析和判斷。要求學生理解的內容也是考試的內容,在考試中所占比例約25。
了解:
對于本課程的次要內容要求學生能夠了解。要求學生了解的內容,一般是指在眼下不必進一步深入和擴展,有些也許需要學生自己今后在工作中進行深入研究。對要求了解的內容,在考試中占較小比例,不超過5。
實驗五:按鍵電路、顯示電路實驗
一、實驗目的:
1.掌握獨立式按鍵電路與矩陣式按鍵電路的設計方法。
2.掌握數碼管顯示電路的工作原理
3.掌握源程序編輯軟件UltraEdit,編譯軟件KeilC51、仿真軟件Proteus的使用方法
4.掌握硬件仿真器ME-52A的使用方法
二、實驗器材:
1.單片機實驗板
2.單片機硬件仿真器ME-51A
3.計算機
4.電源
三、實驗要求:
1.電路如圖5所示,用單片機的P3口所接的四個獨立式按鍵控制p1口流水燈花樣的方法;具體表現為:p3.0、P3.1、P3.2、P3.3四個小按鍵分別實現了四個控制:
(1)跑燈:即P1.0---1.7亮點流動:
(2)流水燈:即P1.0-1.7依次點亮
(3)交叉閃爍:即P0.0,P0.2,P0.4,P0.6和P0.1,P0.3,P0.5,P0.7輪流點亮
(4)停止;在任何狀態下按此鍵程序停止運行.
2.電路如圖6所示,用P2口所接的4×4矩陣式鍵盤作為輸入,在P1口所接的數碼管上顯示出每個按鍵的0~F序號,鍵盤的布局如下表所示:
F
E
D
C
B
A
9876543210
四、實驗原理:
1.獨立式按鍵電路顯示如圖5所示,從圖中可看出,判斷有無鍵按下,只要檢測P3.0~P3.3相應端口的高低電平即可,若檢測有某一端口為低電平,表明該端口有按鍵按下,經延時消抖后轉去執行相應的功能子程序。若為高電平,表明無鍵按1.獨立式按鍵電路如圖5所示,下,繼續檢測。
示例程序如下:
ORG000H
LJMPSTAR1
ORG0030H
STAR1:MOVP3,#0FFH;置P3口為輸入態
JNBP3.0,FUN0;判別P3.0是否有鍵按下,是,則轉FUN0
JNBP3.1,FUN1;判別P3.1是否有鍵按下,是,則轉FUN1
JNBP3.2,FUN2;判別P3.2是否有鍵按下,是,則轉FUN2
JNBP3.3,FUN3;判別P3.3是否有鍵按下,是,則轉FUN3
JNBF0,STAR1;曾經有鍵按下F0置1
RET
圖
5
FUN0:LCALLDL10MS;消岸抖動
JBP3.0,STAR1
WAITL0:JNBP3.0,WAITL0;等待鍵釋放
SETBF0
FUN01:LCALLFUN00
LCALLSTAR1
LJMPFUN01
FUN1:LCALLDL10MS;消岸抖動
JBP3.1,STAR1
WAITL1:JNBP3.1,WAITL1;等待鍵釋放
SETBF0
FUN10:LCALLFUN11
LCALLSTAR1
LJMPFUN10
FUN2:LCALLDL10MS;消岸抖動
JBP3.2,STAR1
WAITL2:JNBP3.2,WAITL2;等待鍵釋放
SETBF0
FUN20:LCALLFUN22
LCALLSTAR1
LJMPFUN20
FUN3:LCALLDL10MS;消岸抖動
JBP3.3,STAR1
WAITL3:JNBP3.3,WAITL3;等待鍵釋放
CLRF0
MOVP1,#0FFH;關顯示
LJMPSTAR1
FUN00:MOVA,#0FEH;跑燈子程序
FUN000:MOVP1,A
LCALLDL05S
JNBACC.7,OUT
RLA
AJMPFUN000
OUT:RET
FUN11:MOVA,#0FEH;流水燈子程序
FUN111:MOVP1,A
LCALLDL05S
JZOUT
RLA
ANLA,P1
AJMPFUN111
FUN22:MOVA,#0AAH;交叉點亮子程序
MOVP1,A
LCALLDL30S
CPLA
MOVP1,A
LCALLDL30S
RET
;************;
;延時程序;
;************;
DL512:MOVR2,#0FFH
LOOP1:DJNZR2,LOOP1
RET
DL10MS:MOVR3,#14H
LOOP2:LCALLDL512
DJNZR3,LOOP2
RET
DL05S:MOVR4,#0AH
LOOP3:LCALLDL10MS
DJNZR4,LOOP3
RET
DL30S:MOVR5,#03H
LOOP4:LCALLDL05S
DJNZR5,LOOP4
RET
END
2.矩陣式按鍵電路顯示如圖6所示。采用掃描方式進行按鍵的識別檢測,并將對應按鍵的鍵號用查表指令將對應的代碼顯示在數碼管上。
圖6
參考程序如下:
ORG0000H
LJMPSTART
ORG0030H
START:MOVSP,#60H;設置堆棧指針
SCAN:MOVR3,#0F7H;置行掃描初值
MOVR1,#00H;到TABLE表中取碼的指針
SCAN1:MOVA,R3
MOVP2,A;掃描輸出
MOVA,P2;重讀P2口狀態
MOVR4,A;暫存于R4呂中
SETBC;C=1
MOVR5,#03H;掃描4列初值
L1:RLCA;A中內容循環左移
JNCKEYIN;C=0,有鍵按下,轉消抖
INCR1;取碼指針加1
DJNZR5,L1;無鍵按下,繼續檢測
MOVA,R3;掃描下一行
SETBC
RRCA
MOVR3,A
JCSCAN1;4行是否掃描完,未完,繼續
LJMPSCAN
KEYIN:MOVR7,#10;削除抖動
D2:MOVR6,#248
DJNZR6,$
DJNZR7,D2
D3:MOVA,P2;按鍵放開否?
XRLA,R4
JZD3
MOVA,R1
MOVDPTR,#TABLE;到TABLE中取碼
MOVCA,@A DPTR
MOVP1,A
LJMPSCAN
TABLE:DB0C0H,0F9H,0A4H,0B0H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
END
DB80H,90H,88H,83H
DB0C6H,0A1H,86H,8EH
END
五、實驗步驟:
1.運行UltraEdit-32源程序編輯軟件,輸入、編輯匯編語言源程序。
2.運行KeiluVision2源程序編譯軟件,對源程序進行編譯,得到目標代碼文件。
3.運行Proteus模擬仿真軟件,打開已繪制好的仿真電路原理圖,進行模擬仿真。
4.把硬件仿真器ME-52A與單片實驗板連接好,再用硬件仿真器進行仿真驗證。
六、實驗分析與總結
1.用仿真系統調試簡單程序結構、分支程序結構、循環程序結構、子程序結構和中斷結構的關鍵在于,如何將對程序的分析理解和開發系統提供的基本功能有機地結合起來,其前提條件是必須對源程序的作用、結構特點、運行過程與結果有較全面的認識,并能根據程序運行過程中出現的現象和結果分析并判斷產生各種故障現象的原因,再運用排除法逐一檢驗各種判斷是否準確。
2.掌握程序結構特點的基礎上,合理選擇觀測點,通過觀察在觀測點處參數及路徑的變化檢驗程序運行的結果。
3.高調試程序的效率,應對單片機開發系統所提供的幾種程序運行調試方式有足夠的了解并能熟練地運用。例如,在調試過程中,若要觀察最終結果,則可選擇全速運行調試;若要觀察相關指令的運行結果或運行路徑的變化過程,則可選擇單步運行;若要檢查子程序的運行過程,則可選擇跟蹤運行調試;若要檢查循環程序或中斷服務程序,則可選擇斷點運行調試;若要定點檢查程序運行到某處的結果時,則可選擇快速運行到光標處調試。但實際中究竟選用哪種方法更適宜或哪幾種方法結合使用更快捷,將隨著分析能力與操作的熟練程度逐步提高。
4.程序運行結果是否正確時,應運用單片機開發系統所提供的交互界面,將程序運行過程中程序計數器PC(地址)的變化、各單元(內部RAM和外部RAM)內容的變化、特殊功能寄存器內容的變化、堆棧指針SP內容的變化與程序的理論分析結果相對照。
5.程序和調試程序時,需要多次反復的過程,并非一次就能排除全部故障,特別是單片機應用系統的硬件電路和匯編程序相結合的綜合調試就更加復雜,因此,必須通過反復調試,不斷修改硬件和軟件,直到最終符合設計要求為止。如果在調試中能夠根據實驗現象預先對產生故障的原因加以判斷和分析,并制定出相應的調試方法和步驟,可縮小排除故障的范圍,提高調試效率。
七、思考與練習
填空題
1、設X=5AH,Y=36H,則X與Y“或”運算為__7EH_______,X與Y的“異或”運算為___6CH_____。
2、若機器的字長為8位,X=17,Y=35,則X+Y=__110100_____,X-Y=_11101110______(要求結果寫出二進制形式)。
3、單片機的復位操作是____高電平______(高電平/低電平),單片機復位后,堆棧指針SP的值是___07h_____。
4、單片機中,常用作地址鎖存器的芯片是__74HC373____________,常用作地址譯碼器芯片是_____74HC138____________。
5、若選擇內部程序存儲器,應該設置為_____高_______(高電平/低電平),那么,PSEN信號的處理方式為___不用__________________。
6、單片機程序的入口地址是____0000H__________,外部中斷1的入口地址是______0013H_________。
7、若采用6MHz的晶體振蕩器,則MCS-51單片機的振蕩周期為__0.5us_______,機器周期為_____2us__________。
8、外圍擴展芯片的選擇方法有兩種,它們分別是___線選法_______________和_____譯碼法__________。
9、單片機的內部RAM區中,可以位尋址的地址范圍是____20H~2FH______________,特殊功能寄存器中,可位尋址的地址是___是能被8整除的地址_________________。
10、子程序返回指令是___ret______,中斷子程序返回指令是__reti。
11、8051單片機的存儲器的最大特點是內部RAM與外部RAM分開編址。
12、8051最多可以有32個并行輸入輸出口,最少也可以有8個并行口。
13、函數是C語言的基本單位。
14、串行口方式2接收到的第9位數據送SCON寄存器的RB8位中保存。
15、MCS-51內部提供3個可編程的16位定時/計數器,定時器有4種工作方式。
16、一個函數由兩部分組成,即說明部分和語句部分。
17、串行口方式3發送的第9位數據要事先寫入SCON寄存器的TB8位。
18、利用8155H可以擴展3個并行口,256個RAM單元。
19、C語言中輸入和輸出操作是由庫函數scanf和printf等函數來完成。
二、選擇題
1、C語言中最簡單的數據類型包括(B)。
A、整型、實型、邏輯型B、整型、實型、字符型
C、整型、字符型、邏輯型D、整型、實型、邏輯型、字符型
2、當MCS-51單片機接有外部存儲器,P2口可作為(C)。
A、數據輸入口B、數據的輸出口
C、準雙向輸入/輸出口D、輸出高8位地址
3、下列描述中正確的是(D)。
A、程序就是軟件B、軟件開發不受計算機系統的限制
C、軟件既是邏輯實體,又是物理實體D、軟件是程序、數據與相關文檔的集合4、下列計算機語言中,CPU能直接識別的是(D)。
A、自然語言B、高級語言C、匯編語言D、機器語言
5、MCS-5l單片機的堆棧區是設置在(C)中。
A、片內ROM區B、片外ROM區C、片內RAM區D、片外RAM區
6、以下敘述中正確的是(C)。
A、用C語言實現的算法必須要有輸入和輸出操作
B、用C語言實現的算法可以沒有輸出但必須要有輸入
C、用C程序實現的算法可以沒有輸入但必須要有輸出
D、用C程序實現的算法可以既沒有輸入也沒有輸出
7、定時器/計數器工作方式1是(D)。
A、8位計數器結構B、2個8位計數器結構
C、13位計數結構D、16位計數結構
8、C語言提供的合法的數據類型關鍵字是(B)。
A、DoubleB、shortC、integerD、Char9、片內RAM的20H~2FH為位尋址區,所包含的位地址是(B)。
A、00H~20HB、00H~7FHC、20H~2FHD、00H~FFH10、以下能正確定義一維數組的選項是(B)。
A、inta[5]={0,1,2,3,4,5};B、chara[]={0,1,2,3,4,5};
C、chara={'A','B','C'};D、inta[5]=“0123”;
11、數據的存儲結構是指(D)。
A、存儲在外存中的數據B、數據所占的存儲空間量
C、數據在計算機中的順序存儲方式D、數據的邏輯結構在計算機中的表示
12、下列關于棧的描述中錯誤的是(C)。
A、棧是先進后出的先性表B、棧只能順序存儲
C、棧具有記憶作用D、對棧的插入和刪除操作中,不需要改變棧底指針
13、在寄存器間接尋址方式中,間址寄存器中存放的數據是(B)。
A、參與操作的數據B、操作數的地址值
C、程序的轉換地址D、指令的操作碼
14、MCS-51單片機的復位信號是(A)有效。
A、高電平B、低電平C、脈沖D、下降沿
15、為了使模塊盡可能獨立,要求(B)。
A、模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量強
B、模塊的內聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C、模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D、模塊的內聚程度要盡量低,且各模塊間的耦合程度要盡量強
16、若MCS-51單片機使用晶振頻率為6MHz時,其復位持續時間應該超過(B)。
A、2μsB、4μsC、8μsD、1ms17、以下選項中可作為C語言合法常量的是(A)
A、-80B、-080C、-8e1.0D、-80.0e18、能夠用紫外光擦除ROM中程序的只讀存儲器稱為(C)。
A、掩膜ROMB、PROMC、EPROMD、EEPROM19、以下不能定義為用戶標識符是(D)。
A、MainB、_0C、_intD、sizeof20、下選項中,不能作為合法常量的是(B)。//冪不能為小數
A、1.234e04B、1.234e0.4C、1.234e 4D、1.234e021、以下敘述中錯誤的是(C)
A、對于double類型數組,不可以直接用數組名對數組進行整體輸入或輸出
B、數組名代表的是數組所占存儲區的首地址,其值不可改變
C、當程序執行中,數組元素的下標超出所定義的下標范圍時,系統將給出“下標越界”的出錯信息
D、可以通過賦初值的方式確定數組元素的個數
22、以下與函數fseek(fp,0L,SEEK_SET)有相同作用的是(D)
A、feof(fp)B、ftell(fp)C、fgetc(fp)D、rewind(fp)
23、存儲16×16點陣的一個漢字信息,需要的字節數為(A)
A、32B、64C、128D、25624、已知1只共陰極LED顯示器,其中a筆段為字形代碼的最低位,若需顯示數字1,則它的字形代碼應為(B)。
A、06HB、F9HC、30HD、CFH25、在C語言中,合法的長整型常數是(A)
A、OLB、4962710C、324562&D、216D26、以下選項中合法的字符常量是(B)
A、“B”B、’ 主站蜘蛛池模板: 99久久精品费精品国产| 黑人大战日本人妻嗷嗷叫不卡视频| 正在播放国产乱子伦最新视频| 国产精品欧美成人| 国产精品欧美一区二区三区| 精品一区二区三区在线观看视频| 蜜臀av999无码精品国产专区| 亚洲人成色7777在线观看不卡| 青草av久久一区二区三区| 久久偷偷做嫩草影院免费看| 久久免费精品视频| 国产精品爱久久久久久久| 国产精品 视频一区 二区三区| 亚洲成人小说| 大乳丰满人妻中文字幕日本| 免费中文熟妇在线影片| 色诱视频在线观看| 国产人妻人伦精品无码麻豆| 精品无码三级在线观看视频| 人妻无码中文字幕一区二区三区| 老熟女高潮一区二区三区| 99精品热这里只有精品| 日产中文字幕在线观看| 免费视频欧美无人区码| 春色校园综合人妻av| 人妻中文字幕av无码专区| 无码人妻一区二区三区在线视频| 国产欧美一区二区精品性色| 日本三级欧美三级人妇视频| 国产av丝袜一区二区三区| 久久天天躁狠狠躁夜夜2020一| 日本乱偷互换人妻中文字幕| 99精品人妻无码专区在线视频区| 欧美精品一区二区性色a+v| 久久中文字幕无码一区二区| 大地资源网高清在线播放| 国产做爰xxxⅹ久久久精华液| 又湿又紧又大又爽a视频| 欧美男男大粗吊1069| 国产成人亚洲综合app网站| 亚洲国产欧美国产综合久久|