




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、西南石油大學(xué) 單片機課程設(shè)計 電子工藝實習(xí)報告學(xué)生姓名學(xué)號教學(xué)院系電子信息工程學(xué)院專業(yè)年級指導(dǎo)教師完成日期2011年6月23日22目 錄第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輔助
2、軟件介紹142.5硬件部分162.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)移位。
3、1.4 軟件使用指南一、進入keil雙擊桌面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、4)所示。圖1.4.1(4)建工程元件選擇至此,我們已經(jīng)建立一個工程,但工程中海沒有任何文件及代碼。下面我們學(xué)習(xí)如何加載文件。四、添加文件及代碼1添加代碼到文件。點擊“file” “new”或者點擊來新建文件。新建文件后,窗口界面如圖1.4.1(5)所示。圖1.4.1(5)新建文件2.在當(dāng)前編輯框中輸入程序,程序輸入完畢后,如圖1.4.1(6-1)所示。 圖1.4.1(6-1)編寫程序 3.點擊“file” “save”或者點擊,彈出窗口如圖所示,在“文件名”處輸入要保存的文件名(例:pmd.c),必須輸入正確的擴展名(如果用c語言編寫程序,則擴展名必須是.c;如果用匯編語言編寫程序,則擴展名
5、必須是 .asm)。這里的文件名不一定和工程名相同,可以隨意填寫文件名,然后單擊“保存”按鈕??吹綀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)所示。這時,源代碼文件就與工
6、程關(guān)聯(lián)起來了。圖1.4.1(7) 加載程序圖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”或者單擊,彈出窗口如圖
7、1.4.1(11),選擇“output”,然后選中“create hex file”,使程序編譯后產(chǎn)生hex代碼,供下載器下載到單片機中。再次單擊,編譯工程,編譯過程和編譯結(jié)果如圖1.4.1(12)所示。我們發(fā)現(xiàn)編譯過程多出一行“creating hex file from“pmd”。當(dāng)創(chuàng)建并編譯一個工程時,生成的hex文件名與工程名是相同的?,F(xiàn)在,我們就可以把hex文件加到單片機內(nèi)使用了。圖1.4.1(11)圖1.4.1(12)1.5 硬件電路1.5.1元件清單 元件名稱所屬類所屬子類at89c51microprpcessorics8051familycapcapacitorsgeneric
8、cap-eleccapacitorsgenericcrystalmiscellaneous-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)試與仿
9、真1.7成果展示第2章 提高設(shè)計報告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)有異步通信和同步通信兩種方式;在串行通信中,對信息的邏輯定義與t
10、tl不兼容,需要進行邏輯電平轉(zhuǎn)換:計算機與外界的數(shù)據(jù)傳送大多是串行的,其傳送的距離可以從幾米到幾千公里。單片機中使用的串行通信通常都是異步方式的。2.3.2串行通信的基本方式1.單片機串行口有四種不同的工作方式:方式0:移位寄存器輸入/出方式,波特率固定為:fosc/12。方式1:10位uart(通用異步接口電路),一幀數(shù)據(jù)包括1位起始位(0),8位數(shù)據(jù)位和1位停止位(1)。波特率可變,公式為:其中x為定時器t1的初值,當(dāng)然我們一般都是先確定波特率然后算初值的,所以我們更想知道x等于多少。把上面的式子變一下就可以得到初值x了:方式2/3:這兩種方式都是11位的uart,它們比方式1多了一個第9
11、位數(shù)據(jù)。他們不同的是:方式2波特率固定為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ā)
12、送到b,也可以是b發(fā)送到a,但a,b不能同時發(fā)送。當(dāng)然也不能同時接收。而全雙工有兩條傳輸線,因此兩個站既可以同時發(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
14、和max232等,各個生產(chǎn)的此類芯片雖然不一樣,但原理相似。一般選用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ì)一般采用雙絞線,通信距離一般不
15、超過15m,傳輸率小于20kb/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 software
16、vspd xp 5.1目錄下,覆蓋原來的文件即可。在桌面就可以看到快捷方式。雙擊快捷方式后會看到圖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è)置和邦定,在p
17、roteus右鍵單擊圖2.3.4 (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-segme
18、nt display 2.5.2 設(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)c
19、ase 1: thtl = 64; 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,允許接
20、收tmod = 0x20; /定時器1定時方式2tcon = 0x40; /設(shè)定時器1開始計數(shù)th1 = thtl;tl1 = thtl;pcon = 0x80; /波特率加倍控制,smod位ri = 0; /清收發(fā)標志ti = 0;tr1 = 1; /啟動定時器/從串口接收一個定長字符串(非中斷方式,只用于字符需有一個的idata字符串?dāng)?shù)組)/如unsigned char *str;/unsigned char i=abcd;/inhandstr = &i;void cominstr(unsigned char *str)while(*str != 0x00) /判斷是否到了字符串的尾部wh
21、ile(!ri); /空語句判斷字符是否收完*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=tab
22、lereceive_datai-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é)作。由于我編程方面還有欠缺,所以我主要負責(zé)電路的設(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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項5 標點(原卷版)
- 河北省石家莊市新樂一中2024-2025學(xué)年高一下學(xué)期第一次月考生物試題(原卷版+解析版)
- 商品陳列大全
- 2025年初中魯科版(五四學(xué)制)八年級上冊第四章第二節(jié)《探究凸透鏡成像規(guī)律》說課稿
- 【國金證券】人形機器人行業(yè)研究:人形機器人從理想走進現(xiàn)實
- 英語護士應(yīng)聘簡歷
- 2025年廣東省初中學(xué)業(yè)水平考試模擬英語試題(原卷版+解析版)
- 《會計信息系統(tǒng)應(yīng)用》課件 學(xué)習(xí)情境2 系統(tǒng)管理和基礎(chǔ)設(shè)置
- 二零二五年度北京市電子產(chǎn)品寄存與智能監(jiān)控服務(wù)協(xié)議
- 二零二五年度辦公空間互換及增值服務(wù)合作協(xié)議
- 企業(yè)人力資源管理師知識考試題及答案
- 2025年上半年宜賓江安縣人社局招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年山東省高考物理復(fù)習(xí)方法及備考策略指導(dǎo)(深度課件)
- 2025年安徽工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完整版
- 做一個指南針(課件)-二年級科學(xué)下冊教科版
- 2025至2030年中國十二烷基磺酸鈉數(shù)據(jù)監(jiān)測研究報告
- 2024年天翼云認證運維工程師考試復(fù)習(xí)題庫(含答案)
- 浙江省杭州市2024年中考英語真題(含答案)
- 《陸上風(fēng)電場工程設(shè)計概算編制規(guī)定及費用標準》(NB-T 31011-2019)
- (完整版)質(zhì)量目標細化分解方案-橋梁工程
- ??低晿寵C攝像機檢測報告
評論
0/150
提交評論