電子系統實踐報告.docx_第1頁
電子系統實踐報告.docx_第2頁
電子系統實踐報告.docx_第3頁
電子系統實踐報告.docx_第4頁
電子系統實踐報告.docx_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、福州衣修物信償浣電子系統設計與實踐課內實驗報告姓名:曾聰杰學號:111300203同組姓名:黃佳駿系 別:物理與信息工程學院專 業:微電子年 級:2班指導老師:李凡陽實驗時間: 2016年6月28日_nop_();for (i=0xf f; i>0; i-)/延時(_nop_(); /PO=OXFF;Pl=0xF7;/小數點、第二位P0=tablelAD_DATA%10;for (i=0xff;i>0;i-)/延時(_nop_();for (i=0xf f; i>0; i-)/延時_nop_O ; / P0=0XFF;四、Protel原理圖及其仿真調節滑動變阻器,示數從0-5

2、12發生變化mlRV14A專U2<«800 AB CTOLK , aooF3.VT»pofltAraFO.WAH rojtmioROWAH POSTALPO-fiTAKznr*s2-VA9 ,二Q 2JTA11 2.WAQ zsmoNgWRX«HDF3*nF37/WFRP1RFRPgtTEXTC1U1C2XTA12If>1IkST577MHF1nF «TEX7RE”VOLK Rif*Nn*5A"MjriStC 2S SEbPOIVACCFO.VA01PO2fA02 FoarAtaRO.4/A0*PO£Aft5 POj&am

3、p;AM PO.7/AOTIE8pzxyxs P2.1 俺 pzjyAO PZAII z.waq P2£/AO F2J&AU PZ.TASRP1P3aax。 pa.inx® P3nnD paaniTTP3.WTDF3*nP3.7/1O5:TE>avVAD1 ZAK2 3fA(aWA04 SiMA &A06 ?ACT283 2.1施2fAO A11 .WAGJ&AU .你修DfRXP n>t> 2/nrro nrrr3.m asm 所啊POIYACO5.10'IU26>TTffl«T®a>VTf

4、771-1五、PCB原理圖及版圖OOo OO OonD o0OOOO0OOOO0OOOOQOOOmnmnnnnnmnrww00000000000ooooooooooooooooooono o FOOOOOQOCOOOO3S nV Nu- r o o Q o 000000000七、實驗總結1、本次采用TLC549的AD轉換芯片,實驗前必需對其工作原理進行分析和理解,掌握其工 作時序。TLC549在每一個時鐘下降沿時開始將數據從高位到低位一位一位移出,因此在AD 轉換的子程序里我們定義兩個16位的數據變量,其中一個用來存放從TLC549移出的數據, 另外一個變量與第一個相或,并且每次向左移一位,得

5、到數據再保留9位,最后通過return 函數返回到主函數。2、該實驗采用軟件延時的方式對四個數碼管進行動態掃描,使用三極管的導通進行位選。 也可采用定時器中斷的方式進行掃描顯示,可以使顯示效果更穩定。實驗三單片機雙向通信一、實驗內容實現單片機與單片機之間相互通信:甲機向乙機發送控制兩個 LED燈亮滅的命令字符,甲機同時接收乙機發送的尸9的數字,并顯 示在數碼管上。二、實驗原理兩個單片機都使用串口方式1進行通信,晶振頻率為11.0592MHz,選 用定時器T1作為波特率發生器,T1工作于方式2,通信的波特率為 9600,并且必須保證兩單片機通信波特率完全一致,否則接受不到正 確的數。選用11.0

6、592MHZ晶振的目的就是為了使計算得到的初值為 整數,選用定時器T1工作于方式2作為波特率發生器,只需要在初 始化編程的時候,將計算得到的初值寫入TH1和TL1,當T1溢出時 會自動重新裝入初值,從而產生精確的波特率。在發送數據時,向 SBUF中寫入一個數據后,使用"while(TI=O); ”等待是否發送完畢, 因為當發送完畢后,TI被硬件置1,然后才退出"while (TI=O);” 接下來在將TI手動清零,同理,在接受數據時,在中斷服務程序中 也需要將接受中斷標志位RI置零。三、C程序代碼單片機1#include<reg51.h>#define ucha

7、r unsigned char#define uint unsigned intsbit LED1=P1AO;sbit Kl=Pl/'7;操作代碼uchar Operation_No=0; /數碼管代碼uchar code DSY CODE = 0x3f,0x06,Ox5b,0x4fr 0x66,Ox6d,0x7d,0x07,0x7f,0x6f;延時void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i<120;i+);/向串口發送字符void Putc to SerialPort(uchar c)SBUF=c;把C變量數據付植給專用寄

8、存器SBUFwhile (TI=0);等待發送完畢TI=0;TI標志位置零/主程序void main()LED1=LED2=1;P0=0x00;SCON=0x50;TMOD=0x20;PCON=0x00;串口模式1,允許接收T1工作模式2波特率不倍增THl=0xfd;TLl=0xfd;TI=RI=0;設定波特率為4.8kbps發送與接收標志位置零TR1=1;IE=0x90;啟動定時器允許串口中斷while (DelayMS(100);if (Kl=0)/按下K1時選擇操作代碼Q, 1, 2, 3while(Kl=0);Operation_No=(Operation_No+l)%4;switch

9、 (Operation_No)/根據操作代碼發送A/B/C或停止發送(case 0: Putc_to_SerialPort('X');LED1=LED2=1;break; case 1: Putc_to_SerialPort('A');LED1=LED1;LED2=1;break;case 2: Putc_to_SerialPort('B');LED2=-LED2;LED1=1;break;case 3: Putc_to_SerialPort('C');LED1=LED1;LED2=LED1;break;/甲機串口接收中斷函數vo

10、id Serial_INT() interrupt 4if (RD如果RI標志位為1,則開始接受數據RI=0;RI標志位置零if(SBUF>=0&&SBUF<=9) PO=DSY_CODESBUF;把SBUF寄存器的接受值付給一維數組元素值,一維數組元素值付給P。口 編碼else P0=0x00;否則 P0 口置零)單片機2#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P1AO;sbit LED2=P1A3;sbit K2=P1A7;uchar

11、 NumX=-l;/延時void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i<120;i+);Ivoid main()LED1=LED2=1;SCON=0x50;覃叫竟近圖曲國I洱0刊 '血aspo基3037/Xeejq/T=ia3T/o=3a3rI:.3.mse。算1031/eajq/X=2aaq/0=Ta3,I:.V.aseo/XF3JqT=Za37=ia379SEO羽農回大削落場志空夠回蟲風技玷拒割講(jnas)中即 o=ih 助咚附Q37 I的麥玷斯 (IH) JT 力 4dnjj©4UT () INI_ieTJ&#

12、169;s pg0=11-(O=ID liqM xuinN=jngsH%XuinN+=XuinN? (0=乙M) 3沖i(O=ZM)3T-(001)SHAuiea(T)9TTM«*06X0=31T=TH10=II=IH OOxO=NOOd pjxo=m /pjxO=lHl 03xo=aowiU1n.ll:a.nrDKe斜羅kP2.HA9»zIzzP3UF2HpoarFT pm,。 pa*, PgJKNR* pa.nro"=F5G7r甲機按鍵按下時,控制雙方LED的亮滅gx盤 gsaMN:、;popo斜 Epo黑P2OA3P2.HMP23A«0FI/NA&

13、gt;2 P2JIA>9P2«A'<P2.HA«aF3XIRMDP9JIOJDFa3f4fOPiarFTP3/M,0 pg*, paatp" ra-nfip"IINZt,4州吧州平州伸I ,N-JLU1”心X<AL2Ea.M:JM:.n FDH黑源,P2Q2P2.HM P23A*0PC/TP2SA>i心P2/MA*2CAP2JIA*9P2BA>«P2.g,p«.«P9.«irMDP«2pan,。P'JP23RriP«*Rl/HfO,,P9WP'

14、;flF3JB«RP«Jra.nro",,CX 八HlU2 yr*"CX,>二,,5,*WAMX<AL2RVnsnAco FD.'IW» FO3WJC pugg R.MM POLADS POaACU pd.hwPW4P2AABP2.HA9 P22A*0 P2入”P*AP2/MA«2P2JIA*9P2«A»<ra.nAiaP9O2QP«.«P3.*irXDP« Jrajar<ro"P« JpaarFTP«*n/wroP

15、1; Jwanpaarjp*,pa.n®乙機按鍵次數顯示在甲機的數碼管:±2i實驗一秒表一、實驗內容用兩個數碼管實現秒表功能,并用外部按鍵實現計時開始,再次 按鍵暫停,第三次按鍵清零。二、實驗原理兩位數碼管實現10s的秒表,數碼管為共陰極,采用靜態顯示; 第一位顯示秒,計數從0、9,接P0 口;第二位顯示十分之一秒,接 P2 口;按鍵K1接端口 P3.7;計時通過定時器T0實現,其工作于工 作方式1,采用中斷方式。三、C程序代碼#include<reg51.h>#define uchar unsigned char#define uint unsigned in

16、tsbit K1=P3A7;uchar i,Second_Counts,Key_Flag Idx;bit KeyState;uchar DSY CODE=0x3f,0x06,0x5b,0x4f,0x66,Ox6d,0x7d,0x07,0x7f,0x6f;/延時void DelayMS(uint r s)(uchar t;while(ms-) for(t=0;t<120;t+);/處理按鍵事件void Key Event_Handle()if(Key=0)4ZD4zaD7MCXrvn_»rtxr>WAU"心P5CMP>A P'JP'3P>

17、;2P«AP'> P« .r五、PCB原理圖及版圖Mgsg 撐:s滯11.»IN,/M±a.nMRKRUroPIspzMUgssgsa.H:;a.«lP7flMP3.UW P2JA«0 F2JA'* P2/MA«2 P2aA«9 P2AA> P3.HA'»一溪B1. IIF E TJF 五 H敷銅后八、實驗總結1、首先應先理解單片機串行通信的原理。單片機串行接口有兩個控制寄存器:SCON和PCON。 串行口工作在方式。時,可通過外接移位寄存器實現串并行轉換。在這種方式下

18、,數據為8 位,只能從RXD端輸入輸出,TXD端用于輸出移位同步時鐘信號,其波特率固定為振蕩頻率 的1/12o由軟件置位串行控制寄存器(SCON)的REN位后才能啟動,串行接收,在CPU將數 據寫入SBUF寄存器后,立即啟動發送。待8位數據輸完后,硬件將SCON寄存器的T1位置 1,必須由軟件清零。這就是主程序工作的過程。2、響應中斷后,沒有退出中斷前,如果繼續有數據傳送過來,那么后傳送過來的數據將丟 失。3、PCB器件排布應將排針和數碼管等大器件放置外圍,而晶振各種小芯片應放到單片機芯 片旁。Key_Flag_Idx=(Key_Flag_Idx+l)%3;switch(Key Flag Id

19、x)(case 1: EA=1;ETO=1;TRO=1/break;case 2: EA=O;ETO=O;TRO=O;break;case 0 : P0=0x3f; P2=0x3f; i =0; Second_Counts=:0;)/主程序void main()JP0=0x3f;/顯示00P2=0x3f;i=0;Second_Counrs=0;Key Flac_Idx=0;/按鍵次數(取值0, 1, 2,3)Key_St:ate=l;/按鍵狀態TMOD=0x01;/定時器。方式1TH0=(65536-50000)/256;/定時器0: 50msTL0=(65536-50000) %256;wh

20、ile(1)Iif(Key State!1)DelayMS(10);Key_State=K1;Key_Event_Handle();)/TO中斷函數void DSY_Refresh() interrupt 1TH0= (65536-50000)/256;/恢復定時器 0 初值TL0=(65536-50000)%256;if (+i=2)/50ms*2=0. Is 轉換狀態i=0;Secona_Counts+;PO=DSY_CODESecond_Counts/10;P2=DSY_CODESecond_Counts%10;if (Second_Counts=100) Second_Counts=0

21、; /i 100 (10s) JfiSiTr: 00 四、Protel原理圖及其仿真第一次按鍵:啟動計數頊: I I£. R1 .1-TET»n»a<AO<»f i/adiK夕* K»e/Aoe P0.7ZAD7S3 n gP2 2/AJOP2 3.W1 “WAJ2” WAH ” VA16P3CVRXOP3.1GD 2»fWP3WTTP)<TO開惟,零 第二次按鍵:暫停Wft'W P3 I/AD1 M2/AD2 roswADs W4»AD4P- 5” MWADC P次7”岫P2 gP2.2/A10

22、« 1MH F2*W P2M13 P24/A14 P27/A16F3WRKOF3 1/DCO P3 2?W ” WITP3VTDF3 VTI 哄何!RP1 RESPAK.?$EG71第三次按鍵:清零混卓sir/*C7rj mxop”g g» ” i* Pi 3>M0 ra w n a>a>2 f2 WAJ3 R2 H P2 7/AJ5” mwttr> atto五、PCB原理圖及版圖原理圖:VCfi JV*N.»*<14M,Mmr*iMMOfi,*m:z>fTv?«tAiiFAlCVA1 191 1K'lnwni

23、IJ FFH Hnx*ca !0!,', , , 敷銅前J c Lcc敷銅后:on。e O-J-To ooIAQJlooolooloOQOObolo。0000000000000000000= = 至一 IMO六、實驗總結1、秒表的實現與單片機的中斷系統息息相關,掌握單片機的硬件結構及其各種中斷機制是 我們編程的第一步2、編程需要分模塊,即各種子程序如延時子程序,對應的中斷路口程序等等,并做好相應 的標記,以防調用錯誤3、編程思路按照模板并在所需功能加上相應的邏輯,可以更高效。4、本實驗采用兩個數碼管接到兩個I/O 口,占用單片機資源大,因此可以采用動態掃描的 方式,只需一個I/O 口以

24、及相應的段選和位選口即可。5、在設計控制開關時,注意2個中斷的打開和關閉的先后順序,否則就會出錯。6、本次實驗的按鍵控制功能用一個簡單的邏輯就能實現消抖。7、PCB器件的排放需要按照一定的擺放規則,使制版更容易,更可觀。實驗二AD轉換顯示一、實驗內容用單片機實現四個數碼管顯示TLC549所采樣到的電壓值。二、實驗原理TLC549是一種高性能的8位A/D轉換器,它以8位開關電容逐次 逼近的方法實現A/D轉換,采用三線串行接口方式與單片機連接,端 口 SCLK、SDO、CS與單片機的I/O 口連接來控制A/D轉換。本實驗通 過用該芯片采集電壓模擬量,然后將采集到的模擬量轉換為數字量后 送至數碼管顯示大小。三、C程序代碼#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit; /小數點位sbit 旻不=22八7;/液晶使能端口uchar temp,ad;uchar code tablel(12=0x

溫馨提示

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

評論

0/150

提交評論