時間:2022-04-01 08:46:29
序論:在您撰寫大學(xué)畢業(yè)設(shè)計時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
一、論文印裝
畢業(yè)論文要用我校統(tǒng)一的太原理工大學(xué)畢業(yè)設(shè)計(論文)用紙(印刷廠可提供),并用計算機(jī)打印。排版用word文件,版面上空3.3cm,下空2.3cm,左空2.8cm(用于裝訂),右空2.3cm。打印正文用宋體或楷體小四號字(英語用Times New Roman 12),單倍行距(英語用1.5倍行距),頁碼用小五號字底端居中。
二、論文結(jié)構(gòu)及要求
1.太原理工大學(xué)統(tǒng)一封面
2.畢業(yè)設(shè)計任務(wù)書
任務(wù)書由指導(dǎo)老師填寫,內(nèi)容、時間與工作日志中任務(wù)書相符,經(jīng)教研室主任、系主任簽字后生效。
3.畢業(yè)設(shè)計(論文)中英文摘要、關(guān)鍵詞
中文摘要300字左右(樣式見附件一)
英文摘要300字左右(樣式見附件二)
關(guān)鍵詞(3-5個)
1.1 設(shè)計的目及意義
一般的PC與單片機(jī)之間的串行通信,需要單片機(jī)采集數(shù)據(jù),然后用異步串行通訊方式傳給PC機(jī)。相對而言比較的煩瑣,而本文著重用VB具有面向?qū)ο蟮脑O(shè)計方法,友好的用戶來探討在VB環(huán)境下來實現(xiàn)PC機(jī)與51單片機(jī)之間串行通訊的方法。實現(xiàn)起來要簡捷方便。
隨著計算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,各種控制設(shè)備之間的通信功能越來越顯得重要。尤其是伴隨著單片微型機(jī)技術(shù)的發(fā)展,人們已越來越多地采用單片機(jī)來對一些工業(yè)控制系統(tǒng)中如溫度、流量和壓力等參數(shù)進(jìn)行檢測和控制。在本系統(tǒng)中,下位機(jī)采用一片AT89S51單片機(jī),用于對發(fā)送的數(shù)據(jù)實施控制,為了實現(xiàn)對輸入數(shù)據(jù)的接收,上位機(jī)采用便攜式PC機(jī),上、下位機(jī)之間通過MAX232芯片實現(xiàn)串行數(shù)據(jù)通信。PC 機(jī)具有強(qiáng)大的監(jiān)控和管理功能,而單片機(jī)則具有快速及靈活的控制特點,通過PC 機(jī)的RS-232 串行接口與外部設(shè)備進(jìn)行通信,是許多測控系統(tǒng)中常用的一種通信解決方案。
本文將論述在VB 環(huán)境下PC 機(jī)與單片機(jī)之間實現(xiàn)串行通訊的軟硬件方案。實現(xiàn)單片機(jī)與 PC 機(jī)的相互通信。單片機(jī)部分由匯編語言實現(xiàn),PC 機(jī)的通訊程序使用Visual Basic 編寫,VB 是Microsoft 公司推出的Windows 應(yīng)用程序開發(fā)工具,因其具有界面友好,編程簡便等優(yōu)點而受到廣泛的使用,而且Visual Basic 6.0 版本帶有專門實現(xiàn)串行通訊的MSCOMM 控件。因此如何實現(xiàn)PC 機(jī)與單片機(jī)之間的通訊具有非常重要的現(xiàn)實意義。
利用VB6.0 的事件驅(qū)動方式可以很方便地開發(fā)數(shù)據(jù)采集與監(jiān)控系統(tǒng),用單臺PC 機(jī)可以測量和監(jiān)控多路控制信號,整控制系統(tǒng)設(shè)計方便,對小型測控系統(tǒng)的設(shè)計具有很大的實用性。
1.2 設(shè)計實現(xiàn)的功能
實現(xiàn)單片機(jī)與 PC 機(jī)的相互通信。具體要求有以下兩點:
①單片機(jī)發(fā)固定編好的代碼,在用 VB 編好的界面上接收;
②在 VB 編好的界面上發(fā)送數(shù)字,在單片機(jī)板上的數(shù)碼管上顯示出來。
2 硬件設(shè)計方案
為了實現(xiàn)PC機(jī)與單片機(jī)之間的串行通信,我們首先要清楚了解整個系統(tǒng)所采用的原理圖。原理圖就象一根紅線貫穿于整個系統(tǒng)設(shè)計,通過此圖我們就能很清楚的看到系統(tǒng)所涉及的內(nèi)容,然后鑒于此,我們將在以后的章節(jié)中依次對所牽涉的內(nèi)容作詳細(xì)的論述。下面對原理圖作一點說明:從MAX232芯片中的兩路發(fā)送接收中任選一路作為接口,要注意其發(fā)送與接收引腳對應(yīng),否則可能對器件或計算機(jī)串口造成永久性損壞。如選他T1IN接單片機(jī)的發(fā)送端TXD,則PC機(jī)、的RS—232的接收端RD一定要對應(yīng)接T1OUT引腳。同時,R1OUT接單片機(jī)的接受端RXD引腳,則PC機(jī)的RS—232的發(fā)送端TD一定要對應(yīng)接R1IN引腳。
上圖為采用MAX232芯片接口的PC機(jī)與51單片機(jī)串行通信接口原理圖
2.1 AT89S51單片機(jī)
2.1.1 AT89S51單片機(jī)簡介
AT89S51 為 ATMEL 所生產(chǎn)的可電氣燒錄清洗的 8051 相容單芯片,是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。
AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器, 128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。
2.1.2 AT89S51單片機(jī)的功能
AT89S51主要功能列舉如下:
1)為一般控制應(yīng)用的8位單芯片
2)晶片內(nèi)部具有時鐘振蕩器
3)內(nèi)部程式存儲器(ROM)為 4KB 4)內(nèi)部數(shù)據(jù)存儲器(RAM)為 128B
5)外部程序存儲器可擴(kuò)充至 64KB
6)外部數(shù)據(jù)存儲器可擴(kuò)充至 64KB
7)32 條雙向輸入輸出線,且每條均可以單獨做 I/O 的控制
8)5個中斷向量源
9)2組獨立的 16 位定時器
10)1個全多工串行通信端口
11)8751 及 8752 單芯片具有數(shù)據(jù)保密的功能
12)單芯片提供位邏輯運算指令
2.1.3 AT89S51各引腳功能介紹:
VCC:AT89S51 電源正端輸入,接+5V。
VSS:電源地端。
XTAL1:單芯片系統(tǒng)時鐘的反相放大器輸入端。
XTAL2:系統(tǒng)時鐘的反相放大器輸出端。
RESET:AT89S51的重置引腳,高電平動作。
EA/Vpp:存取外部程序代碼,低電平動作。
ALE/PROG:地址鎖存器啟用信號。
PSEN:程序儲存啟用,通常這支腳是接到EPROM的OE腳。
PORT0(P0.0~P0.7):端口0是一個8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)作I/O用時可以推動8個LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。
PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)作一般I/O端口使用外,若是在AT89S51擴(kuò)充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當(dāng)作I/O來使用了。
PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。
PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負(fù)載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/p>
其引腳分配如下:
P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。P3.4:T0,計時計數(shù)器0輸入。P3.5:T1,計時計數(shù)器1輸入。
P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。
本系統(tǒng)所采用的AT89S51芯片如下圖所示:
2.1.4 AT89S51 ISP
ISP為在線編程接口。ISP在線編程接口為89S51單片機(jī)提供了方便的在線編程方法,使用時將ISP下載線一端與PC并口相連接,一端與ISP接口相連,使用ISP下載軟件即可實現(xiàn)MCU在線編程。
下載線插接說明:兩排十針下載口,板圖上都有一個小方框,為1號引角;下載線的凸口為正方向,凸口的右側(cè)邊的第一個插孔為1號引角,這一點一定要切記,不然的話程序下載不進(jìn)去。
本系統(tǒng)中所用AT89S51 ISP原理圖如下示:
AT89S51 ISP
2.2串行通訊
2.2.1串行通訊的概念
串行通訊:一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。
串行通訊的特點是:數(shù)據(jù)位傳送,傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米。
分類:根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種。
2.2.2 RS-232C 串口通訊原理
RS-232C是目前最常用的串行接口標(biāo)準(zhǔn),用來實現(xiàn)計算機(jī)與計算機(jī)之間,計算機(jī)與外設(shè)之間的數(shù)據(jù)通信。
RS-232C串行接口總線適用于設(shè)備之間的通信距離不大于15米,傳輸速率最高為19.2kb/s的場合。RS-232C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、和19200b/s。RS-232C屬單端信號傳送,存在共地噪聲和不能抑制的共模干擾等問題,因此一般用于短距離通信。
1) RS-232C接口信號
一個完整的RS-232C接口有22根線,采用標(biāo)準(zhǔn)的25芯連接器。
2) RS-232C 典型應(yīng)用
用RS-232C總線連接系統(tǒng)時,有近程通信方式和遠(yuǎn)程通信方式之分。近程通信是指傳輸距離小于15米的通信,這時可以用RS-232C電纜直接連接。15米以上的長距離通信,需要采用調(diào)制解調(diào)器。
下圖a)是計算機(jī)與終端之間利用RS-232C直接通信的最常用的交叉連線圖。圖中“發(fā)送數(shù)據(jù)”與“接收數(shù)據(jù)”是交叉相連的,使得兩臺設(shè)備都能正確地發(fā)送和接收?!皵?shù)據(jù)終端變緒”與“數(shù)據(jù)裝置就緒”兩根線也是交叉相連的,使得兩設(shè)備都能檢測出對方是否已經(jīng)準(zhǔn)備好。
在最簡單的全雙工系統(tǒng)中,公用發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和信號地三根即可。對MCS-51單片機(jī)來說,利用RXD(串行數(shù)據(jù)接收端)線、TXD(串行數(shù)據(jù)發(fā)送端)線以及一根地線,就可以構(gòu)成符合RS-232C接口標(biāo)準(zhǔn)的全雙工串行通信口。(見圖b)
(a)直接連接
(b)最簡單的RS-232C數(shù)據(jù)通信連接
3) RS-232C接口電平轉(zhuǎn)換
RS-232C是早期為促進(jìn)公用電話網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信而制定的標(biāo)準(zhǔn),其邏輯電平對地是對稱的,完全與TTL、CMOS邏輯電平不同。
RS-232C采用負(fù)邏輯,即:
邏輯1:-5V~-15V。 邏輯0:+5V~+15V。
由于MCS-51采用TTL電平,若用RS-232C標(biāo)準(zhǔn)接口通信必須進(jìn)行電平轉(zhuǎn)換。目前RS-232C與TTL電平轉(zhuǎn)換最常用的集成電路芯片是傳輸線驅(qū)動器MC1488傳輸線接收器MC1489。其內(nèi)部結(jié)構(gòu)和引腳如下圖(c)所示。
MC1488可完成TTL電平到RS-232C的電平轉(zhuǎn)換,輸入為TTL電平,輸出為RS-232C電平。其內(nèi)部有3個與非門和1個反相器。采用±12V或±15V電源供電。
MC1489可完成由RS-232C到TTL電平轉(zhuǎn)換,輸入為RS-232C電平,輸出為TTL電平。其內(nèi)部有4個反相器,采用+5V電源供電。MC1489中每個反相器都有一個控制端,高電平有效,可作為RS-232C操作的控制端。圖(d)給出了RS-232C接口電路原理圖。
(c)RS-232C電平轉(zhuǎn)換芯片MC1488和MC1489
(d) RS-232C接口電路
MAX232芯片
MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5v單電源供電。它的內(nèi)部結(jié)構(gòu)基本可分三個部分;
第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。
第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。
第三部分就是供電。15腳DNG、16腳VCC(+5v)。
2.2.3 串行接口
控制串行接口的寄存器有兩個,即特殊功能寄存器PCON和SCON。
1)PCON中的波特率選擇位
PCON是一個特殊功能寄存器(如下圖所示),沒有位尋址功能,字節(jié)地址為87H。其中D7位(SMOD)為波特率選擇位。其他位均無意義。復(fù)位時的SMOD值為0??捎肕OV PCON。#80H或MOV 87H,#80H指令使該位置1。當(dāng)SMOD=1時,在串行接口方式1、2或3情況下,波特率提高一倍。
D7 D0
PCON
SMOD
波特率選擇位 | 無定義位 |
2)串行接口控制寄存器 SCON
特殊功能寄存器SCON用于定義串行接口的操作方式和控制它的某些功能。其字節(jié)地址為98H。寄存器中各位內(nèi)容如下:
SCON
位 D7 D6 D5 D4 D3 D2 D1 D0
位地址
9F
9E
9D
9C
9B
9A
99
98
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0,SM1 串行接口操作方式選擇位。兩個選擇位對應(yīng)于四種狀態(tài),所以串行接口能以四種方式工作。
SM2 允許方式2和3的多機(jī)通信使能位。
REN 允許串行接收位。由軟件置位或清0,使允許接收或禁止接收。
TB8 是在方式2和3中要發(fā)送的第9位數(shù)據(jù)可按需要由軟件置位或復(fù)位
RB8 是方式2和3中已接收到的第9位數(shù)據(jù)。
TI 發(fā)送中斷標(biāo)志。
RI 接收中斷標(biāo)志。
串行接口工作方式
串行接口的操作方式由SM0、SM1定義,編碼和功能如下表所示
串行接口方式選擇
SM0 SM0
方式
功能說明
波特率
0 0
移位寄存器方式
Fosc/12
0 1
1
8位UART
可變
1 0
2
9位UART
Fosc/64或fosc/32
1 1
3
9位UART
可變
2.2.4 TMOD介紹
定時器/計數(shù)器T0、T1 的方式寄存器TMOD
字節(jié)地址為89H。TMOD的格式如下:低4位用來定義T0,高4位用來定義T1D7
D7 D6 D5 D4 D3 D2 D1 D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
| T1 | T0 |
各位的意義如下:
1、 GATE——門控位。
GATE=1時,由外部中斷引腳、和TR0、TR1共同來啟動定時器。當(dāng)引腳為高電平時,TR0置位啟動定時器T0;當(dāng)引腳為高電平時,TR1置位,啟動定時T1。
GATE=0時,僅由TR0和TR1置位來啟動定時器T0和T1。
2、 C/T——功能選擇位。
C/T=1時,選擇計數(shù)功能;
C/T=0時,選擇定時功能。
T0、T1 的計數(shù)、定時功能是通過TMOD中的位來選擇的。
3、 M1、M0——工作方式選擇位。
由于有M1和M0兩位,可以有四種工作方式,如下表所示。
定時器/計數(shù)器的工作方式
M1 M0
工作方式
計數(shù)器配置
0 0
方式0
13位計數(shù)器
0 1
方式1
16位計數(shù)器
1 0
方式2
自動重載的8位計數(shù)器
1 1
方式3
T0分為兩個8位計數(shù)器,T1停止計數(shù)
3 串行數(shù)據(jù)通信程序設(shè)計
3.1 通信協(xié)議
本系統(tǒng)串行通信采用異步通信方式。協(xié)議如下:
1.一幀數(shù)據(jù)由1位起始位、8位數(shù)據(jù)位、無奇偶校驗位、1位停止位共10位組成。
2.波特率設(shè)為9600bps。單片機(jī)串行口按方式1工作,波特率由定時器T1控制,PC機(jī)串口波特率通過VB通訊控件的Settings屬性設(shè)置,為保證數(shù)據(jù)傳送的準(zhǔn)確性,兩者的波特率必須一致。
本次通訊中,我們以一個測控系統(tǒng)的上位機(jī)和下位機(jī)之間的通信為背景,給出單片機(jī)部分和VB 環(huán)境下的通信程序?qū)嵗?,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理和控制,上位機(jī)進(jìn)行現(xiàn)場可視化檢測,通信協(xié)議采用異步串行通信方式,通過RS232 的RTS 信號進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式通訊。
3.2 下位機(jī)(單片機(jī))串行通信及程序設(shè)計
平臺介紹及編程方法
匯編語言
匯編語言是針對一類(甚至幾類)計算機(jī),抽象出來的一種符號語言并把這些符號加以統(tǒng)一規(guī)定,使得使用同類計算機(jī)的人都了解這些符號的意義,這樣,使得用匯編語言編寫的程序可以在這一類型的任何一臺計算機(jī)上使用。這就有了極大的靈活性,當(dāng)然不同類型的計算機(jī)的匯編語言也不同。它們都必須由生產(chǎn)廠家提供的匯編語言來編寫。另外.匯編語言還增加了宏指令的功能。匯編語言是計算機(jī)衛(wèi)程控制中最常用的語言。
匯編語言的主要優(yōu)點就是可以直接控制計算機(jī)硬件,可以編寫在時間和空間兩方面更有效的程序。這些優(yōu)點使得匯編語言在程序設(shè)計中占有重要的地位。是不可取代的。
但匯編語言的缺點也是明顯的,它與處理器密切相關(guān),要求程序員熟悉計算機(jī)硬件系統(tǒng),考慮許多細(xì)節(jié)問題,所以程序繁瑣,調(diào)試、維護(hù)、交流和移植困難。因此,有時可以采用高級語言和匯編語言混合編程的方怯,互相取長補短,更好地解決實際間題。
匯編語言生要應(yīng)用場合有以下幾種:
l)程序要具有較短的運行時問,或者只能占用較小的存儲客量。例如操作系統(tǒng)的核心 程序段,實時控制系統(tǒng)的軟件等。
2)程序與計算機(jī)硬件密切相關(guān),程序要直接控制硬件。例如to接口電路的初始化程序段,外部設(shè)備的底層驅(qū)動程序等。
3)大型軟件需要提高性能、優(yōu)化處理的部分。例如計算機(jī)系統(tǒng)頻繁調(diào)用的子程序、動態(tài)鏈接庫等。
4)沒有適合的高級語言的時候。例如開發(fā)最新的處理器程序時。
偉福軟件介紹:
偉福系列仿真器偉福仿真品種多、功能強(qiáng),特點如下:
1)主機(jī)+POD組合,通過更換POD,可以對各種CPU進(jìn)行仿真。
2) 雙平臺:DOS版本,WINDOWS版本。其中WINDOWS版本功能強(qiáng)大。
3) 雙工作模式:a.軟件模擬仿真(不要仿真器也能模擬仿真)。 硬件仿真。
4) 雙CPU結(jié)構(gòu),100% 不占用戶資源。
5) 雙集成環(huán)境:編輯、編譯、下載、調(diào)試全部集中在一個環(huán)境下。多種仿真器,多類CPU仿真全部集成在一個環(huán)境下。可仿真51系列,196系列,PIC系列,飛利蒲公司的552、LPC764、DALLAS320,華邦438等51增強(qiáng)型CPU。為了跟上形勢,現(xiàn)在很多工程師需要面對和掌握不同和項目管理器、編輯器、編譯器。偉福 WINDOWS調(diào)試軟件為您提供了一個全集成環(huán)境,統(tǒng)一的界面,包含一個項目管理器,一個功能強(qiáng)大的編輯器,匯編Make、Build和調(diào)試工具并提供一個與第三方編譯器的接口。
6) 強(qiáng)大的邏輯分析儀綜合調(diào)試功能:隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)通訊方面的運用越來越多。有了邏輯儀,用它可以分別或者同時對發(fā)送方、接收方的輸入或者輸出波形進(jìn)行記錄、存儲、對比、測量等各種直觀的分析,可以將實際輸出通訊報文的波形與源程序相比較,可立即發(fā)現(xiàn)問題所在。從而極大地方便了調(diào)試。
7) 強(qiáng)大的追蹤器功能:追蹤功能以總線周期為單位,實時記錄仿真過程中CPU發(fā)生的總線事件,其觸發(fā)條件方式同邏輯分析儀。追蹤窗口在仿真停止時可收集顯示追蹤的CPU指令記憶信息,可以以總線反匯編碼模式、源程序模式對應(yīng)顯示追蹤結(jié)果。屏幕窗口顯示波形圖最多追蹤記憶指令32K并通過仿真器的斷點、單步、全速運行或各種條件組合斷點來完成追蹤功能。總線跟蹤可以跟蹤程序的運行軌跡。可以統(tǒng)計軟件運行時間。
編程方法
本系統(tǒng)中傳輸協(xié)議為9600,8,N,1,即波特率為9600b/s,傳送8個數(shù)據(jù)位。沒有校驗位,一個停止位。在PC機(jī)中也設(shè)置為相同的協(xié)議。1)控制寄存器SCON的設(shè)置為:SM0、SM1為0、1,即為串行工作方式1,REN為1,即允許接收。這樣SCON中的值是0X50H,(使用匯編語言是MOV SCON,#50H。)2)TMOD寄存器的設(shè)置為:使用定時器1。M0=0,M1=1,工作于方式2,自動重新載入計數(shù)值。TMOD=0X20H。(使用匯編語言是MOV TMOD,#20H)3) 波特率的設(shè)置:本系統(tǒng)上的工作時鐘為11.0592MHz, 波特率為9600b/s,對TH1的重載入計數(shù)器值由下式計算可得:TH1=256-11059200/384*9600=253=FDH TH1=0XFDH(使用匯編語言是MOV TH1,#0FDH)。
串口初始化
流程圖如右:
根據(jù)以上設(shè)置匯編語言編寫串行端口的初始化程序:
接收程序:
發(fā)送數(shù)據(jù)
MAIN: MOV TMOD,#20H ;
MOV TH1,#0FDH;
MOV TL1,#0FDH;
SETB TR1;
MOV SCON,#50H;
LOOP: JBC RI,DISP
SJMP LOOP
DISP: MOV A,SBUF
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
SJMP LOOP
TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
發(fā)送程序:
ORG 0000H
START: MOV TMOD,#20H;
MOV TL1,#0FDH
MOV TH1,#0FDH;
SETB TR1
MOV SCON,#40H
MOV R0,#20H
MOV R7,#32
MOV A,#40
LOOP1:
MOV @R0,A
INC A
INC R0
DJNZ R7,LOOP1
MOV R0,#20H
MOV R7,#32
LOOP: MOV A,@R0
ACALL YANSHI
ACALL SPOUT
INC R0
DJNZ R7,LOOP
SJMP START
SPOUT:
MOV SBUF,A
JNB TI,$
CLR TI
RET
YANSHI: MOV R6,#250
D1: MOV R5,#250
DJNZ R5,$
DJNZ R6,D1
RET
END
3.3上位機(jī)(PC機(jī))串行通信及程序設(shè)計
3.3.1 平臺介紹及編程方法
VB語言簡介
在本系統(tǒng)中PC機(jī)采用Visual Basic(簡稱VB)編程。VB已成為WINDOWS系統(tǒng)開發(fā)的主要語言,以其高效、簡單易學(xué)及功能強(qiáng)大的特點越來越為廣大程序設(shè)計人員及用戶所青睞。VB支持面向?qū)ο蟮某绦蛟O(shè)計,具有結(jié)構(gòu)化的事件驅(qū)動編程模式并可以使用無限擴(kuò)增的控件,而且可以十分簡便地作出良好的人機(jī)界面。
用VB6.0開發(fā)串行通信程序有兩種法,一種是利用Windows的API函數(shù);另一種是采用VB6.0的通信控件MSComm。利用API函數(shù)編寫串行通信程序較為復(fù)雜,需要掌握大量的通信知識,其優(yōu)點是可實現(xiàn)的功能更豐富、應(yīng)用面更廣泛,適合于編寫較為復(fù)雜的低層次通信程序。而VB6.0的MSComm通信控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、事件、方法,并通過控件屬性對串口參數(shù)進(jìn)行設(shè)置,比較容易地解決了串口通信問題。該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。這是一個標(biāo)準(zhǔn)的十位串口通信,包括8位標(biāo)準(zhǔn)數(shù)據(jù)和數(shù)據(jù)的起始位和停止位。在發(fā)送或接收數(shù)據(jù)過程中觸發(fā)OnComm事件,通過編程訪問 CommEvent屬性了解通信事件的類型,分別進(jìn)行各自的處理。每個通信控件對應(yīng)一個串口,可以設(shè)計多個通信控件來訪問多個通信口。
PC機(jī)程序設(shè)計流程圖如下示
數(shù)據(jù)正確
NO
YES
校驗數(shù)據(jù)
校驗正確
NO
清標(biāo)志位
YES
置標(biāo)志位
返回信息
3.3.2 VB6.0的通信控件及通信方式
MSComm通訊控件簡介
MSComm是VB6.0提供的ActiveX控件,使用前需將該控件添加到VB工具 欄。MSComm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC機(jī)可以利用串行口與其它設(shè)備實現(xiàn)輕松連接,簡單高效地實現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種處理方式,事件驅(qū)動方式:由MSComm控件的OnComm事件捕獲并處理通訊錯誤及事件;查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯誤。
1)MSComm控件的主要屬性和方法
a. CommPort:設(shè)置或返回串行端口號,其取值范圍為1—99,缺省為1
b. Setting: 設(shè)置或返回串行端口的波特率、奇偶校驗位、數(shù)據(jù)位數(shù)、停位。如:MSComm.Setting="9600, n, 8, 1”。
c. PortOpen:打開或關(guān)閉串行端口。
d. RThreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個數(shù)達(dá)到或超過該值后就產(chǎn)生MSComml--OnComm事件。
e. Input:從接收緩沖區(qū)移走一串字符。
f. Output:向發(fā)送緩沖區(qū)傳送一字符串。
2)CommEvent屬性 :
如果在通訊過程中發(fā)生錯誤或事件,就會引發(fā)OnComm事件并由CommEvent 屬性代碼反映錯誤類型,可根據(jù)該屬性值來執(zhí)行不同的程序操作或數(shù)據(jù)處理。以下是部分屬性常數(shù)值及其含義:
a. ComEvSend:其值為1,發(fā)送緩沖區(qū)的內(nèi)容少于SThreshold指定的值。
b. ComEvReceive:其值為2,接收緩沖區(qū)內(nèi)字符數(shù)達(dá)到RThreshold值,該事件在緩沖區(qū)中數(shù)據(jù)被移走前將持續(xù)產(chǎn)生。
c. ComEventRxParity:其值為1009,奇偶校驗。
d. ComEvEOF:其值為7,接收數(shù)據(jù)中出現(xiàn)文件結(jié)束字符。
本系統(tǒng)采用事件驅(qū)動方式進(jìn)行串口通信設(shè)計,下圖2為上位機(jī)通信界面,設(shè)計了2個命令按扭,分別為發(fā)送、清空數(shù)據(jù);兩個文本框,Text1用于輸入需從下位機(jī)讀取的數(shù),Text2用于顯示下位機(jī)發(fā)送來的數(shù)據(jù);3個Frame控件,一個Label控件,當(dāng)然還需要一個MSComm控件。
MSComm控件屬性設(shè)置如圖1示:
(圖2)
下面是MSComm控件的初始化程序、部分?jǐn)?shù)據(jù)發(fā)送和接受程序
4調(diào)試與結(jié)論
該系統(tǒng)目前已調(diào)試成功,完成了PC機(jī)與51單片機(jī)之間的串行通信。并且實現(xiàn)了下列功能:1)在VB界面上發(fā)送任一數(shù)字在51單片機(jī)的數(shù)碼管上都能成功的接收 2)同樣通過向51單片機(jī)內(nèi)寫入的程序,在VB界面上可以接收到相對應(yīng)的內(nèi)容且運行良好。
調(diào)試過程如下:
硬件方面:
該系統(tǒng)的硬件調(diào)試主要是排查單片機(jī)印刷電路板的問題和連接上的一些問題。在該系統(tǒng)中,首先通過了仔細(xì)地推敲系統(tǒng)原理,確認(rèn)無誤;其次對照設(shè)計圖紙查印制電路板,看是否有粘接等工藝現(xiàn)象;最后,檢查連接是否有誤,通過這幾個方面的反復(fù)調(diào)試,可確保電路板的無誤性。
在本系統(tǒng)的硬件調(diào)試過程中,出現(xiàn)了下列兩種情況
1)電壓不穩(wěn)定而導(dǎo)致程序無法寫入的情況,使電壓穩(wěn)定的方法是改用新的電池,或者是再次設(shè)計電源方案,在這里是用電源接通教學(xué)實驗板,然后再把教學(xué)實驗板與本系統(tǒng)相 連接,這樣,就可以得到穩(wěn)定的電壓了。
2)還出現(xiàn)的一個問題是數(shù)碼管不顯示,檢查后是焊接上出現(xiàn)了一點的失誤。
軟件方面:
本系統(tǒng)在軟件調(diào)試方面也沒有規(guī)律可循,調(diào)試時更多的是憑經(jīng)驗。軟件調(diào)試的主要任務(wù)是排查錯誤。通過在Wave E2000編譯器下調(diào)試程序,有兩種錯誤,一種邏輯錯誤,也就是語法錯誤,是很容易被發(fā)現(xiàn)的,另一種是功能錯誤,是指在沒有語法錯誤的基礎(chǔ)上,由于設(shè)計思想或算法的問題導(dǎo)致不能實現(xiàn)軟件功能的一種錯誤。調(diào)試過程中出現(xiàn)的問題主要有以下四個方面:
1)用其它串口調(diào)試軟件能夠很好的實現(xiàn)兩者之間的串行通信,成功的接收和發(fā)送數(shù)據(jù),但使用我們的VB程序卻不能實現(xiàn),要么只能實現(xiàn)接收功能,要么只能實現(xiàn)發(fā)送功能。之后通過對VB程序做多次的改動與測試才達(dá)到理想的結(jié)果。
2)在VB界面上發(fā)送的數(shù)據(jù)與單片機(jī)的數(shù)碼管上顯示的數(shù)字不相符,這個問題是我們匯編程序的問題,由于匯編語言符號的繁多加上我們的粗心在輸入代碼的過程中難免出現(xiàn)一些看不見的問題,造成調(diào)試過程中出現(xiàn)意外。借此我想提醒大家的是搞設(shè)計搞研究必須做到細(xì)心,要有一顆敬業(yè)的心對待我們接受的任務(wù),有耐心面臨出現(xiàn)的困難。
3)由于要實現(xiàn)上下位機(jī)的串行通信,所以兩者之間的波特率是否一致也是一個不容忽視的問題,在開始我并沒有太注意這個方面的情況,到各方面的準(zhǔn)備工作都做好要進(jìn)行調(diào)試的時候,才發(fā)現(xiàn)有個二者波特率設(shè)置是否相同將影響到整個通信過程,我趕緊作了修改才免遭一次調(diào)試失敗。
4)還有最后一點注意的地方是,利用MSComm控件比較方便地開發(fā)串行通信程序,實現(xiàn)串行通訊原理已經(jīng)得到實驗結(jié)果驗證,考慮到將來對系統(tǒng)實時性的要求,采用了MSComm控件的查詢處理機(jī)制,避免了中斷處理機(jī)制的不穩(wěn)定和不連續(xù)性,而且還可以很方便地控制多個串口,只需插入多個MSComm控件,并為每個MSComm控件編寫OnComm()函數(shù)。但是我們也清楚的體會到MSComm控件在VB中的使用較為復(fù)雜。這一點是我們以后在運用中需要加強(qiáng)的地方。
伴隨著單片微型機(jī)技術(shù)的發(fā)展,人們已越來越多地采用單片機(jī)來對一些工業(yè)控制系統(tǒng)中如溫度、流量和壓力等參數(shù)進(jìn)行檢測和控制。希望通過大家的共同努力能在PC機(jī)與單片機(jī)這方面取得新的成績有突出的表現(xiàn),能夠很好的將學(xué)到知識運用到實際生活中,比如上面提到的利用單片機(jī)實現(xiàn)對溫度的實時檢測與控制已經(jīng)得到廣泛的應(yīng)用。另外我們還可以在單片機(jī)的接口上再加接顯示器,這樣就更能方便的對系統(tǒng)進(jìn)行操作與控制。
通過這次畢業(yè)設(shè)計,我深刻體會到專業(yè)知識、專業(yè)技能分析和解決問題的能力在實際生活中是多么的重要,在完成設(shè)計任務(wù)的同時我這些方面的能力有了一個全面的提高和鍛煉。具體表現(xiàn)在對單片機(jī)與PC機(jī)的串行通信的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(匯編語言與VB)的掌握方面都向前邁了一大步,為日后使我能成為合格的應(yīng)用型人才打下了良好的基礎(chǔ)。
采用本系統(tǒng)實現(xiàn)PC機(jī)與單片機(jī)串行通信與一般其它系統(tǒng)的比較:一般的PC機(jī)與單片機(jī)之間的串行通信,需要單片機(jī)采集數(shù)據(jù),然后用異步串行通訊方式傳給PC機(jī)。相對而言通訊速率不是很理想,在一些要求通訊傳輸速率比較快的地方,普通的PC機(jī)與單片機(jī)之間的串行通信顯然是不能滿足其要求的。利用VB6.0 的事件驅(qū)動方式可以很方便地開發(fā)數(shù)據(jù)采集與監(jiān)控系統(tǒng),用單臺PC 機(jī)可以測量和監(jiān)控多路控制信號,整控制系統(tǒng)設(shè)計方便,對小型測控系統(tǒng)的設(shè)計具有很大的實用性。且傳輸數(shù)據(jù)的速率要比普通的串行通信要快些。
對于目前廣泛應(yīng)用的Windows環(huán)境下實現(xiàn)PC機(jī)與單片機(jī)之間的通信問題,希望大家能提出寶貴的意見。
參考文獻(xiàn)
[1]蔡美琴等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版).高等教育出版社,2004.
[2]楊毓,李明.Visual Basic6.0實用開發(fā)教程[M].成都:電子科技大學(xué)出版社,2001.
[3]劉新民,蔡瓊等.VB6.0程序設(shè)計.北京:清華大學(xué)大學(xué)出版社,2004.
[4]李華.單片機(jī)通用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1999
[5]魏慶福,姚亦鳴,等STD總線工業(yè)控制機(jī)的設(shè)計與應(yīng)用[M].北京:科學(xué)出版社,1992
[6]何立民,單片機(jī)應(yīng)用系統(tǒng)設(shè)計.北京:航空航天大學(xué)出版社,1992
[7]美Jan Axelson 著,串行端口大全,精英科技譯,2001.5四
[8]劉瑞新等. Visual Basic程序設(shè)計教程,北京:機(jī)械工業(yè)出版社, 2002
[9]傅揚烈 單片機(jī)原理與應(yīng)用教程,電子工業(yè)出版社, 2002.1
1.1 設(shè)計的目及意義
一般的PC與單片機(jī)之間的串行通信,需要單片機(jī)采集數(shù)據(jù),然后用異步串行通訊方式傳給PC機(jī)。相對而言比較的煩瑣,而本文著重用VB具有面向?qū)ο蟮脑O(shè)計方法,友好的用戶來探討在VB環(huán)境下來實現(xiàn)PC機(jī)與51單片機(jī)之間串行通訊的方法。實現(xiàn)起來要簡捷方便。
隨著計算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,各種控制設(shè)備之間的通信功能越來越顯得重要。尤其是伴隨著單片微型機(jī)技術(shù)的發(fā)展,人們已越來越多地采用單片機(jī)來對一些工業(yè)控制系統(tǒng)中如溫度、流量和壓力等參數(shù)進(jìn)行檢測和控制。在本系統(tǒng)中,下位機(jī)采用一片AT89S51單片機(jī),用于對發(fā)送的數(shù)據(jù)實施控制,為了實現(xiàn)對輸入數(shù)據(jù)的接收,上位機(jī)采用便攜式PC機(jī),上、下位機(jī)之間通過MAX232芯片實現(xiàn)串行數(shù)據(jù)通信。PC 機(jī)具有強(qiáng)大的監(jiān)控和管理功能,而單片機(jī)則具有快速及靈活的控制特點,通過PC 機(jī)的RS-232 串行接口與外部設(shè)備進(jìn)行通信,是許多測控系統(tǒng)中常用的一種通信解決方案。
本文將論述在VB 環(huán)境下PC 機(jī)與單片機(jī)之間實現(xiàn)串行通訊的軟硬件方案。實現(xiàn)單片機(jī)與 PC 機(jī)的相互通信。單片機(jī)部分由匯編語言實現(xiàn),PC 機(jī)的通訊程序使用Visual Basic 編寫,VB 是Microsoft 公司推出的Windows 應(yīng)用程序開發(fā)工具,因其具有界面友好,編程簡便等優(yōu)點而受到廣泛的使用,而且Visual Basic 6.0 版本帶有專門實現(xiàn)串行通訊的MSCOMM 控件。因此如何實現(xiàn)PC 機(jī)與單片機(jī)之間的通訊具有非常重要的現(xiàn)實意義。
利用VB6.0 的事件驅(qū)動方式可以很方便地開發(fā)數(shù)據(jù)采集與監(jiān)控系統(tǒng),用單臺PC 機(jī)可以測量和監(jiān)控多路控制信號,整控制系統(tǒng)設(shè)計方便,對小型測控系統(tǒng)的設(shè)計具有很大的實用性。
1.2 設(shè)計實現(xiàn)的功能
實現(xiàn)單片機(jī)與 PC 機(jī)的相互通信。具體要求有以下兩點:
①單片機(jī)發(fā)固定編好的代碼,在用 VB 編好的界面上接收;
②在 VB 編好的界面上發(fā)送數(shù)字,在單片機(jī)板上的數(shù)碼管上顯示出來。
2 硬件設(shè)計方案
為了實現(xiàn)PC機(jī)與單片機(jī)之間的串行通信,我們首先要清楚了解整個系統(tǒng)所采用的原理圖。原理圖就象一根紅線貫穿于整個系統(tǒng)設(shè)計,通過此圖我們就能很清楚的看到系統(tǒng)所涉及的內(nèi)容,然后鑒于此,我們將在以后的章節(jié)中依次對所牽涉的內(nèi)容作詳細(xì)的論述。下面對原理圖作一點說明:從MAX232芯片中的兩路發(fā)送接收中任選一路作為接口,要注意其發(fā)送與接收引腳對應(yīng),否則可能對器件或計算機(jī)串口造成永久性損壞。如選他T1IN接單片機(jī)的發(fā)送端TXD,則PC機(jī)、的RS—232的接收端RD一定要對應(yīng)接T1OUT引腳。同時,R1OUT接單片機(jī)的接受端RXD引腳,則PC機(jī)的RS—232的發(fā)送端TD一定要對應(yīng)接R1IN引腳。
上圖為采用MAX232芯片接口的PC機(jī)與51單片機(jī)串行通信接口原理圖
2.1 AT89S51單片機(jī)
2.1.1 AT89S51單片機(jī)簡介
AT89S51 為 ATMEL 所生產(chǎn)的可電氣燒錄清洗的 8051 相容單芯片,是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。
AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器, 128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。
2.1.2 AT89S51單片機(jī)的功能
AT89S51主要功能列舉如下:
1)為一般控制應(yīng)用的8位單芯片
2)晶片內(nèi)部具有時鐘振蕩器
3)內(nèi)部程式存儲器(ROM)為 4KB 4)內(nèi)部數(shù)據(jù)存儲器(RAM)為 128B
5)外部程序存儲器可擴(kuò)充至 64KB
6)外部數(shù)據(jù)存儲器可擴(kuò)充至 64KB
7)32 條雙向輸入輸出線,且每條均可以單獨做 I/O 的控制
8)5個中斷向量源
9)2組獨立的 16 位定時器
10)1個全多工串行通信端口
11)8751 及 8752 單芯片具有數(shù)據(jù)保密的功能
12)單芯片提供位邏輯運算指令
2.1.3 AT89S51各引腳功能介紹:
VCC:AT89S51 電源正端輸入,接+5V。
VSS:電源地端。
XTAL1:單芯片系統(tǒng)時鐘的反相放大器輸入端。
XTAL2:系統(tǒng)時鐘的反相放大器輸出端。
RESET:AT89S51的重置引腳,高電平動作。
EA/Vpp:存取外部程序代碼,低電平動作。
ALE/PROG:地址鎖存器啟用信號。
PSEN:程序儲存啟用,通常這支腳是接到EPROM的OE腳。
PORT0(P0.0~P0.7):端口0是一個8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)作I/O用時可以推動8個LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。
PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。P2除了當(dāng)作一般I/O端口使用外,若是在AT89S51擴(kuò)充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當(dāng)作I/O來使用了。
PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。
PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負(fù)載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?/p>
其引腳分配如下:
P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.2:INT0,外部中斷0輸入。
P3.3:INT1,外部中斷1輸入。P3.4:T0,計時計數(shù)器0輸入。P3.5:T1,計時計數(shù)器1輸入。
P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。
本系統(tǒng)所采用的AT89S51芯片如下圖所示:
2.1.4 AT89S51 ISP
ISP為在線編程接口。ISP在線編程接口為89S51單片機(jī)提供了方便的在線編程方法,使用時將ISP下載線一端與PC并口相連接,一端與ISP接口相連,使用ISP下載軟件即可實現(xiàn)MCU在線編程。
下載線插接說明:兩排十針下載口,板圖上都有一個小方框,為1號引角;下載線的凸口為正方向,凸口的右側(cè)邊的第一個插孔為1號引角,這一點一定要切記,不然的話程序下載不進(jìn)去。
本系統(tǒng)中所用AT89S51 ISP原理圖如下示:
AT89S51 ISP
2.2串行通訊
2.2.1串行通訊的概念
串行通訊:一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。
串行通訊的特點是:數(shù)據(jù)位傳送,傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低但傳送速度慢。串行通訊的距離可以從幾米到幾千米。
分類:根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種。
轉(zhuǎn)貼于
2.2.2 RS-232C 串口通訊原理
RS-232C是目前最常用的串行接口標(biāo)準(zhǔn),用來實現(xiàn)計算機(jī)與計算機(jī)之間,計算機(jī)與外設(shè)之間的數(shù)據(jù)通信。
RS-232C串行接口總線適用于設(shè)備之間的通信距離不大于15米,傳輸速率最高為19.2kb/s的場合。RS-232C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、和19200b/s。RS-232C屬單端信號傳送,存在共地噪聲和不能抑制的共模干擾等問題,因此一般用于短距離通信。
1) RS-232C接口信號
一個完整的RS-232C接口有22根線,采用標(biāo)準(zhǔn)的25芯連接器。
2) RS-232C 典型應(yīng)用
用RS-232C總線連接系統(tǒng)時,有近程通信方式和遠(yuǎn)程通信方式之分。近程通信是指傳輸距離小于15米的通信,這時可以用RS-232C電纜直接連接。15米以上的長距離通信,需要采用調(diào)制解調(diào)器。
下圖a)是計算機(jī)與終端之間利用RS-232C直接通信的最常用的交叉連線圖。圖中“發(fā)送數(shù)據(jù)”與“接收數(shù)據(jù)”是交叉相連的,使得兩臺設(shè)備都能正確地發(fā)送和接收?!皵?shù)據(jù)終端變緒”與“數(shù)據(jù)裝置就緒”兩根線也是交叉相連的,使得兩設(shè)備都能檢測出對方是否已經(jīng)準(zhǔn)備好。
在最簡單的全雙工系統(tǒng)中,公用發(fā)送數(shù)據(jù)、接收數(shù)據(jù)和信號地三根即可。對MCS-51單片機(jī)來說,利用RXD(串行數(shù)據(jù)接收端)線、TXD(串行數(shù)據(jù)發(fā)送端)線以及一根地線,就可以構(gòu)成符合RS-232C接口標(biāo)準(zhǔn)的全雙工串行通信口。(見圖b)
(a)直接連接
(b)最簡單的RS-232C數(shù)據(jù)通信連接
3) RS-232C接口電平轉(zhuǎn)換
RS-232C是早期為促進(jìn)公用電話網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信而制定的標(biāo)準(zhǔn),其邏輯電平對地是對稱的,完全與TTL、CMOS邏輯電平不同。
RS-232C采用負(fù)邏輯,即:
邏輯1:-5V~-15V。 邏輯0:+5V~+15V。
由于MCS-51采用TTL電平,若用RS-232C標(biāo)準(zhǔn)接口通信必須進(jìn)行電平轉(zhuǎn)換。目前RS-232C與TTL電平轉(zhuǎn)換最常用的集成電路芯片是傳輸線驅(qū)動器MC1488傳輸線接收器MC1489。其內(nèi)部結(jié)構(gòu)和引腳如下圖(c)所示。
MC1488可完成TTL電平到RS-232C的電平轉(zhuǎn)換,輸入為TTL電平,輸出為RS-232C電平。其內(nèi)部有3個與非門和1個反相器。采用±12V或±15V電源供電。
MC1489可完成由RS-232C到TTL電平轉(zhuǎn)換,輸入為RS-232C電平,輸出為TTL電平。其內(nèi)部有4個反相器,采用+5V電源供電。MC1489中每個反相器都有一個控制端,高電平有效,可作為RS-232C操作的控制端。圖(d)給出了RS-232C接口電路原理圖。
(c)RS-232C電平轉(zhuǎn)換芯片MC1488和MC1489
(d) RS-232C接口電路
MAX232芯片
MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5v單電源供電。它的內(nèi)部結(jié)構(gòu)基本可分三個部分;
第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。
第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。
第三部分就是供電。15腳DNG、16腳VCC(+5v)。
2.2.3 串行接口
控制串行接口的寄存器有兩個,即特殊功能寄存器PCON和SCON。
1)PCON中的波特率選擇位
PCON是一個特殊功能寄存器(如下圖所示),沒有位尋址功能,字節(jié)地址為87H。其中D7位(SMOD)為波特率選擇位。其他位均無意義。復(fù)位時的SMOD值為0??捎肕OV PCON。#80H或MOV 87H,#80H指令使該位置1。當(dāng)SMOD=1時,在串行接口方式1、2或3情況下,波特率提高一倍。
D7
D0
PCON
SMOD
波特率選擇位
|
無定義位
|
2)串行接口控制寄存器 SCON
特殊功能寄存器SCON用于定義串行接口的操作方式和控制它的某些功能。其字節(jié)地址為98H。寄存器中各位內(nèi)容如下:
位
D7
D6
D5
D4
D3
D2 D1
D0
位地址
9F
9E
9D
9C
9B
9A
99
98
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0,SM1 串行接口操作方式選擇位。兩個選擇位對應(yīng)于四種狀態(tài),所以串行接口能以四種方式工作。
SM2 允許方式2和3的多機(jī)通信使能位。
REN 允許串行接收位。由軟件置位或清0,使允許接收或禁止接收。
TB8 是在方式2和3中要發(fā)送的第9位數(shù)據(jù)可按需要由軟件置位或復(fù)位
RB8 是方式2和3中已接收到的第9位數(shù)據(jù)。
TI 發(fā)送中斷標(biāo)志。
RI 接收中斷標(biāo)志。
串行接口工作方式
串行接口的操作方式由SM0、SM1定義,編碼和功能如下表所示
串行接口方式選擇
SM0
SM0
方式
功能說明
波特率
移位寄存器方式
Fosc/12
1
1
8位UART
可變
1
2
9位UART
Fosc/64或fosc/32
1
1
3
9位UART
可變
2.2.4 TMOD介紹
定時器/計數(shù)器T0、T1 的方式寄存器TMOD
字節(jié)地址為89H。TMOD的格式如下:低4位用來定義T0,高4位用來定義T1D7
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
|
T1
|
T0
|
各位的意義如下:
1、 GATE——門控位。
GATE=1時,由外部中斷引腳、和TR0、TR1共同來啟動定時器。當(dāng)引腳為高電平時,TR0置位啟動定時器T0;當(dāng)引腳為高電平時,TR1置位,啟動定時T1。
C/T=1時,選擇計數(shù)功能;
C/T=0時,選擇定時功能。
T0、T1 的計數(shù)、定時功能是通過TMOD中的位來選擇的。
3、 M1、M0——工作方式選擇位。
由于有M1和M0兩位,可以有四種工作方式,如下表所示。
定時器/計數(shù)器的工作方式
M1
M0
工作方式
計數(shù)器配置
方式0
13位計數(shù)器
1
方式1
16位計數(shù)器
1
方式2
自動重載的8位計數(shù)器
1
1
方式3
T0分為兩個8位計數(shù)器,T1停止計數(shù)
3 串行數(shù)據(jù)通信程序設(shè)計
3.1 通信協(xié)議
本系統(tǒng)串行通信采用異步通信方式。協(xié)議如下:
1.一幀數(shù)據(jù)由1位起始位、8位數(shù)據(jù)位、無奇偶校驗位、1位停止位共10位組成。
2.波特率設(shè)為9600bps。單片機(jī)串行口按方式1工作,波特率由定時器T1控制,PC機(jī)串口波特率通過VB通訊控件的Settings屬性設(shè)置,為保證數(shù)據(jù)傳送的準(zhǔn)確性,兩者的波特率必須一致。
本次通訊中,我們以一個測控系統(tǒng)的上位機(jī)和下位機(jī)之間的通信為背景,給出單片機(jī)部分和VB 環(huán)境下的通信程序?qū)嵗?,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采集、處理和控制,上位機(jī)進(jìn)行現(xiàn)場可視化檢測,通信協(xié)議采用異步串行通信方式,通過RS232 的RTS 信號進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式通訊。
3.2 下位機(jī)(單片機(jī))串行通信及程序設(shè)計
平臺介紹及編程方法
匯編語言
匯編語言是針對一類(甚至幾類)計算機(jī),抽象出來的一種符號語言并把這些符號加以統(tǒng)一規(guī)定,使得使用同類計算機(jī)的人都了解這些符號的意義,這樣,使得用匯編語言編寫的程序可以在這一類型的任何一臺計算機(jī)上使用。這就有了極大的靈活性,當(dāng)然不同類型的計算機(jī)的匯編語言也不同。它們都必須由生產(chǎn)廠家提供的匯編語言來編寫。另外.匯編語言還增加了宏指令的功能。匯編語言是計算機(jī)衛(wèi)程控制中最常用的語言。
匯編語言的主要優(yōu)點就是可以直接控制計算機(jī)硬件,可以編寫在時間和空間兩方面更有效的程序。這些優(yōu)點使得匯編語言在程序設(shè)計中占有重要的地位。是不可取代的。
但匯編語言的缺點也是明顯的,它與處理器密切相關(guān),要求程序員熟悉計算機(jī)硬件系統(tǒng),考慮許多細(xì)節(jié)問題,所以程序繁瑣,調(diào)試、維護(hù)、交流和移植困難。因此,有時可以采用高級語言和匯編語言混合編程的方怯,互相取長補短,更好地解決實際間題。
匯編語言生要應(yīng)用場合有以下幾種:
l)程序要具有較短的運行時問,或者只能占用較小的存儲客量。例如操作系統(tǒng)的核心 程序段,實時控制系統(tǒng)的軟件等。
2)程序與計算機(jī)硬件密切相關(guān),程序要直接控制硬件。例如to接口電路的初始化程序段,外部設(shè)備的底層驅(qū)動程序等。
3)大型軟件需要提高性能、優(yōu)化處理的部分。例如計算機(jī)系統(tǒng)頻繁調(diào)用的子程序、動態(tài)鏈接庫等。
4)沒有適合的高級語言的時候。例如開發(fā)最新的處理器程序時。
偉福軟件介紹:
偉福系列仿真器偉福仿真品種多、功能強(qiáng),特點如下:
1)主機(jī)+POD組合,通過更換POD,可以對各種CPU進(jìn)行仿真。
2) 雙平臺:DOS版本,WINDOWS版本。其中WINDOWS版本功能強(qiáng)大。
3) 雙工作模式:a.軟件模擬仿真(不要仿真器也能模擬仿真)。 硬件仿真。
4) 雙CPU結(jié)構(gòu),100% 不占用戶資源。
5) 雙集成環(huán)境:編輯、編譯、下載、調(diào)試全部集中在一個環(huán)境下。多種仿真器,多類CPU仿真全部集成在一個環(huán)境下??煞抡?1系列,196系列,PIC系列,飛利蒲公司的552、LPC764、DALLAS320,華邦438等51增強(qiáng)型CPU。為了跟上形勢,現(xiàn)在很多工程師需要面對和掌握不同和項目管理器、編輯器、編譯器。偉福 WINDOWS調(diào)試軟件為您提供了一個全集成環(huán)境,統(tǒng)一的界面,包含一個項目管理器,一個功能強(qiáng)大的編輯器,匯編Make、Build和調(diào)試工具并提供一個與第三方編譯器的接口。
6) 強(qiáng)大的邏輯分析儀綜合調(diào)試功能:隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)通訊方面的運用越來越多。有了邏輯儀,用它可以分別或者同時對發(fā)送方、接收方的輸入或者輸出波形進(jìn)行記錄、存儲、對比、測量等各種直觀的分析,可以將實際輸出通訊報文的波形與源程序相比較,可立即發(fā)現(xiàn)問題所在。從而極大地方便了調(diào)試。
7) 強(qiáng)大的追蹤器功能:追蹤功能以總線周期為單位,實時記錄仿真過程中CPU發(fā)生的總線事件,其觸發(fā)條件方式同邏輯分析儀。追蹤窗口在仿真停止時可收集顯示追蹤的CPU指令記憶信息,可以以總線反匯編碼模式、源程序模式對應(yīng)顯示追蹤結(jié)果。屏幕窗口顯示波形圖最多追蹤記憶指令32K并通過仿真器的斷點、單步、全速運行或各種條件組合斷點來完成追蹤功能??偩€跟蹤可以跟蹤程序的運行軌跡??梢越y(tǒng)計軟件運行時間。
編程方法
本系統(tǒng)中傳輸協(xié)議為9600,8,N,1,即波特率為9600b/s,傳送8個數(shù)據(jù)位。沒有校驗位,一個停止位。在PC機(jī)中也設(shè)置為相同的協(xié)議。1)控制寄存器SCON的設(shè)置為:SM0、SM1為0、1,即為串行工作方式1,REN為1,即允許接收。這樣SCON中的值是0X50H,(使用匯編語言是MOV SCON,#50H。)2)TMOD寄存器的設(shè)置為:使用定時器1。M0=0,M1=1,工作于方式2,自動重新載入計數(shù)值。TMOD=0X20H。(使用匯編語言是MOV TMOD,#20H)3) 波特率的設(shè)置:本系統(tǒng)上的工作時鐘為11.0592MHz, 波特率為9600b/s,對TH1的重載入計數(shù)器值由下式計算可得:TH1=256-11059200/384*9600=253=FDH TH1=0XFDH(使用匯編語言是MOV TH1,#0FDH)。
流程圖如右:
接收程序:
MAIN: MOV
TMOD,#20H ;
MOV
TH1,#0FDH;
MOV
TL1,#0FDH;
SETB TR1;
MOV
SCON,#50H;
LOOP: JBC
RI,DISP
SJMP
LOOP
DISP: MOV
A,SBUF
MOV
DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
SJMP LOOP
TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
發(fā)送程序:
ORG 0000H
START: MOV
TMOD,#20H;
MOV
TL1,#0FDH
MOV
TH1,#0FDH;
SETB
TR1
MOV
SCON,#40H
MOV
R0,#20H
MOV
R7,#32
MOV
A,#40
LOOP1:
MOV
@R0,A
INC
A
INC
R0
DJNZ
R7,LOOP1
MOV
R0,#20H
MOV
R7,#32
LOOP:
MOV
A,@R0
ACALL YANSHI
ACALL SPOUT
INC
R0
DJNZ
R7,LOOP
SJMP
START
SPOUT:
MOV
SBUF,A
JNB
TI,$
CLR
TI
RET
YANSHI: MOV
R6,#250
D1:
MOV
R5,#250
DJNZ
R5,$
DJNZ
R6,D1
RET
END
3.3上位機(jī)(PC機(jī))串行通信及程序設(shè)計
3.3.1 平臺介紹及編程方法
VB語言簡介
在本系統(tǒng)中PC機(jī)采用Visual Basic(簡稱VB)編程。VB已成為WINDOWS系統(tǒng)開發(fā)的主要語言,以其高效、簡單易學(xué)及功能強(qiáng)大的特點越來越為廣大程序設(shè)計人員及用戶所青睞。VB支持面向?qū)ο蟮某绦蛟O(shè)計,具有結(jié)構(gòu)化的事件驅(qū)動編程模式并可以使用無限擴(kuò)增的控件,而且可以十分簡便地作出良好的人機(jī)界面。
用VB6.0開發(fā)串行通信程序有兩種法,一種是利用Windows的API函數(shù);另一種是采用VB6.0的通信控件MSComm。利用API函數(shù)編寫串行通信程序較為復(fù)雜,需要掌握大量的通信知識,其優(yōu)點是可實現(xiàn)的功能更豐富、應(yīng)用面更廣泛,適合于編寫較為復(fù)雜的低層次通信程序。而VB6.0的MSComm通信控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、事件、方法,并通過控件屬性對串口參數(shù)進(jìn)行設(shè)置,比較容易地解決了串口通信問題。該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。這是一個標(biāo)準(zhǔn)的十位串口通信,包括8位標(biāo)準(zhǔn)數(shù)據(jù)和數(shù)據(jù)的起始位和停止位。在發(fā)送或接收數(shù)據(jù)過程中觸發(fā)OnComm事件,通過編程訪問 CommEvent屬性了解通信事件的類型,分別進(jìn)行各自的處理。每個通信控件對應(yīng)一個串口,可以設(shè)計多個通信控件來訪問多個通信口。
轉(zhuǎn)貼于 PC機(jī)程序設(shè)計流程圖如下示
3.3.2 VB6.0的通信控件及通信方式
MSComm通訊控件簡介
MSComm是VB6.0提供的ActiveX控件,使用前需將該控件添加到VB工具 欄。MSComm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,PC機(jī)可以利用串行口與其它設(shè)備實現(xiàn)輕松連接,簡單高效地實現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種處理方式,事件驅(qū)動方式:由MSComm控件的OnComm事件捕獲并處理通訊錯誤及事件;查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯誤。
1)MSComm控件的主要屬性和方法
a.
CommPort:設(shè)置或返回串行端口號,其取值范圍為1—99,缺省為1
b.
Setting: 設(shè)置或返回串行端口的波特率、奇偶校驗位、數(shù)據(jù)位數(shù)、停位。如:MSComm.Setting="9600, n, 8, 1”。
c.
PortOpen:打開或關(guān)閉串行端口。
d.
RThreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個數(shù)達(dá)到或超過該值后就產(chǎn)生MSComml--OnComm事件。
e.
Input:從接收緩沖區(qū)移走一串字符。
f.
Output:向發(fā)送緩沖區(qū)傳送一字符串。
2)CommEvent屬性 :
如果在通訊過程中發(fā)生錯誤或事件,就會引發(fā)OnComm事件并由CommEvent 屬性代碼反映錯誤類型,可根據(jù)該屬性值來執(zhí)行不同的程序操作或數(shù)據(jù)處理。以下是部分屬性常數(shù)值及其含義:
a.
ComEvSend:其值為1,發(fā)送緩沖區(qū)的內(nèi)容少于SThreshold指定的值。
b.
ComEvReceive:其值為2,接收緩沖區(qū)內(nèi)字符數(shù)達(dá)到RThreshold值,該事件在緩沖區(qū)中數(shù)據(jù)被移走前將持續(xù)產(chǎn)生。
c.
ComEventRxParity:其值為1009,奇偶校驗。
d.
ComEvEOF:其值為7,接收數(shù)據(jù)中出現(xiàn)文件結(jié)束字符。
本系統(tǒng)采用事件驅(qū)動方式進(jìn)行串口通信設(shè)計,下圖2為上位機(jī)通信界面,設(shè)計了2個命令按扭,分別為發(fā)送、清空數(shù)據(jù);兩個文本框,Text1用于輸入需從下位機(jī)讀取的數(shù),Text2用于顯示下位機(jī)發(fā)送來的數(shù)據(jù);3個Frame控件,一個Label控件,當(dāng)然還需要一個MSComm控件。
MSComm控件屬性設(shè)置如圖1示:
(圖2)
下面是MSComm控件的初始化程序、部分?jǐn)?shù)據(jù)發(fā)送和接受程序
4調(diào)試與結(jié)論
該系統(tǒng)目前已調(diào)試成功,完成了PC機(jī)與51單片機(jī)之間的串行通信。并且實現(xiàn)了下列功能:1)在VB界面上發(fā)送任一數(shù)字在51單片機(jī)的數(shù)碼管上都能成功的接收 2)同樣通過向51單片機(jī)內(nèi)寫入的程序,在VB界面上可以接收到相對應(yīng)的內(nèi)容且運行良好。
調(diào)試過程如下:
硬件方面:
該系統(tǒng)的硬件調(diào)試主要是排查單片機(jī)印刷電路板的問題和連接上的一些問題。在該系統(tǒng)中,首先通過了仔細(xì)地推敲系統(tǒng)原理,確認(rèn)無誤;其次對照設(shè)計圖紙查印制電路板,看是否有粘接等工藝現(xiàn)象;最后,檢查外圍連接是否有誤,通過這幾個方面的反復(fù)調(diào)試,可確保電路板的無誤性。
在本系統(tǒng)的硬件調(diào)試過程中,出現(xiàn)了下列兩種情況
1)電壓不穩(wěn)定而導(dǎo)致程序無法寫入的情況,使電壓穩(wěn)定的方法是改用新的電池,或者是再次設(shè)計電源方案,在這里是用電源接通教學(xué)實驗板,然后再把教學(xué)實驗板與本系統(tǒng)相
連接,這樣,就可以得到穩(wěn)定的電壓了。
2)還出現(xiàn)的一個問題是數(shù)碼管不顯示,檢查后是焊接上出現(xiàn)了一點的失誤。
軟件方面:
本系統(tǒng)在軟件調(diào)試方面也沒有規(guī)律可循,調(diào)試時更多的是憑經(jīng)驗。軟件調(diào)試的主要任務(wù)是排查錯誤。通過在Wave E2000編譯器下調(diào)試程序,有兩種錯誤,一種邏輯錯誤,也就是語法錯誤,是很容易被發(fā)現(xiàn)的,另一種是功能錯誤,是指在沒有語法錯誤的基礎(chǔ)上,由于設(shè)計思想或算法的問題導(dǎo)致不能實現(xiàn)軟件功能的一種錯誤。調(diào)試過程中出現(xiàn)的問題主要有以下四個方面:
1)用其它串口調(diào)試軟件能夠很好的實現(xiàn)兩者之間的串行通信,成功的接收和發(fā)送數(shù)據(jù),但使用我們的VB程序卻不能實現(xiàn),要么只能實現(xiàn)接收功能,要么只能實現(xiàn)發(fā)送功能。之后通過對VB程序做多次的改動與測試才達(dá)到理想的結(jié)果。
2)在VB界面上發(fā)送的數(shù)據(jù)與單片機(jī)的數(shù)碼管上顯示的數(shù)字不相符,這個問題是我們匯編程序的問題,由于匯編語言符號的繁多加上我們的粗心在輸入代碼的過程中難免出現(xiàn)一些看不見的問題,造成調(diào)試過程中出現(xiàn)意外。借此我想提醒大家的是搞設(shè)計搞研究必須做到細(xì)心,要有一顆敬業(yè)的心對待我們接受的任務(wù),有耐心面臨出現(xiàn)的困難。
3)由于要實現(xiàn)上下位機(jī)的串行通信,所以兩者之間的波特率是否一致也是一個不容忽視的問題,在開始我并沒有太注意這個方面的情況,到各方面的準(zhǔn)備工作都做好要進(jìn)行調(diào)試的時候,才發(fā)現(xiàn)有個二者波特率設(shè)置是否相同將影響到整個通信過程,我趕緊作了修改才免遭一次調(diào)試失敗。
4)還有最后一點注意的地方是,利用MSComm控件比較方便地開發(fā)串行通信程序,實現(xiàn)串行通訊原理已經(jīng)得到實驗結(jié)果驗證,考慮到將來對系統(tǒng)實時性的要求,采用了MSComm控件的查詢處理機(jī)制,避免了中斷處理機(jī)制的不穩(wěn)定和不連續(xù)性,而且還可以很方便地控制多個串口,只需插入多個MSComm控件,并為每個MSComm控件編寫OnComm()函數(shù)。但是我們也清楚的體會到MSComm控件在VB中的使用較為復(fù)雜。這一點是我們以后在運用中需要加強(qiáng)的地方。
伴隨著單片微型機(jī)技術(shù)的發(fā)展,人們已越來越多地采用單片機(jī)來對一些工業(yè)控制系統(tǒng)中如溫度、流量和壓力等參數(shù)進(jìn)行檢測和控制。希望通過大家的共同努力能在PC機(jī)與單片機(jī)這方面取得新的成績有突出的表現(xiàn),能夠很好的將學(xué)到知識運用到實際生活中,比如上面提到的利用單片機(jī)實現(xiàn)對溫度的實時檢測與控制已經(jīng)得到廣泛的應(yīng)用。另外我們還可以在單片機(jī)的接口上再加接顯示器,這樣就更能方便的對系統(tǒng)進(jìn)行操作與控制。
通過這次畢業(yè)設(shè)計,我深刻體會到專業(yè)知識、專業(yè)技能分析和解決問題的能力在實際生活中是多么的重要,在完成設(shè)計任務(wù)的同時我這些方面的能力有了一個全面的提高和鍛煉。具體表現(xiàn)在對單片機(jī)與PC機(jī)的串行通信的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧(匯編語言與VB)的掌握方面都向前邁了一大步,為日后使我能成為合格的應(yīng)用型人才打下了良好的基礎(chǔ)。
采用本系統(tǒng)實現(xiàn)PC機(jī)與單片機(jī)串行通信與一般其它系統(tǒng)的比較:一般的PC機(jī)與單片機(jī)之間的串行通信,需要單片機(jī)采集數(shù)據(jù),然后用異步串行通訊方式傳給PC機(jī)。相對而言通訊速率不是很理想,在一些要求通訊傳輸速率比較快的地方,普通的PC機(jī)與單片機(jī)之間的串行通信顯然是不能滿足其要求的。利用VB6.0 的事件驅(qū)動方式可以很方便地開發(fā)數(shù)據(jù)采集與監(jiān)控系統(tǒng),用單臺PC 機(jī)可以測量和監(jiān)控多路控制信號,整控制系統(tǒng)設(shè)計方便,對小型測控系統(tǒng)的設(shè)計具有很大的實用性。且傳輸數(shù)據(jù)的速率要比普通的串行通信要快些。
對于目前廣泛應(yīng)用的Windows環(huán)境下實現(xiàn)PC機(jī)與單片機(jī)之間的通信問題,希望大家能提出寶貴的意見。
參考文獻(xiàn)
[1]蔡美琴等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版).高等教育出版社,2004.
[2]楊毓,李明.Visual Basic6.0實用開發(fā)教程[M].成都:電子科技大學(xué)出版社,2001.
[3]劉新民,蔡瓊等.VB6.0程序設(shè)計.北京:清華大學(xué)大學(xué)出版社,2004.
[4]李華.單片機(jī)通用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1999
[5]魏慶福,姚亦鳴,等STD總線工業(yè)控制機(jī)的設(shè)計與應(yīng)用[M].北京:科學(xué)出版社,1992
[6]何立民,單片機(jī)應(yīng)用系統(tǒng)設(shè)計.北京:航空航天大學(xué)出版社,1992
[7]美Jan Axelson 著,串行端口大全,精英科技譯,2001.5四
[8]劉瑞新等. Visual Basic程序設(shè)計教程,北京:機(jī)械工業(yè)出版社, 2002
[9]傅揚烈 單片機(jī)原理與應(yīng)用教程,電子工業(yè)出版社, 2002.1
論文關(guān)鍵詞:集美大學(xué),畢業(yè)設(shè)計,畢業(yè)論文,任務(wù)書,示例
一、 畢業(yè)設(shè)計(論文)題目: 360與qq的競爭戰(zhàn)略分析
二、 畢業(yè)設(shè)計(論文)工作規(guī)定進(jìn)行日期: 2010 年 12 月 22 日起至 20011 年 6 月 10 日止
三、 畢業(yè)設(shè)計(論文)進(jìn)行地點: 集美大學(xué)誠毅學(xué)院
四、 任務(wù)書的內(nèi)容:
目的: 1. 培養(yǎng)學(xué)生綜合運用所學(xué)的基礎(chǔ)理論與專業(yè)知識,在指導(dǎo)教師指導(dǎo)下,提出有一定理論意義與實用價值的問題,分析并解決問題。2. 培養(yǎng)學(xué)生獨立檢索、翻譯本專業(yè)外文資料的能力。3. 初步具備搜集、整理、篩選信息資料的能力,初步掌握科學(xué)研究的基本方法,了解科學(xué)研究論文的寫作技巧與規(guī)范化要求,受到科學(xué)研究的初步訓(xùn)練。4.通過該論文的撰寫,對360與qq的競爭戰(zhàn)略有一個較全面的了解,并搜集相關(guān)案例進(jìn)行實證分析,加深對360與qq的競爭戰(zhàn)略進(jìn)一步分析。
任務(wù):
1)提出選題《360與qq的競爭戰(zhàn)略分析》的初步設(shè)想。
2)搜集、整理與論文有關(guān)的、充分的、準(zhǔn)確的文獻(xiàn)資料,擴(kuò)充查閱范圍。
3)構(gòu)思論文框架,編寫論文提綱,向指導(dǎo)教師提出開題報告。
4)分析、篩選已有的信息資料,提出研究設(shè)想與計劃。
5)撰寫論文初稿,反復(fù)修改,提交初、定稿及打印稿。
6)該文選題有一定的挑戰(zhàn)性,要求作者盡量挖掘已有的文獻(xiàn)資料,同時根據(jù)需要多閱讀有關(guān)激勵理論和人力資源管理的書籍期刊,在論文撰寫過程中提高自身科學(xué)素養(yǎng),通過案例分析能對中國電信現(xiàn)行激勵機(jī)制的現(xiàn)實指導(dǎo)意義作出較有啟發(fā)的論述。
7)完成外文資料的翻譯。
(三)撰寫步驟與時間安排
1.2011.1.7前:按畢業(yè)論文寫作要求進(jìn)行選題,并與指導(dǎo)教師進(jìn)行溝通,對選題進(jìn)行分析并匯報與選題相關(guān)資料的占有情況。指導(dǎo)教師下達(dá)“畢業(yè)論文任務(wù)書”,對畢業(yè)論文提出明確要求。
2. 2011.1.8-3.8:完成開題報告,就所選課題明確寫作的意義和目的、研究方法和主要研究內(nèi)容、預(yù)期寫作進(jìn)度等。
3. 2011.3.9-3.13:形成畢業(yè)論文寫作粗綱,并提交指導(dǎo)教師審閱。粗綱應(yīng)反映出論文的基本輪廓、基本觀點及寫作思路。
4.2011.3.14-3.18:根據(jù)指導(dǎo)教師意見,形成寫作細(xì)綱,并再次提交指導(dǎo)教師審閱。細(xì)綱應(yīng)能較詳細(xì)地反映出論題所包含的論點、論據(jù)及相關(guān)數(shù)據(jù)資料。
5.2011.3.19-4.6:完成外文文獻(xiàn)資料的翻譯及不少于2萬字的讀書筆記的撰寫。
6.2011.3.19-5.6:以細(xì)綱為基礎(chǔ),寫作完成初稿,提交指導(dǎo)教師審閱。
7.2011.5.7-5.22:根據(jù)指導(dǎo)教師對初稿的修改意見,形成畢業(yè)論文正稿,交指導(dǎo)教師批閱。
8.2011.5.23-5.26:定稿并按規(guī)范化要求完成裝袋并上交指導(dǎo)教師;進(jìn)行答辯準(zhǔn)備工作。
9.2011.5.27-6.10:進(jìn)行畢業(yè)論文答辯。完成導(dǎo)師評語、評審意見、答辯評語及成績評定、匯總上報等工作。
(四)成果要求
畢業(yè)論文要寫出300字左右的中文摘要及相應(yīng)的外文摘要,畢業(yè)論文全文不得少于6000字。論文應(yīng)有一定的理論深度和現(xiàn)實指導(dǎo)意義,結(jié)構(gòu)嚴(yán)謹(jǐn),語言流暢,相關(guān)數(shù)據(jù)和專業(yè)術(shù)語運用準(zhǔn)確。論文內(nèi)容組成與打印規(guī)范按《集美大學(xué)本科學(xué)生畢業(yè)論文撰寫規(guī)范》的要求執(zhí)行。
參 考 文 獻(xiàn)
1波特, 競爭論(新版),中信出版社, 2009
2陳明哲 ,動態(tài)競爭,北京大學(xué)出版社,2009
3李斯,勞斯特 ,22條商規(guī),山西人民出版社 ,2009
4黃曉斌,網(wǎng)絡(luò)環(huán)境下的競爭情報,經(jīng)濟(jì)管理出版社,2006
5布里金肖,網(wǎng)絡(luò)公司價值評估 ,經(jīng)濟(jì)管理,2005
6 陳墨,網(wǎng)絡(luò)營銷應(yīng)該這樣做,機(jī)械工作出版社,2011
指導(dǎo)教師簽名:
年 月 日
教研室主任簽名:
年 月 日
學(xué)生簽名:
關(guān)鍵詞:大學(xué)畢業(yè)生;畢業(yè)設(shè)計(論文);積極性
畢業(yè)設(shè)計(論文)是培養(yǎng)大學(xué)生進(jìn)行工程設(shè)計或科學(xué)研究的重要環(huán)節(jié),是培養(yǎng)其進(jìn)行知識創(chuàng)新的有效手段,是實現(xiàn)教學(xué)、科研、創(chuàng)新和社會實踐相結(jié)合的綜合訓(xùn)練過程[1-3]。然而,當(dāng)前高校大學(xué)生畢業(yè)設(shè)計(論文)的質(zhì)量卻有逐年下降的趨勢,降低了社會對學(xué)校所培養(yǎng)畢業(yè)生的認(rèn)可程度[2-5]。因此,有必要對造成大學(xué)畢業(yè)生參與畢業(yè)設(shè)計(論文)不高的原因進(jìn)行分析,為改善大學(xué)畢業(yè)生參與畢業(yè)設(shè)計(論文)的積極性提供改進(jìn)基礎(chǔ)。
1對指導(dǎo)模式的抵觸是造成大學(xué)生參與畢業(yè)設(shè)計(論文)積極性不高的重要原因
一般四年制高校畢業(yè)設(shè)計(論文)都安排在第八學(xué)期進(jìn)行,而這段時間正是學(xué)生找工作以及考研復(fù)試的關(guān)鍵階段。因此,部分專家和學(xué)者認(rèn)為大學(xué)生參與畢業(yè)設(shè)計(論文)積極性不高的直接原因是時間沖突[2,3,5]。實際并非如此。一般而言,學(xué)校的雙選會或企業(yè)的招聘會均安排在第七學(xué)期進(jìn)行,大部分學(xué)生在畢業(yè)前半學(xué)期就基本落實了工作意向。另外,考研復(fù)試則基本集中在3月末到4月中旬。因此,導(dǎo)致大學(xué)生參與畢業(yè)設(shè)計(論文)積極性不高的重要原因并不是時間上的沖突。根據(jù)筆者多年從事高校教育工作的經(jīng)歷以及和畢業(yè)班學(xué)生的交流來看,導(dǎo)致大學(xué)生參與畢業(yè)設(shè)計(論文)積極性不高的罪魁禍?zhǔn)自谟趯W(xué)生對畢業(yè)設(shè)計(論文)的重視程度不夠。而造成學(xué)生重視程度不夠的重要原因是很多學(xué)生對畢業(yè)設(shè)計(論文)的指導(dǎo)模式存在抵觸心理。以實驗為主的工科畢業(yè)生為例,畢業(yè)設(shè)計(論文)的基本流程包括:指導(dǎo)老師確定選題,布置學(xué)生進(jìn)行相關(guān)的文獻(xiàn)檢索并撰寫文獻(xiàn)綜述。在此基礎(chǔ)上,在指導(dǎo)老師主導(dǎo)下進(jìn)行實驗方案的制定并由學(xué)生進(jìn)行實施。然后學(xué)生對實驗所得到的數(shù)據(jù)和圖表進(jìn)行整理與分析并撰寫學(xué)位論文。最后組織學(xué)生參加學(xué)位論文答辯并評定成績。也就是說,學(xué)生應(yīng)該是畢業(yè)設(shè)計(論文)工作的主體。然而事實卻遠(yuǎn)非如此。由于大多數(shù)參與指導(dǎo)大學(xué)生畢業(yè)設(shè)計(論文)的老師同時又在指導(dǎo)若干個研究生,因此,大多數(shù)大學(xué)生的畢業(yè)設(shè)計(論文)是在研究生的帶領(lǐng)下進(jìn)行的。這本無可厚非。但現(xiàn)實情況是,大多數(shù)在研究生帶領(lǐng)下進(jìn)行畢業(yè)設(shè)計(論文)的大學(xué)生認(rèn)為是在為研究生白白勞動,所做的事情其實與自己關(guān)系不大,完全是在被動進(jìn)行畢業(yè)設(shè)計(論文)工作,因而大學(xué)生的重視程度不夠。即便部分大學(xué)生對畢業(yè)設(shè)計(論文)在最初能夠充分重視,但因自己很少能夠有機(jī)會與指導(dǎo)老師直接交流,而只能與研究生進(jìn)行交流,導(dǎo)致自己的工作往往不被指導(dǎo)老師認(rèn)可和理解,使得指導(dǎo)老師或研究生成了大學(xué)生畢業(yè)設(shè)計(論文)的主體,而大學(xué)生則完全處于被動狀態(tài)。以金屬材料工程專業(yè)為例,由于不同指導(dǎo)老師的專業(yè)方向不同,有的方向甚至與學(xué)生所具有的知識體系完全沒有關(guān)聯(lián)。在確定大學(xué)生的畢業(yè)設(shè)計(論文)選題時,指導(dǎo)老師通常從自己的研究方向或科研課題中進(jìn)行選題,然后布置學(xué)生在3周左右的時間進(jìn)行文獻(xiàn)檢索并撰寫文獻(xiàn)綜述。在這么短的時間內(nèi),即使排除學(xué)生可能的找工作或研究生復(fù)試時間,學(xué)生也無法對指導(dǎo)老師布置的選題給出充分理解和消化?;旧喜捎玫摹癈trl-C+Ctrl-V”模式敷衍了事,否則無法在規(guī)定的時間內(nèi)完成文獻(xiàn)綜述和相關(guān)的英文翻譯工作。其結(jié)果是,開始做實驗時,學(xué)生對自己需要做什么、怎么做、所作的目的和意義完全沒有認(rèn)識。其結(jié)果是被動地在指導(dǎo)老師引導(dǎo)下或研究生的帶領(lǐng)下進(jìn)行實驗,并機(jī)械地記錄,實際上大腦一片空白。導(dǎo)致部分畢業(yè)生認(rèn)為畢業(yè)論文就是抄抄,就是為指導(dǎo)老師做苦力,就是在幫助研究生完成實驗任務(wù)。而畢業(yè)設(shè)計(論文)對自己能力的培養(yǎng)和訓(xùn)練幾乎毫無幫助,簡直是浪費時間,還不如洗洗睡覺。針對畢業(yè)生對畢業(yè)設(shè)計(論文)重視不夠這一現(xiàn)象,許多高校通過加強(qiáng)宣傳教育的方式對畢業(yè)生進(jìn)行引導(dǎo),但收效甚微。特別是近年來學(xué)校擴(kuò)招導(dǎo)致的畢業(yè)生人數(shù)增加,有的高校老師甚至要在半學(xué)期內(nèi)指導(dǎo)超過10名以上的大學(xué)生完成畢業(yè)設(shè)計(論文)工作,而且設(shè)計(論文)選題又不能重復(fù),交叉也不能太多。加上專業(yè)老師還需要承擔(dān)較為繁重的教學(xué)和科研工作,因此,給畢業(yè)設(shè)計(論文)指導(dǎo)老師造成了很大的工作壓力,使得畢業(yè)設(shè)計(論文)指導(dǎo)老師沒有充分的時間把畢業(yè)設(shè)計(論文)的選題思路和目的與學(xué)生進(jìn)行交流[6]。上述畢業(yè)設(shè)計(論文)指導(dǎo)模式導(dǎo)致許多大學(xué)生參與畢業(yè)設(shè)計(論文)工作的積極性不高甚至有抵觸情緒。其結(jié)果造成了指導(dǎo)老師和大學(xué)生之間相互埋怨,大學(xué)生和研究生之間相互推脫,最終導(dǎo)致大學(xué)生參與畢業(yè)設(shè)計(論文)的積極性不高進(jìn)而影響了畢業(yè)設(shè)計(論文)的質(zhì)量。
2對目標(biāo)結(jié)果的過分強(qiáng)調(diào)是大學(xué)生參與畢業(yè)設(shè)計(論文)積極性不高的主要原因之一
綜上所述,由于各指導(dǎo)老師的專業(yè)方向或科研課題存在較大差異,導(dǎo)致大學(xué)生畢業(yè)設(shè)計(論文)的選題存在很大差異。以金屬材料工程專業(yè)的大學(xué)畢業(yè)設(shè)計(論文)的特點來看,畢業(yè)設(shè)計(論文)的選題幾乎決定了最終的評價結(jié)果。如果某一大學(xué)生畢業(yè)設(shè)計(論文)的選題平泛,其實驗結(jié)果也必然平泛,但如果該大學(xué)生能根據(jù)自己的努力認(rèn)真完成了選題內(nèi)容并能做出非常好的論述,那么該如何對其畢業(yè)論文的成績進(jìn)行評定?從目前來看,該生的成績通常會比選題且有前沿性的大學(xué)生的差,即使他們參與畢業(yè)設(shè)計(論文)的過程相當(dāng),所運用的基本理論與基本技能相當(dāng)。究其原因是另一名大學(xué)生的選題具有前沿性且結(jié)果看似“驚艷”,而該生卻因為選題平泛且結(jié)果也平泛而無法獲得相當(dāng)?shù)暮迷u。但就筆者來看,一個看似平泛的選題,對于一個剛剛學(xué)完專業(yè)課的大學(xué)生而言,其對該選題的理解可能并不簡單。如果他能通過自身努力給出對于該選題的認(rèn)識和理解,就應(yīng)當(dāng)給予肯定的評價。但如上所述,事實往往并非如此。試想,他參與畢業(yè)設(shè)計(論文)的積極性又怎能提高呢?雖然對選題和結(jié)果的強(qiáng)調(diào)與大學(xué)生畢業(yè)設(shè)計(論文)的目標(biāo)相一致,而且看上去可以提高大學(xué)生的創(chuàng)新思維和創(chuàng)新意識,但現(xiàn)實卻遠(yuǎn)非如此。試想,在短短的半學(xué)期內(nèi),一個剛剛學(xué)完專業(yè)課的大學(xué)生,怎能夠在有限的一學(xué)期內(nèi)實現(xiàn)上述目標(biāo)?答案顯而易見。
3現(xiàn)有的管理與評價體系是大學(xué)生參與畢業(yè)設(shè)計(論文)積極性不高的另一主要原因
國內(nèi)高校大學(xué)生學(xué)位論文成績評定大多采用傳統(tǒng)方法進(jìn)行,即根據(jù)選題、文獻(xiàn)綜述、外文翻譯、學(xué)術(shù)水平與實際動手能力、綜合應(yīng)用基本理論與技能的能力、文字表述與圖表質(zhì)量和規(guī)范要求等,綜合指導(dǎo)老師、評閱老師和答辯委員會三方面給出優(yōu)、良、中、及格和不及格的評定。該評價體系存在主觀性強(qiáng)、評價指標(biāo)單一等諸多不足[1]。此外,由于高校之間的競爭越來越激烈,是否有優(yōu)良且充足的生源是各高校必須考慮的重要課題。而就業(yè)率又是社會衡量高校好壞的最直接因素之一。為此,學(xué)校在大學(xué)生畢業(yè)設(shè)計(論文)的管理上處于左右為難的境地。為控制畢業(yè)設(shè)計(論文)質(zhì)量,學(xué)校希望嚴(yán)格把關(guān)。但為了不影響學(xué)生的就業(yè)和升學(xué),學(xué)校又希望靈活處理大學(xué)生的畢業(yè)設(shè)計(論文)。在這種體制下,許多大學(xué)生對指導(dǎo)老師的從嚴(yán)管理可以不予理睬。在他們看來,不管如何對待畢業(yè)設(shè)計(論文)工作,最后肯定會順利通過畢業(yè)答辯[4]。也正是如此,許多學(xué)生在畢業(yè)設(shè)計(論文)過程中以消極的態(tài)度對待畢業(yè)設(shè)計(論文),不能按時按質(zhì)按量地完成老師安排的任務(wù),直到臨近答辯的時刻才在慌亂中參考別人的設(shè)計(論文)工作,套用別人的論文模板。如此完成的畢業(yè)設(shè)計(論文),其質(zhì)量可想而知。
作者:侯清宇 斯松華 單位:安徽工業(yè)大學(xué)
參考文獻(xiàn):
[1]周科峰,趙鋒軍,李宇峙.提高工程類本科學(xué)生畢業(yè)設(shè)計質(zhì)量途徑研究[J].教育教學(xué)論壇,2013(8):206-208.
[2]吳益鋒,張淑敏,田夏.上海交通大學(xué)提升本科畢業(yè)設(shè)計(論文)質(zhì)量的改革與實踐[J].實驗技術(shù)與管理,2014(7):193-195.
[3]孫承志,熊田忠.采用“多位一體”方法提高畢業(yè)設(shè)計質(zhì)量[J].中國校外教育,2012(27):76-77.
[4]錢驥.工科專業(yè)畢業(yè)設(shè)計現(xiàn)狀及對策分析[J].科技創(chuàng)新導(dǎo)報,2015(10):218.
關(guān)鍵詞:“90后”;本科畢業(yè)設(shè)計;就業(yè)壓力;改進(jìn)
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2014)20-0130-02
一、前言
大學(xué)常被比喻成象牙塔,那么畢業(yè)設(shè)計就是本科生登上象牙塔頂峰的最后一層樓。然而,很多大學(xué)生一心急翔,卻忽略了大學(xué)中此層樓的重要性。畢業(yè)設(shè)計在學(xué)校和社會的銜接上有著不可替代的橋梁作用。它結(jié)合了大學(xué)四年的理論知識和實際應(yīng)用,使本科生綜合理論知識向著工程實踐延伸,并在踏上工作崗位時能夠快速適應(yīng)。隨著當(dāng)前社會就業(yè)觀念的變化,就業(yè)方式的靈活轉(zhuǎn)變以及就業(yè)環(huán)境的激烈競爭,培養(yǎng)具有交流能力、實際動手能力、創(chuàng)新能力及能適應(yīng)社會發(fā)展的人才是當(dāng)前社會的發(fā)展趨勢[1]。以電子類本科畢業(yè)生為例,畢業(yè)設(shè)計的題目必須針對某項應(yīng)用項目的設(shè)計或是提出獨立的見解,會考察學(xué)生在外語、數(shù)學(xué)、電路分析和設(shè)計、計算機(jī)應(yīng)用以及動手能力方面的綜合應(yīng)用。作者是即將畢業(yè)的電子類專業(yè)本科生,正在畢業(yè)設(shè)計這個環(huán)節(jié),因此將結(jié)合自身在畢業(yè)設(shè)計過程中遇到的問題及周邊同學(xué)的情況,以一個本科生的角度探討本科畢業(yè)設(shè)計中存在的問題,給即將進(jìn)入畢業(yè)設(shè)計環(huán)節(jié)的學(xué)弟學(xué)妹們提供一定的參考意見。
二、畢業(yè)設(shè)計中存在的問題
1.學(xué)生自身的問題。這兩年,社會將迎來首批“90后”本科應(yīng)屆畢業(yè)生。眾所周知,“90后”是頗具爭議的一代。一方面“90后”大多是獨生子女,家中長輩視為掌上明珠,家庭條件普遍較為優(yōu)越,很容易養(yǎng)成依賴的性格;另一方面,身處網(wǎng)絡(luò)信息高度發(fā)展的時代,“90后”接受新事物能力強(qiáng),但其接觸的各類信息良莠不齊,可能衍生出很多負(fù)面問題。
受上述大環(huán)境的影響,個別“90后”從未思索過上大學(xué)的目標(biāo)和意義,只為應(yīng)付混一張學(xué)位文憑而已。而不少部分學(xué)生對畢業(yè)設(shè)計認(rèn)識不足,不愿多花精力,巨大的擇業(yè)壓力又使得學(xué)生把主要精力放在找工作上,因此畢業(yè)設(shè)計僅當(dāng)作一項任務(wù)來完成[2,3]。作者在做畢業(yè)設(shè)計時也遇到了上述問題。在選題期間,忙于參加各家公司的應(yīng)聘,同時還到其中一家參與了實習(xí)。在確定課題查閱資料后才發(fā)現(xiàn),課題除了對大學(xué)四年所學(xué)知識的綜合運用外,還有很多新的內(nèi)容要自學(xué),如果邊實習(xí)邊做畢業(yè)設(shè)計,肯定趕不上計劃進(jìn)度。
2.指導(dǎo)教師出題的創(chuàng)新性。隨著技術(shù)的發(fā)展,大學(xué)教師在工程和實際生產(chǎn)方面的閱歷也越來越成熟,在畢業(yè)設(shè)計出題時也越來越跟著技術(shù)發(fā)展的潮流走。然而,在課題的創(chuàng)新性和學(xué)生總體水平的平衡上對教師來說是個需要斟酌的難點。相對簡單的課題都是已經(jīng)非常成熟的課題,學(xué)生一看題目就知道做什么,課題到處都能找到參考資料,這樣“炒冷飯”的課題,學(xué)生和老師處理起來都會比較輕松。而創(chuàng)新性課題在畢業(yè)設(shè)計過程中,能鍛煉學(xué)生的獨立思考能力和實踐能力,極富有挑戰(zhàn)性,但若難度過高超出學(xué)生的能力范圍,效果也可能適得其反。
3.外界因素的影響。據(jù)統(tǒng)計,2013年被稱為“史上最難就業(yè)季”,全國高校畢業(yè)生達(dá)到了699萬,而2014年預(yù)計將突破700萬人[4]。在如此大的就業(yè)壓力下,不論是學(xué)生還是學(xué)校都空前重視畢業(yè)生的就業(yè)問題。高校里無形中流傳著這樣一種說法:只要找到了工作,畢業(yè)設(shè)計大多是會通過的。這雖然是一種本末倒置的說法,不過也可以看出就業(yè)壓力確實對畢業(yè)設(shè)計有著非常嚴(yán)重的影響。其直接導(dǎo)致了學(xué)生和教師對畢業(yè)設(shè)計重視程度進(jìn)一步降低,學(xué)生和教師甚至學(xué)校都覺得只要保證了就業(yè)率,剩下的畢業(yè)設(shè)計等也就是走個過場。
另外,文章開頭也說到,網(wǎng)絡(luò)是一把雙刃劍。一方面,學(xué)生可以很快捷、高效地查到所需的各種資料。但另一方面,網(wǎng)絡(luò)上也出現(xiàn)了更為“快捷”完成畢業(yè)設(shè)計的方法,例如代做設(shè)計、論文等。隨著畢業(yè)季的到來,淘寶等網(wǎng)站上畢業(yè)設(shè)計代做店鋪的成交量也是直線上升[1],在網(wǎng)上公開并且形成了完整的產(chǎn)業(yè)鏈,可見網(wǎng)絡(luò)已經(jīng)慢慢成了畢業(yè)設(shè)計和論文代做的溫床了。
三、改進(jìn)建議
1.提倡創(chuàng)新,產(chǎn)學(xué)結(jié)合。為了更有效地使學(xué)生從畢業(yè)設(shè)計中有所收獲,教師除了給出的課題要有實踐性和創(chuàng)新性外,也要在選題內(nèi)容上盡量詳細(xì)地描述課題的設(shè)計指標(biāo)和參數(shù)。這樣學(xué)生可以選擇自己感興趣的課題,通過抓住創(chuàng)新點,在教師的指導(dǎo)下鍛煉自己的思維方式。這種創(chuàng)新的、積極的思維方式將使學(xué)生在以后的工作和生活中終生受益。
以作者的畢業(yè)設(shè)計選課為例,課題為《準(zhǔn)諧振車載逆變器的設(shè)計與實現(xiàn)》?,F(xiàn)在市面上車載逆變器大多是PWM型的,而準(zhǔn)諧振開關(guān)技術(shù)與PWM型相比具有高效率、低EMI等優(yōu)點。故該課題的目的就是驗證與探究準(zhǔn)諧振模式設(shè)計的優(yōu)點,有一定的創(chuàng)新性。而暑期期間作者正好在一家電源驅(qū)動公司實習(xí),對課題內(nèi)容以及產(chǎn)品應(yīng)用有一定的了解。選擇該課題正好與實習(xí)內(nèi)容相結(jié)合,并且通過畢業(yè)設(shè)計可以提早熟悉工作內(nèi)容。作者在畢業(yè)設(shè)計期間,做到了將理論基礎(chǔ)模型與創(chuàng)新實踐方案相結(jié)合,不僅有助于畢業(yè)設(shè)計的完成,對以后工作也有較大幫助。
2.改進(jìn)模式,引導(dǎo)就業(yè)。既然現(xiàn)階段就業(yè)形勢非常嚴(yán)峻,學(xué)校就需要根據(jù)形勢,改進(jìn)畢業(yè)設(shè)計的模式,把就業(yè)與畢業(yè)設(shè)計這兩個環(huán)節(jié)相結(jié)合??梢詫厴I(yè)設(shè)計的方式靈活化,讓已經(jīng)實習(xí)的學(xué)生將畢業(yè)設(shè)計真正帶到實際工作中,在多方權(quán)衡后給學(xué)生出一個與工作比較切合的課題。畢業(yè)設(shè)計的課題不僅可以出自指導(dǎo)教師,也可以參考學(xué)生的想法。這樣可以相對減輕教師時間和精力的投入,還可以給學(xué)生提供更好的學(xué)業(yè)和事業(yè)銜接的機(jī)會。
3.完善機(jī)制,嚴(yán)格把關(guān)。據(jù)教育局?jǐn)?shù)字分析,在接下來幾年里就業(yè)形勢依舊嚴(yán)峻,所以在畢業(yè)設(shè)計的機(jī)制上學(xué)校有必要進(jìn)行適當(dāng)?shù)恼?。學(xué)??梢蕴崆凹訌?qiáng)畢業(yè)設(shè)計的培訓(xùn),讓學(xué)生提前做好畢業(yè)設(shè)計的準(zhǔn)備,這可以提高學(xué)生自主平衡學(xué)業(yè)和就業(yè)的能力。而在監(jiān)管方面,教師要明確自己的責(zé)任,把握學(xué)生在畢業(yè)設(shè)計各個階段的進(jìn)度,積極幫助解決學(xué)生在設(shè)計過程中遇到的問題。對不認(rèn)真、抄襲、作假的行為認(rèn)真把關(guān),要求學(xué)生獨立完成畢業(yè)設(shè)計,鼓勵學(xué)生的求實性和創(chuàng)新性。
四、結(jié)語
在“90后”畢業(yè)生的嚴(yán)峻就業(yè)形勢下,本科畢業(yè)設(shè)計面對著前所未有的挑戰(zhàn)。本文簡單分析了畢業(yè)設(shè)計中存在的問題,結(jié)合作者自身在畢業(yè)設(shè)計中碰到的問題,提出了一些改進(jìn)意見和建議。畢業(yè)設(shè)計不僅是對本科生在大學(xué)四年所學(xué)的綜合檢驗,也直接反映了本科生的能力。所以各大高校也要與時俱進(jìn),采取一些新的對策。
參考文獻(xiàn):
[1]林彌,劉國華.淺析電子類本科畢業(yè)設(shè)計中存在的問題[J].教育教學(xué)論壇,2013,(41):101-102.
[2]朱靜,唐建峰,劉楊,王武昌.本科畢業(yè)設(shè)計中存在的問題及對策[J].中國科技信息,2011,(24):214-214,223.
[3]陳明.高校本科畢業(yè)設(shè)計中存在的問題與探討[J].大眾科技,2008,(12):186-188,194.
[4]賀寶慶,陳博宜.中國高校畢業(yè)生感受2014就業(yè)壓力[EB/OL].