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