雙機(jī)通信課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)課程設(shè)計(jì)報(bào)告書</p><p><b>  題目:雙機(jī)通信系統(tǒng)</b></p><p><b>  一 、系統(tǒng)整體設(shè)計(jì)</b></p><p><b>  1.系統(tǒng)設(shè)計(jì)思路</b></p><p>  雙機(jī)通信的實(shí)質(zhì)就是解決兩單片機(jī)串行通信問(wèn)題。針對(duì)

2、于89C52單片機(jī)全雙工異步串行通信口,我們采用單片機(jī)直接交叉互連的串行通信方式。</p><p>  考慮到設(shè)計(jì)應(yīng)用于短距離傳輸、兩單片機(jī)具有相同的數(shù)據(jù)格式及電平且為使設(shè)計(jì)簡(jiǎn)單,我們最終決定采用方式二單片機(jī)直接交叉連接的串行通信方式,上位機(jī)發(fā)送的數(shù)據(jù)由串行口TXD端輸出,直接由下位機(jī)的串行口數(shù)據(jù)接收端RXD接收。需要注意的是一定要保證主從機(jī)相同的數(shù)據(jù)傳輸速率,即要求設(shè)置相同的波特率。電路分為數(shù)碼管顯示模塊,以及

3、單片機(jī)工作的基本復(fù)位、晶振模塊。</p><p><b>  2.系統(tǒng)設(shè)計(jì)原理</b></p><p><b> ?。?)串行通信</b></p><p>  串行數(shù)據(jù)通信要解決兩個(gè)關(guān)鍵問(wèn)題,一個(gè)是數(shù)據(jù)傳送,另一個(gè)是數(shù)據(jù)轉(zhuǎn)換。所謂數(shù)據(jù)傳送就是指數(shù)據(jù)以什么形式進(jìn)行傳送。所謂數(shù)據(jù)轉(zhuǎn)換就是指單片機(jī)在接收數(shù)據(jù)時(shí),如何把接收到的串行

4、數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù),單片機(jī)在發(fā)送數(shù)據(jù)時(shí),如何把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)進(jìn)行發(fā)送。單片機(jī)的串行通信使用的是異步串行通信,所謂異步就是指發(fā)送端和接收端使用的不是同一個(gè)時(shí)鐘。異步串行通信通常以字符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收端通過(guò)傳輸線一幀一幀地接收。而對(duì)于兩個(gè)單片機(jī)之間的串行通信,由于具有相同的數(shù)據(jù)格式及電平且是短距離通信則不必要使用一些電平轉(zhuǎn)化芯片(如max232等)便可直接實(shí)現(xiàn)串行通訊,需要注意的是

5、兩單片機(jī)硬件要共地,軟件中需要設(shè)置相同波特率。</p><p>  STC89C52單片機(jī)有一個(gè)全雙工的異步串行通信口,串行結(jié)構(gòu)如下:</p><p> ?、贁?shù)據(jù)緩沖器(SBUF)</p><p>  接受或發(fā)送的數(shù)據(jù)都要先送到SBUF緩存。有兩個(gè),一個(gè)緩存,另一個(gè)接受,用同一直接地址99H,發(fā)送時(shí)用指令將數(shù)據(jù)送到SBUF即可啟動(dòng)發(fā)送;接收時(shí)用指令將SBUF中接收到

6、的數(shù)據(jù)取出。</p><p> ?、诖锌刂萍拇嫫鳎⊿CON)</p><p>  SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:</p><p>  SM0,SM1:串行接口工作方式選擇位,這兩位組合成00,01,10,11對(duì)應(yīng)于工作方式0、1、2、3。串行接口工作方式特點(diǎn)見(jiàn)下表1.</p><p>  表1 串行口工作

7、方式表</p><p>  SM2:多機(jī)通信控制位。</p><p>  REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。</p><p>  TB8:方式2或3時(shí),TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。</p><p>  RB8:在方式2或3時(shí),RB8位接收到的第9位數(shù)據(jù),實(shí)際為主機(jī)發(fā)送的第9位數(shù)據(jù)TB8,使從

8、機(jī)根據(jù)這一位來(lái)判斷主機(jī)發(fā)送的時(shí)呼叫地址還是要傳送的數(shù)據(jù)。</p><p>  TI:發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)發(fā)送。</p><p>  RI:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)接收。</p><p><b> ?、圯斎胍莆患拇嫫?lt;/b>&l

9、t;/p><p>  接收的數(shù)據(jù)先串行進(jìn)入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中。</p><p><b>  ④波特率發(fā)生器</b></p><p>  波特率發(fā)生器用來(lái)控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機(jī)用定時(shí)器T1作為波特率發(fā)生器,T1設(shè)置在定時(shí)方式。波特率時(shí)用來(lái)表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳

10、送的數(shù)據(jù)位數(shù)。</p><p> ?、蓦娫纯刂萍拇嫫鱌CON</p><p>  其最高位為SMOD:波特率倍增位,在串行口方式1、方式2、方式3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍,復(fù)位時(shí),SMOD=0。</p><p><b> ?、薏ㄌ芈视?jì)算</b></p><p>  當(dāng)定時(shí)器T1工作在定時(shí)

11、方式的時(shí)候,定時(shí)器T1溢出率=(T1計(jì)數(shù)率)/(產(chǎn)生溢出所需機(jī)器周期)。由于是定時(shí)方式,T1計(jì)數(shù)率= fORC/12。產(chǎn)生溢出所需機(jī)器周期數(shù)=模M-計(jì)數(shù)初值X。</p><p>  (2)基本設(shè)計(jì)原理概述</p><p>  雙機(jī)通信系統(tǒng)通過(guò)主從單片機(jī)的串行口來(lái)實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。主單片機(jī)通過(guò)開(kāi)關(guān)電路來(lái)啟動(dòng)發(fā)送程序,當(dāng)開(kāi)關(guān)按下時(shí)向從機(jī)發(fā)送一個(gè)數(shù)據(jù),從機(jī)通過(guò)接收中斷來(lái)接收主機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù),并通

12、過(guò)編寫好的數(shù)據(jù)代碼在LED數(shù)碼管上顯示主機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)。同時(shí)從機(jī)給主機(jī)發(fā)送一個(gè)應(yīng)答信號(hào)來(lái)表示已經(jīng)接收到了主機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù),在主機(jī)接收應(yīng)答并校驗(yàn)正確,以二極管顯示,這樣就完成了一個(gè)數(shù)據(jù)的通信過(guò)程,等待按鍵按下,然后繼續(xù)下一次數(shù)據(jù)的發(fā)送直到結(jié)束。</p><p><b>  3.系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖</b></p><p>  圖1 雙機(jī)通信系統(tǒng)結(jié)構(gòu)圖</p>

13、<p>  二 、設(shè)計(jì)要求及任務(wù)</p><p>  按鍵觸發(fā)主機(jī)向從機(jī)發(fā)送數(shù)據(jù)。</p><p>  從機(jī)以中斷方式實(shí)時(shí)接收數(shù)據(jù)。</p><p>  從機(jī)將接受到的數(shù)據(jù)顯示并回送應(yīng)答信息給主機(jī)。</p><p>  主機(jī)查詢回送信息并校驗(yàn)以判斷是否繼續(xù)發(fā)送。</p><p>  制作硬件電路,并調(diào)試,最

14、后實(shí)現(xiàn)雙機(jī)通信系統(tǒng)功能。</p><p>  三 、硬件電路設(shè)計(jì)及實(shí)現(xiàn)</p><p>  1.硬件電路設(shè)計(jì)方案</p><p>  從硬件電路設(shè)計(jì)的目標(biāo)出發(fā),我們盡量考慮到可靠、高效、簡(jiǎn)潔的原則,在整個(gè)系統(tǒng)設(shè)計(jì)過(guò)程中嚴(yán)格按照規(guī)范進(jìn)行,做好各部分模塊設(shè)計(jì)最優(yōu)。簡(jiǎn)潔是指在滿足了可靠、高效的要求后,為了盡量在器件允許的范圍內(nèi)使電路設(shè)計(jì)導(dǎo)線無(wú)交叉,應(yīng)使電路設(shè)計(jì)盡量簡(jiǎn)潔,盡

15、量減少元器件使用數(shù)量,縮小電路板面積,使電路部分重量輕。在焊接電路板時(shí)由于從機(jī)的數(shù)碼管管腳排布無(wú)規(guī)律,使得導(dǎo)線不能直接的焊接,我們盡量合理設(shè)計(jì)元件排列和電路走線,使本系統(tǒng)達(dá)到設(shè)計(jì)要求。</p><p><b>  2.硬件電路的實(shí)現(xiàn)</b></p><p>  整個(gè)雙機(jī)通信系統(tǒng)以STC89C52單片機(jī)為主控制器,由數(shù)碼管為核心的數(shù)據(jù)顯示模塊、以及單片機(jī)最小系統(tǒng)構(gòu)成。&

16、lt;/p><p>  3.以89C52為核心的單片機(jī)最小系統(tǒng)</p><p>  89C52單片機(jī)的最小系統(tǒng)采用內(nèi)部時(shí)鐘方式:以XTAL1和XTAL2引腳外接晶振,構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào),然后給晶振的每個(gè)腳分別外接一個(gè)30PF的電容,以此使晶振快速起振并且達(dá)到約12MHZ的穩(wěn)定頻率。而在單片機(jī)的RST腳接上按鍵開(kāi)關(guān)以及適當(dāng)?shù)碾娮琛㈦娙荼銟?gòu)成按鍵與斷電兩用的復(fù)位電路。具

17、體電路如圖3.2.1-1所示:</p><p><b>  圖2單片機(jī)最小系統(tǒng)</b></p><p><b>  4.數(shù)碼管顯示模塊</b></p><p>  設(shè)計(jì)中,我們使用的是共陽(yáng)的兩位一體數(shù)碼管并使用P2口控制數(shù)碼管段選信號(hào),P1口選取兩位為位選信號(hào)控制端。拿到數(shù)碼管后,我們借助萬(wàn)用表進(jìn)行測(cè)試,最終確定為共陽(yáng)型數(shù)

18、碼管,進(jìn)一步測(cè)試便得出了該數(shù)碼管對(duì)應(yīng)的管腳分布圖。</p><p><b>  5.設(shè)計(jì)實(shí)物圖</b></p><p>  最終實(shí)物如下圖3所示。</p><p>  圖3 雙機(jī)通信系統(tǒng)設(shè)計(jì)實(shí)物圖</p><p><b>  四 、軟件系統(tǒng)實(shí)現(xiàn)</b></p><p>  1

19、. Proteus仿真圖</p><p>  圖4雙機(jī)通信系統(tǒng)的proteus仿真圖</p><p>  2. 軟件實(shí)現(xiàn)方案分析</p><p>  串行通信分為查詢方式和中斷方式。</p><p>  編程中,對(duì)于從機(jī)我們擬定采用中斷接收和查詢發(fā)送方式,原因在于程序開(kāi)銷無(wú)異。中斷方式使得從機(jī)時(shí)刻處于準(zhǔn)備接收狀態(tài),接收后判斷范圍,顯示,再回送

20、。而對(duì)于主機(jī),工作流程分析如下:得到按鍵允許,開(kāi)始查詢發(fā)送,查詢中等待應(yīng)答即中斷接收,中斷后得到應(yīng)答,使得LED指示燈閃爍,如此往復(fù)。</p><p>  在主機(jī)編程中,我們?cè)黾恿酥梦蝗?shù)標(biāo)志的編程思路,即通過(guò)查詢?nèi)?shù)標(biāo)志實(shí)現(xiàn)在主函數(shù)回送應(yīng)答并執(zhí)行相應(yīng)服務(wù)程序,如此一來(lái),很好的避免了中斷程序的冗長(zhǎng),提高了程序?qū)崿F(xiàn)的效率。</p><p>  串行通信程序設(shè)計(jì)包括:1)初始化程序:對(duì)特殊功能

21、寄存器SCON和PCON的設(shè)置,來(lái)選擇串行口的工作方式,設(shè)置通信波特率。由于設(shè)計(jì)采用了中斷方式,則還要對(duì)中斷系統(tǒng)進(jìn)行設(shè)置;2)發(fā)送數(shù)據(jù)的程序:51單片機(jī)串口發(fā)送數(shù)據(jù)的條件是串行口已準(zhǔn)備好,此時(shí)標(biāo)志位TI狀態(tài)為“1”,則需將待發(fā)數(shù)據(jù)傳送到發(fā)送數(shù)據(jù)緩沖區(qū)SBUF,即啟動(dòng)一次發(fā)送;3)接收數(shù)據(jù)的程序:51單片機(jī)串行口接收數(shù)據(jù)的條件是SCON中的RI置“1”,表明串行口已收到一個(gè)字節(jié)數(shù)據(jù),此時(shí)即可置位取數(shù)標(biāo)志;4)通信控制程序:用來(lái)控制發(fā)送和接

22、收的進(jìn)行。</p><p><b>  3. 主程序</b></p><p>  #include <reg52.h></p><p>  #define uchar unsigned char </p><p>  #define uint unsigned int</p><p>

23、  sbit DIG1 = P1^0; //位選信號(hào)控制</p><p>  sbit DIG2 = P1^1;</p><p>  sbit LED = P1^3;//LED控制端</p><p>  uchar ch, i = 0;</p><p><b>  uint r,k;</b></p><

24、;p>  uchar ge, sh;</p><p>  uchar const NUM[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};</p><p>  void delay_ms(uchar ms);</p><p>  void initModule(void);&

25、lt;/p><p>  void sendOneChar(uchar ch);</p><p>  void sendOneChar(uchar ch)</p><p><b>  {</b></p><p>  ES = 0; </p><p>  SBUF = ch;</p>

26、;<p>  while(!TI);//判斷發(fā)送中斷位TI是否為1</p><p><b>  TI = 0;</b></p><p><b>  ES = 1;</b></p><p><b>  }</b></p><p>  void initModule(

27、)</p><p><b>  {</b></p><p>  TMOD = 0x20;//定義定時(shí)器T1工作方式2</p><p>  TH1 = 0xfd;//波特率9600b/s</p><p>  TL1 = 0xfd;</p><p>  SCON = 0x50;//串口工作方式1,允許

28、串口接收位REN=1</p><p>  DIG1 = 0;//賦初值</p><p><b>  DIG2 = 0;</b></p><p><b>  LED = 1;</b></p><p><b>  }</b></p><p>  void d

29、elay_ms(uchar ms)//定義延時(shí)程序</p><p><b>  {</b></p><p>  uchar i, j;</p><p>  for (i=0; i<ms; i++)</p><p><b>  {</b></p><p>  for(j=

30、0; j<200; j++);</p><p>  for(j=0;j<102;j++);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {<

31、;/b></p><p>  initModule();</p><p><b>  EX0 = 1;</b></p><p><b>  IT0 = 1;</b></p><p><b>  ES = 1;</b></p><p><b&g

32、t;  EA = 1;</b></p><p><b>  TR1 = 1;</b></p><p>  P2 = NUM[0];</p><p><b>  while(1)</b></p><p><b>  {}</b></p><p>

33、;<b>  }</b></p><p>  void button() interrupt 0//發(fā)送程序</p><p><b>  {</b></p><p>  uchar num = 0;</p><p>  delay_ms(20);</p><p>  if (

34、INT0 == 0)</p><p>  delay_ms(14);</p><p>  if (INT0 == 0)</p><p><b>  {</b></p><p><b>  LED = 0;</b></p><p>  delay_ms(400);</p&

35、gt;<p><b>  LED = 1;</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p>  sh = i / 10;</p><p>  ge = i % 10;</p><p

36、>  while (num < 15)//數(shù)碼管顯示</p><p><b>  {</b></p><p>  for(r=5;r>0;r--)</p><p><b>  {</b></p><p><b>  DIG1 = 1;</b></p>

37、;<p>  P2 = NUM[sh];</p><p>  delay_ms(5);</p><p><b>  DIG1 = 0;</b></p><p><b>  DIG2 = 1;</b></p><p>  P2 = NUM[ge];</p><p>

38、;  delay_ms(5);</p><p><b>  DIG2 = 0;</b></p><p><b>  }</b></p><p><b>  num++;</b></p><p><b>  }</b></p><p>

39、;  sendOneChar(i);</p><p><b>  }</b></p><p>  void read() interrupt 4//接收程序</p><p><b>  {</b></p><p>  uchar num = 0;</p><p><b&

40、gt;  RI = 0;</b></p><p><b>  LED = 0;</b></p><p>  delay_ms(400);</p><p><b>  LED = 1;</b></p><p>  sh = SBUF / 10;</p><p>  

41、ge = SBUF % 10;</p><p>  while (num < 15)</p><p><b>  {</b></p><p>  for(k=5;k>0;k--)</p><p><b>  {</b></p><p><b>  DIG

42、1 = 1;</b></p><p>  P2 = NUM[sh];</p><p>  delay_ms(5);</p><p><b>  DIG1 = 0;</b></p><p><b>  DIG2 = 1;</b></p><p>  P2 = NUM

43、[ge];</p><p>  delay_ms(5);</p><p><b>  DIG2 = 0;</b></p><p><b>  //k--;</b></p><p><b>  }</b></p><p><b>  num++;

44、</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  五、 總結(jié)</b></p><p><b>  1.電路改進(jìn)</b></p><p>  為了保證數(shù)碼

45、管顯示亮度,我們可以考慮增加必要的數(shù)碼管驅(qū)動(dòng)電路。假如不驅(qū)動(dòng)的話,單片機(jī)的單低電平仍然可以控制數(shù)碼管的亮滅,但這時(shí)的數(shù)碼的亮度會(huì)比較暗,并且掃描頻率很高,仍然有微小的閃動(dòng)現(xiàn)象.因?yàn)閱纹瑱C(jī)的輸出的電流并身就很弱。</p><p>  在實(shí)際情況允許時(shí),增加必要的電平轉(zhuǎn)化芯片來(lái)連接兩個(gè)單片機(jī),則能夠適應(yīng)更遠(yuǎn)距離的數(shù)據(jù)通訊。</p><p><b>  2. 心得體會(huì)</b>

46、;</p><p>  本次實(shí)訓(xùn)增強(qiáng)了我查閱資料的方法技巧,更是大大的提高了我們自學(xué)的能力,同時(shí)也增強(qiáng)了我們的動(dòng)手能力。</p><p>  我很清楚這個(gè)實(shí)驗(yàn)的目的,表面上我們最終僅僅只是實(shí)現(xiàn)了設(shè)計(jì)要求的基本功能,但我覺(jué)得,這次課程設(shè)計(jì)更加深刻的意義是——從這樣一個(gè)最基本,簡(jiǎn)單的實(shí)驗(yàn)中,從這樣一個(gè)完整的過(guò)程中我了解一種系統(tǒng)設(shè)計(jì)的流程,甚至說(shuō)是一種思路,思維。</p><

47、p>  從最初拿到題目,分析設(shè)計(jì)要求以及實(shí)現(xiàn)的初步思路,然后去查閱資料進(jìn)行更加具體的設(shè)計(jì)這次實(shí)驗(yàn)無(wú)疑要求我們團(tuán)隊(duì)協(xié)作,互相配合并且整體上比較全面的統(tǒng)籌設(shè)計(jì)。于是,初步規(guī)劃后,我們開(kāi)始將系統(tǒng)要實(shí)現(xiàn)功能的各個(gè)模塊單獨(dú)開(kāi)來(lái)用PROTEUS仿真,并最終將各個(gè)模塊組合后整體調(diào)試。整個(gè)過(guò)程中我們?cè)诜抡嫔匣ㄙM(fèi)了較長(zhǎng)時(shí)間,因?yàn)橹婪抡娉晒κ菍?shí)現(xiàn)真正硬件電路的基礎(chǔ),仿真是從根本上檢驗(yàn)設(shè)計(jì)者的設(shè)計(jì)邏輯以及思路的,很好的仿真才能使得設(shè)計(jì)系統(tǒng)在實(shí)現(xiàn)要求功

48、能的基礎(chǔ)上更加穩(wěn)定、簡(jiǎn)單,仿真中,我們仔細(xì)斟酌了電路布線的合理性。在焊接過(guò)程中,由于之前的統(tǒng)籌布局使得我們的電路布線簡(jiǎn)潔、明了,需要注意的是,由于焊接的粗心,有些焊點(diǎn)需要一再解焊導(dǎo)致焊盤脫落,而且對(duì)于數(shù)碼管管腳焊接方式也是值得進(jìn)一步改進(jìn)的,這便是我今后所要更加注意的,爭(zhēng)取全心全意的焊接電路,不要因?yàn)槟承┐中牡脑蚴请娐泛附影l(fā)生錯(cuò)誤,在那個(gè)下午堅(jiān)持不懈的努力下我們終于完成了任務(wù),可以說(shuō)是大部分的任務(wù)都是在那個(gè)下午一氣呵成的。</p&

49、gt;<p>  總的來(lái)說(shuō),在實(shí)驗(yàn)中,我們盡量統(tǒng)籌并使得團(tuán)隊(duì)協(xié)作發(fā)揮更大作用,第一周的周三分發(fā)元器件后,在第二天我們組便基本上完成了設(shè)計(jì)要求的基本功能,于是,我們利用剩下的時(shí)間去調(diào)試硬件以及更加深入的總結(jié)題目的意義。最后,作為本次實(shí)驗(yàn)小組的組長(zhǎng),我對(duì)大家辛勤勞作默契配合的合作精神深感欣慰,希望以后得到好的繼承與發(fā)揚(yáng)!</p><p>  本次課程設(shè)計(jì)我們做的是雙機(jī)通信,剛開(kāi)始時(shí)感覺(jué)上挺難的,因?yàn)閯e的

50、課題都像是很直接的看到要做的東西,而我們的就不行。后來(lái)經(jīng)過(guò)一番了解后我才發(fā)現(xiàn)其實(shí)很簡(jiǎn)單的。</p><p>  這次實(shí)驗(yàn)我們是四人一組,因?yàn)榧纫玫杰浖?,又要用到硬件,所以我們就分工合作。我和另一個(gè)同學(xué)負(fù)責(zé)硬件電路的仿真。在仿真過(guò)程中我們剛開(kāi)始想用單片機(jī)直接通信。因?yàn)榫嚯x比較近,所以我們使用單片機(jī)進(jìn)行通信。如果距離遠(yuǎn)的話就要使用串口進(jìn)行通信。在焊接電路過(guò)程中,因?yàn)槲覀円恢焙芗?xì)心,所以就沒(méi)有什么問(wèn)題。</p&

51、gt;<p>  通過(guò)這次課程設(shè)計(jì)讓我又一次覺(jué)得團(tuán)結(jié)的力量是那么的強(qiáng)大,合作精神是我們必不可少的。首先我們要一起討論怎么去設(shè)計(jì)這個(gè)雙機(jī)通信,討論怎么去實(shí)現(xiàn),大概都要用什么實(shí)現(xiàn);其次,我們?cè)诜抡嬗布r(shí),要告訴編程的同學(xué)我們是怎么做的,他們好根據(jù)這個(gè)來(lái)實(shí)現(xiàn)軟件編程;最后,在調(diào)試時(shí),我們做硬件的同學(xué)要檢查電路是否哪里有問(wèn)題,而軟件的同學(xué)則要考慮是否是程序有問(wèn)題,當(dāng)我們確定是程序有問(wèn)題時(shí)就一起想辦法解決。這次課程設(shè)計(jì)對(duì)我的影響不僅

52、是現(xiàn)在的,還會(huì)影響我的以后,在以后的生活中我要發(fā)揚(yáng)團(tuán)結(jié),互助,合作的精神。這樣才能發(fā)揮大家所有人的潛力。大家都聽(tīng)過(guò)筷子的故事吧,它告訴我們團(tuán)結(jié)就是力量。好多項(xiàng)研究都是大家努力的結(jié)果,你聽(tīng)過(guò)哪項(xiàng)研究是一個(gè)人做的,也許有,但那畢竟是少數(shù),我們都不是天才,合作精神對(duì)我們來(lái)說(shuō)是必須的。再說(shuō),人步、不可能脫離人群而獨(dú)活,所以呢團(tuán)結(jié),互助,合作對(duì)我們都是必不可少的。</p><p>  本次課程設(shè)計(jì)我們組主要研究的是雙機(jī)通信

53、實(shí)驗(yàn),通過(guò)與組成員之間的合作,在開(kāi)始的前兩天中,主要是通過(guò)查找資料,或是在圖書館里查看書籍來(lái)學(xué)習(xí)有關(guān)雙機(jī)通信實(shí)驗(yàn)的基本要求和實(shí)驗(yàn)所需要的器件,以及各實(shí)驗(yàn)器件所實(shí)現(xiàn)怎樣的功能。</p><p>  經(jīng)過(guò)了我們四個(gè)人的協(xié)商,由兩個(gè)人開(kāi)始編寫代碼,再由兩個(gè)人開(kāi)始設(shè)計(jì)實(shí)驗(yàn)電路。在編寫程序代碼的時(shí)候,使我學(xué)習(xí)到了最大的是MCS51單片機(jī)的中斷程序的編寫。在編寫程序的時(shí)候由于之前只是在課堂上和書本上學(xué)習(xí)的有單片機(jī)中的中斷源以

54、及中斷向量,所以在實(shí)踐的編寫代碼過(guò)程中會(huì)遇到很多不懂的問(wèn)題,需要自己或者與同組成員相互溝通。并且也學(xué)會(huì)了單片機(jī)的有關(guān)中斷設(shè)計(jì)的思想,由于我們是制作雙機(jī)通信的課程設(shè)計(jì),所以在實(shí)驗(yàn)中需要用到兩片單片機(jī)作為主從機(jī)來(lái)控制信號(hào)的接受與發(fā)送。還學(xué)習(xí)到了單片機(jī)在使用中斷的時(shí)候,如果有中斷申請(qǐng)的話,硬件電路會(huì)自動(dòng)把單片機(jī)里接受發(fā)送中斷的TI和RI置1.這樣就表示單片機(jī)此時(shí)有外部中斷的申請(qǐng),必須開(kāi)中斷來(lái)接受發(fā)送過(guò)來(lái)的信號(hào)。大概兩天的時(shí)間,我們就把初步的軟

55、件程序和硬件電路設(shè)計(jì)好了。并且在PROTEUS的仿真器件中實(shí)現(xiàn)了硬件電路的連接,然后我們把PROTEUS的仿真硬件和51的程序下載到單片機(jī)中通過(guò)調(diào)節(jié)實(shí)驗(yàn)硬件和共同修改軟件程序最終實(shí)現(xiàn)了器件的仿真。</p><p>  接下來(lái)就是焊接電路的工作了,由另外的組員來(lái)實(shí)現(xiàn)大部分的硬件電路的焊接,從中我也學(xué)習(xí)幫忙,盡快完成我們的全部的設(shè)計(jì)內(nèi)容。在完成了所有的焊接的時(shí)候,把程序下載到單片機(jī)中后,發(fā)現(xiàn)了數(shù)碼管顯示的和預(yù)期設(shè)置的

56、有些不同,在經(jīng)過(guò)簡(jiǎn)單的修改之后,我們成功的完成了我們的實(shí)驗(yàn)作品。在此次課程設(shè)計(jì)中我學(xué)習(xí)到了好多新的知識(shí)以及通過(guò)了團(tuán)隊(duì)小組的合作受益匪淺。 </p><p>  這次課程設(shè)計(jì)的題目比較簡(jiǎn)單,我們感覺(jué)自己完成的也比較出色。我們采用了兩位動(dòng)態(tài)顯示的數(shù)碼管,掌握了多位數(shù)碼管的工作原理;我們?cè)谟布B接完成好以后進(jìn)行檢測(cè),當(dāng)我們檢測(cè)所有的焊點(diǎn)都沒(méi)有問(wèn)題后,讓單片機(jī)發(fā)送數(shù)據(jù)。我們既用了匯編程序控制通信,也用了C語(yǔ)言程序,兩個(gè)都

57、實(shí)現(xiàn)了實(shí)驗(yàn)的要求,只不過(guò)匯編程序的參數(shù)設(shè)定的不夠理想,數(shù)碼管在高頻閃動(dòng),我們也研究過(guò)好長(zhǎng)時(shí)間,但還是不能夠達(dá)到我們的要求。通過(guò)兩個(gè)星期的學(xué)習(xí),我們?cè)陟柟毯蛯W(xué)習(xí)硬件知識(shí)的同時(shí),用軟件控制協(xié)調(diào)硬件實(shí)現(xiàn)現(xiàn)實(shí)功能,通過(guò)硬件完成軟件的功能等方面的融會(huì)貫通,取得了一定的效果。軟件編寫時(shí),對(duì)于某些指令的功能,功能模塊的連接,芯片地址選擇等都遇到了很大的障礙,不過(guò)我們查閱資料得到了解決,與此同時(shí),了解了不少的問(wèn)題。例如,51系列單片機(jī)具有多級(jí)中斷功能,

58、為了不至于在保護(hù)現(xiàn)場(chǎng)或恢復(fù)現(xiàn)場(chǎng)的同時(shí),由于CPU響應(yīng)其他中斷請(qǐng)求,而使現(xiàn)場(chǎng)破壞,一般規(guī)定,在保護(hù)和恢復(fù)現(xiàn)場(chǎng)時(shí),CPU不響應(yīng)外界的中斷請(qǐng)求,即關(guān)中斷。另外,設(shè)計(jì)中犯一些常識(shí)性的錯(cuò)誤,對(duì)設(shè)計(jì)進(jìn)程造成了一定的影響。</p><p>  在這次設(shè)計(jì)中,我收獲不少東西,也遇到了不少的問(wèn)題。首先,在完成單片機(jī)課程學(xué)習(xí)任務(wù)后,對(duì)內(nèi)容的掌握不夠,缺乏靈活運(yùn)用的能力,對(duì)于知識(shí)的擴(kuò)展也存在一定的問(wèn)題,因此,初面對(duì)設(shè)計(jì)課題,無(wú)法系統(tǒng)地

59、進(jìn)行設(shè)計(jì)思路的擬定。通過(guò)本次課程設(shè)計(jì),不僅使理論知識(shí)得到了實(shí)踐,有效鞏固了知識(shí)。同時(shí)對(duì)于單片機(jī)發(fā)展歷史、強(qiáng)大功能、應(yīng)用領(lǐng)域以及系列知識(shí)得到了大概的系統(tǒng)認(rèn)識(shí),同時(shí)也初步了解了一個(gè)完整的系統(tǒng)開(kāi)發(fā)的過(guò)程,對(duì)于創(chuàng)造思維的培養(yǎng)和開(kāi)發(fā)能力的鍛煉,本次設(shè)計(jì),為此提供了一個(gè)很好的平臺(tái)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 《單片機(jī)原理及接口技術(shù)》

溫馨提示

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

評(píng)論

0/150

提交評(píng)論