版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 單</b></p><p><b> 片</b></p><p><b> 機</b></p><p><b> 課</b></p><p><b> 程</b></p><p
2、><b> 設</b></p><p><b> 計</b></p><p> 題 目:波形發(fā)生器——方波</p><p> 學 院:電氣工程學院</p><p> 專業(yè)班級:09自動化1班</p><p><b> 引言</b&
3、gt;</p><p> 單片機的出現(xiàn)是近代計算機技術發(fā)展史上的重要里程碑。單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發(fā)展很快。近年來隨著電子技術和微型計算機技術的迅速發(fā)展,單片機的檔次不斷提高,其應用領域也在不斷擴大,在工業(yè)測控、尖端科學、智能儀器儀表、日用家電、汽車電子系統(tǒng)、辦公自動化設備、個人通信終端及通信產品中得到了廣泛應用,已成為現(xiàn)代電子系統(tǒng)中最重要的智能
4、化核心部件。隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中三角波發(fā)生器就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設施就需要從數(shù)單片機技術入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p> 本課程設計是在學習了單片機的基本原理的基礎上進行的,綜合利用所學單片機知識完成一個單片機應用系統(tǒng)設計并仿真
5、實現(xiàn),從而加深對單片機軟硬知識的理解,獲得初步的應用經驗;進一步熟悉和掌握單片機的內部結構和工作原理,了解單片機應用系統(tǒng)設計的基本方法和步驟。</p><p><b> 目錄</b></p><p><b> 1 設計概述3</b></p><p> 1.1 設計目標和要求3</p><p&g
6、t; 1.2 設計思路3</p><p> 2 系統(tǒng)方案及硬件設計4</p><p> 2.1 設計方案4</p><p> 2.2 方案的硬件總體方框圖4</p><p> 2.3定時/計數(shù)器T0輸出方波的原理4</p><p> 2.4 硬件設計5</p><p>
7、 2.4.1時鐘振蕩電路5</p><p> 2.4.2加1及輸出直線電路6</p><p> 2.4.3顯示電路6</p><p> 2.4.4波形輸出電路7</p><p><b> 3 軟件設計8</b></p><p><b> 3.1系統(tǒng)分析8</b
8、></p><p> 3.2 各子程序9</p><p> 3.2.1 P0口顯示程序9</p><p> 3.2.2 P2口顯示程序9</p><p> 3.2.3改變計數(shù)初值TH0、TL0程序10</p><p> 3.2.4按鍵改變頻率的程序11</p><p>
9、 4 proteus軟件仿真11</p><p> 4.1 系統(tǒng)仿真設計11</p><p> 4.2仿真結果分析12</p><p> 5 系統(tǒng)原理圖12</p><p><b> 6 心得體會13</b></p><p> 7 源程序…………………………………………………
10、………………………………………..15</p><p><b> 1 設計概述</b></p><p> 1.1 設計目標和要求</p><p> 1.設計一款能輸出方波的波形發(fā)生器;</p><p> 2.設計波形輸出按鈕:當按下按鈕的時候,輸出方波,再按下輸出直線;</p><p>
11、 3.LED顯示輸出波形周期;</p><p> 4.可利用鍵盤改變輸出波形周期;</p><p><b> 5.其他功能;</b></p><p><b> 1.2 設計思路</b></p><p> 首先確定我們所設計的是一個波形發(fā)生器,可以利用中斷,使單片機P1.2引腳輸出方波<
12、/p><p> 根據(jù)所要實現(xiàn)的功能,先在proteus軟件上仿真。根據(jù)所選用的硬件可以將整個軟件設計分為若干子程序,有初始化、查詢時間、發(fā)送指令、讀取數(shù)據(jù)、顯示頻率等構成,可將以上子程序分別設計,實現(xiàn)各自的功能,再在子程序中調用,就可以實現(xiàn)預期的目標。</p><p> 在proteus軟件里畫出相應的電路圖,將編寫好的程序的編譯后的文件下載到proteus電路圖的單片機里,進行仿真,設置
13、不同的參數(shù),看是否達到了我們設計所要求的目標,如果不符合要求,需要檢查程序算法和硬件連接是否有誤。</p><p> 2 系統(tǒng)方案及硬件設計</p><p><b> 2.1 設計方案</b></p><p> 利用查詢程序,是AT89C51的P1.2引腳輸出方波。采用中斷T0,并利用查表,改變TH0,TL0的初始值,就可以得到不同頻率的
14、方波。利用加1、減1鍵,改變輸出波形的頻率。</p><p> 2.2 方案的硬件總體方框圖</p><p> 采用加1減1按鍵改變波形頻率,利用兩個七段數(shù)碼管顯示輸出波形的頻率,利用一個數(shù)碼管顯示頻率的改變。</p><p> 2.3 定時/計數(shù)器T0輸出方波的原理</p><p> 采用定時/計數(shù)器T0的方式2,在P1.2引腳上輸
15、出方波。</p><p> (1) T0工作在定時的方式2時,控制字TMOD配置:</p><p> M1M0=02,GATE=0,C/T’=0,方式控制字為02H</p><p> ?。?)計算計數(shù)初值X:</p><p> 由于晶振為12MHZ,所以機器周期為1us。</p><p><b>
16、2.4 硬件設計</b></p><p> 2.4.1 時鐘振蕩電路</p><p> 采用的是1MHZ的晶振頻率,它與單片機的硬件連接電路如圖1所示</p><p><b> 圖1 晶振電路</b></p><p> 2.4.2加1及輸出直線電路</p><p> 按下DS
17、W1的任意鍵就可以輸出直線;通過INC1鍵可以改變波形的頻率,電路如圖2所示</p><p> 圖2 加1及輸出直線電路</p><p><b> 2.4.3顯示電路</b></p><p> 顯示電路采用兩個七段數(shù)碼管,為共陽極結構,通過設置不同的段碼可以顯示頻率。電路連接如圖3所示。</p><p><b
18、> 圖3顯示電路</b></p><p> 七段數(shù)碼管引腳圖,如圖4所示。</p><p><b> 圖4 數(shù)碼管引腳</b></p><p> 2.4.4 波形輸出電路</p><p><b> 圖5 波形輸出電路</b></p><p><
19、;b> 3 軟件設計</b></p><p><b> 3.1系統(tǒng)分析</b></p><p><b> 圖6主程序流程圖</b></p><p><b> 3.2 各子程序</b></p><p> 3.2.1 P0口顯示程序</p>
20、<p> 定義顯示表LED_P0,利用查表程序MOV A,@A+DPTR搜尋相應的16進制數(shù),送P0口顯示。利用P0口顯示頻率的十位上的數(shù)值。</p><p> 程序:MOV R0,A</p><p> MOV DPTR,#LED_P0</p><p> MOVC A,@A+DPTR</p><p><b>
21、MOV P0,A</b></p><p><b> MOV A,R0</b></p><p> 顯示表LED_P0:</p><p> LED_P0:DB 24H,24H,30H,12H,0F9H,0F9H,0F9H,0F9H,0F9H,0A4H,0A4H,0B0H,92H</p><p> 3.2.
22、2 P2口顯示程序</p><p> 定義顯示表LED_P2,利用查表程序MOV A,@A+DPTR搜尋相應的16進制數(shù),送P2口顯示。利用P2口顯示頻率的個位上的數(shù)值。</p><p> 程序:MOV R1,A</p><p> MOV DPTR,#LED_P2</p><p> MOVC A,@A+DPTR</p>
23、<p><b> MOV P2,A</b></p><p><b> MOV A,R1</b></p><p> 顯示表LED_P2:</p><p> LED_P2:DB 0C0H,92H,0B0H,0C0H,0C0H,0F9H,0B0H,92H,0F8H,0C0H,0B0H,92H</p>
24、;<p> 3.2.3 改變計數(shù)初值TH0、TL0程序</p><p> 利用查表程序,可以改變定時/計數(shù)器T0方式2的計數(shù)初值TH0、TL0的值,并利用P3口連接數(shù)碼管以顯示頻率的改變。</p><p> 程序:MOV R2,A</p><p> MOV DPTR,#KEY_IN</p><p> MOVC A,@A
25、+DPTR</p><p><b> MOV TH0,A</b></p><p><b> MOV TL0,A</b></p><p><b> MOV P3,A</b></p><p> MOV TMOD,#02H</p><p><b&
26、gt; SETB TR0</b></p><p><b> JNB TR0,$</b></p><p><b> CLR TR0</b></p><p><b> CPL P1.2</b></p><p><b> MOV A,R2</b&
27、gt;</p><p><b> 表KEY_IN:</b></p><p> KEY_IN:DB 06H,38H,6AH,9CH,0CEH,0D3H,0D8H,0DDH,0E2H,0E7H,0ECH,0F1H,0F6H</p><p> 3.2.4 按鍵改變頻率的程序</p><p> 在P1.0口連接按鍵,通過
28、改變P1.0口的狀態(tài),實現(xiàn)對寄存器A加1或減1功能。</p><p> START:MOV A,#0</p><p><b> SETB P1.0</b></p><p><b> SETB P1.1</b></p><p><b> LOOP:</b></p&g
29、t;<p> JNB P1.0,INCR</p><p> JNB P1.1,DECR</p><p><b> JMP LOOP</b></p><p> INCR:JNB P1.0,INCR</p><p><b> ADD A,#1</b></p><
30、;p><b> JMP LOOP</b></p><p> DECR:JNB P1.1,DECR</p><p><b> ADD A,#99</b></p><p> CJNE A,#0,DECR</p><p><b> JMP LOOP</b></p
31、><p> 4 proteus軟件仿真</p><p> 4.1 系統(tǒng)仿真設計</p><p> 本設計是在Proteus環(huán)境下進行仿真的,仿真所用到的器件有:單片機AT89C51,七段數(shù)碼管7SEG,按鍵DIPSW8一些電阻,電容等。</p><p><b> 4.2仿真結果分析</b></p>&l
32、t;p> 本設計在仿真的條件下可以正確的顯示頻率。仿真時頻率顯示如圖7所示</p><p><b> 圖7</b></p><p><b> 5 系統(tǒng)原理圖</b></p><p> 通過Proteus進行元器件的查找與連接仿真得到下圖</p><p><b> 圖8<
33、;/b></p><p><b> 6 心得體會</b></p><p> 在本次設計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設計但這次設計真的讓我長進了很多,單片機課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,舉個例子,以前寫的那幾次,數(shù)據(jù)加減時,我用的都是BCD碼,這一次,
34、我全部用的都是16進制的數(shù)直接加減,顯示處理時在用除法去刪分,感覺效果比較好,有好多的東西,只有我們去試著做了,才能真正的掌握,只學習理論有些東西是很難理解的,更談不上掌握。</p><p> 通過這次對波形發(fā)生器的設計與制作,讓我了解了設計電路的程序,也讓我了解了關于波形發(fā)生的原理與設計理念,要設計一個電路總要先用仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,再實際接線中有著各種各樣
35、的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設計時應考慮兩者的差異,從中找出最適合的設計方法。</p><p> 通過這次學習,讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應該自己動手實際操作才會有深刻理解。</p><p> 從這次的課程設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所
36、學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經常的寫與讀的過程中才能提高,這就是我在這次課程設計中的最大收獲。</p><p><b> 7 源程序:</b></p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b
37、> ORG 0100H</b></p><p> START:MOV A,#0</p><p><b> SETB P1.0</b></p><p><b> SETB P1.1</b></p><p><b> LOOP:</b></p>
38、;<p><b> MOV R0,A</b></p><p> MOV DPTR,#LED_P0</p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p><b> MOV A,R0</b><
39、;/p><p><b> MOV R1,A</b></p><p> MOV DPTR,#LED_P2</p><p> MOVC A,@A+DPTR</p><p><b> MOV P2,A</b></p><p><b> MOV A,R1</b&
40、gt;</p><p><b> MOV R2,A</b></p><p> MOV DPTR,#KEY_IN</p><p> MOVC A,@A+DPTR</p><p><b> MOV TH0,A</b></p><p><b> MOV TL0,
41、A</b></p><p><b> MOV P3,A</b></p><p> MOV TMOD,#02H</p><p><b> SETB TR0</b></p><p><b> JNB TR0,$</b></p><p>&
42、lt;b> CLR TR0</b></p><p><b> CPL P1.2</b></p><p><b> MOV A,R2</b></p><p> JNB P1.0,INCR</p><p> JNB P1.1,DECR</p><p>
43、<b> JMP LOOP</b></p><p> INCR:JNB P1.0,INCR</p><p><b> ADD A,#1</b></p><p><b> JMP LOOP</b></p><p> DECR:JNB P1.1,DECR</p>
44、;<p><b> ADD A,#99</b></p><p> CJNE A,#0,DECR</p><p><b> JMP LOOP</b></p><p> KEY_IN:DB 06H,38H,6AH,9CH,0CEH,0D3H,0D8H,0DDH,0E2H,0E7H,0ECH,0F1H,0F
45、6H</p><p> LED_P0:DB 24H,24H,30H,12H,0F9H,0F9H,0F9H,0F9H,0F9H,0A4H,0A4H,0B0H,92H</p><p> LED_P2:DB 0C0H,92H,0B0H,0C0H,0C0H,0F9H,0B0H,92H,0F8H,0C0H,0B0H,92H</p><p><b> END&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計報告--波形發(fā)生器
- 單片機波形發(fā)生器課程設計報告
- 單片機課程設計(波形發(fā)生器)
- 單片機課程設計---波形發(fā)生器
- 單片機課程設計—波形發(fā)生器
- 課程設計--單片機波形發(fā)生器
- 單片機課程設計-波形發(fā)生器
- 單片機課程設計報告---基于單片機的波形發(fā)生器
- 單片機課程設計--簡易波形發(fā)生器
- 單片機課程設計--多波形發(fā)生器
- 單片機課程設計---函數(shù)波形發(fā)生器
- 單片機實現(xiàn)波形發(fā)生器的課程設計報告
- 單片機優(yōu)質課程設計波形發(fā)生器報告
- 單片機課程設計--波形發(fā)生器的設計
- 波形發(fā)生器的設計單片機課程設計
- 基于單片機的波形發(fā)生器課程設計
- 課程設計基于單片機之波形發(fā)生器的設計
- 課程設計基于單片機之波形發(fā)生器的設計
- 單片機課程設計報告(信號發(fā)生器)
- 單片機課程設計報告--- 函數(shù)發(fā)生器
評論
0/150
提交評論