單片機(jī)實驗設(shè)計報告單片機(jī)程序信號發(fā)生器設(shè)計_第1頁
單片機(jī)實驗設(shè)計報告單片機(jī)程序信號發(fā)生器設(shè)計_第2頁
單片機(jī)實驗設(shè)計報告單片機(jī)程序信號發(fā)生器設(shè)計_第3頁
單片機(jī)實驗設(shè)計報告單片機(jī)程序信號發(fā)生器設(shè)計_第4頁
單片機(jī)實驗設(shè)計報告單片機(jī)程序信號發(fā)生器設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)實驗設(shè)計報告信息科學(xué)與工程學(xué)院自動化專業(yè)0411班學(xué)號:0901041107姓名: 目錄部分一 實驗設(shè)計的目的和意義- 3二 實驗設(shè)計的題目及要求- 4三 硬件環(huán)境及軟件環(huán)境- 5四 接口電路- 11 1 硬件電路圖 2 硬件電路說明五 軟件部分- 12 1 流程圖 2 說明六 調(diào)試步驟及結(jié)果分析- 13七 結(jié)論及收獲- 14附錄 程序清單- 15參考文獻(xiàn)- 23第一章 課程設(shè)計的目的和意義1.1 課程設(shè)計的目的 單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計主要培養(yǎng)自動化專業(yè)學(xué)生,運(yùn)用所學(xué)知識解決計算機(jī)應(yīng)用領(lǐng)域內(nèi)實際問題能力,進(jìn)一步提高學(xué)生通過單片機(jī)的學(xué)習(xí),利用編程語言綜合編程的能力、程序調(diào)試的技能和利用模

2、擬軟件proteus 進(jìn)行電路設(shè)計和調(diào)試的能力。它對所學(xué)課程內(nèi)容全面、系統(tǒng)的總結(jié)、鞏固和提高的一項課程實踐活動。根據(jù)匯編語言的特點,選擇相應(yīng)的題目,在老師的指導(dǎo)下,由學(xué)生獨(dú)立完成。課程設(shè)計要求同學(xué)們熟悉單片機(jī)51匯編語言的編程,中斷調(diào)用、系統(tǒng)功能調(diào)用等相關(guān)知識。通過課程設(shè)計,一方面提高運(yùn)用51匯編語言編程解決實際問題的能力,另一方面使我們更深入的了解單片機(jī)系統(tǒng)實際運(yùn)用中的作用,為以后的學(xué)習(xí)和系統(tǒng)開發(fā)奠定良好的基礎(chǔ)1.2 設(shè)計的意義 通過課程設(shè)計要進(jìn)一步鍛煉同學(xué)們在微型計算機(jī)應(yīng)用方面的實際工作能力。計算機(jī)科學(xué)在應(yīng)用上得到飛速發(fā)展,因此,學(xué)習(xí)這方面的知識必須緊密聯(lián)系實際:掌握這方面的知識更要強(qiáng)調(diào)解

3、決實際問題的能力。要著重學(xué)會面對一個實際問題,如何去自己收集資料,如何自己去學(xué)習(xí)新的知識,如何自己去制定解決問題的方案并通過實踐不斷地去分析和解決前進(jìn)道路上的一切問題,最終到達(dá)勝利的彼岸。第二章 實驗設(shè)計的題目及要求2.1設(shè)計的題目及要求題目:信號發(fā)生器要求:提供正弦波、三角波、方波、鋸齒波的鍵盤選擇功能。通過d/a轉(zhuǎn)換,輸出所選擇的信號波形。電壓(頻率)可以調(diào)節(jié)。2.2設(shè)計的時間、地點時間:2007年5月地點:民主樓第三章 硬件環(huán)境及軟件環(huán)境3.1硬件環(huán)境計算機(jī)一臺 aedk598eat實驗箱aedk598eat微機(jī)教學(xué)實驗系統(tǒng)實結(jié)合單片機(jī)mcs51仿真技術(shù),推出的新一代微機(jī)教學(xué)實驗系統(tǒng)。由

4、aedk598eat實驗機(jī)外配計算機(jī)和其他一些附件及選配組成。電源aedk598eat實驗機(jī)機(jī)電實驗平臺ibm pc機(jī)該實驗系統(tǒng),可以接到pc機(jī)通過串口或isa總線運(yùn)行,在擴(kuò)展功能上,可以通過實驗機(jī)的25 芯插座外接機(jī)電實驗平臺,做機(jī)電一體化實驗。3.2 軟件環(huán)境要求在 windows系統(tǒng)下制作而成因而對應(yīng)用環(huán)境要求不高,只要操作系統(tǒng)下安裝有l(wèi)ca51或wave6000便能運(yùn)行。其中硬件說明如下: at89c51說明如下:at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)

5、。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。管腳說明:     vcc:供電電壓。     gnd:接地。     p0口:p0口為一個8位漏級開路雙向i/o口,每腳可

6、吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流

7、,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這

8、是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示: 管腳 備選功能:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號at89c51的內(nèi)部結(jié)構(gòu)圖 。  rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機(jī)器周期的高電平時間。 ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許

9、的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。   -psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存

10、儲器時,這兩次有效的/psen信號將不出現(xiàn)。    -ea/vpp:當(dāng)/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,-ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。    xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。    xtal2:來自反向振蕩器的輸出。dac0832是用cmos工藝制成的20只腳雙列

11、直插式單片八位d/a轉(zhuǎn)換器。它由八位輸入寄存器、八位dac寄存器和八位d/a轉(zhuǎn)換器三大部分組成。它有兩個分別控制的數(shù)據(jù)寄存器,可以實現(xiàn)兩次緩沖,所以使用時有較大的靈活性,可根據(jù)需要接成不同的工作方式。dac0832芯片上各管腳的名稱和功能說明如下:引腳功能dac0832的邏輯功能框圖和引腳圖如圖4-1所示。各引腳的功能說明如下:dac0832的邏輯功能框圖和引腳圖-cs:片選信號,輸入低電平有效。 ile:輸入鎖存允許信號,輸入高電平有效。-wr1:輸入寄存器寫信號,輸入低電平有效。-wr2:dac寄存器寫信號,輸入低電平有效。-xfer:數(shù)據(jù)傳送控制信號,輸入低電平有效。 di0di7:8位

12、數(shù)據(jù)輸入端,di0為最低位,di7為最高位。iout1:dac電流輸出1。此輸出信號一般作為運(yùn)算放大器的一個差分輸入信號(通常接反相端)。 iout2 :dac電流輸出2,iout1 + iout2 = 常數(shù)。 rfb :反饋電阻。 vref :參考電壓輸入,可在+10v10v之間選擇。 vcc :數(shù)字部分的電源輸入端,可在+5v+15v范圍內(nèi)選取,+15v時為最佳工作狀態(tài)。 agnd:模擬地。 dgnd:數(shù)字地。第四章 接口電路1.硬件電路2.硬件圖說明:51芯片是本電路的核心,它提供數(shù)據(jù)的采集與處理功能;138芯片提供0832芯片的片選地址;0832芯片將數(shù)字的數(shù)據(jù)轉(zhuǎn)換成模擬量數(shù)據(jù)并由示波

13、器觀察;四個按鈕的作用是提供波形的選擇、頻率的選擇、開始和復(fù)位功能。第五章 軟件部分5.1 流程開始程序 鍵盤掃描 否 否是2#鍵是1#鍵 是 是選擇頻率選擇波形是3#鍵開始 否 是調(diào)用波形產(chǎn)生程序是4#鍵結(jié)束 否 是5.2 軟件說明 程序開始執(zhí)行后,程序進(jìn)入鍵盤掃描段中,進(jìn)行循環(huán)掃描,當(dāng)有外部輸入信號進(jìn)入時,程序?qū)⑦M(jìn)入相應(yīng)的程序段進(jìn)行計算,例如:1#鍵,將進(jìn)入波形選擇程序段,記錄當(dāng)前按鍵次數(shù),用以計算出所選擇的波形;2#鍵,將進(jìn)入頻率選擇程序段,記錄當(dāng)前的按鍵次數(shù),并計算出相應(yīng)波形的延時頻率(理論波形頻率為00h0ffh*2毫秒,但事實上波形在大延時下會嚴(yán)重的失真)。 進(jìn)入相應(yīng)的波形程序后,

14、將不停的進(jìn)行循環(huán)輸出波形,其間,將對4#鍵進(jìn)行掃描。若4#鍵有效,則程序?qū)⑻匠绦蜷_始處,并初始化所用到的存儲器和累加器,以免下次選擇時產(chǎn)生干擾!第六章 調(diào)試步驟及結(jié)果分析1.調(diào)試本次課程設(shè)計可以基于單片機(jī)的aedk598eat實驗機(jī)來模擬,也可以用proteus isis模擬軟件進(jìn)行模擬。下面將從這兩種方法進(jìn)行說明:1. aedk598eat實驗機(jī)利用實驗箱上的8279進(jìn)行鍵盤輸入。將這個單元的cs8279接在8700h片選地址上;將d/a單元的cs0832接在8300h片選地址上。開機(jī)(先開aedk598eat實驗箱,再開主機(jī))。打開lca51軟件,調(diào)入編好的程序,設(shè)定好通信口,編譯并加載

15、程序,運(yùn)行即可。所需的鍵盤將由8279鍵盤單元提供。2.基于proteus實驗 打開proteus軟件,選擇所需的元器件:80c51,dac0832,button,運(yùn)放741,電源,地線和示波器。按照接線原理和芯片管腳的規(guī)則接線。打開軟件wave6000,導(dǎo)入編輯好的軟件,編譯連接生成 .hex 文件,檢查接線無誤情況下,在80c51上單擊左鍵,載入 .hex文件,點擊運(yùn)行即可實現(xiàn)模擬!6.2結(jié)果分析使用第一種實驗方法,將要對本程序要做較大的改動,而且觀看波形要另外使用示波器,很不方便。因而使用第二種方法,但在調(diào)試過程中,發(fā)現(xiàn)不同的版本間不是很兼容,而且較低的版本,雖然元件庫中有所需的元器件,

16、但是不能進(jìn)行模擬。第七章 結(jié)論及收獲1借鑒魯迅先生曾說過要"拿來",對,在這次課程設(shè)計中,就要"拿來"。其中波形程序段是原有的程序,我們就借鑒來使用,為設(shè)計節(jié)省了大量的時間。2合作 一個人的能力畢竟有限,惟有善于合作的團(tuán)隊才能發(fā)揮出最大的能量。在這次課程設(shè)計中,我真正體會到了合作的重要性,我們這個小組在這次程序設(shè)計中總在一起,從要實現(xiàn)的功能到流程圖的繪制,從程序的編寫到程序的檢查,從程序的調(diào)試到實驗報告的寫作,其間每一個過程都凝聚了我們集體的力量。在遇到棘手的問題時,我們總是一起討論,一起把問題解決;在我遇到不很明白的程序時,是同學(xué)們耐心地給我講解;在我

17、面對有錯的程序不知所措時,也是同學(xué)們幫我一步步地調(diào)試,耐心的指導(dǎo),直至程序能正常運(yùn)行。 程序附表val1 equ 30hval2 equ 35hval3 equ 40hc0 bit 90h c1 bit 91h c2 bit 92h c3 bit 93h org 0000h ljmp start org 0030hstart: mov val1 , #00h mov val2 , #00h mov val3 , #00h mov r1 , #00hzjj: jnb c0 , s1 jnb c1 , s2 jnb c2 , s3 jnb c3 , s4 ljmp zjjs1: lcall del

18、ay jb c0 , zjj mov r1 , #00h mov a , val1 inc a mov val1 , a cjne a , #04h , zjj mov val1 , #00h ljmp zjjs2: lcall delay jb c1 , zjj mov a , val2 add a , #10h mov val2 , a mov a , val3 add a , #1h mov val3 , a mov a , val2 cjne a , #0f0h , zjj mov val2 , #00h ljmp zjjs3: lcall delay jb c2 , zjj ljmp

19、 kugoos4: lcall delay ljmp startkugoo:mov a , val1 rl a add a , val1 mov dptr , #table jmp a+dptrtable:ljmp sin ljmp fang ljmp san ljmp ju sin: mov a , r1 mov dptr , #sinx movc a , a+dptr mov dptr , #00h lcall delay2 movx dptr, a inc r1 jnb c3 , s4 ljmp sin retfang: mov dptr , #00hxxx1: mov a , #00

20、movx dptr, a lcall delay1 mov a , #0ffh movx dptr, a lcall delay1 jnb c3 , s4 ajmp xxx1 retsan: mov dptr , #00hxx1: mov r1 , #00hxx2: mov a , r1 movx dptr, a inc r1 jnb c3 , s4 lcall delay2 cjne r1 , #0ffh , xx2xx3: dec r1 mov a , r1 movx dptr, a jnb c3 , s4 lcall delay2 cjne r1 , #00h , xx3 ajmp xx

21、1 retju: mov dptr , #00hx1: mov r1 , #00hx2: mov a , r1 movx dptr, a lcall delay2 inc r1 jnb c3 , s4 cjne r1 , #0ffh , x2 ajmp ju ret delay:push 6 push 7 mov r6 , #10jj: mov r7 , #250 djnz r7 , $ djnz r6 , jj pop 7 pop 6 retdelay1:push 6 mov r6 , val2 djnz r6 , $ pop 6 retdelay2:mov r5 , val3 djnz r

22、5 , $retsinx:db 80h, 83h, 86h, 89h, 8dh, 90h, 93h, 96hdb 99h, 9ch, 9fh,0a2h,0a5h,0a8h,0abh,0aehdb 0b1h,0b4h,0b7h,0bah,0bch,0bfh,0c2h,0c5hdb 0c7h,0cah,0cch,0cfh,0d1h,0d4h,0d6h,0d8hdb 0dah,0ddh,0dfh,0e1h,0e3h,0e5h,0e7h,0e9hdb 0eah,0ech,0eeh,0efh,0f1h,0f2h,0f4h,0f5hdb 0f6h,0f7h,0f8h,0f9h,0fah,0fbh,0fch

23、,0fdhdb 0fdh,0feh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffhdb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0feh,0fdhdb 0fdh,0fch,0fbh,0fah,0f9h,0f8h,0f7h,0f6hdb 0f5h,0f4h,0f2h,0f1h,0efh,0eeh,0ech,0eahdb 0e9h,0e7h,0e5h,0e3h,0e1h,0deh,0ddh,0dahdb 0d8h,0d6h,0d4h,0d1h,0cfh,0cch,0cah,0c7hdb 0c5h,0c2h,0bfh,0bch,0bah,0b7h,0b4h,0b1hdb 0aeh,0abh,0a8h,0a5h,0a2

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論