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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課 程 設 計</p><p>  課程設計題目: 兩路模擬量采樣與顯示</p><p><b>  一、設計目的</b></p><p>  通過課程設計使學生更進一步掌握單片機原理及應用課程的有關知識,提高應用單片機解決問題的能力,加深對單片機應用的理解。通過查閱資料,結合所學知識進行軟、硬件的設計,使學生初步掌

2、握應用單片機解決問題的步驟及方法。為以后學生結合專業(yè)從事單片機應用奠定基礎。</p><p>  二、設計的原始資料及依據(jù)</p><p>  利用實驗系統(tǒng)的ADC0809、8155及LED顯示器來進行設計。</p><p>  三、設計的主要內容及要求</p><p>  1.不斷地循環(huán)采樣兩路模擬量,將轉換成的數(shù)字量通過LED顯示器時時顯

3、示出來。</p><p>  2.用一個開關來選擇、切換兩路模擬信號的輸入。</p><p>  四、對設計說明書撰寫內容、格式、字數(shù)的要求 </p><p>  1.課程設計說明書(論文)是體現(xiàn)和總結課程設計成果的載體,一般不應少于3000字。</p><p>  2.學生應撰寫的內容為:目錄、正文、參考文獻等。課程設計說明書(論文)的結

4、構及各部分內容要求可參照《沈陽工程學院畢業(yè)設計(論文)撰寫規(guī)范》執(zhí)行。應做到文理通順,內容正確完整,書寫工整,裝訂整齊。</p><p>  3.說明書(論文)手寫或打印均可。手寫要用學校統(tǒng)一的課程設計用紙,用黑或藍黑墨水工整書寫;打印時按《沈陽工程學院畢業(yè)設計(論文)撰寫規(guī)范》的要求進行打印。</p><p>  4. 課程設計說明書(論文)裝訂順序為:封面、任務書、成績評定表、目錄、正

5、文、參考文獻。</p><p>  五、 設計完成后應提交成果的種類、數(shù)量、質量等方面的要求;</p><p>  提交課程設計說明書一份。在說明書中要有設計原理、硬件電路接線圖、設計的程序及必要注釋、程序流程圖等。</p><p><b>  六、時間進度安排;</b></p><p>  七、主要參考資料(文獻)&l

6、t;/p><p>  〔1〕MCS-51單片機原理及應用教程 清華大學出版社 劉迎春 主編</p><p>  〔2〕圖解 單片機應用技術要訣 中國電力出版社 劉修文 編著</p><p>  〔3〕例說8051  人民郵電出版社  張義和/陳敵北等 編著</p><p><b>  目錄</b></p&

7、gt;<p> ?。ㄒ唬?設計思路……………………………………………………….2</p><p>  (二) 功能介紹……………………………………………………….3</p><p>  1、初始化各緩沖區(qū)……………………………………………3</p><p>  2、主程序與選擇傳輸?shù)牟蓸油ǖ馈?3</p><p&g

8、t;  3、拆字程序部分……………………………………………….4</p><p>  4、動態(tài)顯示部分……………………………………………….5</p><p>  5、延時部分…………………………………………………….6</p><p> ?。ㄈ?程序流程圖…………………………………………………….7</p><p>  1、主程序流程圖…

9、…………………………………………….7</p><p>  2、A/D轉換程序流程圖……………………………………….8</p><p>  3、顯示子程序流程圖…………………………………………9</p><p>  (四) 程序清單………………………………………………………..10</p><p>  (五) 器件說明………………………………

10、………………………..13</p><p> ?。?主要參考文獻…………………………………………………14</p><p>  (六) 硬件連接圖…………………………………………………….15</p><p><b> ?。ㄒ唬┰O計思路</b></p><p>  此次實訓我們的設計的課題是:兩路模擬量采樣與顯示。即

11、通過A/D轉換把模擬信號轉換成數(shù)字信號,最后把采集到的信號以十六進制的形式在LED顯示器上顯示出來。在程序設計中我們用了子程序調用指令,調用了拆字子程序,顯示子程序,同時也用到了延時程序等。延時程序是為了給A/D轉換器提供足夠的轉換時間。</p><p>  首先向8155控制口寫入控制字03H,定義8155A口。B口為基本輸出,C口為輸入。將顯示緩沖區(qū)20H~25H清零,選擇0FF60H通道,把單片機8031的

12、P1.0口與開關相連,實現(xiàn)通道0/1的選擇,選中通道后啟動A/D轉換。</p><p>  通過A/D轉換器把模擬信號轉換為數(shù)字信號,把轉換后的信號采集并存儲到8031單片機的某個存儲單元中,便于把它調用出來。為了把采集到的數(shù)據(jù)能夠動態(tài)的在LED顯示器上顯示出來,選用了8155,通過它控制把采集到的信號以十六進制的形式動態(tài)顯示出來。</p><p>  因為A/D轉換器ADC0809有八個

13、模擬信號輸入通道,我們選擇了其中的IN0和IN1兩個通道,為了實現(xiàn)對兩路通道的控制,選用了8031的P1.0口作為控制口,當P1.0為低電平時,選擇對通道口IN1進行采樣,同理當P1.0為高電平時,選擇對通道口IN1進行采樣,同理當P1.0為高電平時,8155控制輸出的信號為采集到的IN0通道的信號,反之則為IN1的信號,然后顯示出來。</p><p>  從而實現(xiàn)了兩路模擬采樣和動態(tài)顯示。</p>

14、<p><b>  (二) 功能介紹</b></p><p><b>  1、初始化各緩沖區(qū)</b></p><p>  在兩路模擬采樣系統(tǒng)中,為了能更加直觀的看見所要查詢的數(shù)據(jù)結果,并且要在6個顯示器上以動態(tài)的形式顯示出來。這首先需要設置所要查詢的首地址,本程序的首地址為20H~25H單元中,并給這些單元清零為以后的查詢作好準備。&

15、lt;/p><p>  清零緩沖區(qū)部分程序清單及說明:</p><p>  ORG 0100H</p><p>  MOV DPTR,#0FF20H ;給數(shù)據(jù)指針送入命令口地址</p><p>  MOV A,#03H ;8155初始化數(shù)據(jù)</p><p>  MOVX @DPTR,A

16、 ;給8155送初始化命令</p><p>  MOV 20H,#00H ;將顯示緩沖區(qū)20H—25H清零</p><p>  MOV 21H,#00H</p><p>  MOV 22H,#00H</p><p>  MOV 23H,#00H</p><p>  MOV 24H,#00H</

17、p><p>  MOV 25H,#00H</p><p>  2、主程序與選擇傳輸?shù)牟蓸油ǖ?lt;/p><p>  先把命令口的通道地址0FF60H賦值給指針變量DPTR中,而后用JNB來判斷P1.0口是否為0,如果為零的話,就用IN0通道來進行模擬采樣,如果為1的話就用IN1通道來進行模擬采樣,并開始啟動A/D轉換。</p><p>  主程序與

18、選擇傳輸通道程序清單及說明:</p><p>  MAIN: MOV DPTR,#0FE60H ;給數(shù)據(jù)指針送入數(shù)據(jù)通道地址</p><p>  JNB P1.0,AD0 ;判斷P1.0是否為零</p><p>  MOV A,#01H ;用IN1口進行動態(tài)采樣</p><p>  MOVX @DPTR

19、,A ;啟動A/D轉換</p><p>  AJMP ZCX ;跳轉到循環(huán)程序</p><p>  AD0:MOV A,#00H ;用IN0口進行動態(tài)采樣</p><p>  MOVX @DPTR,A ;啟動A/D轉換</p><p>  ZCX:MOVX A,@DPTR

20、 ;提取轉換后的數(shù)據(jù)</p><p>  LCALL SEPR ;調用拆分子程序</p><p>  LCALL DISP ;調用顯示子程序</p><p>  SJMPMAIN ;返回到主程序從而實現(xiàn)程序循環(huán)</p><p><b>  3、拆字程序部分</

21、b></p><p>  將采集完的數(shù)據(jù)先存放到累加器A中,再把累加器A中的數(shù)據(jù)復制一份放在寄存器B中,并同時A中的高四位地址清零,把結果存到25H單元中,而后再把B寄存器中的數(shù)據(jù)復制到A中,把累加器中的高四位與第四位數(shù)據(jù)對調,再清除高四位,得到需要顯示的高四位地址放到24H單元中。</p><p>  拆字程序部分清單及說明:</p><p>  SEPR:

22、MOV B,A ;將A中的數(shù)據(jù)復制一份到寄存器B中</p><p>  ANL A,#0FH ;將A中的高位清零</p><p>  MOV 25H,A ;把A中的低四位數(shù)給25H單元</p><p>  MOV A,B ;把復制的數(shù)據(jù)重新拷到累加器A中</p><p>  SWAP A

23、 ;對A中的高四位與低四位數(shù)據(jù)進行對調</p><p>  ANL A,#0FH ;再去除A中的高四位得到轉換后的高四位數(shù)據(jù)</p><p>  MOV 24H,A ;將高四位數(shù)據(jù)給24H單元</p><p>  RET ;然后返回繼續(xù)往下執(zhí)行</p><p><b>  4、動態(tài)顯示部分&l

24、t;/b></p><p>  由于需要顯示的數(shù)共六位,因此給R2賦值為六,同時把共陽極的顯示器的地址00100000B賦給R3,再給20H—25H單元賦值,而后把共陽極的顯示器的段選碼轉換表的地址存給DPTR指針中,并分別傳給B口(0FF21H)和A口(0FF22H)中,同時指向轉換碼所表示的地址,在顯示器上以動態(tài)的形式顯示出來。然后同時給指針和地址加一,依次循環(huán)完成動態(tài)的顯示。</p>&

25、lt;p>  動態(tài)顯示部分程序清單及說明:</p><p>  DISP1:MOV DPTR,#TAB ;調用共陽極七段譯碼器的顯示地址</p><p>  MOV A,@R0 ;調用要顯示數(shù)</p><p>  MOVC A,@A+DPTR ;通過查表輸出要顯示數(shù)的七段譯碼器的地址</p><p>  M

26、OV DPTR,#0FF22H ;將字形口地址復制到DPTR中</p><p>  MOVX @DPTR,A ;將要顯示的數(shù)輸出</p><p>  MOV DPTR,#0FF21H ;將字位口地址復制到DPTR中</p><p>  MOV A,R3 ;將要顯示的位置數(shù)復制到A中</p><p>  M

27、OVX @DPTR,A ;把要顯示字位數(shù)據(jù)輸出到控制口0FF221H</p><p>  LCALL TIME ;調用延時子程序使A/D轉換能夠順利完成</p><p>  RR A ;把字位向右移動一位</p><p>  MOV R3,A ;然后把移動后的數(shù)重新放到R3中</p&

28、gt;<p>  INC R0 ;把顯示字形地址加一</p><p>  DJNZ R2,DISP1 ;循環(huán)六次顯示轉換后的六個數(shù)</p><p>  RET ;返回到調用子程序</p><p><b>  5、延時部分</b></p><p&g

29、t;  每個數(shù)據(jù)的采集都需要一定的時間,A/D轉換所需要的時間為100uS,為了更好的完成數(shù)據(jù)的傳輸轉換,這里采樣提供300uS的延時時間。</p><p>  延時部分程序清單及說明:</p><p>  TIME:MOV R7,#30H    ;循環(huán)變量</p><p><b>  DLAY:NOP</b></p><p

30、><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R7,DLAY ;循環(huán)30次</p><p>  RET ; 返回到調用程序繼續(xù)往下執(zhí)行</p><p><b>  END&

31、lt;/b></p><p><b> ?。ㄈ?程序流程圖</b></p><p><b>  1、主程序流程圖:</b></p><p>  A/D轉換程序流程圖:</p><p><b>  顯示子程序流程圖</b></p><p><

32、b>  (四) 程序清單</b></p><p>  ORG 0100H</p><p>  MOV DPTR,#0FF20H ;給數(shù)據(jù)指針送入命令口地址</p><p>  MOV A,#03H ;8155初始化數(shù)據(jù)</p><p>  MOVX @DPTR,A ;給8155送初

33、始化命令</p><p>  MOV 20H,#00H ;將顯示緩沖區(qū)20H—25H清零</p><p>  MOV 21H,#00H</p><p>  MOV 22H,#00H</p><p>  MOV 23H,#00H</p><p>  MOV 24H,#00H</p><

34、p>  MOV 25H,#00H</p><p><b>  ;主程序</b></p><p>  MAIN: MOV DPTR,#0FE60H ;給數(shù)據(jù)指針送入數(shù)據(jù)通道地址</p><p>  JNB P1.0,AD0 ;判斷P1.0是否為零</p><p>  MOV A,#01H

35、 ;用IN1口進行動態(tài)采樣</p><p>  MOVX @DPTR,A ;啟動A/D轉換</p><p>  AJMP ZCX ;跳轉到循環(huán)程序</p><p>  AD0:MOV A,#00H ;用IN0口進行動態(tài)采樣</p><p>  MOVX @DPTR,A

36、 ;啟動A/D轉換</p><p>  ZCX:MOVX A,@DPTR ;提取轉換后的數(shù)據(jù)</p><p>  LCALL SEPR ;調用拆分子程序</p><p>  LCALL DISP ;調用顯示子程序</p><p>  SJMPMAIN ;返回到主

37、程序從而實現(xiàn)程序循環(huán)</p><p><b>  ;拆分子程序</b></p><p>  SEPR:MOV B,A ;將A中的數(shù)據(jù)復制一份到寄存器B中</p><p>  ANL A,#0FH ;將A中的高位清零</p><p>  MOV 25H,A ;把A中的低四位數(shù)給25H

38、單元</p><p>  MOV A,B ;把復制的數(shù)據(jù)重新拷到累加器A中</p><p>  SWAP A ;對A中的高四位與低四位數(shù)據(jù)進行對調</p><p>  ANL A,#0FH ;再去除A中的高四位得到轉換后的高四位數(shù)據(jù)</p><p>  MOV 24H,A ;將高四位數(shù)據(jù)

39、給24H單元</p><p>  RET ;然后返回繼續(xù)往下執(zhí)行</p><p><b>  ;顯示子程序</b></p><p>  DISP: MOV R2,#06H ;把循環(huán)次數(shù)存到R2單元中</p><p>  MOV R3,#00100000B ;把顯示第一個數(shù)的位置數(shù)據(jù)存到R3&

40、lt;/p><p>  MOV 20H,#0AH ;把要顯示的數(shù)A存在20H單元中</p><p>  MOV 21H,#0DH ;把顯示數(shù)D存在21H單元中</p><p>  MOV 22H,#00H ;把顯示數(shù)00H存在22H中</p><p>  JNB P1.0,IO ;判斷P1.0

41、是否為零</p><p>  MOV 23H,#02H ;當P1.0口位高電平時23H單元顯示02通道</p><p><b>  AJMP GO</b></p><p>  IO:MOV 23H,#01H ;當P1.0口位低電平時23H單元顯示01通道</p><p>  GO:MOV R0,#20H

42、 ;給R0存入要顯示的第一位數(shù)據(jù)</p><p>  DISP1:MOV DPTR,#TAB ;調用共陽極七段譯碼器的顯示地址</p><p>  MOV A,@R0 ;調用要顯示數(shù)</p><p>  MOVC A,@A+DPTR ;通過查表輸出要顯示數(shù)的七段譯碼器的地址</p><p>  MOV D

43、PTR,#0FF22H ;將字形口地址復制到DPTR中</p><p>  MOVX @DPTR,A ;將要顯示的數(shù)輸出</p><p>  MOV DPTR,#0FF21H ;將字位口地址復制到DPTR中</p><p>  MOV A,R3 ;將要顯示的位置數(shù)復制到A中</p><p>  MOVX

44、@DPTR,A ;把要顯示字位數(shù)據(jù)輸出到控制口0FF221H</p><p>  LCALL TIME ;調用延時子程序使A/D轉換能夠順利完成</p><p>  RR A ;把字位向右移動一位</p><p>  MOV R3,A ;然后把移動后的數(shù)重新放到R3中</p>

45、<p>  INC R0 ;把顯示字形地址加一</p><p>  DJNZ R2,DISP1 ;循環(huán)六次顯示轉換后的六個數(shù)</p><p>  RET ;返回到調用子程序</p><p>  TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80

46、H,90H,88H,83H</p><p>  DB 006H,0A1H,86H,8EH ;七段譯碼器的顯示地址</p><p>  ;延時子程序,共10*30=300uS</p><p>  TIME:MOV R7,#30H</p><p><b>  DLAY:NOP</b></p><p>

47、;<b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R7,DLAY ;循環(huán)30次</p><p>  RET ; 返回到調用程序繼續(xù)往下執(zhí)行</p><p><b>  END<

48、/b></p><p><b>  (五)器件說明</b></p><p>  1、ADC0809 八位逐次逼近式A/D轉換器管腳分布圖:</p><p><b>  管腳功能說明如下:</b></p><p>  IN0~IN7: 8路模擬信號入口</p><p>

49、  D0~D7: 八位轉換后的數(shù)據(jù)輸出口</p><p>  START: A/D轉換啟動信號</p><p>  ALE: 地址鎖存信號</p><p>  EOC: 轉換結束信號</p><p>  OE: 輸出運行控制端</p><p><b>  CLK: 時鐘信號</b></p&g

50、t;<p>  VREF+: A/D轉換器的正參數(shù)電壓</p><p>  VREF-:  A/D轉換器的負參數(shù)電壓</p><p><b>  VCC: 電源</b></p><p>  ADDA、ADDB、ADDC: 模擬信號接通的多路開關選擇碼 ?。┲饕獏⒖嘉墨I</p><p>  〔1〕MCS-

溫馨提示

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

評論

0/150

提交評論