電子工藝實習(xí)報告基于單片機流水燈設(shè)計_第1頁
電子工藝實習(xí)報告基于單片機流水燈設(shè)計_第2頁
電子工藝實習(xí)報告基于單片機流水燈設(shè)計_第3頁
電子工藝實習(xí)報告基于單片機流水燈設(shè)計_第4頁
電子工藝實習(xí)報告基于單片機流水燈設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 電子工藝實習(xí)報告學(xué)生姓名學(xué)號教學(xué)院系電子信息工程學(xué)院專業(yè)年級指導(dǎo)教師完成日期2011年6月23日目 錄第1章 基礎(chǔ)實驗報告11.1設(shè)計題目11.2 工藝流程11.3 設(shè)計任務(wù)11.4 軟件使用指南11.5 硬件電路81.5.1元件清單81.5.2電路原理圖81.6 程序設(shè)計91.6.1 源程序91.6.2 調(diào)試與仿真91.7成果展示10第2章 提高設(shè)計報告102.1 設(shè)計題目102.2 設(shè)計任務(wù)102.3 設(shè)計基本原理102.3.1 串行通信的基本原理102.3.2串行通信的基本方式112.3.3 通信中數(shù)據(jù)的傳送方式112.3.4接口處相應(yīng)元件122.4輔助軟件介紹142.5硬件部分162

2、.5.1 元件清單162.5.2 設(shè)計電路172.6程序設(shè)計172.6.1流程圖172.6.2 源程序182.6.3 調(diào)試與仿真202.7 成果展示20第3章 提高設(shè)計報告任務(wù)說明書213.1 小組成員及其學(xué)號213.2 本人工作任務(wù)說明21第4章 實習(xí)心得21參考文獻22第1章 基礎(chǔ)實驗報告1.1設(shè)計題目基于單片機流水燈設(shè)計1.2 工藝流程1.3 設(shè)計任務(wù)基于at89c51單片機來設(shè)計一款簡單的流水燈。結(jié)合uvision3和 isis 7 professional這兩款軟件來設(shè)計和模擬。利用51 單片機來控制發(fā)光二極管的點亮和熄滅,主要實現(xiàn)延時控制和循環(huán)移位。1.4 軟件使用指南一、進入ke

3、il雙擊桌面keil uvision3圖標,或者“開始”“程序”“keil uvision3”。二、工作界面圖1.4.1(1) keil工作界面三、建立工程1.點擊“project”“new project”。如圖1.4.1(2)、(3)所示。在彈出的窗口選擇工程要保存的路徑,輸入工程文件名,然后點擊“保存”按鈕。圖1.4.1(2)建立工程截取圖圖1.4.1(3)建工程菜單欄2.在彈出的對話框要求選擇單片機的型號,因為51內(nèi)核單片機具有通用性,所以我們?nèi)芜x一款89c52就行。在這里我們選擇atmel的89c52或89c51,然后點擊“確定”按鈕。如圖1.4.1(4)所示。圖1.4.1(4)建工

4、程元件選擇至此,我們已經(jīng)建立一個工程,但工程中海沒有任何文件及代碼。下面我們學(xué)習(xí)如何加載文件。四、添加文件及代碼1添加代碼到文件。點擊“file” “new”或者點擊來新建文件。新建文件后,窗口界面如圖1.4.1(5)所示。圖1.4.1(5)新建文件2.在當前編輯框中輸入程序,程序輸入完畢后,如圖1.4.1(6-1)所示。 圖1.4.1(6-1)編寫程序 3.點擊“file” “save”或者點擊,彈出窗口如圖所示,在“文件名”處輸入要保存的文件名(例:pmd.c),必須輸入正確的擴展名(如果用c語言編寫程序,則擴展名必須是.c;如果用匯編語言編寫程序,則擴展名必須是 .asm)。這里的文件名

5、不一定和工程名相同,可以隨意填寫文件名,然后單擊“保存”按鈕??吹綀D1.4.1(6-2)。此時這個新建文件與我們剛剛建的工程還沒有直接聯(lián)系。圖1.4.1(6-2)保存程序4.添加文件到工程單擊“target 1”前面的“”號,然后右鍵單擊“source group 1”,選擇“add files to group source group 1”,如圖1.4.1(7)所示。在彈出對話框中,選中pmd.c,單擊“add”按鈕,再單擊“close”按鈕,然后再單擊左側(cè)“source group 1”前面的“”號,屏幕窗口如圖1.4.1(8)所示。這時,源代碼文件就與工程關(guān)聯(lián)起來了。圖1.4.1(7)

6、 加載程序圖1.4.1(8)加載完畢五、編譯、連接1.點擊“project” “rebuild all target files”或者點擊。信息輸出窗口中顯示了編譯過程和編譯結(jié)果,如圖1.4.1(9)、(10)所示。如果源代碼中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可以定位到出錯的位置,對源程序反復(fù)修改之后,最終會得到“”pmd”- 0 error(s),0 warning(s).”的結(jié)果。圖1.4.1(9)編譯圖1.4.1(10)編譯結(jié)果六、生成hex文件單擊“project” “options for target target 1”或者單擊,彈出窗口如圖1.4.1(11),選擇“out

7、put”,然后選中“create hex file”,使程序編譯后產(chǎn)生hex代碼,供下載器下載到單片機中。再次單擊,編譯工程,編譯過程和編譯結(jié)果如圖1.4.1(12)所示。我們發(fā)現(xiàn)編譯過程多出一行“creating hex file from“pmd”。當創(chuàng)建并編譯一個工程時,生成的hex文件名與工程名是相同的?,F(xiàn)在,我們就可以把hex文件加到單片機內(nèi)使用了。圖1.4.1(11)圖1.4.1(12)1.5 硬件電路1.5.1元件清單 元件名稱所屬類所屬子類at89c51microprpcessorics8051familycapcapacitorsgenericcap-eleccapacito

8、rsgenericcrystalmiscellaneous-resresistorsgenericled-redoproeletronicsleds1.5.2電路原理圖1.6 程序設(shè)計1.6.1 源程序#include#include#define uchar unsigned charuchar bianma8=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;void main() int i,j,k; while(1) for(i=0;i0;j-)for(k=110;k0;k-); p2=bianmai; 1.6.2 調(diào)試與仿真1.7成果展示第2章 提高設(shè)計

9、報告2.1 設(shè)計題目 基于單片機與上位機的通信系統(tǒng)2.2 設(shè)計任務(wù) 利用uvision軟件設(shè)計實現(xiàn)單片機和上位機(即計算機)之間的通信系統(tǒng)。要求計算機發(fā)送數(shù)據(jù)給單片機,單片機通過數(shù)碼管現(xiàn)實,并且能反饋信息給單片機。2.3 設(shè)計基本原理2.3.1 串行通信的基本原理 串行通信是指數(shù)據(jù)按位順序傳送的通信。串行數(shù)據(jù)傳送的特點是:通信線路簡單,最多只需一對傳輸線即可實現(xiàn)通信,成本低但速度慢,其通信線路既能傳送數(shù)據(jù)信息,又能傳送聯(lián)絡(luò)控制信息;它對信息的傳送格式有固定要求,具體分為異步和同步兩種信息格式與此相應(yīng)有異步通信和同步通信兩種方式;在串行通信中,對信息的邏輯定義與ttl不兼容,需要進行邏輯電平轉(zhuǎn)換

10、:計算機與外界的數(shù)據(jù)傳送大多是串行的,其傳送的距離可以從幾米到幾千公里。單片機中使用的串行通信通常都是異步方式的。2.3.2串行通信的基本方式1.單片機串行口有四種不同的工作方式:方式0:移位寄存器輸入/出方式,波特率固定為:fosc/12。方式1:10位uart(通用異步接口電路),一幀數(shù)據(jù)包括1位起始位(0),8位數(shù)據(jù)位和1位停止位(1)。波特率可變,公式為:其中x為定時器t1的初值,當然我們一般都是先確定波特率然后算初值的,所以我們更想知道x等于多少。把上面的式子變一下就可以得到初值x了:方式2/3:這兩種方式都是11位的uart,它們比方式1多了一個第9位數(shù)據(jù)。他們不同的是:方式2波特

11、率固定為fosc/32或fosc/64,由smod位決定,方式3的波特率同方式1。2.本實驗中采用方式1,波特率為9600(計算機默認值),根據(jù)波特率算出初值x=253(定時器t1工作方式2)。我們以9600的波特率循環(huán)發(fā)送和接收數(shù)據(jù)。2.3.3 通信中數(shù)據(jù)的傳送方式通常在串行通信中。數(shù)據(jù)在兩個站之間是雙向傳送的,既可以a站作發(fā)送端,b站作接收端:也可以b站作發(fā)送端,a站接收端。根據(jù)具體的需要,又可分為半雙工(half duplex)和全雙工(fullduplex),半雙工只有一條傳輸線,盡管傳輸也可以雙向進行,但每次只能有一個站發(fā)送,另一個站接收。即可以是a發(fā)送到b,也可以是b發(fā)送到a,但a

12、,b不能同時發(fā)送。當然也不能同時接收。而全雙工有兩條傳輸線,因此兩個站既可以同時發(fā)送,又可以同時接收,或者說一個站可以同時進行發(fā)收。2.3.4接口處相應(yīng)元件 1. rs-232c是異步通信中應(yīng)用最廣的標準串行接口,它定義了數(shù)據(jù)終端設(shè)備(dte)和數(shù)據(jù)通信設(shè)備(dce)之間的串行接口標準,主要包括了有關(guān)串行數(shù)據(jù)的電氣和機械方面的規(guī)定。目前的pc機都配有標準的rs-232接口,rs-232c標準規(guī)定了25針連接器,但在實際應(yīng)用中并不一定用到rs-232c的全部信號線,所以,pc機配置的都是9針“d”型連接器。圖2.3.4 (1) 為rs-232c的“d”型9針插口的引腳圖。在通常的異步串行通信中只

13、使用其中三個引腳,即引腳2(接收rxd)、引腳3(發(fā)送txd)、引腳5(信號地sg)各引腳功能如圖2.3.4(2)所示圖2.3.4 (1) 9針“d”型連接器引腳號符號方向功能1dcd輸入數(shù)據(jù)載體檢測2txd輸出發(fā)送數(shù)據(jù)3rxd輸入接收數(shù)據(jù)4dtr輸出數(shù)據(jù)終端準備好5gnd信號地6dsr輸入數(shù)據(jù)通信設(shè)備準備好7rts輸出請求發(fā)送8cts輸入清除發(fā)送9ri輸入振鈴指示圖2.3.4(2)pc機的rs-232c接口信號2.由于ttl電平和rs-232c電平互不兼容,所以兩者對接時,必須進行電平轉(zhuǎn)換。rs-232c與ttl電平轉(zhuǎn)換最常用的芯片是mc1488、mc1489和max232等,各個生產(chǎn)的此類

14、芯片雖然不一樣,但原理相似。一般選用max232。max232的引腳圖如下所示:圖2.3.4(3) max232的引腳圖管腳說明如下: c0+、c0-、c1+、c1- 是外接電容端;r1in、r2in是2路rs-232c電平信號接收輸入端;rlout、r2out是2路轉(zhuǎn)換后的ttl電平接收信號輸出端,送8051的rxd接收端;tlin、t2in是2路ttl電平發(fā)送輸入端,接8051的txd發(fā)送端;tlout、t2out是2路轉(zhuǎn)換后的發(fā)送rs-232c電平信號輸出端,接傳輸線;v+經(jīng)電容接電源+5v;v-經(jīng)電容接地。這種連接的傳輸介質(zhì)一般采用雙絞線,通信距離一般不超過15m,傳輸率小于20kb/

15、s。3.圖2.3.4(4)給出了采用max232芯片的pc機與單片機串行通信接口電路,與pc機相連采用pc機的9芯標準插座。圖2.3.4(4) pc機與單片機串行通信接口電路(注意:本實驗為仿真實驗,為使實驗電路簡單明了,所以實際電路中未加電平 轉(zhuǎn)換器件,并不影響仿真結(jié)果,但是如上原理我們必須理解。)2.4輔助軟件介紹1.打開虛擬串口的文件夾,可以看見如圖2.4(1)兩個文件,一個是破解用的,一個是安裝用的。圖2.4(1)2雙擊安裝圖標開始安裝。選擇同意,一路next即可。安裝后再將破解用 的文件粘貼到c:program fileseltima softwarevspd xp 5.1目錄下,覆

16、蓋原來的文件即可。在桌面就可以看到快捷方式。雙擊快捷方式后會看到圖2.4(2) 圖2.4(2)虛擬串口界3上面為實際的物理串行口,下面是虛擬的物理串行口。下面來增加一對虛擬串行口。因為一般的電腦最多為兩個串行口,我們設(shè)置first為com3,second為com4,點擊add pair就可以增加一對虛擬串口(如下圖2.4(3)、(4)所示)。這兩對端口是通過這個軟件物理連接的,并且是rs232電平連接。這樣我們就完成里串口的設(shè)置,可以把此軟件關(guān)閉,這兩個端口將會一直存在電腦中,下次直接使用就可以了。 圖2.4(3) 圖2.4(4)4下面對串口進行設(shè)置和邦定,在proteus右鍵單擊圖2.3.4

17、 (1)所示的圖選定,然后左鍵單擊此元件打開它的屬性對話框。如下圖2.4(5)所示: 圖2.4(5) 5下面就是對串口調(diào)試工具的設(shè)置了,設(shè)置如下圖2.4(6):因本例proteus用了com3,那么串口調(diào)試工具這里就要綁定為com4了,并且設(shè)置為16進制發(fā)送和顯示,這樣準備工作就做好了。圖2.4(6)串口調(diào)試工具設(shè)置界面2.5硬件部分 2.5.1 元件清單元件名稱所屬類別所屬子類at89c51microprpcessorics8051familycompimmicroprpcessorics7se-comcathodeoptoelectronics7-segment display 2.5.2

18、 設(shè)計電路2.6程序設(shè)計 2.6.1流程圖 2.6.2 源程序#include reg51.h#include string.hchar receive_data=0123456789;char flag;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/串口初始化 晶振為11.0592m方式1 波特率30057600void initcom(unsigned char baudrate)unsigned char thtl;switch (baudrate)case 1: thtl = 64

19、; break; /波特率300case 2: thtl = 160; break; /600case 3: thtl = 208; break; /1200case 4: thtl = 232; break; /2400case 5: thtl = 244; break; /4800case 6: thtl = 250; break; /9600case 7: thtl = 253; break; /19200case 8: thtl = 255; break; /57600default: thtl = 208;scon = 0x50; /串口方式1,允許接收tmod = 0x20; /定

20、時器1定時方式2tcon = 0x40; /設(shè)定時器1開始計數(shù)th1 = thtl;tl1 = thtl;pcon = 0x80; /波特率加倍控制,smod位ri = 0; /清收發(fā)標志ti = 0;tr1 = 1; /啟動定時器/從串口接收一個定長字符串(非中斷方式,只用于字符需有一個的idata字符串數(shù)組)/如unsigned char *str;/unsigned char i=abcd;/inhandstr = &i;void cominstr(unsigned char *str)while(*str != 0x00) /判斷是否到了字符串的尾部while(!ri); /空語句判斷

21、字符是否收完*str = sbuf; /保存字符ri = 0; /清risbuf=*str;while(!ti);ti=0;str+; /字符串指針加一void delay1s(void) unsigned char i,j,k; for(k=40;k0;k-) for(i=20;i0;i-) for(j=248;j0;j-); void main() initcom(6); ea=1; es=1; et1=0; while(1) char i; cominstr(receive_data); for(i=0;i10;i+) /p2=table1; p2=tablereceive_datai-

22、48; delay1s(); flag=0; /串口接收中斷函數(shù) /void serial () interrupt 4 using 3/ /cominstr(receive_data); /flag=1;/ 2.6.3 調(diào)試與仿真圖2.6.3 調(diào)試仿真運行結(jié)果截取圖2.7 成果展示點擊proteus的播放鍵,切換到串口調(diào)試工具,即可收到數(shù)據(jù)。然后再發(fā)送一些數(shù)據(jù)給單片機,便可在數(shù)碼管上看到結(jié)果第3章 提高設(shè)計報告任務(wù)說明書3.1 小組成員及其學(xué)號姓名學(xué)號徐正磊0807040224鞏雅琨08070401023.2 本人工作任務(wù)說明 在實驗過程中,我和隊友分工協(xié)作。由于我編程方面還有欠缺,所以我主要負責電路的設(shè)計以及繪制等硬件部分,另外前期查閱資料、軟件學(xué)習(xí)、制定具體的設(shè)計方向以及后期的整理、實驗報告的撰寫,都

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論