• <input id="zdukh"></input>
  • <b id="zdukh"><bdo id="zdukh"></bdo></b>
      <b id="zdukh"><bdo id="zdukh"></bdo></b>
    1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

      <wbr id="zdukh"><table id="zdukh"></table></wbr>

      1. <input id="zdukh"></input>
        <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
        <sub id="zdukh"></sub>
        公務員期刊網 精選范文 vb程序設計論文范文

        vb程序設計論文精選(九篇)

        前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的vb程序設計論文主題范文,僅供參考,歡迎閱讀并收藏。

        vb程序設計論文

        第1篇:vb程序設計論文范文

        關鍵詞:vb,程序設計,過程調用,參數傳遞

         

        1 前言

        VB程序設計是采用面向對象的可視化操作界面,功能強大,應用廣泛,而相對于其他面向對象的編程語言,如VC,Delphi等容易學習掌握。在程序設計中,為了縮短程序運行的時間,也為了方便、簡化程序設計,就需要建立相應的過程,建立過程的目的之一就是減少重復代碼,將公共代碼放入過程中,并由其他事件過程調用它,調用過程有諸多技巧,經常根據程序編寫的需要,按功能將程序分解成若干個相對獨立的部分,然后對每個部分進行程序編寫測試,這樣就把每一個部分稱之為過程。免費論文。

        在全國VB等級考試中,要求學生掌握的過程主要有事件過程,Sub過程和Function過程。在過程調用中,Sub過程與Function過程相似,它們都是用來完成特定功能的獨立程序代碼,它們由一組符合VB語法的語句組成,但它們不同的是,Function過程可以返回一個值給調用程序。但有一點需要特別注意,那就是Sub過程與Function過程必須在事件過程或其他過程中有調用它們,否則過程代碼將永遠不會被執行。在過程的調用中,由于二者參數傳遞的機制相同,為便于描述,本文就以Sub過程(即子過程)為例,對過程的定義、調用及參數傳遞進行分析和說明。

        2 VB過程的調用與分析

        在調用過程時,主調過程的實參以一定的形式傳遞給被調過程的形參,完成實參與形參的配對結合,然后執行被調用的過程體即語句塊。經被調過程處理后,并可得到處理的結果,但如果被調過程為Function過程時,可將所得結果返回給主調過程。VB中,參數的傳遞有傳值和傳址(引用)兩種形式。免費論文。

        2.1子過程的定義與調用

        自定義子過程的格式:

        [Public | Private] [ Static]Sub子過程名([形參表列] )

        局部變量和常量定義

        <語句塊>

        [Exit Sub]

        [語句塊]

        End Sub

        其中形參表列的每個參數的形式:[ByVal](變量名[()] [As類型,]……)

        形參表列中的參數稱為形參或啞元,只能是變量或數組名,不能是常量、函數、表達式等。在過程定義時,參數有傳值和傳址兩種定義形式,帶ByVal定義的參數為值傳遞,用于接收過程調用時實參傳遞過來的值,否則為地址(引用)傳遞,用于接收過程調用時實參傳遞過來的地址。

        子過程的調用格式:

        (1) Call過程名( [實參表列] )

        (2) 過程名[實參表列]

        子過程的調用是一條獨立的調用語句,有上述(1)、(2)兩種調用格式。其中:“實參表列”中的參數稱為實參,實參的個數、數據類型都要與被調用過程的形參一一對應,實參可以是同類型的常量、變量、數組、表達式等。

        2.2傳值方式(ByVal)

        VB中的傳值方式,實參與形參在內存中占用不同的內存單元,當調用一個過程時,系統把實參的值復制給形參,當執行被調用的過程時,實參與形參并斷開聯系,過程的調用也將結束,形參的任何操作和變化都不會影響到實參。傳值方式是“單向”的,形參的值不能返回給實參。在教學中,通過總結給出了如下按傳值方式(ByVal)對過程調用的分析方法。

        例1:編寫兩個數相加的過程,執行程序并輸出結果。

        Option Explicit

        Public Sub Add(ByValx As Integer, ByVal y As Integer)

        x =x + y : Print “x=” ;x

        End Sub

        Private Sub Command1_Click()

        Dim a AsInteger , b As Integer

        a = 20: b = 15: Call Add(a, b): Print “a=”; a;“b=”;b

        End Sub

        程序運行后得到的結果為:x=35a=20 b=15,通過該方法能簡潔明了地得到正確結果,x的值由兩個數相加所得的結果,而a,b兩個數的值沒有變化,分析參數傳遞過程的情況如圖1所示,由于采用傳值方式,實參和形參在內存中占用不同的內存單元,當調用過程Add時,系統把實參a, b的值復制一份給形參x和y,便斷開實參與形參的聯系,執行Add過程中的語句塊后,形參x的值進行了變化即為兩個數的和,但它的變化并不影響實參a和b,當返回到主調過程時,形參所占的內存被釋放。

        2.3傳址方式(ByRef)

        傳址方式也稱引用方式,是VB默認的參數傳遞方式,當調用一個過程時,系統將實參的地址傳遞給形參,實參與形參在內存中占用相同的存儲單元,即過程接受的是實參變量的地址。因此在被調過程中對形參的任何操作都變成了對相應實參的操作,實參的值會隨著形參的變化而改變,這種傳遞是“雙向”的。下面來分析一下傳址方式(ByRef)的一般情況,即形參與實參均為簡單類型的變量。免費論文。

        當形參是傳址方式的簡單類型變量,實參是同類型的簡單變量時,系統采用傳址方式實現虛實結合。下面采用傳址方式,改編例1的程序,分析能否改變a,b的值。Add子過程修改如下,其主調過程與傳值方式的主調過程相同。

        Public Sub Add(ByRefx As Integer, ByRef y As Integer)

        x =x + y : Print “x=” ;x

        End Sub

        執行程序,運行結果為:x=35 a=35 b=15。分析參數傳遞過程如圖2所示,由于采用傳址方式,實參和形參在內存中占用同一存儲單元,當調用過程Add時,系統把實參a, b的地址分別傳遞給形參x和y,使得x與a是同一存儲單元,y與b也是同一存儲單元,在這種情況下可以把x與a看成是同一個變量,y與b也可看成是同一個變量,執行Add過程中的語句塊后,形參x的值進行了改變,等同于實參a的值也進行了變化,調用結束后,返回主調過程,這樣也就改變了a的值,由于y的值沒有變化,所以b的值也就沒有改變。

        第2篇:vb程序設計論文范文

        當前社會職業的多樣化,學生就業的需求,高等教育中非計算機專業的計算機基礎課程體系也應該有相應的改革,使得新的課程體系,可以提供給理科、工科、文科、藝術類等其他不同的專業進行計算機基礎教育時更豐富的選擇。使各個專業的畢業生將來在擇業時在計算機教育上能夠更貼近用人單位的要求?!斗怯嬎銠C專業計算機公共基礎課的教學改革與實踐》的主要的目標針對我校非計算機專業計算機公共基礎課教學進行課程體系改革的研究與實踐,與此相應的教學方法、教學內容、教學模式、實驗教學、教材、計算機基礎課程考核方法應同步改革。

        二、我校的計算機基礎教育新舊課程結構的比較

        根據高等教育的發展,對我校非計算機專業的計算機基礎教學提出了新的要求,相應的課程體系改革為:計算機基礎分為大學計算機基礎、計算機技術基礎和計算機應用基礎三個層次,為必修課或選修課。其中:理工類建議選擇C語言程序設計、java語言程序設計等,文科類選擇VB程序設計、web程序設計等;第四、五學期各專業可根據專業培養需要選擇。同時為了使同學們能更好的掌握知識,將《C語言程序設計》《java語言程序設計》《VB程序設計》《web程序設計》《動漫設計》課程分為兩個學期完成,稱為《C語言程序設計(1)》《C語言程序設計(2)》,其他課程以此類推。

        三、教改具體措施以及效果

        (一)全程機房教學,增強動手能力

        教學方法是為實現教學目標、完成教學任務所采取的措施。傳統的三中心(教師、教材、課堂)教學方法既不適應社會發展的需求,也不符合計算機教育的特色,必須改革。我校的《大學計算機基礎》由原來的課堂教學,改為全程機房教學,使同學們在邊聽教師講解的同時,可以直接上機進行操作,在學習理論知識的同時,可以立刻得到對計算機操作的感性認識。通過三個學期的教改實踐,完善了全程機房教學模式,對同學們使用計算機的動手能力有很大的提高。

        (二)配套教學軟件,提高學習能力

        本課程組為《大學計算機基礎》課程開發了一個《大學計算機基礎輔導練習系統》,該系統分為抽題模塊、答題模塊、判卷模塊,本系統為C/S結構,當管理員在服務器端設置好本次模擬練習的題型比例后,系統自動生成一套模擬試卷;所有的同學們可以在客戶端進行答題,當答卷完畢時,由服務器端自動進行判卷并將本次練習的結果反饋給同學們;該系統可以提供給學習本課程的同學們經過教師的指導后,在課堂內外自行進行練習。以便同學們完成練習后,自己可以評判自身的學習程度,并在下一階段的課內外學習中調整自己的學習狀態。本系統已經提供給2005級大一學生進行了初步使用,體現了較好的作用。

        (三)開發網絡平臺,整合教學資源

        本課程組在調研了周邊各高校的計算機基礎教育的情況,開發了一個本校的《計算機基礎教育中心教學平臺》,在本教學平臺上,提供了基礎部課程的相關介紹,教學信息的,教學資料的下載等等功能,可以提供給任課教師所任課程重點難點詳細介紹。對課堂教學起到了很好的補充作用,方便了同學們在課余時間繼續學習計算機基礎課程。在本課題的后續時間里,擬設計開發計算機基礎教學課程的基于校園網教輔系統,使得同學們可以開展課余時間自由學習。該平臺具有以下優點:①發揮以計算機為基礎的現代多種媒體的作用,使教學信息組織超文本化。多媒體的超文本特性可實現教學信息最有效的組織與管理。②在培養高級認知能力的場合中,因特網和校園網是協作學習的主要形式,實現了協作式教學。③教學過程的生動性是多媒體計算機的強大魅力之所在。在教學中可以同樣重視教與學這兩個部分。強調學生的參與意識,教與學成為兩個相輔相成的部分。調動學生學習的主動性,培養學生的“發現式”學習能力,使學生不僅學會,而且會學。④在短時間里要獲得大量的信息與知識,這在傳統的教學模式中是可望不可及的,而以多媒體網絡作為傳播信息的渠道,使教師與學生、學生與學生之間,可以同時傳播大量的信息,大大提高教學效率。

        (四)編制多媒體課件,增加課堂吸引力

        根據我校計算機基礎教學的實際情況,我們重新編制了《大學計算機基礎》《計算機程序設計A》《計算機程序設計B》的電子課件,使之更符合我校的實際教學情況,更符合浙江省計算機等級考試的要求。其中《計算機程序設計A》課件獲得中國計量學院首屆多媒體課件競賽二等獎。改編后的課件具有以下優點:界面清晰、美觀,結構清晰,例題豐富、并附有書本外的課后習題。

        (五)出版教輔材料,同步教學改革

        根據高等教育中對計算機基礎教學提出的新要求,和結合浙江省計算機等級考試的要求,本課題組編制了《C語言程序設計實驗與習題指導》面向21世紀高等院校計算機系列規劃教材,該教材由“科學出版社”出版,并于2005~2006學年第二學期開始投入我校、浙江工業大學等高校使用;根據我校學生應考浙江省計算機等級考試的需要,本課題組編制了《C語言輔導與講義》、《VB程序設計輔導與講義》,并與2005~2006學年第一學期開始投入使用,學生們反映良好。

        (六)開發考試系統,改革測試手段

        計算機基礎課程是一門應用技術學科,主要憑試卷來檢測大學生的學習效果,并不能完全反映出學生的實際能力。而且試題類型目前多是測試學生對所學知識是否了解,不是考核學生解決問題的能力,并沒有掙脫應試教育的樊籠,嚴重影響了創新型人才的培養?,F在這種考試方法,使得學生為了考試而學習,不能提高學生學習的積極性,不能發揮學生的創造力,這種考試方法與素質教育大相徑庭。本課題組開發了《大學計算機基礎上機考試系統》,本系統具有抽題功能、答題功能、判卷功能、存儲功能、輸出功能,對其中的實踐部分從以前的“紙上談兵”改為“上機實戰”。其中的判卷功能、存儲功能、輸出功能也使得該課程實現無紙化考試,該考試系統于2004~2005學年第二學期開始投入使用。新的考核方法給了學生一個發揮才能的空間,變被動的死記硬背為靈活的實踐操作,使學生成為知識的主人。

        四、實際作用與效果

        通過對非計算機專業計算機公共基礎課的教學改革與實踐,對提高教學質量,效果明顯。我校非計算機專業學生在學習C語言和準備迎接浙江省計算機二級考試中,選擇了我校自行編制的《C語言程序設計輔導與講義》《VB程序設計輔導與講義》,取得了較好的成績?!≡谠撏瓿稍撜n題的過程中,陸慧娟老師等于2005年11月在“首屆大學計算機基礎課程報告論壇”發表了《多科性大學計算機基礎教學課程體系的改革與實踐》教改論文,該文以本校的計算機基礎教學為背景,探討了非計算機專業計算機基礎教學課程體系的設置、教學方法的改進和師資隊伍建設等問題。黃俊老師等于2005年11月在“首屆大學計算機基礎課程報告論壇”發表了《配對編程教學模式在程序設計課程教學中的探索與實踐》教改論文,配對編程方法是兩學生并排在一臺計算機上工作,協同完成一個設計、代碼編寫和調試的新的程序設計學習方法,該文對配對編程教學模式在計算機基礎課程教學的應用進行了探索與實踐,提出了配對編程在程序設計基礎教學過程中存在的問題和解決的辦法。

        第3篇:vb程序設計論文范文

        【關鍵詞】科研;信息;管理;系統

        高校作為教學科研單位,其學術氛圍十分濃厚,科研工作取得了相當大的成績,立項的國家級、省級課題數量、發表的論文數量以及專題講座數量等大幅度提高。為了科學的管理、查詢這些課題、論文和講座等信息,很有必要設計、開發一款適合高校的科研管理系統,以提升學校的科學管理水平。

        本文所提到的科研信息管理系統將圍繞學校所立項的課題、已發表的論文、已開展的講座等信息,根據年份、院系、課題(論文)類別、姓名及職稱等條件進行數據查詢,并以Excel的文件格式呈現查詢結果,以利于用戶對數據作進一步的處理。系統將具備一般數據庫管理系統所具有的功能,設計了便于用戶信息錄入的功能,信息可分散錄入,分散錄入完成后再集中導入的方式進行,也可以將Excel文件格式的信息導入系統中,大大減輕用戶信息錄入的負擔,使軟件真正成為用戶的好幫手。

        一、系統總體設計框架

        從圖上可以看出,系統總體上包含了追加信息、插入信息等10個程序模塊。其中清除重復信息、以Excel文件格式導入、導出信息最具特色,可以避免數據庫的冗余,便于用戶對信息作進一步的操作,這也是本文要著重介紹的程序片段。

        二、數據庫字段設計(僅以課題信息為例)

        課題信息、論文信息和講座信息分別用三個數據文件保存。課題信息字段如表一所示。

        表一

        數據字段共有14項,各校可根據本校的實際情況適當增加或減少,從我校實際使用經驗來看,第6、9項可以刪除。

        三、用戶界面設計

        (一)初始化界面設計[1],如圖一所示。

        圖一 初始化界面

        該界面是我??蒲行畔⒐芾硐到y實際使用界面,僅供參考。本人比較喜歡直觀的瀏覽到某項主要信息,然后單擊它再看到相應的其它更多的信息。

        (二)設置字段控件,如表二所示。

        表二

        均為常用控件,其中第1項就是用來顯示課題名稱的。

        四、部分源代碼設計(以VB語言程序設計為例)

        (一)代碼模塊中的程序[2]

        創建自定義數據類型stu,并聲明xit為該類型。

        (二)窗體模塊全程聲明段中的程序

        該模塊中的程序用于初始化系統、保存信息和顯示信息等。初始化系統時可以先創建一個隨機文件,如:

        Open "keyglkt.dbf" For Random As #1 Len = Len(xit)。

        保存信息和顯示信息程序代碼被多次重復調用,所以應在全程聲明段中創建。

        (三)清除重復信息程序

        用戶在輸入或導入科研信息時,很有可能信息會重復操作。為了保證數據的唯一性,有必要設計清除重復信息程序。設計思想是先為重復出現的信息將其清除標志代碼設置為1,再全部刪除之。程序如下:

        (四)批量導入Excel格式信息程序[3]

        當用戶的原始數據是以Excel文件格式保存時,為了不做重復的工作,可用此項功能。先彈出一個打開文件對話框,用戶選擇一個要導入的Excel文件,信息將自動添加到最后面,程序如下:

        (五)導出查詢信息程序[3]

        當用戶需要對課題信息作進一步處理時,如排序、打印等,可以將信息以Excel文件格式導出,再用Excel對信息進行處理,非常方便。程序如下:

        至此,主要程序模塊介紹完畢。目前,該系統正在我校試用,效果良好。

        參考文獻:

        [1]劉炳文.Visual Basic 程序設計-基礎篇[M].北京:人民郵電出版社,1998:169-216.

        第4篇:vb程序設計論文范文

        論文摘要:現存的非計算機專業編程語言的教學弊端種種,本文提出了一種新的思路。即:使用VBScript語言在記事本中編寫程序,在IE瀏覽器環境下來運行之,且通過實例論證該方法的實用性,使其真正為每個用戶服務。

        0引言

        說起我國非計算機專業編程語言教學的走向,就不得不提到我國高等學校計算機基礎教育發展的歷史。我國的計算機基礎教育始于20世紀80年代初期,從80年代初以來,高校的計算機基礎教育大致上經歷了三個發展階段:80年代是起步階段,90年代是規范階段,進入21世紀,開始了第三階段,即深化提高階段。

        計算機基礎教育是指面向大學中非計算機專業學生的計算機教育,這部分學生約占全體大學生的95%以上。非計算機專業中進行計算機教育的目的是培養大批能使用計算機的人才,而不同于計算機專業的培養計劃,可以說他們是計算機應用人才,學習計算機的目的完全為了應用,計算機只是作為一種現代工具來掌握,而不能當做純理論的課程來學習。明確了這個培養目標,那就可以有的放矢。

        目前各高校非計算機專業編程語言教學的現狀是:學時是有限的,學習內容是繁雜的,由此對學生產生的學習壓力不僅苦不堪言,而現實更是多數非計算機專業的學生在畢業后,對于大學期間學習的編程語言大部分是忘記,若想拾起來重新使用,也不是一件易事。如何解決非計算機專業編程語言教學和實際使用二者之間存在的矛盾這個問題,是我們每個從事高等計算機基礎教育的老師不得不思考的問題。

        1非計算機專業編程語言教學的現狀

        對于現存的高等院校非計算機專業編程語言教學的弊端,我們做以下幾點分析說明:

        (1)非計算機專業編程語言教學培養目標定位有誤

        對于非計算機專業學生進行的編程語言教學,應與計算機專業的學生有所不同。計算機專業培養的是計算機專門人才,將來從事信息技術理論研究、科研教學、系統開發等專業性的工作,而在非計算機專業中進行編程語言教學的目的是培養大批能使用計算機的新型人才,他們需要達到的程度僅僅是使用計算機這個工具。作為高等院校非計算機專業編程語言教學計劃的制定者,對于專業和非專業要達到的目標一定要明確,否則有可能南轅北轍。

        (2)非計算機專業的編程語言教學設置好大喜功

        經過作者在國內各大高校做的調查,幾乎各大高校對于非計算機專業編程語言教學一般從大學一年級就開始,陸續開有VB、C、FoxPro、SQL、C++、PB、Delphi、Java等,有的院校在高年級非計算機專業還開有計算機編程語言課程,美名其曰:多學點東西,增加就業砝碼。

        誠然多學點東西是不會有什么害處,但是不知道說這個話的人有沒有想過:對于非計算機專業的學生來說,能有多少比例的學生在真正學這些開設的計算機編程語言課程,更多的恐怕是在各種考試之間疲于應付。當大家手捧畢業證書的時候,手拿四年所修的學分成績單的時候,當大家面試應聘的時候,留在大家腦海中的計算機編程語言可能屈指可數,可以炫耀的可能僅僅是修過的計算機課程的數量。

        作為從事高等教育的老師,我們不能為了這些表面的假象自欺欺人。如何在有限的學時內進行優化選擇,使學生學到最需要的知識。當然不僅是指當前最需要,而且也包括今后踏上工作崗位,對于需要用到的計算機編程語言知識的時候也可以信手拈來,不用再重新學過。因此,對于非計算機專業的學生,我們應該敢于摒棄學習那些當前為了考試,今后根本用不多,僅僅是為了增加學分的計算機編程課程。

        (3)系統本身龐大,掌握的知識有限,學不能使其精

        對于現存的計算機程序設計的任何一門語言,如VB、VisualFox、SQL等,系統都是很龐大的。以一個簡單的例子,VB為例來說明,VB采用的事件驅動的編程機制,提供了動態數據交換(DDE)和對象鏈接與嵌入(OLE)等技術。在數據庫方面,VB具有很強的數據庫管理功能,不僅可以管理MSAccess格式的數據庫,還能訪問其他外部數據庫,如FoxPro、Paradox等格式的數據庫。另外,VB還提供了開放式數據連接(ODBC)功能。

        對于VB強大功能,我相信學過VB的用戶,都是普遍承認的,這個不需要多說,但是對于這么大的一個系統,如何能通過簡簡單單的幾個學時就能夠完全掌握呢?即使說你上課的時候多么專心地聽講,多么用功地做筆記,都是無濟于事的,非要通過系統地做上幾個項目才能掌握一二,更不要說是對于僅僅是通過教材上的幾個簡單例子學習的學生了,這幾乎是不太可能的事情。那么有沒有學習起來比較容易上手的工具了,答案是肯定的。

        (4)快速記憶,快速忘記

        在高等院校里不排除有些用功的學生,學習每門功課都是用功之極,當然也不排除用功是為了在考試中拿個高分,爭取獎學金的可能性存在。一個學期,說的更多一點一年對一門語言的學習,在短時間之內掌握某一項技能之后,一旦長時間不使用,肯定會生疏,這是人類不能抗拒的生理現象。而且目前高校里的學生學習的現狀是:平時基本不看,考前拼命熬夜苦讀,這種短時間內強迫大腦記憶的東西,肯定是經不起時間的考驗的,尤其是在一個人不愿意學習這門功課的時候,這是自然規律。

        假設你當時學會了VB,而且在大學畢業參加工作的時候也沒有忘記,是不是說你就能很好地做自己的事情了呢?答案也是否定的,因為你掌握的是VB,而在工作單位的PC機上或許并沒有安裝VB的運行環境,這樣是不是就為你的使用又出了一道難題。

        有沒有一勞永逸的工具,只需要簡單的學習,而且不論在安裝或者未安裝VB運行環境的PC機上都能很好的完成自己想做的工作。通過作者親身實踐,本文中提倡的這個方法就可以達到這樣的功效。

        (5)支持知識產權保護

        如何做才能既使用正版,又不卷入知識產權的糾紛中呢,這里我們提倡在高校中推廣,使用VBScript腳本語言在記事本環境下編程,在IE瀏覽器中運行,就可以達到這樣雙重效果。

        (6)程序交流困難

        一個用戶編寫的程序如果僅僅是自己使用,這個時候程序的使用有一定的局限性,如果能夠拿出去跟別的用戶交流,就具有了更大的價值。假設有兩個用戶A和B,A在VB環境下編寫了一段程序,在自己的機器上可以正常運行,當A把這段程序拷貝到B的機器上和B交流的時候,B機器上恰好沒有安裝VB環境,此時對于二者的交流可能存在障礙。

        針對上述,我國高校計算機基礎教育體制中存在的諸多問題,作者提出了一種新的思路。

        對于一臺安裝了操作系統(WindowsXP、Windows2000Professional、WindowsME、Win98等)的PC機來說,擁有IE瀏覽器和記事本是再簡單不過的事情,作者推薦給大家的就是使用VBScript語言來完成自己想要做的工作。下面我們通過例子來做進一步的說明,以此來演示如何更好的結合二者,使之發揮作用。

        在數學或工程應用中,常常存在著大量的數值計算和數值分析問題,如:復合梯形公式、復合Simpson公式、Romberg求積公式等。通過編寫簡單的程序,就可以讓計算機代替人類來做一些復雜的計算任務,在這里以數值計算中一個常見的問題來說明一下如何使用提倡的方法完成計算任務,這里以復合Simpson公式的計算為例。程序是通過輸入給定的三個初始值:a、b和n,如圖1所示。圖2程序源代碼

        從上述源代碼中可以看出:第一,VBScript使用的僅僅是VB中簡單的程序設計思想的三種結構:順序、選擇和循環,不涉及復雜的結構,對于非計算機專業的用戶來說是非常容易的事情。第二,在程序開始寫了一個自定義的函數,在后面對該函數進行了調用,可以達到程序復用的作用。(2)將該文件保存為一個html格式的文件,如:a.html。

        (3)運行該程序只需要雙擊該文件圖標就可以在IE瀏覽器環境下運行,在指定的文本框中輸入符合計算要求的數據點擊確定就可以得到計算的結果,如圖3和圖4所示。

        圖4運行結果

        3小結

        通過上述例子我們可以得出以下結論:

        (1)在記事本環境下,僅僅使用了一些簡單的VBScript腳本語句就可以完成復雜的數值計算任務。VBScript是介于HTML語言和VisualBasic、Java等高級語言之間的一種腳本語言,它接近于高級語言的大部分功能,但卻比高級語言簡單易學。

        (2)在運行該程序時,不像其他的程序設計語言需要經過編譯或解釋等步驟,以此來生成目標文件、連接文件以及可執行文件等,使用VBScript在記事本中編寫的程序需要做的工作僅僅是雙擊該文件名,而不會生成其他的中間文件,這樣就大大節省了系統的存儲空間。

        (3)在運行該程序時,對運行環境沒有提出特別的要求,僅僅是需要一個IE瀏覽器。這對于擁有一臺PC機的用戶是輕而易舉的事情。

        (4)當你還在費盡心思考慮程序的在多臺機器之間傳遞的時候,使用在此提倡的方法無需有這方面的顧慮。對于在任何一臺PC機上編寫的.html文件,你可以輕松在多臺機器上拷貝和運行,而無需進行額外的路徑配置等工作。

        當然,我們提倡的這種方法并不是十全十美,如:對于需要大量使用界面圖形來處理的問題,或者需要使用數據庫的問題,該方法就有所欠缺,但是該方法對于僅僅是為了自己方便,進行一些數據處理來說,是再合適不過的了。

        全社會的計算機普及,為大學的非計算機編程教育創造了良好的氛圍和外部環境,使廣大非專業人員學習和使用計算機編程語言變得更加容易,如何使學有所用,使高等教育成為社會發展的推動力量,是高校非計算機專業編程教學面臨的嚴重的挑戰,這也是本文的初衷。

        參考文獻:

        [1]施吉林,劉淑珍,陳桂芝.計算機數值方法[M].高等教育出版社.

        第5篇:vb程序設計論文范文

        關鍵詞:開題報告數學

        一、選題依據(背景與意義、國內外研究現狀與發展趨勢)

        在某種程度上,數學的整個對象就是在原來似乎混沌占統治地位的地方創造秩序,從無序和混沌之中抽取出結構和不變量。所以,把無序的數字轉化為有序的模型,這才是數學家乃至所有數學愛好者所追求的。

        平方數,也叫完全平方數或正方形數,是可以寫成整數的二次方的數。它是一種很“完美”的數,有關于它有許多很有序的規律,至今為止,已經有很多的數學愛好者樂此不疲地去研究它,而且也得出了不少有趣而且有用的結論。至今為止,平方數的一些基本的性質。例如,性質1:完全平方數的末位數只能是0,1,4,5,6,9。性質2:奇數的平方的個位數字為奇數,十位數字為偶數。等等。

        還有很多著名的數學家長久以來樂此不疲地研究平方數,也把它的有關知識作為一種工具用于證明、計算其他定理、命題。例如,意大利著名的數學家Lagrange,他在整數論上也有有關平方數的Lagrange定理:任何一個正整數都可寫成四個平方數之和。并且在證明中他運用了歐拉恒等式:若則

        此類例子還有很多,在此不一一列舉了。

        本論文是對一道有關平方數的競賽題的解法與推廣,我的目標是從無序的題目中找出有序的、有規律的結果,從而體會數學的規律美。過程主要是猜想——計算機輔助驗證——數學方法證明。

        猜想在一般的觀念里,似乎是具有一定的偶然性,但實際上,猜想要靠長期積累下來的對數學的直覺和經驗形成一種敏銳的洞察力和技巧。這是一個長期的過程。

        數學題不一定單純地做出答案就行了,很多情況下還可以更深入地研究,挖掘出它的背景,進行再推廣、再發散。很多看似簡單的數學題其背后的內容卻是十分豐富的,需要有心人去探討研究,這樣才能真正深刻的理解。有些計算量相當大的數學題應用筆算和一般的計算器已經不能滿足需求,這時我們要借助計算機,利用程序設計來解?,F在我就要解一道有關于平方數的競賽題,由于計算量相當的大,筆算和一般的計算器已經不能滿足需求,所以我通過在VisualBasic6.0環境下對算法進行分析和驗證,驗證結論的正確性。

        那些最初表現為令人懷疑的東西,只有經過某種思維過程后,再通過起批準和保證作用的證明,才能最終表現為無可置疑的真理。證明通過揭示事物的核心而增強理解,是數學的力量。

        二、研究目標與主要內容(含論文提綱)

        研究目標:本論文主要研究型如平方數的結構,我們知道,,,,等關于的結果是無序的,而對于,先關于n代入幾個數,例如,,,,……,由此猜想:,并且這個結果可以用數學歸納法證明,所以是有序的。再進一步可得,關于的輸出結果也是有序的。在競賽數學中經常出現有關平方數的一些問題,因此系統研究型如平方數,當取什么值時,其結果是有序的,既有理論價值又有應用價值。

        論文提綱:首先,尋找可能的取值。當n取比較小的值時,可以采用筆算的方法來計算結果、找尋規律,但當n取比較大的值時,發現計算量相當大,用筆算和一般的計算器已經遠遠不能滿足需求,這時就會想到借助計算機輔助計算,利用程序設計來解。我采用的是VisualBasic(簡稱VB)這種常見的程序設計語言。一種語言就是一種思想。經過計算發現當取任意正整數,而時,都可以產生有序的結果。

        找規律:當時,;

        當時,;

        當時,;

        當時,;

        當時,;

        當時,;

        當時,;

        當時,;

        當時,……

        由此可猜想得出:的一個有序的結果。同樣道理,、也可得出有序的結果,也可發現、、、、的結果沒有一定的規律可尋。猜想在一般的觀念里,似乎是具有一定的偶然性,但實際上,猜想要靠長期積累下來的對數學的直覺和經驗形成一種敏銳的洞察力和技巧。這是一個長期的過程。

        然后,利用計算機輔助計算驗證預期結果對某些初值的正確性。

        最后,利用數學方法給出嚴謹的論證,而我所采用的論證方法是簡單易懂的數學歸納法。

        三、擬采取的研究方法、研究手段及技術路線、實驗方案等

        利用文獻研究法與理論研究法,通過圖書館、書店、網絡等途徑對平方數相關各方面的資料進行查閱、研究、歸納、總結。理論與實踐研究法相結合。先是通過對一些簡單的n值進行觀察,再用筆算和計算器進行初步計算,根據已得的結果,推廣到極大的n值,進行理論上的猜想,然后運用計算機輔助(VisualBasic)這種常見的程序設計語言計算驗證,最后證明猜想的結果。

        四、研究的整體方案與工作進度安排(內容、步驟、時間)

        進度安排:

        序號時間內容

        112.1-2.14明確選題并完成文獻綜述和外文資料翻譯

        22.14-2.28完成開題報告并舉行開題報告會

        33.1-3.20完成計算、實驗和繪圖,并完成論文的引言部分

        43.20-3.30完成論文的初稿

        53.30-4.20指導教師閱讀審看并修改,完成終稿

        64.20-4.30論文答辯,學生材料上交教務科

        75.1-5.15教務科材料匯總整理上

        五、研究的預期目標及主要特點

        預期目標:在某種程度上,數學的整個對象就是在原來似乎混沌占統治地位的地方創造秩序,從無序和混沌之中抽取出結構和不變量。所以,把無序的數字轉化為有序的模型,這才是數學家乃至所有數學愛好者所追求的。本論文就是研究一種平方數,從一種無序的結果轉化為有序的、有規律的結果。

        主要特點:進行大膽的猜想,運用計算機輔助計算幫助驗證結果,得出的結論很有規律性。

        六、指導教師意見:

        指導教師簽名:

        第6篇:vb程序設計論文范文

        關鍵詞:項目驅動;實踐教學;面向對象;生命周期開發方法

        中圖分類號:G642文獻標識碼:B

        文章編號:1672-5913(2007)08-0025-03

        1 引言

        在開發類程序設計課程中,最適合初學者學習的便是Visual Basic(簡稱VB),它是第一個可視化編程開發工具。就VB本身的特點而言,它概念多、實踐性強、涉及面廣,既像其他程序語言一樣有其自身的語法和編程思維,又與傳統的面向過程的驅動語言有所不同,最特別的在于它采取的是面向對象的事件驅動編程。傳統的程序語言教學通常以知識點的層次遞進為體系。對于VB程序設計而言也是這樣,它就是按照VB代碼基礎、程序基本結構、數組、過程、控件、文件、數據庫等知識點層次遞進方式來展開教學的。在學習每個知識點時,用一定的例題對知識點進行練習(其他開發類課程,例如PowerBuilder、Delphi等也有類似特點)。這種層次遞進的學習體系總體來說是符合人的認知規律的,但在VB的教學過程中,我們發現確實存在一些缺陷:

        1.1 對知識應用缺乏整體感

        在層次遞進的知識學習過程中,無論是理論知識的學習還是實際應用,通常都是面向局部的,這很容易使學生缺乏整體感。就像描繪一幅人的肖像一樣,如果只顧描繪各個部位,沒有整體的協調和統一,就無法完成一幅令人滿意的作品。如果按部就班地學習VB程序設計的各個知識點,而沒有依托一個完整的實際項目,就會使知識點的學習支離破碎,不成體系,學完以后也容易遺忘。

        1.2 缺乏實際項目的開發體會

        在層次遞進的知識學習過程中,強調的是各個局部知識的理解和掌握,而忽視了這些知識的綜合利用,忽視了學生利用知識描述和解決實際問題能力的培養。試想,如果醫學院的學生只學習理論知識,而不去臨床診斷,不去學習如何綜合地考察一個病人,那他是做不了醫生的。同樣,學習VB程序設計,如果只停留在知識點的學習和例題的練習上,而不去經過實際項目開發的歷練和體驗,就無法直接感受所學知識在實際工作中的作用和地位。這種學習還會抑制學生的學習興趣,影響學習效果。

        2 項目驅動教學法

        項目驅動教學法是指在教學中引入若干個項目案例,按照實際軟件開發中的方法與步驟展開教學。

        軟件項目開發的主要方法有:傳統的生命周期的開發方法、面向對象的開發方法、可視化的開發方法等。因為VB本身是面向對象和可視化開發的典型工具,學生通過整個課程的學習會逐步認識面向對象和可視化開發方法的主要特征,所以我們采用的項目驅動教學法還是選擇了學生比較容易接受的傳統生命周期軟件開發方法作為教學設計的主線,其間再貫穿介紹面向對象和可視化的軟件開發方法。

        傳統的生命周期開發方法把軟件開發周期劃分為若干個階段,每個階段有相對獨立的任務,然后逐步完成每個階段的任務。各個階段的工作按自上而下,從抽象到具體的順序進行,傳統的生命周期開發方法可以用如圖1所示的瀑布模型來模擬。

        3 “項目驅動”教學模式的特點

        3.1 創造項目實踐環境

        在“項目驅動”教學過程中,學生在導師的帶領下,一邊進行專業理論知識的學習,一邊進行實際的應用項目開發。學生一直處在能主動學習、自主學習、相互學習、積極溝通、不斷實踐的學習環境中。學生在實際軟件項目的驅動下,帶著問題學習理論知識和開發技術,學習導師在項目實踐中的思維能力、問題求解能力和處理復雜任務的能力。通過這個教學過程,學生的專業技能、開發素養將隨著問題的求解和任務的完成得到整體提升。

        3.2 教師成為導師

        基于“項目驅動”的教學把知識轉化為理論和技能相結合的教學方式,在這種教學方式下,教師不再是知識和理論的簡單灌輸者,而是發揮著導師的作用,循序漸進地引導學生在實踐中學習理論,在實踐中消化理論,應用理論,在實踐中掌握知識。在工作室中,學生按項目被分成若干小組,各小組的活動在導師的指導和監控下進行。在項目驅動教學中,教師首先扮演著“信息庫”的作用,學生接受項目后,教師除隨時給學生補充必要的理論和技能知識信息外。更重要的是在整個項目開發過程中,適時啟發、解決學生在學習和實踐過程中存在的各種個體問題,激發他們的學習和創造熱情,引導學生盡快進入角色和狀態。幫助學生明確項目的目標,掌握理解項目開發的總體思路和全部過程。

        3.3 強調能力的培養

        基于“項目驅動”教學的主要目的是加強學生軟件應用開發能力的培養。通常,實踐性知識是一種隱性知識,我們倡導“項目驅動”教學正是希望通過“項目驅動”教學過程中的諸項要素和功能,使得一些隱性的思維過程,特別是隱藏在軟件開發過程中的一些核心要素和策略顯性化,而這些往往正是軟件開發核心能力的重要體現。通過軟件工作室的學習,學生將逐步具備軟件應用開發的各種基本能力,系統維護和配置能力,團隊合作精神,使我們培養的學生真正實現與社會無縫連接。

        4 實施“項目驅動”教學的可行性

        4.1 開放的實驗環境――軟件工作室

        在傳統實驗教學中,基本上是以老師為主體,學生按照老師規定的實驗要求和步驟被動地接受知識和技能。而在項目驅動的教學環境――軟件工作室里,學生在學習知識、技能和實施項目計劃的過程中,能夠有更獨立、更自由的廣闊空間。在工作室中,所有的知識講座、技術交流、專題討論、領域知識學習等各項教學活動都是開放的,學生允許跨項目組、跨工作室學習,學生隨時可以走上講臺闡述自己的觀點,發表自己的感想,交流自己的經驗,尋求需要的幫助。在整個學習和開發的過程中,團隊發揮著重要的作用。在這里,老師傳授知識的唯一作用在淡化,而更多的是引導,培育學生學習新知識的能力。對學生出現的問題通常并不是直接告訴學生,而是提供解決問題的途徑,讓學生利用團隊的力量自己去解決問題。在這里,學生的學習積極性得到了充分的釋放和發揮,學生的學習個性得到了有效的保護和張揚,學生的團隊合作精神得到了很好的培育和加強。

        4.2 豐富的網絡資源

        軟件工作室的每一臺計算機都已接入了局域網且全部與校園網相連,這為學生提供了很好的網絡學習平臺。在學院網站上提供了各種豐富的網絡學習資源,包括網絡課程、電子教案、實驗指導、在線測試以及歷年來軟件學院各屆畢業生完成的近120項應用軟件系統等,這些資源面向工作室的同學全部開放。同時,導師非常注重教育學生如何利用網絡學習解決問題的新知識,尋找解決問題的新途徑,求助解決問題的新方法。

        4.3 雄厚的師資力量

        項目驅動教學對教師的綜合素質提出了更高的要求。作為工作室的導師,不但要有能力獨立地從事相關教學科研工作,還要能夠組織和帶領學生對外承接項目,進行真刀真槍的項目開發,開展對外社會服務,并以項目為主線組織專業教學。為了實施項目驅動教學法,學院除嚴把進人關外,(所進人員必須是碩士學歷以上且滿足三能要求,即能教學,能科研,能開發)還在全院開展了學歷學位提升、進修訪問、校企合作、各種學術講座和技術交流,以及經常性的教研、科研和讀書等活動,以不斷提高導師的教學、科研和應用開發能力。另外,學院還聘請了一批著名軟件企業的高級專家為學院的兼職教師,內外教師的互動,不僅為工作室的教學增添了活力,也極大的加強了學院面向應用的總體實力。

        5 “項目驅動”教學實施過程

        5.1 項目設計

        導師根據教學進度和教學計劃,選擇難度適中的項目,將該項目分成若干相對獨立的子項目分配給學生,并圍繞項目準備好相關的理論知識、領域知識和技術知識等。項目一般來源于教師的縱、橫向課題,學院承接的對外服務或經典教學項目等。

        5.2 實施的形式

        學生在經過兩年的基礎知識和專業知識學習后,三年級進入軟件工作室進行為期一年的學習與開發工作。在工作室中,除少部分涉及開發的公共理論知識和工程知識由導師統一講授外,其他學習將圍繞項目以自主學習、協作學習,面授輔導、答疑、小組研討、調查研究、技術交流等多種形式組成,具體實施根據教學內容和學生的認知情況靈活掌握。目的在于利用各種信息技術提高教學質量、教學效率,培養學生的自主學習能力、研究能力、創造性思維能力和創造性實踐能力。自主學習不是由導師直接告訴學生應當如何去解決面臨的問題,而是由導師向學生提供解決該問題的有關線索(例如需要搜集哪一類資料、從何處獲取有關的信息資料以及現實中專家解決類似問題的探索過程等)。如果學生在學習過程中遇到問題,教會學生如何通過電話、電子郵件、BBS和在線討論等方式與同學、導師甚至社會進行探討和交流。特別要教會學生如何到浩瀚的Internet網絡中去搜索、查詢自己需要的資料,不斷提高自己的程序設計能力。協作學習是在個人自主學習的基礎上進行小組協商、交流、討論等,并通過不同觀點的交鋒,補充、修正、加深每個學生對當前問題的理解。通過這種合作和溝通,學生可以看到問題的不同側面和解決途徑,從而對知識產生新的洞察。要特別提倡啟發和誘導學生自己去發現規律,自己去糾正錯誤和補充不足,逐步培養學生自主學習自我學習的的能力和習慣。

        5.3 成績的評定

        學習成績評定是工作室學習的重要環節,我們要求成績評定應具有激勵、反饋、導向三大功能,成績評定應有利于學生的進一步發展。因此,相應的成績評定體系在評定內容上應該重視學生解決實際問題的能力、創新能力、實踐和動手能力的體現,應該重視學生良好的心理素質、科學精神、認真負責的工作態度、積極向上的學習熱情等方面的體現。對于學生中出現的閃光點,導師更應積極評價并加以肯定。

        在工作室中,成績評定采用項目答辯的方式進行。首先,每個項目小組推薦一名學生在工作室里進行主答辯,并演示作品,其他學生進行補充,導師和其他小組的同學可以隨時向當前正在答辯的項目組的任一學生進行提問,最后結合項目的難度和答辯情況給每個項目和學生做出最終的考核成績。

        6 總結

        基于“項目驅動”的教學模式在江西師范大學軟件學院已經實施三年了,實踐表明,這種以項目為主線,以學生為主體,以導師為核心,以工作室為環境的教學模式有利于培養學生的軟件應用開發能力,有利于培養學生的創新能力和實踐動手能力,有利于培養學生的團隊合作精神,有利于加強學生的個性化教育和極大提高學生自主學習、自我學習、相互學習的學習熱情。今后,我們將進一步加強“項目驅動”教學中課程體系及其內在關系的研究、進一步加強“項目驅動”教學與畢業設計銜接以及與導師科研和產品研發的關聯研究,進一步加強“項目驅動”教學的網絡教學平臺搭建及有效利用的研究,以使這項教學改革不斷完善和成熟。

        參考文獻:

        [1] 雷剛,黃明和,尹紅.培養創造應用型軟件人才的幾點建議[J].全國高等院校計算機基礎教育研究會優秀論文集,2004,(1):45-48,2004.8.

        [2] 黃明和,雷剛,郭斌等.面向應用的軟件工程專業教學模式改革研究與實踐[J].全國高等院校計算機基礎教育研究會優秀論文集, 2006,(1):687-691,2006.7.

        [3] 黃曉玲,段鳳云,趙建科.基于“項目目標法”的實踐教學[J].實驗室研究與探索,2006,25,(3):280-286.

        [4] 曾煌興,周曉宏.項目開發教學法的教學設計策略及其應用[J].職教論壇,2005,(6):55-57.

        作者簡介:

        柯勝男(1981-),女,工程碩士,助教,主要研究方向為軟件工程理論與技術、面向對象技術等。

        黃明和(1955-),男,碩士生導師,教授,主要研究方向為面向對象技術、網絡計算技術等。

        第7篇:vb程序設計論文范文

        1.1 課題的提出 1

        1.2 照明片區網絡化的目的意義 1

        1.3 照明片區網絡化的國內外現狀 1

        1.4 高等學校用電管理狀況 2

        1.5 本設計主要完成的工作 2

        第2章 片區照明控制總體方案設計 4

        2.1 網絡和智能照明控制系統規劃 4

        2.2 照明智能控制器完成的功能 5

        2.3 棟層單片機完成的功能 5

        2.4 上位PC機完成的功能 5

        2.5 兩級通信網絡的實現 5

        2.6 小結 6

        第3章 片區照明網絡化硬件的設計與實現 7

        3.1 方案選擇 7

        3.2 器件的選定 7

        3.3 房間層節點的硬件總體構成 7

        3.3.1 信息采集部分 8

        3.3.2 執行部分 8

        3.3.3 通信部分 8

        3.4 棟層節點的硬件總體構成 8

        3.5 人機交互部分 9

        3.5.1 鍵盤模塊 9

        3.5.2 LCD顯示模塊 10

        3.5.3 房間層信息的存儲 10

        3.6 層間信息的傳送方式 11

        3.7  PC機與單片機的串口通訊硬件設計 11

        3.7.1 系統硬件設計 11

        3.7.2 電平轉換 12

        3.8 單片機串行通信接口的擴展 13

        3.8.1 串行通信接口原理 14

        3.8.2 通訊接口的擴展方法 14

        第4章 照明片區網絡化軟件功能的設計與實現 17

        4.1 房間層信息的采集 17

        4.1.1 重發機制的實現 17

        4.1.2 單個房間層節點的狀態規定 17

        4.1.3 棟層對房間層地址的讀寫 18

        4.1.4 棟層對房間層信息的讀寫 18

        4.2 PC機串行通信設計 18

        4.2.1 PC機串行通信的原理 18

        4.2.2 通信機制及結構 19

        4.3 AT89S52單片機串行通信 19

        4.3.1 串行口工作方式 19

        4.3.2 方式1的應用介紹 20

        4.4 PC機與單片機間的通訊 20

        4.4.1  基于VB6.0的PC機通信程序設計 21

        4.4.2  MSComm控件介紹 21

        4.4.3  上位PC機通訊程序設計 22

        4.4.4  AT89S52單片機通信程序設計 24

        第5章 系統調試 27

        5.1 調試過程 27

        5.2 調試結果 29

        結  論 30

        致  謝 31

        參考文獻 32

         

        第1章 前  言

        1.1 課題的提出

        隨著電力能源需求缺口越來越大,照明浪費成為一個十分突出的問題,所以實現照明燈具控制的自動化和智能化,做到依照自然光的強度以及室內人員的數目決定開燈的數目,就成為節約電力資源的一個很好途徑。而多個智能節點間的協調必然要求以一個網絡的形式實現[1]。隨著計算機技術的發展,實現照明的網絡化和照明的遠程控制成為可能。

        1.2 照明片區網絡化的目的意義

        從2006年6月起,全國電力需求快速增長,一些地區陸續拉閘限電,在去年夏季高峰時期,全國先后有21個省份出現拉閘限電現象。去年許多省市高溫不退,空調使用和企業生產導致不少地區用電負荷成倍增長。許多城市對路燈、景觀燈也采取了關閉限時等措施,以保證正常的生產生活的用電。我國存在著嚴重的電力浪費問題,無用的照明浪費在其中占有了很大的比重,單以我校的教室照明舉例來說,燈光的開關安裝在教室門旁,學生進入教室習慣性的將教室燈全部的開啟,而且在離開時也沒有人走燈滅的習慣,管理人員到一定的時間才對教室里的燈具進行管理,這樣既浪費電力資源,也不利于管理。如果對片區中每個房間都安裝一個照明控制器,由其獨立的對本房間內的燈具開關做出控制,做到本房間智能控制器相對于一定人數開啟最少的燈具,這是可以解決一部分電力資源浪費問題,但這樣并不能最大限度上減小總體的電力資源浪費。為了實現電力資源浪費的最小化,必須使得各個房間照明控制器協調工作。而照明控制器的協調工作肯定是建立在網絡上的,通過網絡的協調管理,做到每個房間開啟最少的燈具,片區內有最少數量的房間開燈。

        1.3 照明片區網絡化的國內外現狀

        專家預言,在不久的將來,智能照明將取代普通照明,成為照明行業的新銳主流產品。照明產品,將要進入到“遙控時代”。業內人士分析,智能照明進入快速成長期,需要幾年時間,大概到2008年左右,智能照明的市場容量將突破100億元大關。今年2月份,在奧運科技前景論壇上,智能照明被提上議程,國家建設部要求2010年在全國大中城市中,60%的住宅實現智能化。上海市有關部門決定,今年夏季用電高峰時,市中心主要景觀道路上的路燈要安裝節能的智能照明系統。種種跡象表明,智能照明市場前景將更加樂觀。遠程控制成了遙控時代的重要標志。據悉,雖然智能照明技術具有相當的復雜性,但國內技術水平達到實用水平的企業為數不多。國外從事智能照明的專業公司,如美國的路創、澳大利亞的邦奇以及索恩、ABB等公司也在很早以前就完成了技術上的突破[2]。據悉,國際知名的半導體制造商ST半導體正準備推出燈光控制專用的、結合無線射頻功能的控制芯片采用無線網絡技術的智能燈光控制系統產品最近也相繼出現在消費者面前。德國邁戈公司推出的MCO智能情景照明控制系統近日進入我國市場。其產品的智能化特點主要表現在以下幾方面:實現了根據場景對組合燈光進行調節和控制的功能;實現了個性化設計:可以設定“看電視”、“會客”、“晚餐”、“離家”等燈光情景[3],開關方式可選擇電腦、遙控器、輕觸式按鍵開關、紅外線自動感應開關等方式對照明情景進行一對一、一對多、多對一的靈活控制:具有系統燈具的無級亮度調節和自動延時功能,停電狀態的記憶功能和開關狀態的鎖定功能,使系統使用更加安全可靠。

        1.4 高等學校用電管理狀況

        目前,高校照明用電的管理基本是處于一種粗放式的管理狀態。其管理一般是無專人管理,由學生自行控制開啟,再有值日人員在中午、下午和晚自習后關閉開關,根據作息時間開啟和關閉整個教學樓的照明電源。是有專人負責,即按照天氣情況分樓分層送電。對教學樓照明管理的要求是在充分保證教室的照度的前提下,盡可能地節約電能,但是這些都不同程度上存在著缺欠,造成電能的浪費。第一種模式的特點是可以靈活地滿足樓層和超想的照度要求,不限和控制簡單,是常用的一種方式,但也是最為浪費電。人眼在強光下對弱光不敏感,在自然光照大于燈具光照的情況下,難以察覺到燈光,燈白天長明等而造成更大的浪費。據不完全統計,百分之八十的教學樓存在著白天光照良好的情況下,教室燈依然點亮,一個教室的長明燈看起來耗能不大,但從整個學校來說,卻是驚人,以西南科技大學為例,電能浪費量就十分嚴重,由此可見高校教學樓照明的管理改革勢在必行,也為我們提出了緊迫的課題。

        1.5 本設計主要完成的工作

        本設計中主要完成了以下幾項工作:

        1、棟層單片機接收各個照明控制器所采集的房間光強信息和 人員信息傳送給上位PC機,接收上位PC機根據前述獲得的信息所做出的決策并傳送給相應的照明智能控制器。

        2、實現了單片機通信串口的擴展。

        3、完成了單片機與PC機接口電路的設計,并且實現了單片機與PC機之間串行通訊,通過VB6.0編寫出PC機上可視化的通訊界面。

        第2章 片區照明控制總體方案設計

        本章主要對網絡化照明進行研究,得出一個網絡化智能照明控制系統的總體設計方案。后面的整個設計將圍繞這個方案進行。

        2.1 網絡和智能照明控制系統規劃

        本設計中建立了一個與小區照明相適應的網絡模型來管理各個房間的智能控制器。關于該網絡模型建立的詳細敘述如下:

        整個智能照明控制網絡規劃的設想是能夠適應一個相對集中的建筑群中,多個建筑體需要集散照明控制的情況。系統網絡規劃示意如圖2-1所示。照明控制系統是由一個上位PC機、下位單片機以及照明智能控制器組成的三層兩級網絡。在最底端,照明智能控制器負責照明現場的狀態檢測與控制輸出,進行信息的采集與開關燈的工作,具體面向的可以是一個房間,一個相對獨立的區域或其它需要較多關聯控制的場合。在最頂端,上位PC機負責整個系統的功能協調與狀態監測。一方面,上位PC機收集下位單片機的狀態信息,執行必要的本地集中控制,另一方面也可能在需要時通過網絡接口連接到局域網,按要求提供定期數據報告以及接收控制數據更新和遙控遙測命令。在上位PC機和照明智能控制器之間是單片機控制系統。棟層單片機主要對房間層的照明智能控制器進行控制。

         

        圖2-1 網絡分層結構

        2.2 照明智能控制器完成的功能

        照明智能控制器與燈光控制有著最為直接的聯系,其應當做到向上層即棟層傳送本房間內的光強信息及人員數目信息,接收上一層傳來的命令,執行開關燈的操作。

        2.3 棟層單片機完成的功能

        棟層單片機作為三層分層結構中的中間層,應當完成接收房間層照明智能控制器的信息并做出決策;將由房間層傳來的信息進行匯總處理傳送給上位PC機;接收上位PC機傳來的命令,解析該命令后與自身作出的決策作比較向房間層發出命令,之所以要做出比較后發出命令是因為棟層可以由人工控制強行開啟或關閉某間房間的燈具;在整個系統中,管理人員的權限是凌駕于系統之上的。最終發出命令的過程與房間層相類似,若上層無命令傳入且無人工介入,則棟層將按照自身作出的決策發出命令。棟層還要完成房間層節點的增刪工作和人工開關某個房間燈具的工作。

        2.4 上位PC機完成的功能

        在圖2-1中可以看到,上位PC機位于整個網絡的最頂層,其將完成接收棟層傳來的信息,將其保存并加以分析,發出相應的命令以協調各棟層節點的工作;完成棟層節點的增刪工作;人工對棟層節點的開關。本設計中將小區層的位置向前推進了,使得小區層的PC機與下位單片機的遠程無線通信變成近距離串行通信。

        上一層較之于下一層有更高的優先級,只有在上一層無命令時,最終的決策才由本層作出。而且同一層內的各個節點是不需要通信的,只需要對其下層的節點進行通信或對其上層的節點進行通信。所以上層節點可以采用輪詢的方式對其下層進行通信。

        2.5 兩級通信網絡的實現

        為了達到各層之間信息的相互傳遞,就需要建立層與層之間的通信機制,根據本設計的要求,整個設計軟件采用結構化模塊化的設計方法,易于維護和擴展。根據本設計的軟硬件需要完成的系統功能,系統軟硬件大致可以分為三個功能模塊:上位PC機模塊,下位AT89S52單片機模塊,數據通信模塊。上位PC機模塊主要完成與操作人員的交互功能,包括參數設定、數據顯示及監控等功能。AT89S52單片機模塊作為數據采集及控制模塊,其功能包括系統初始化、采集數據、數據的處理及分析和給出控制命令。三個模塊的關系是:上位PC機模塊是指揮中心,決定整個系統程序的結構和流程;AT89S52單片機模塊按輪詢方式對各個照明控制器進行訪問,并自動對照明進行控制;數據通信模塊可以實現PC機與AT89S52單片機之間數據的傳輸。

        2.6 小結

        本章中建立了一個三層兩級網絡模型,對層與層通信方式進行了規劃,完成了對燈光控制網絡化的總體構架。以后的設計將在此構架內完成。

        第3章 片區照明網絡化硬件的設計與實現

        本設計的硬件由三大部分組成,即棟層單片機對下位照明智能控制器信息的收發電路,人機交互界面即LCD顯示電路和鍵盤部分,棟層單片機與上位PC機間的通信電路。下面對本設計的方案及硬件電路的設計進行說明。

        3.1 方案選擇

        由于本設計包含了一個三層兩級網絡,所以涉及到的主要問題就是房間層與棟層之間的通信,小區層與棟層間的通信,還有中間層也就是棟層硬件的設計問題。在本設計中,棟層單片機與房間層照明智能控制器之間的通信在上屆論文中已經完成,所以在本文中主要對中間層,也就是棟層硬件設計進行研究。重點介紹上位PC機與棟層單片機間的通信,上位PC機與棟層單片機采用異步串行通信。

        3.2 器件的選定

        單片機:根據該層節點所要實現功能的要求同時兼顧成本,微處理器選擇了ATMEL公司的AT89S52,之所以選擇它是因為:第一,它是通用器件,外圍器件容易選定。第二,它是CMOS器件,有利于節能。第三,IO口多,滿足多路信息采集及控制的要求且利于擴展,為以后擴展功能提供了可能。第四,具有ISP下載功能,下載線可以方便的自制,節約了開發成本。第五,內置8K FLASH ROM ,無須擴展,有利于減小節點的體積。

        顯示:棟層節點要顯示字符信息,此時若采用七段LED則不能實現,所以采用的LCD顯示模塊。

        鍵盤:采用4*4行列式鍵盤,可以滿足本設計的要求。

        AT24C01:在本設計中作為單片機擴展的存儲單元使用。

        3.3 房間層節點的硬件總體構成

        為了實現房間層的功能,房間層節點應當由信息采集,功能執行和通信三個模塊組成,房間層工作的原理是由信息采集模塊采集房間中的光強和人數信息,單片機讀入該信息,作出相應的開關燈決策,若有棟層網絡控制節點的存在,則通過單片機自身串口連接通信模塊向上層傳輸相應的數據,并等待上層節點的命令,得到命令后由執行模塊完成開關等的操作,若沒有收到上層節點的命令,則執行模塊執行由微處理器作出的決策開關相應的燈具。

        有關于信息采集模塊和執行模塊的詳細設計敘述請參見《照明智能控制器的設計》[4],本文中只涉及與網絡化相關的部分,其他部分只作簡要 敘述。

        3.3.1 信息采集部分

        信息采集包括兩方面信息的收集:(1)室內光強信息;(2)室內人數信息。光強信息是利用光敏電阻與設定的閾值作比較,當光強大于該閾值時,光強信息狀態為0,光強小于該閾值時,光強信息為1。

        室內人數信息是利用熱釋電傳感器在室內進行分區主動掃描,得到每個教室分區內是否有人的信息,各分區中有人則該區采集的信息為1,無人則為0。

        3.3.2 執行部分

        執行模塊是由房間層的照明智能控制器完成開關燈的操作。

        3.3.3 通信部分

        AT89S52同通信模塊ZF02的連接是利用單片機的異步串行口同ZF02的TTL電平的URAT口。通過無線射頻通信進行數據的收發。

        3.4 棟層節點的硬件總體構成

        棟層節點主要可以分為兩個部分:(1)PC機作為上位機,分析作為下位機的單片機傳來的信息,并通過一定的算法來得出協調各房間層節點工作的命令,發給下位機,而且以圖標的直觀形式體現出各房間的人員數目信息及光強信息;(2)單片機作為下位機,負責與各房間層節點進行無線通信,接收上位PC機傳送的命令發給房間

         

        圖3-1 棟層節點硬件構成圖

        層節點,接收房間層節點傳來的信息給上位PC機,通過鍵盤添加或刪除房間層節點,通過LED顯示當前本節點的工作狀態及增刪節點情況,利用AT24C01保存各個房間層節點的狀態信息。詳見圖3-1。

        在棟層網絡控制節點與眾多房間層節點通信時,每個房間層節點應具有本棟層網絡控制節點下的唯一的地址,該地址應當可以由人工進行指定。若直接利用單片機的I/O口讀取信號的高低電平來確定本級的地址,這將占用過多的資源,假定地址為8位,這將占用單片機的8個I/O端口,若減少地址位數,又會造成該網絡內容納節點數目過少。為解決上述的兩個問題,設計中采用了并行輸入串行輸出的移位寄存器74HC165N,通過它與AT89S52的連接,將八位的地址轉換為串行。這樣就為單片機節省了不少資源,硬件連線見圖3-2。

         

        圖 3-2 單片機I/O口的擴展

        3.5 人機交互部分

        人機交互部分完成顯示當前的棟層節點工作狀態,顯示通信故障,其主要由鍵盤和LCD顯示兩部分完成。

        3.5.1 鍵盤模塊

        該部分鍵盤采用4*4行列式鍵盤實現,其在房間層節點遍歷的過程中檢測是否有鍵按下,以行掃描法實現鍵盤的識別,用軟件延時的方式去抖動。按鍵定義除了0-9共十個鍵外,還有增加鍵、刪除鍵、確認鍵及取消鍵,留有2個鍵未定義留作擴展用。鍵盤部分硬件原理圖見3-3。

         

        圖3-3 鍵盤硬件原理圖

        3.5.2 LCD顯示模塊

        在本設計中顯示的信息包括數字和字符信息,所以需要使用一個LCD顯示模塊。下圖是LCD顯示模塊與AT89S52的引腳圖見圖3-4。

         

        圖3-4  LCD與單片機的連接圖

        3.5.3 房間層信息的存儲

        因為AT24C01能夠在線進行擦寫,而且斷電后信息不會丟失,所以在本設計中用AT24C01與單片機相連存儲房間層的信息。本設計中利用棟層節點的鍵盤和LCD顯示來實現房間層節點的增刪,實際上是將通過鍵盤得到的房間層節點的地址,利用AT24C01的讀寫程序來改變該地址節點狀態信息。在AT89S52上對AT24C01進行讀寫可以確定房間的位置,同時可以達到對房間層節點增刪的目的。

        AT24C01的接口是符合I2C協議的,而AT89S52沒有I2C接口,可以用普通I/O口進行模擬,其硬件連線見圖3-5。

         

        圖3-5 AT24C01硬件連線圖

        3.6 層間信息的傳送方式

        各層間信息的傳送都是遵循一定的通信協議,本設計中房間層與棟層間信息的傳送采用的是無線傳輸的方式,遵從射頻無線通訊協議,房間層和棟層單片機與無線射頻通訊模塊的連接則采用的是串行通信。上位PC機與棟層單片機之間的通信采用異步串行通信方式。

        串行通信是由一位數據傳輸線傳送數據的位信號,另加幾條通信聯絡控制線組成。串行通信的實現遵循串行通信協議。該通信協議對數據傳送方式的規定,包括數據格式定義和數據位定義等,通信雙方必須遵從統一的通信協議。串行通信協議包括同步協議和異步協議兩種,由于本系統采用異步通信方式將信息傳送給ZF02,ZF02以無線的方式將其發出,另一塊ZF02接收到該信息后,以異步串行得方式傳給棟層單片機。最后由棟層單片機再傳送給上位PC機。

        3.7  PC機與單片機的串口通訊硬件設計

        3.7.1 系統硬件設計

        本系統的硬件由三大部分組成,即上位PC機子系統、下位AT89S52單片機子系統和串行通信接口[5]。系統框圖如圖3-6 所示。

         

        圖3-6 系統硬件構成框圖

        對于控制系統而言,實時性是系統的一個重要性能指標,如不能很好滿足,滯后時間太長,顯示的信息就會失去價值。由于主機所顯示的信息是通過與單片機的通信而采集獲得,所以采用PC機作為上位機[7] 。本系統中,PC機的主要任務是:

        1、通過與下位機的通信,將用戶設定的照明控制命令發送給下位機。AT89S52單片機據此進行數據采集與控制。

        2、通過與下位機的通信,讀入房間層采集的數據,據此判斷照明控制器是否處于正常運行狀態;用圖形、字符等方式實時顯示各種參數的信息,實現對房間照明的實時控制。

        PC機的性能要求:性能好,速度快,軟件資源豐富,通信實現方便,支持VB操作系統,圖形界面,菜單對話。

        3.7.2 電平轉換

        用于存儲信息的采集器,對信息量的大小有嚴格的要求,由于采集器的存儲量有限和進一步處理與顯示的需要,信息需要傳入微機內。采集器與微機通過微機的串口實現通信。 利用AT89S52 單片機的串行口與PC 機的串行口COM1 或COM2 進行串行通信,將單片機采集的數據傳送到PC 機中,由PC 機的高級語言或數據庫語言對數據進行整理及統計等復雜處理。PC 機串行口給出的信號是一個RS232 信號,它是一個基于3~7V 正電壓、3~7V 負電壓的脈沖鏈。這一信號必須轉化為一個0~5V 的脈沖鏈,以便處理器讀取。中間轉換電路采用MAX232 芯片來實現[8]。圖3-7是PC機與單片機的通訊示意圖。

         

        圖3-7  PC機與單片機的通信接口電路框圖

            EIA RS232C是目前最常用的串行接口標準, 用于計算機與計算機之間,計算機與外設之間的數據通信。該標準的目的是定義數據終端設備(DTE) 之間的電氣特性。 RS232C 提供了單片機與單片機、單片機與PC 機之間串行數據通信的標準接口。通信距離可達15m。但RS232C 規定的邏輯電平與單片機的邏輯電平是不一致的。因此在應用中必須把微處理器的信號電平( TTL 電平) 轉換為RS232C 電平, 或者對二者進行逆轉換。我們在這里選用專用電平 轉換芯片MAX232來實現的。下面是單片機串口連接電路,使用MAX232作為串口連接芯片[9]。

        本設計采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接。硬件連線如圖3-8所示:

         

        圖3-8 單片機與PC機接口電路設計

        3.8 單片機串行通信接口的擴展

        單片機的串行通信接口與外設通信很方便,雖然大多數單片機都具有硬件SCI(Serial Communications Interface),但也有一些產品沒有SCI,對于這些產品的用戶來說這是一個缺憾。而且,一般八位單片機只有一個SCI,但在很多實際應用,需要更多的串行通信接口[10]。例如在基于Modem的遠程控制系統中,單片機與PC機通信的同時,還需要與Modem芯片進行通信;而在多機系統中,單片機需要與其他主機通信,另外也需要與本機控制臺通信。所以利用單片機自身的資源進行串行通信接口的擴展很有意義[11]。

        串行通信接口的擴展技術主要有兩種:分時共用,I/O口模擬。前者利用MCU自身的硬件SCI,通過控制邏輯分時共享使用同一串行通信接口,后者在不增加硬件的條件下,充分利用MCU自身的資源利用I/O口模擬串行通信接口。

        3.8.1 串行通信接口原理

        單片機的SCI是一個通用異步接收器/發送器UART(Universal Asynchronous Receiver /Transmiter)類型的異步通信接口,通過串行通信協議(如RS-232協議)同主機系統通信[12]。

        在一般應用中,MCU簡單地把數據寫入數據寄存器即可實現一個字符的串行發送,SCI系統完成發送數據的所有細節工作,包括附加起始位和停止位以符合串行格式。SCI的接收器自動探測一個字節的起始位,并通過采樣接收數據。接收串行數據并變換成并行數據的所有工作均由SCI完成,不需要MCU的干預。接收到數據后,MCU簡單地從數據接收寄存器讀取數據即可。

        SCI使用標準不歸零(NRZ)格式(一個起始位,8個或9個數據位和一個停止位),最常用的格式數據位是8位的。

        NRZ數據格式的基本特點如下:

        高電平為邏輯1,低電平為邏輯0;

        發送/接收數據空閑時TXD、RXD線為高電平;

        發送/接收數據串的第一位是起始位(邏輯0);

        數據的最低位LSB首先被發送/接收;

        數據串的最后一位(第10位或第11位)是停止位(邏輯1)。

        3.8.2 通訊接口的擴展方法

        目前比較通用的串口擴展方案有兩種,一是用硬件實現,使用多串口單片機或專用串口擴展芯片,可供選擇的串口擴展芯片有TI等公司開發的16C554系列串口擴展芯片,該系列芯片實現的功能是通過并行口擴展串行口,功能比較強大、通訊速度高,但控制復雜,同時價格較高,主要的應用場合是PC機串口擴展產品。在僅使用單片機控制且不需要太高波特率通訊的系統中,使用16C554系列芯片不僅成本高而且還造成了資源的浪費。而多串口單片機也同樣存在價格高的缺點。另一種串口擴展方案就是用軟件實現,軟件模擬串口存在的缺點有:一是采樣次數低,一般只能做到2次/BIT,這樣數據的正確性就難以保證;二是不能實現高波特率通訊,軟件模擬串口一般不能實現高于4800 bps的波特率[13]。成都國騰微電子有限公司推出的GM8123/25系列串口擴展芯片全硬件實現串口擴展[14],保證了芯片工作的穩定性,設計的最高波特率完全能滿足一般系統需求,同時占用系統資源少,使用方法簡單,通訊格式可設置,與標準串口通訊格式兼容,利用該系列芯片實現串口擴展是性價比較高的串口擴展方案。棟層下位單片機既要與房間層單片機進行通訊,又要與上位PC機進行通訊。由于本設計棟層下位單片機只有一個通訊接口,所以單片機的串行通訊接口需要擴展,本設計中采用單片機與GM8125相連實現了單片機通訊串口的擴展。如圖3-9所示:

         

        圖3-9  單片機通訊串口的擴展

        利用GM8123/25進行串口擴展,有以下優點:

        1、控制簡單。該芯片利用軟件設置工作方式,最大限度地減少控制線,不需要占用太多主機的系統資源,同時又保證使用的簡便性。

        2、應用靈活。該芯片具備兩種工作模式、多種工作波特率、10位或11位數據幀長可選,用戶可根據自己的系統需求靈活選擇。

        3、通用性強。該芯片設計時充分考慮各種用戶的需求,保證了芯片的通用性,與標準串口通訊格式完全兼容,同時提供多種可選設置,適用于大多數串口通訊系統。

        4、工作波特率高。該芯片子串口在單通道模式下波特率支持20Mbps,多通道模式下支持38400bps,此波特率完全能滿足一般的串口通訊的需求。

        5、性能穩定。硬件實現串口比軟件實現串口更能保證串行通訊的穩定性,同時每bit采樣16次,保證了數據的正確性。

        6、波特率誤差小。輸出波特率誤差小于0.2%,輸入波特率誤差要求小于2.8%。

        該芯片不足之處在于:不滿足超低功耗應用要求;多通道模式下,所有子串口工作波特率只能設置成統一值,不適用于各從機工作波特率不一致、又要求同時工作的系統。

        第4章 照明片區網絡化軟件功能的設計與實現

        本設計軟件部分包括兩大模塊,即棟層單片機對房間層智能控制器信息的收發,PC機對單片機的實時監控程序,對這部分軟件的要求是:人機界面友好,易學易用。在本系統中,軟件由VB、AT89S52單片機C語言程序編寫。其中VB程序用Visual Basic6.0開發而成,與單片機的通信,主要完成參數設定,數據顯示等功能。AT89S52單片機C程序借助硬件電路的支持,根據PC機傳來的設定參數進行自動的數據采集與輸出控制,并向PC機傳送采集數據,供VB程序分析處理。AT89S52單片機C程序和VB程序之間交換數據的橋梁是各自的串行通信程序,所以通信程序的編寫是本設計程序的核心。由于棟層與房間層之間的通信部分在上屆畢業設計中已經完成,這里只作簡要敘述[15]。

        4.1 房間層信息的采集

        房間層信息的采集是通過棟層單片機對房間層照明智能控制器的訪問實現的。棟層與房間層之間的通訊是采用輪詢方式,同每一個房間層節點通信時先建立連接,傳輸數據,然后再釋放連接。所以相應的房間層節點在通信時需要明確自身所處的連接狀態。在棟層網絡控制節點與眾多房間層節點通信時,每個房間層節點應具有本棟層網絡控制節點下的唯一的地址,該地址應當可以由人工進行指定。利用I/O口讀取信號的高低電平來確定本級的地址。系統掉電后重啟時仍然需要保留該 地址信息,則必須在系統中加入一個AT24C01存儲器。

        4.1.1 重發機制的實現

        在數據的傳輸過程中容易受到外界干擾,為防止通訊錯誤,主要采用如下方法:

        1、啟動錯誤定時器,掃描錯誤數據傳輸中的錯誤,如果有錯誤則重新啟動通信;

        2、對接收的數據進行校驗,若超過通訊設定時間要求或者接收數據誤碼時重發。

        以上兩種方法的應用大大提高了通訊可靠性,減小了誤碼率。

        4.1.2 單個房間層節點的狀態規定

        單個房間節點主要有是否連接,是否出現錯誤,和是否有控制命令,是否接收數據四個狀態,所以每個房間層節點用4位來表示其狀態。

        4.1.3 棟層對房間層地址的讀寫

        在對房間層節點讀寫時,是以地址號為順序進行的。對于從節點地址節點狀態進行判斷后,只對當前在線且沒有通信故障的節點進行通信,其實現過程是對各從節點的狀態信息進行判斷,符合條件的進行通信,不符合條件的則跳過。AT24C01每次進行讀寫時是以字節為單位的,偶數號房間層節點的狀態信息存儲在高4位,奇數號的則存于低4位。由AT24C01存儲空間與房間層節點的對應關系可知,讀和寫第N個房間的狀態信息時,在AT24C01中的地址定位方式是一樣的,所不同的在于寫狀態時要操作的是四個狀態為中的某一位。

        4.1.4 棟層對房間層信息的讀寫

        棟層單片機與房間層單片機之間通訊的約定:

        1、主機向從機發送地址信號,主機向從機發送數據信息。

        2、主機處于監聽狀態下,因此只能收到主機的地址。

        3、從機收到地址后,進行識別,是否主機呼叫本站,如果是,解除監聽,同時把本站的地址發回,作為應答。只有這樣,從機才能收到主機發來的數據。

        4、主機收到應答,開始數據和命令。

        5、從機正式接收數據。

        4.2 PC機串行通信設計

        PC機自帶串行通訊接口,可以通過串口與單片機進行數據的傳送,達到對單片機進行控制的目的。

        4.2.1 PC機串行通信的原理

        上位PC機上的RS-232C與AT89S52單片機的通信接口相接,進行集中監視與管理。PC與下位機采用異步串行通信方式,經RS-232C進行數據傳輸。上位PC機采用中斷接收方式、AT89S52采用定時查詢發送方式,AT89S52單片機定時向上位PC機發送數據,數據以幀為單位。上位機與AT89S52按應答方式通信時,上位機主動,AT89S52被動,上位機向AT89S52發出一組稱作命令塊的二進制數據,AT89S52對命令進行操作后,將結果返回給上位機,這組數據稱作響應塊。命令塊與響應塊以幀為單位進行傳送,按傳送字節個數不同,分為單幀傳送和多幀傳送兩種。

        4.2.2 通信機制及結構

        串行通信有如下三種方式:

        1、單工通信:它只允許一個方向傳輸數據。

        2、半雙工通信:它允許兩個方向傳輸數據,但不能同時傳輸。

        3、全雙工通信:它允許兩個方向同時進行數據傳輸。

        4.3 AT89S52單片機串行通信

        AT89S52單片機的串行口具有三種異步工作方式和一種同步工作方式。當串行口工作在異步工作方式時,可完成全雙工操作,即能同時收發。

        串行口的控制是通過地址為0011H的串行口控制/狀態寄存器進行的。串行口的數據由串行口緩沖器SBUF(rx),SBUF(tx)負責收發,兩者的地址均為0007H。雖然兩個寄存器共用一個地址,但它們在物理上是獨立的。CPU將預發送的數據寫入SBUF (rx),然后從SBUF(tx)送往TXD引腳,從RXD引腳接收的數據送往SBUF(rx)保存。SBUF(rx)為雙緩沖器結構,第一個接收到的字節被讀走之前,就可以開始接收第二個字節。

        4.3.1 串行口工作方式

        AT89S52單片機的串行接口有4種工作方式,即方式0、方式1、方式2和方式3。這里僅介紹一種異步串行通信方式,即設計采用的方式1。

        方式1是標準的異步通信方式。數據格式為:1位起始位(低電平0), 8位數據位(D0-D7 ),即先低位后高位,1位停止位(高電平1),共計10位為一幀。發送時,每幀數據(10位)按照上述順序從TXD端移出,接收時每幀數據(10位)也遵循以上順序從DXD端引入。數據格式如圖4-1所示。

         

        圖 4-1 串行口方式1數據格式

        1、方式1的發送過程

        用軟件清除T1后,CPU執行任何一條以SBUF為目標寄存器的傳送指令,就

        啟動發送過程,數據由TXD引腳輸出,此時的發送移位脈沖是由定時器/計數器T1送來的溢出信號經過16或32分頻而得到的。一幀信號發送完時,將置位發送中斷標志T1=1,向CPU申請中斷,完成一次發送過程。

        2、方式1的接收過程

        用軟件清除R1后,當允許接收位REN被置為1時,接收器以選定波特率的16倍速率來采樣RXD引腳上的電平,即在一個數據位期間有16個檢測脈沖,并在第7、8、9個脈沖期間采樣接收信號,然后用“三中取二”的原則確定檢測值,以抑制干擾,并且采樣是在每個數據位的中間,避免了信號邊沿的波形失真造成的采樣錯誤。當檢測到有從“1”到“0”的負跳變時,則啟動接收過程,在接收脈沖的控制下,接收完一幀信息。當最后一次移位脈沖產生時能滿足下列兩個條件:R1=0;接收到的停止位為1或SM=2,則停止位送入RB8,8位數據進入SBUF,并置接收中斷標志R1=1,向CPU發出中斷請求,完成一次接收數據。

        4.3.2 方式1的應用介紹

        方式1是標準的全雙工異步通訊方式,可以與標準的RS-232C接口連接,通常用來與CRT、打印機等外圍設備進行數據通訊,也作為上下位機之間的數據通訊。

        方式1的特點如下:

        用方式1通訊時,幀的發送是通過TXD引腳,幀的接收是通過RXD引腳,發送和接收是由串行口內的移位時鐘進行控制,波特率由用戶設置。

        當波特率發生器被初始化后,發送器的移位時鐘開始工作:而接收器移位時鐘是在收到起始位“1”到“0”跳變時被置位的??梢?,雖然兩種移位時鐘使用相同的頻率,但它們之間不是同步的。

        在方式1下工作時,串行口控制/狀態寄存器SP_CON/SP_STAT中的M1和M2二位應寫入01,即按接收方式1工作、允許接收位REN的設置方法如下:置“1”時,清除RI標志為開始接收狀態; 清“0”時,為發送狀態。

        因為方式1無第九位數據,所以TB8位和RB8位不使用。利用方式1進行串行數據傳送時,可采用查詢法和中斷法實現。

        4.4 PC機與單片機間的通訊

        下位單片機和上位PC機之間的數據傳輸以串行通信的方式進行,在C語言程序和VB程序中都有各自的通信模塊。串口通信程序的設計主要是初始化異步通信串口,使上位機通信口設置的通信參數與下位機設置的 通信參數一致。通信程序的編寫,主要包含以下幾個部分:

        1、設置雙方的硬件握手協議;

        2、設置端口號、波特率、數據位、停止位、奇偶校驗位;

        3、打開串行端口。

        根據系統上位機和下位機數據通信的功能和特點,雙方的通信約定設計如下:

        1、波特率為2400,數據格式為8個數據位,一個起始位,一個停止位;

        2、傳送方式為PC機采用查詢方式發送、中斷方式接收,AT89S52采用中斷方式接收、查詢方式發送;

        3、為了提高通信可靠性和抗干擾能力,上位機和下位機在建立通信聯系時,先交換握手信號,進行通信測試,若下位機自檢出錯,則在應答PC機命令時上傳錯誤代碼。若通信所接收的數據不符合約定的字節數或數據范圍,或通信間隔時間超過限定時間則此次通信數據作廢。若連續多次通信數據出錯,則報告系統數據通信出錯。

        4.4.1 基于VB6.0的PC機通信程序設計

        VB作為一種可視化程序設計語言,功能強大,使用方便,編寫的圖形顯示界面生動豐富。利用其提供的通信控件MSComm,實現PC機與AT89S52單片機之間的通信也十分方便。圖4-2是VB通訊程序流程圖。

        4.4.2 MSComm控件介紹

        MSComm是VB6.0帶有的專門管理串行通信的控件,此控件通過串行端口傳輸和接收數據,為應用程序提供串行通信功能[16]。利用此控件,可以制作規范的協議。MSComm控件可提供下列兩種處理通信的方式:

        1、中斷方式

        中斷方式是處理串行端交互作用的一種非常有效的方法。在許多情況下,當事件發生時需要得到通知,這時,可以利用MSComm控件的OnComm事件捕獲并處理這些通信事件。

        2、查詢方式  

        在程序的每個關鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。MSComm控件的屬性InBufferCount()和OutBufferCaunt()均用于串口的查詢方式。

        MSComm控件有很多重要的屬性,首先必須熟悉表4-1中的幾個屬性。

        表4-1 MSComm控件的主要屬性

        屬性 描述

        Commfort 設置并返回通信端口號

        Settings 以字符串的形式設置并返回波特率,奇偶校驗,數據位,停止位

        PortOpen 設置并返回通信端口的狀態,也可以打開和關閉端口

        Input 從接收緩沖區返回和刪除字符

        Output 向傳輸緩沖區寫一個字符串

        InputMode 值為0,以文本形式取回數據;值為1,以二進制形式取回數據

        Rthreshold 當接收字符后,若Rthreshold屬性為0(缺省值)則不產生OnComm事件:為1,接收緩沖區收每到一個字符都會使MSComm控件產生OnComm事件

        Sthreshold 屬性為0(缺省值),數據傳輸事件不會產生OnComm事件:若設置

        Sthreshold屬性為1,當傳輸緩沖區完全空時,MSComm控件產

        生OnComm事件

        4.4.3 上位PC機通訊程序設計

        在VB6.0開發環境下,選擇Microsoft Communication Control Version6.0控件插入程序,系統會自動生成通信控件。具體作法是:選菜單Project/ Component,將會有一子菜單,選中Controls項,在其中找到Microsoft Comm Control6.0,選中它便可插入,在工具條中就會看到新增的通信控件。在軟件設計時可以如其它普通控件一樣使用。在工程文件中添加 MSComm控件,程序中對串口的各種操作都可通過MSComm控件來實現[17][18]。AT89S52單片機通過中斷方式采集和傳送數據。接收模塊從外部接收串行數據,并將所接收的數據放到寄存器中,以便處理器讀取。接收過程同樣由下位單片機控制,接收模塊必須對數據位的溢出出錯,奇偶校驗出錯,幀出錯等進行校驗,并根據校驗的結果設置狀態寄存器相應的狀態位。接收的關鍵是要保證通信雙方同步,由于沒有時鐘線,所以雙方必須以一個固定的頻率、同步地收發數據,才能保證數據傳送的正確性。發送模塊需要實現的功能是把從處理器接收到的數據,按規定的格式加上起始位,奇偶校驗位和停止位后串行輸出。發送模塊由一個PC機來控制。當數據緩沖區滿時,向單片機發出中斷申請,若單片機響應并與PC機握手許可,便可發送數據。

         

        圖4-2  VB通訊程序流程圖

        因此,在PC機通信程序編制上,采用查詢的通信方式。如前所述,對本次通信任務,可通過SetCommEvent()函數設置串口要響應的事件[19]。本設計把PC機串口每接收一幀數據設置為串口要響應的事件,通過它去激活OnComm(),在OnComm()消息處理函數中可加入處理代碼,判斷是否為所需要數據,并做出相應的處理,如顯示、存儲等。在附錄2中給出事件驅動方式接收AT89S52單片機發送數據的程序源代碼。

        PC機串口各參數的設置,如波特率、校驗及數據格式等,必須與AT89S52串口完全保持一致,否則兩者之間的通信無法正常進行[20]。設置PC機串口參數的初始化程序如下:

            MSComml.ComPort=1; 選擇COM1串行口

            MSComml.Settings= "2400, e, 8, 1”; 波特率2400,偶校驗,8位

                                           數據位,1位停止位

            MSComml.InputLen=0; 將讀取接收緩沖區的全部內容

            MSComml.InputMode=1; 以二進制方式發送

            MSComml.PortOpen=True; 打開端口

            MSComml.0utbufferCount=0; 清空發送緩沖區   

        PC機進入VB編制的監控系統主界面后,PC機先發送握手信號給AT89S52單片機,AT89S52單片機通過中斷方式接收PC機發送過來的握手信號,回送同一信號給PC機,并在PC機屏幕上顯示出來。如果通訊正常,兩次信號相同,說明上位機與下位機通信正確。然后用戶才能發送設定參數。PC機通訊界面設計如圖4-3所示:

                      

        圖4-3 串口通訊接收界面

        4.4.4 AT89S52單片機通信程序設計

        在通信過程中,當AT89S52單片機與上位機PC握手聯絡成功時,AT89S52單片機以中斷方式接收PC機發送來的設定參數,進行定時的數據采集,然后將采集的數據進行處理以中斷方式發送給PC機。下位單片機和上位PC機之間的數據傳輸以串行通信的方式進行。PC機進入VB編制的監控系統主界面后,PC機先發送握手信號給AT89S52單片機,AT89S52單片機通過中斷方式接收PC機發送過來的握手信號,回送同一信號給PC機,并在PC機屏幕上顯示出來。為了提高通信可靠性和抗干擾能力,上位機和下位機在建立通信聯系時,先交換握手信號,進行通信測試,若下位機自檢出錯,則在應答PC機命令時上傳錯誤代碼。PC機與AT89S52單片機通信握手程序框圖如圖4-4所示, 圖4-5是PC機發送數據的子程序流程圖。

          

        圖4-4 PC機通信模塊程序流程圖              圖4-5 PC機發送子程序流程圖

        上位PC機與棟層單片機之間的程序采用了模塊化的設計思想,單片機首先與PC機建立連接,然后采用中斷 的方式將數據發送給上位PC機,PC機再根據下位單片機傳來的信息作出相應的決策,如果PC機與單片機通信正確,則PC機讀串行口,開始接收數據,如果通信發生錯誤,則退出程序。PC機接收下位單片機程序流程序如圖4-6所示,圖4-7是AT89S52串口中斷接收程序流程圖,圖4-8是AT89S52握手子程序流程圖。

         

        圖4-6 接收AT89S52采集數據流程序框圖

             

        圖4-7 AT89S52串口中斷接收程序流程圖           圖4-8 AT89S52握手子程序流程

        第5章 系統調試

        5.1 調試過程

        硬件電路的調試過程:

        1、電路的設計:設計好原理圖,計算出各器件的理論值。

        2、電路的焊接:器件合理分布好后,開始焊接,使用萬用表檢測是否有虛焊的地方,導線盡量不要太長。

        3、電路調試:為了驗證電路是否正確和測試PC機與棟層單片機的通訊功能,實驗中用一個AT89S52單片機,一臺計算機。PC機通過串口連接單片機進行監聽,看PC機與單片機是否能正常通信。圖5-1是上位PC機VB通信串口的參數設置界面。

         

        圖5-1 PC機串口通信參數設置界面

        圖5-2是PC機接收數據的過程:

         

        圖5-2  PC機接收數據

        圖5-3是PC機通信串口的關閉情況:

         

        圖5-3  串口關閉的情況

         軟件部分的調試過程:

        在本設計中,軟件的調試過程采用的是先模塊化,再進行組合的方式。主要用VB6.0對PC機控制界面程序進行編譯,用Keil C51 編譯器對單片機程序進行編譯。

         

        圖5-4  Keil C51編譯器

        5.2 調試結果

        從調試過程可以說明PC機與單片機之間的串行通信已經實現,但在數據的接收過程出現了問題,無法正常實現數據的接收。導致這一問題的原因可能有以下幾點:

        1、單片機通信接口電路干擾過大,導致主從機間無法進行正常通信。

        2、單片機的程序全部采用模塊化實現,這就導致在最后的調試中需要多層調用,過多層數的調用,這樣會導致堆棧的溢出,程序無法正常執行。

        調試結果說明:由于本設計中的上位PC機的部分程序功能還未實現,到目前為止實現了PC機與單片機的通信,系統的整體調試還未能實現。

        結  論

        本文在照明智能控制器的基礎上,綜合運用了單片機與計算機控制的新技術和新方法。本文完成了以下設計:

        1、整個系統軟件采用模塊化、開放式的結構設計,各功能模塊相互獨立又可以相互訪問,提高了可靠性和可擴展性。上位PC機用VB6.0語言編程,程序簡單、清晰,操作界面友好,下位機用單片機C語言編程。

        2、選用AT89S52單片機作為控制系統的控制核心。AT89S52單片機運算速度快,內含256個RAM單元,可滿足軟件編程中數據和外部輸入數據的暫存,數據交換無需外加RAM芯片,簡化了硬件電路,提高了系統工作的可靠性。充分利用了片內資源,系統抗干擾能力強,結構簡潔。

        3、完成了通信串口的擴展和PC機與單片機串行通信的設計, 實現了房間層和棟層間的通信。

        4、利用面向對象的語言VB開發了上位機軟件,構建了控制管理系統。

        由于受時間和實驗條件的限制,本系統沒有實現計算機的遠程控制,系統的聯機調試還沒有成功。

        本設計還需要進一步完善如下工作:

        1、照明管理系統與智能控制器進行聯機調試運行。

        2、豐富上位機的管理功能,進一步完善上位機對照明的數據采集,實時管理。

        3、進一步完善上位機控制策略,從PC機與單片機的一對一的通訊改進成PC機與單片機的一對多通訊,從有線式串口通訊改進為無線通訊。

        4、在實現照明控制的基礎上,實現防盜報警功能。報警功能可以采用上位機對時間的檢測實現,以實驗室為例,只要在晚上11:00以后房間層的熱釋電傳感器檢測到人的存在就自動報警。 

        致  謝

        本論文是在生物醫學實驗室完成的,本論文之所以能夠順利完成,是與導師韓雪梅的悉心指導和嚴格要求分不開的。由于本人單片機技術與通訊理論基礎薄弱,所以,從論文一開始,導師就時常督促和幫助我,努力提高理論水平和基礎知識,并提出了建設性、寶貴的指導,確保了我的論文得以完成。導師嚴謹治學的態度和平易近人的作風,令我感動和欽佩,所以,在此我首先向我的導師表示深深的感謝和誠摯的祝福,祝福老師工作順利、身體健康、合家歡樂。同時感謝多年教育和幫助我的所有生物醫學工程專業的老師。還要感謝我們專業的許多同學,他們在大學四年給了我許多的支持和幫助,給我帶來了無數的快樂。最后我要感謝我的家人,在我讀書期間給予的關心和支持。

        參考文獻

        [1] 肖輝.電氣照明技術—照明電氣設計[M]. 北京,機械工業出版社,2004:124-127.

        . applications construction, 2001: 12-13.

        [3] FCCPERP. Lighting research program[J]. Computer Networks, 2000.3: 14-16.

        [4] 楊清翼.智能照明控制器的設計[D].綿陽:西南科技大學本科畢業設計論文,2006.

        [5] 殷志華,鄭海,楊浩.單片機與PC機串口通信的實現[J].中國數據通信,2006,5(1):20-25.

        [6] 王志宏.單片機與PC機的串口通訊[J].現代電子技術,2005,5:4-11.

        [7] 劉煥平. MCS51單片機與RS-232C串行口連接[J].石家莊職業技術學院學報,2005,8(2):15-30.

        [8] 朱立忠,馮丹. PC機與MCS51單片機通信接口電路的設計[J].沈陽工業學院學報,2005,(5):20-45.

        [9] 楊會成,卓芝強.單片機與PC機串行數據通信的工程實踐[J].微型機與應用,2005,(05):6-12.

        . Computer Networks, 2006, 3: 379-399.

        [11] 李振起,馬君,唐兵. PC機與51系列單片機的遠距離串口通信[J].煤礦機械,2003,7(07) :12-42.

        [12] 陳壽元.單片機多機串行通信的改進方案[J].單片機與嵌入式系統應用,2005,(5):79-83.

        [13] 官波,容太平. AT89C51的擴展串口與PC機間的通訊[J].國外電子元器件,2004, (03):12-20.

        [14] 成都國騰微電子有限公司. GM8125通用異步串口擴展芯片數據手冊.成都國騰微電子有限公司,2006.1.

        [15] 于永會. 照明片區網絡化系統設計[D].綿陽:西南科技大學本科畢業設計論文,2006.

        [16] 丁建軍,陳定方.基于VB6.0的PC機與單片機間的串口通信[J].機械與電子,2004,12(5):7-12.

        [17] 閆通海,周到.利用MSComm控件實現PC機與單片機串口通訊的研究[J].應用科技,2006,(5):12-16.

        . UCLA Technical Reports, 2003,2: 25-40.

        [19] 金衛民.VB下利用串口進行數據通訊的研究[J].計算機工程與設計,2006,5 (12):20-45.

        第8篇:vb程序設計論文范文

        論文摘要:目前,大部分中職學校的程序設計語言教學效果不太理想,文章分析了嘗試法在該課程教學中的可行性。

        目前,大部分中職學校根據知識點的結構組織程序設計語言教學,在教學過程中教師都習慣了開展注入式的教學。在這種教學方法下很容易導致學生只會簡單照搬和模仿教學中的示例代碼,對所學的知識很難靈活的運用,缺乏自己動手編寫代碼去處理具體問題的能力。著名科學家牛頓先發現了“蘋果會從樹上掉下來”這個普通的自然現象,經過仔細的分析和研究問題,最后才總結出了萬有引力定律。而不是先對萬有引力定律進行研究,再去發現現象和推導實際結果??茖W家往往都是從具體現象、實際問題出發,分析和研究問題,從實踐到理論實現升華,然后從理論回歸到實踐。因此,教師在課堂上向學生講授各種知識時,應該先讓學生詳細的了解存在的問題、知識是發展的過程,從而幫助學生深入理解知識、能夠靈活應用知識,而不能只是簡單地告訴學生結果,讓學生在實踐中進行應用。

        程序設計語言工作需要的是具有創新能力的技術人才,在教學中不僅需要采用嘗試法幫助學生加深對知識的理解和應用,更為重要的是需要遵循知識被發現、分析到應用這一全過程,把知識傳遞給學生,讓學生對知識的本質深刻的理解。所以,本文重點論述了在程序設計語言教學中運用嘗試法進行教學,在課堂上從具體的問題入手,啟發學生先自己嘗試著去對程序設計語言中的基本概念、基本方法和基本結構進行理解,然后在具體實例中運用。

        一、嘗試法在程序語言教學中的優勢

        在計算機專業的課程體系里,程序設計語言主要包括匯編語言和高級程序設計語言。在計算機領域程序設計語言是核心的專業基礎課程,在專業課程體系中居于基礎性和先導性地位,是進行后續課程學習的重要工具基礎和技術。通過程序設計語言課程的學習,學生不僅能獲得基本的設計程序能力、使學生獲得一定的基于計算機進行計算的思考能力,同時對學生后續課程的學習和興趣都有極大的影響。程序設計語言教學中授課的重點是基本語法、編程技巧、典型算法和常用的函數,使學生掌握一定的解決實際問題的能力和具備程序設計的思想。

        1.嘗試與生活實際相結合,可以激發起學生的求知熱情。嘗試法教學法從問題入手,根據不同的教學內容教學設計出不同的教學任務,結合實際要求學生做出反應,可以調動起學生的學習熱情,在學習的過程中發揮主動性和學習自覺性。例如,在語言程序設計教學中講授《數據庫》時,教師如果只是簡單的照著書本的例子帶領學生驗證所學內容,往往學生會感覺十分的無聊,如果在課前教師能布置一些有代表性的探索性任務:如《運動會管理系統》、《學生成績管理系統》等,讓學生嘗試進行程序設計技巧和基本語法、語句的學習,學生因為有了明確的學習目標,則會積極主動地進行嘗試性的實踐學習。

        2.嘗試的任務可以理論聯系實際,可以促進理論的深化學習。在嘗試法教學中,教師通過布置一些緊密聯系實際生活的任務,當學生完成任務之后,不僅可以幫助學生對理論加深理解,拓展理論視野,提高分析的能力。另外,學生在嘗試的過程中不斷思考如何把理論在實際中的運用,從而迅速地從單純的掌握理論逐漸向應用于實踐轉化,真正實現理論與實際操作的結合。

        3.嘗試法教學有利于加強教學過程中的交流,培養學生的能力。嘗試教學法是一種通過“行為導向”進行教學的現代教學方法。在教學中,嘗試的任務取材于生活,使學生有著直接的感受,從而積極主動的進行嘗試性學習,師生相互的進行交流,通過反復的練習學生可以具備適當的社會能力、職業能力、學習能力和創新意識。在這樣的教學中,尊重了學生的學習主體地位,不會簡單要求學生去強記內容,學生必須開動腦筋、認真思考,不斷進行嘗試,通過這樣反復的訓練,必然能夠提高學生分析問題、解決問題的能力。

        二、程序設計中運用嘗試法的教學策略

        雖然嘗試法教學沒有固定的教學模式,但在教學的過程中主要包含以下三個方面:設計任務-進行嘗試探索-總結效果。

        1.設計任務。設計任務是利用嘗試法進行教學的基礎和前提。教師必須根據教學要求和課時安排設計任務,把將要學習的新知識科學的隱含在眾多的學習任務當中,使學生在嘗試著完成任務的過程中對學科知識進行理解,提高學生的技能。在設計任務時應該注意這幾個方面:第一,給學生安排的任務一定要典型。任務必須可以把課程的絕大部分知識點都涵蓋進去。第二,任務一定要具有實踐性。設計的學習任務要與現實緊密聯系,學生能夠理解。第三,任務一定要有針對性。教師要根據學生的接受能力設計或選擇任務。第四,任務一定要有系統性。在教學的整個過程中,使用到的大多數任務應該是相互聯系的,由易到難、前后相連貫進行編排。在進行數據庫教學時,要求學生一般能根據實際的一個需求,嘗試著去完成設計一個數據庫系統,要強調分析其需求、數據整理、功能劃分和系統設計,在完成整個系統的過程中學生都嘗試自己去完成。每個數據庫系統都是十分復雜的任務,可以把它分成很多小的任務,根據教學的安排逐步完成。具體到每個任務的要求要用程序實現哪種功能時,教師必須根據學生的認知水平來確定,但不能設置任務的功能過于簡單。

        2.進行嘗試探索。進行嘗試法教學主要是以任務為基礎對問題進行分析,解決問題。想成功的開展嘗試法教學,關鍵是教師要做好引導啟發的工作,使學生積極獨立地綜合運用所學的知識進行思考,大膽進行探索。在實際操作中,設計和完成一個數據庫管理系統的過程是一個對任務不斷分解的過程。例如,讓學生嘗試設計《學生學籍管理系統》,教師可以聯系實際引導學生思考這些問題:學籍管理系統對學生的成績進行管理,處理成績時會涉及到哪些方面?另外,還要體現出班級的人數的變化,比如學生人數增加或減少等。在管理系統的使用過程中,還會涉及到查詢、刪除、修改和打印等眾多的功能。該系統如果安排專人負責,還要規定登錄密碼和用戶名,貫徹保密性等。隨著深入細致的分析,可以不斷的完善整個系統功能,不斷清晰結構。這實際是把拆解任務的內容為眾多的子任務,逐步地布置給學生,讓學生進行嘗試。在這個過程中,教師可以提供一些管理系統的實例讓學生參考,讓學生對任務有個感性的認識,知道可以通過學習完成這些任務,幫助學習逐步消除對學習任務的畏懼,從而樹立信心,順利完成嘗試性的教學過程。

        3.總結效果??偨Y嘗試性教學的效果是指教師與學生對教學的過程共同進行反思,通過自我評價和相互評價,教師適當的做出及時的點評,幫助學生進行總結和歸納。評價與總結階段不僅是提高學生能力的重要階段,同時可以培養學生的成就感和自信心。當學生嘗試著完成那些子任務或系統任務時,學生就逐漸的建立了自己獨特的認知結構。這時教師還要對學生嘗試性學習的成果進行交流、展示、分析、討論和點評,對學生的學習情況及時的做出評價和反饋。另外,每當學生獨立的完成一項嘗試性學習任務,教師應該及時的對其進行表揚和鼓勵,使學生獲得一定的成就感,這樣能夠激發起學生的學習熱情和學習興趣,提高自信心,使學生在不斷地對自己的知識進行完善的過程中,也提高對自身的評價和自我認識的能力,讓學生保持一種良好的心理狀態,進行嘗試性的學習。

        嘗試性程序設計語言教學方法,是筆者在總結多年的教學實踐中發現的,應用到日常的教學過程中,可以取得良好的教學效果。嘗試性教學方法的應用可以幫助學生提高對程序設計語言知識的理解,獲得較強的解決問題的能力,提高學生的通過問題發現知識的“自我學習”能力。這種教學方法還需要在實踐中進一步的完善和總結。 轉貼于

        參考文獻

        [1]朱昌流.論啟發式教學的有效實施[J].教育與職業,2007,(18).

        [2]陶沼靈.啟發式教學方法研究綜述[J].中國成人教育,2007,(4).

        [3]邵潔.課堂學習共同體的有效建構:以高級語言程序設計(VB)課程為例[J].現代教育技術,2009,19,(8).

        [4]樊新華,孟鉑.“C程序設計”啟發式實例教學探討[J].計算機教育,2008,(18).

        第9篇:vb程序設計論文范文

        關鍵詞關鍵詞:數據庫課程設計;項目驅動;教學方法;考核方法;能力培養

        中圖分類號:G434 文獻標識碼:A 文章編號文章編號:16727800(2013)008017402

        作者簡介作者簡介:邱月(1979-),女,碩士,湖北經濟學院信息管理學院講師,研究方向為數據庫技術。

        0 引言

        數據庫技術已經成為先進信息技術的重要組成部分,是現代計算機信息系統和計算機應用系統的基礎和核心。數據庫技術是將數據庫與軟件開發相結合,數據庫設計和基于數據庫的應用程序開發。為此,課程要求學生選用主流DBMS,自選某種高級程序設計語言,實現一個完整的以數據庫為核心的B/S或C/S架構的應用系統。掌握設計實現一個完整的產品化導向的數據庫應用系統的流程和方法,包括需求分析、數據庫設計、應用程序設計。本文分析了湖北經濟學院開設數據庫課程設計以來,實踐教學環節中存在的問題,結合項目模擬實訓教學方法的基本原理,提出了基于團隊項目模擬實訓的數據庫課程設計教學方法的具體方案及實施效果。

        1 數據庫課程設計教學現狀

        (1)題目過少不夠開放。湖北經濟學院是一所財經類教學型學校,開設的主要專業為經濟管理類。但目前的題目多數都是老師提供給學生的,題材類似,不可避免地會出現學生相互抄襲的現象。另外,題目呆板,沒有和本校的專業特色相結合,選擇余地太少。長此以往,會使學生養成不勞而獲的壞習慣,不利于學生畢業之后適應競爭激烈的社會。

        (2)學生輕分析設計,重編程實現。 學生把編程工作放在數據庫設計中的首要位置,輕數據庫及其對象的設計,重開發工具的使用。很多學生只重視系統功能模塊的設計與實現,缺乏全局觀念。

        (3)學生缺乏整體意識,團隊協作能力不強。在數據庫系統開發的過程中,學生對系統沒有整體規劃,經常把時間都花在需求分析和系統實現上,造成在學生項目后期沒有時間做系統測試,這樣開發出來的系統必然出現很多問題。

        軟件開發是一個系統工程,特別強調團隊協作能力。如果一個課程設計題目只讓學生一個人完成,缺少與他人相互的交流,不利于交流與溝通能力的培養和項目的正常開展。原有教學模式下,學生做課程設計往往單打獨斗,沒有形成一個團隊。

        (4)課程考核方式不夠科學。老師通常采用平時成績和實驗報告相加權作為總成績。在這種考核方式下學生是被動地完成任務,不知道所做項目的評定標準,因而積極性不高,也不能通過項目設計有效地提升自己的能力。

        2 數據庫課程設計基礎準備及教學目標制定

        2.1 基礎準備

        綜合性的實驗課程往往需要很多課程作支撐。在該課程開設之前,前期學生應該已經學習了C、C++等一些經典的程序設計課程,學習了數據庫原理及軟件工程課程,對于數據庫原理課程中的相關概念例如數據庫文件的創建、表的建立以操作、視圖與SQL查詢、存儲過程與觸發器等進行了相關實驗,對于關系型數據庫基本概念和特性有一個比較完整的認識。由于課程設計中需要將數據庫原理與工程項目相結合設計出具體的應用程序和界面,所以學生還需掌握至少一門前臺開發工具,如 、或PHP等,讓不同層次的學生選擇不同的培養方案,有針對性地進行學習。

        2.2 教學目標

        結合教材上關于數據庫設計的思想和方法,對一些簡單的信息管理問題進行必要的分析和設計。在掌握了數據庫系統的基本原理和基本方法的基礎上,熟悉數據庫管理系統的工具及語言。能查閱資料解決數據庫技術方面的問題,具備在微軟開發平臺下進行數據庫設計和管理操作能力,培養數據庫應用系統開發的基本能力,項目合作、團隊精神及小組交流的能力,培養學生運用數據庫管理系統解決實際問題的能力。

        3 數據庫課程設計教學構思

        課程組根據學生的實際情況,制定了相應的教學計劃。本課程安排在一個學期內,32學時,每周具體安排如表1所示。

        3.1 人員安排及開題

        把整個班級按照開發小組的形式進行分組,每組4~5人,選一名組長,每個同學承擔不同的角色,共同完成任務。在整個過程中,為了達到鍛煉的目的,每個同學的角色可以互換。

        在選題方面,應充分考慮到學生的專業特色,體現經管類專業的特點,選擇具有專業特色的案例,以激發學生的學習興趣。比如,針對“旅游管理”專業和“國際金融”專業,可以根據專業要求來分別制定教學案例,使學生在數據庫課程設計中加深對本專業課程的理解,從而達到數據庫課程設計和專業特色融合的目的。在制定選題的過程中,教師應進行充分的調研,與該專業的教師進行討論,幫助學生選擇他們熟悉的題目,如旅游酒店管理系統、學生成績管理系統、人力資源管理系統等,或者選擇學生生活中經常接觸、能很快上手的內容。同時,應注意控制題目的規模和難度,使學生經過努力后能在規定的時間內完成。這個階段可以充分調動學生的積極性,鼓勵學生自己選題組建項目小組。這種方式經檢驗取得了較好的效果。

        3.2 需求分析

        在此階段,要盡可能收集課題的全面需求,利用不同小組互相模擬實際用戶的形式,開小組討論會來確定需求,增強學生的溝通能力和開發興趣,并引導學生自己畫出數據流圖。

        例如,某家工廠的采購部每天需要一張訂貨報表,表中列出所有需要再次訂貨的零件。對于每個需要再次訂貨的零件列出下述數據:零件編號、零件名稱、訂貨數量,目前價格、主要供應者。零件入庫應有入庫單,零件出庫應有出庫單,通過放在倉庫中的CRT終端把入庫單或出庫單報告給訂貨系統。當某種零件的庫存數量少于庫存量臨界值時就應該再次訂貨。

        當系統比較復雜時,應當采用分層描述的方法。一般第一層描述系統的全貌,第二層分別描述各子系統的結構。如還未表達清楚,可以繼續細化。

        3.3 系統設計與實施

        確定用戶需求后,進入系統設計階段。物理設計階段應該充分利用表、視圖、存儲過程、觸發器等各個數據庫對象的特點,建立一個完整的數據庫。要引導學生利用課程設計來熟悉數據庫開發的一些常用技術和工具。例如,在數據庫課程設計中可以教學生怎樣使用Power Designer來做數據庫設計。在軟件公司實際的數據庫系統開發中,有很多工具可以直接完成從數據庫概念模型到物理模型的設計和轉化。

        系統實施階段,各小組可以選擇自己熟悉的程序設計語言動手編寫代碼,完成系統各個模塊的功能。開發語言可選擇機房環境,有Java、VB、VC、PB等;數據庫可使用提供的SQL Serever2000、DB2、MySQL5等主流DBMS;軟件架構兩層、三層都可以。教師對各小組學生在設計中遇到的具體問題,有針對性地給與啟發式的引導。

        3.4 系統測試

        系統測試階段可以選取小組之間交換測試,主要從功能測試、數據庫測試兩個方面找出系統的缺陷,對軟件質量進行評價打分。列出測試計劃,往各數據庫表中插入正確的測試數據,測試數據插入情況和各種約束作用,并記錄結果;往各數據庫表中插入錯誤的測試數據,記錄出錯結果;在各數據表中修改測試數據,記錄測試結果;各數據表中刪除測試數據,記錄測試結果;創建各權限等級的用戶,授予相應的權限,然后按權限等級執行相應操作,查看操作結果是否正確,最后再編寫實驗報告。

        數據庫功能測試主要是對界面進行測試,按用戶類型進行分部測試,查看每一種類型的用戶功能是否有欠缺;用戶操作是否符合實際,是否具有意義;尤其是在功能實現上,不同情況,會有怎樣不同的處理;查看在出錯的情況下,系統如何處理。3.5 完成設計報告

        設計報告主要內容要求有系統需求分析(功能模塊圖)、基本ER圖(要求標明主碼、外碼、聯系類型)、用戶子模式設計、按模塊分析所編寫的應用程序等。撰寫設計報告前小組中各成員必須對自己的工作進行歸納、分析和總結。小結一般包括工作內容、工作量大小、自己完成情況、遇到的問題以及解決方法、收獲與體會、今后努力與改進方向等。教師給出設計報告書寫規范,學生根據系統分析設計結果完成該部分內容。報告編寫是考查一個學生總結工作、撰寫科技論文的能力。該環節考查的重點:報告是否內容完整、充實,條理是否清楚,格式是否符合科技文章規范。

        3.6 檢查與考核

        考核是檢驗教學成果的有效方式和重要手段,對學生學習和教師教學具有重要導向作用,不同的考核方式能激發學生的學習動機。除了加強平時考勤外,教師還需在每個階段對各個項目小組進行跟蹤檢查,對各個階段的完成情況進行記錄。從數據庫原理、數據庫應用和數據庫設計三方面對學生進行綜合評測,達到對數據庫系統主要內容和框架的評測。具體考核指標權重為:平時表現 (25%) + 任務完成情況 (30%) + 答辯 (20%) + 設計論文 (25%)。同時還要鼓勵學生在課程設計后,盡量撰寫相應科研論文,積極申報校級學生科研項目。對于能力非常突出的學生,可以建立課外研究小組,讓他們參與到教師在研的省部級科研項目中,進一步提升他們的專業技能和綜合素質。

        4 結語

        數據庫技術是一門理論和實踐并重的學科。課程設計是否成功的標準在于學生是否通過項目開發,將自己所學到的數據庫知識運用于實際需求中,是否提高了學生的動手能力。通過兩年的教學實踐證明,以這種方式開展課程設計更貼近企業實際的項目開發方式,能倡導學生主動參與的探究式學習和研究,改變學生被動接受、大量反復操練的學習和實驗方式, 真正培養學生嚴謹周密的思維和臨時處理問題的能力,滿足企事業單位信息化建設的用人需求,有效地解決了理論教學與實踐教學脫節和經管專業學生數據庫工程實踐能力薄弱的問題。另外,做好數據庫課程設計作業有利于學生畢業設計報告和畢業論文撰寫。今后學生面臨的畢業設計其實就是一個完整的系統設計,是課程設計的擴大化、完整化,為設計報告的撰寫、文獻資料的查閱也為今后撰寫畢業論文打下堅實的基礎。

        參考文獻參考文獻:

        [1] 趙慧敏,楊鑫華,牛一捷. 數據庫課程設計實踐教學改革探索[J].當代教育論壇,2011(8).

        [2] 張志鋒,王文冰.以就業為導向的學生綜合能力培養教改研究[J].計算機教育,2010(11).

        [3] 林巧,丁革建.數據庫課程設計的項目化實驗教學方法[J]. 實驗室研究與探索,2009(5).

        精選范文推薦
        无码人妻一二三区久久免费_亚洲一区二区国产?变态?另类_国产精品一区免视频播放_日韩乱码人妻无码中文视频
      2. <input id="zdukh"></input>
      3. <b id="zdukh"><bdo id="zdukh"></bdo></b>
          <b id="zdukh"><bdo id="zdukh"></bdo></b>
        1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

          <wbr id="zdukh"><table id="zdukh"></table></wbr>

          1. <input id="zdukh"></input>
            <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
            <sub id="zdukh"></sub>
            中文字幕综合久久久久 | 亚洲欧美丝袜精品久久中文字幕 | 亚洲国产一区二区三区最新 | 日韩综合精品视频在线观看 | 亚洲中文字幕一级视频 | 亚洲国产精品久久人人爱 |