前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的c語言程序設計實例主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:C語言程序設計 教學方法 實踐
中圖分類號:TP312.1 文獻標識碼:A 文章編號:1007-9416(2013)06-0168-02
1 引言
C語言是國際上廣泛流行的計算機高級語言,自1972年問世以來,以其功能強大、使用靈活,既可用于編寫應用軟件,又能用于編寫系統(tǒng)軟件的特點得到迅速推廣[1]。以我院電氣工程系生產(chǎn)過程自動化技術(shù)專業(yè)為例,它是很重要的一門專業(yè)基礎課,一般安排52學時左右(包括上機實驗),通過該課程的學習,學生不僅能夠掌握程序設計的一些基本方法和技巧,也為后續(xù)課程的學習打下基礎。但現(xiàn)階段非計算機專業(yè)的C語言教學不容樂觀,為了激發(fā)學生的學習興趣,在近幾年的實際教學中不斷進行探索和實踐,得到一些有益的啟示。
2 存在問題
2.1 學習不主動,學習方法不科學
近幾年高校擴招緣故,高職學生基礎下降,自我控制能力和自我約束能力較差,對學習沒有興趣。特別是對于非計算機專業(yè)的學生認為這門課程不重要,學習時課前不預習,上課注意力不集中,只是機械的聽老師講課,課堂上也不做筆記,課后也不及時復習[2],這樣的惡性循環(huán)造成了學生對C語言越學越不會的局面。
2.2 教學方法單一,降低了學習興趣
在傳統(tǒng)的C語言整個教學過程中,教師始終處于主導地位,學生只是被動的接受知識,再加之教師只是一味地給學生灌輸C語言的語法知識,而忽略了編程,學生處于一種“學完忘完”的現(xiàn)象。教學內(nèi)容的枯燥,教學方法的單一,學生難以發(fā)揮學習的主動性和積極性,降低了學習興趣。
3 改進方法
3.1 課堂多互動,調(diào)動學生學習興趣
傳統(tǒng)的教學主要以教師講授為主,學生只是被動的接受,我們學院一節(jié)課課時長達100分鐘,學生很難集中注意力,不能主動的去分析問題、解決問題。在講課的同時,教師可以通過提問---回答---講解的方式使學生注意力集中,還可以通過分組、進行小組討論,讓學生處于主體,提高學生興趣,活躍課堂氣氛,調(diào)動學生積極性。
3.2 教學方法和手段的改革
3.2.1 從問題入手,進行啟發(fā)式教學
傳統(tǒng)的教學過程是先介紹基本概念,再講解語法知識,然后圍繞語法知識進行舉例,最后上機編程運行。對于高職學生來說,邏輯思維比較差,對于純理論的東西缺乏興趣。在教學過程中要精心設計各種問題,把教學內(nèi)容巧妙地隱含在每個任務中,讓學生帶著任務和問題去學習[3]。比如在講數(shù)組時先提出問題:如何編寫程序來計算全班同學的平均成績?這個時候?qū)W生進入思考過程,能力強一些的甚至試圖動手寫出程序。但由于之前只學過變量,程序中變量設置過多,比較麻煩,這個時候,教師可以引出一批相同類型的數(shù)據(jù)應該怎么解決-----數(shù)組的概念,最終成功解決問題。
3.2.2 作業(yè)布置循序漸進,由易到難
教師在布置作業(yè)時,要能夠滿足學生的成就心理,以鼓勵的方式進行作業(yè)設置。也就是說在作業(yè)布置時應該從簡單入手,必要時給出提示或相似的例子,由易到難提高作業(yè)難度,這樣可以增強學生自信心,進而解決更難的問題。例如在利用循環(huán)的嵌套打印圖形組合的作業(yè)中,作業(yè)題目由易到難可以做如下布置。
這個題目在先前題目的基礎上,進一步提高了難度,由有規(guī)律變換變成了無規(guī)律變換的圖形組合,學生通過本題目的練習有意識的會拆分圖形,把無規(guī)律變換成為有規(guī)律變換,對知識融會貫通,成功解決問題。
由此可見,從所學知識的簡單應用到復雜推廣,可在逐步增加難度的題目中逐漸提高學生的應用能力。
3.2.3 理論與實踐相結(jié)合,提高學生實踐能力
C語言程序設計這門課程是實踐性較強的課程,不僅要學習理論知識,更重要的是要學以致用,利用所學到的知識編寫程序解決實際問題。在上機過程中,學生可以通過編譯軟件掌握程序的編寫、調(diào)試、運行。在具體的操作中,發(fā)現(xiàn)問題、解決問題。本專業(yè)理論與實踐課比是2:1,一般兩次理論課后安排一次上機,這樣學生可以吧課堂上的理論知識通過編譯軟件進行練習,進一步驗證程序的可執(zhí)行行。這樣不但能培養(yǎng)學生動手能力,還能培養(yǎng)學生獨立思考能力,理論與實踐相結(jié)合,提高學習的質(zhì)量和效率。
4 結(jié)語
總之,在C語言程序設計的教學過程中,要努力提高學生對該課程的學習興趣和學習熱情,在教學方法和手段上不斷進行改革,加強實踐動手能力。C語言的教學改革是一項長期的過程,需要我們不斷改進、不斷完善,只有堅持不懈的探索實踐,才能達到更好的效果。
參考文獻
[1]譚浩強.C語言程序設計.北京:清華大學出版社,2010.2-6.
[關鍵詞]知識認知導航C語言程序設計
中圖分類號:G71文獻標識碼:A文章編號:1671-7597(2009)1210102-02
一、引言
C語言作為計算機程序設計的基礎課程,對于培養(yǎng)學生基本程序設計思路的地位不可撼動。對于C語言來說,教學的最終目的是讓學習者能夠熟練的利用相關軟件編譯C語言程序。然而,據(jù)具體教學實踐來看,這一教學目標的實現(xiàn)情況并不樂觀。
究其原因,就課程特點來說,C語言課程體系結(jié)構(gòu)嚴密,需要記憶并靈活運用的知識點多,程序設計邏輯性強、靈活度高。作為程序設計的初學者,在有限的課時內(nèi)不易掌握相關知識。就學生的學習行為來說,學生對C語言課程的學習具有盲目性,沒有構(gòu)建出學科的知識結(jié)構(gòu),而這正是問題所在的關鍵。
為了克服這樣一種不良的教學境況,本文設計出了一個以知識認知導航理論為基礎的C語言課程的教學改良方法。
二、知識認知導航理論概述
知識認知導航是遵照學科的知識結(jié)構(gòu)特點和學習者的認知特點,為學習者的學習提供一種引導。
知識是相對穩(wěn)定的、具有特定結(jié)構(gòu)的體系,對知識的學習是不能改變這種結(jié)構(gòu)的。為此合理的知識結(jié)構(gòu)有利于知識的靈活運用,有利于促進進一步的學習。對于學習者,在接觸一個新的學科領域時,首先是以接受性學習為主,在對該學科的知識結(jié)構(gòu)明確的基礎上據(jù)個人的實際情況來確定具體的學習目標和學習路徑,然后再從點滴學起,建構(gòu)完整的知識結(jié)構(gòu)。所以人的學習首先是由大到小的細化過程,然后是由小到大的建構(gòu)過程。前一個過程主要依賴于過程的引導,后一個過程則受外界引導和自身領悟力兩者的影響。而在實際的學習中,這兩個過程是并列交替進行的。在整個學習過程中,教師以引導者、促進者的身份出現(xiàn),而不是知識的灌輸者。
基于上述人們對知識的認知特點,如果能夠建立起一個可以引導人們對專業(yè)領域知識進行認識、學習的導航系統(tǒng),則可以將整個學科的知識內(nèi)容、分化關系、層次結(jié)構(gòu)、發(fā)展動向以及前沿最新研究等清晰地展示給學習者,使得學習者能夠在該系統(tǒng)上確立自己的知識層次、認知位置和最鄰近發(fā)展區(qū),并且為學習者的具體學習提供引導作用。
知識認知導航以學習導航和對知識框架的認識為核心,其學習過程如圖1所示。
圖1知識認知導航學習過程
從圖1中可以看出,學習者是經(jīng)過學習、定位、知識結(jié)構(gòu)變化、再學習這樣一個不斷循環(huán)的過程中實現(xiàn)知識的積累和構(gòu)建的。
可見知識認知導航的目的就是:使學習者能始終認清位置、認清方向,并引導學習者及時糾正偏差,保證學習能沿著正確的方向前進。
三、基于知識認知導航理論的C語言課程教學方案設計
(一)構(gòu)建課程知識體系的知識認知導航圖
知識認知導航圖屬于知識地圖的一種形式。知識地圖的概念最早是由情報學家布魯克斯于20世紀80年代初提出的,他認為人類的知識結(jié)構(gòu)可以繪制成各個單元概念為結(jié)點的學科認識圖,體現(xiàn)知識之間的聯(lián)系和獲取途徑,以幫助用戶知道在什么地方能夠找到知識的管理工具。
對于C語言課程來說,專業(yè)的理論知識,各知識點連貫性強,其較強的邏輯性思維,使得初學者很容易一頭霧水,無從下手。為此作為一門課程的引導者,教師必須在學習者學習這門課程之前將該課程的知識體系以一個簡單明了的結(jié)構(gòu)視圖展現(xiàn)在學習者面前。通過對該課程的知識背景、結(jié)構(gòu)框架及內(nèi)容之間的相互聯(lián)系等的講解,使學習者的頭腦中先搭建一個整體的知識框架,以后的學習就是往這個框架中填充的過程。知識框架的搭建,為本門課程的學習確定了總體方向,學習者就可以從整體中去把握學習過程中的重點難點,以防止在錯綜復雜的知識體系中迷失方向。
由于學習者的個體差異,不同學習者的知識結(jié)構(gòu)是不一樣的。因此,構(gòu)建知識體系的知識認知導航圖也為學習者在學習之初的自我定位提供了一個很好的依據(jù)。
圖2《C語言程序設計》知識認知導航圖
針對C語言這一門課程而言,就可以其課程特點,按照一般學習者的知識的認知過程、特點以及獲取知識的先后順序,構(gòu)建出一個C語言課程的知識認知導航圖。
圖2是以知識的生長、分化為主線,以所學知識的應用先后來劃分層次的,該圖僅畫出了學習該課程中的幾個主要過程,其余部分均被省略。
在該圖中,縱向箭頭表示計算機技術(shù)的一個大的發(fā)展過程,同時也是該課程理論學習的總順序。橫向聯(lián)系表示在不同的階段所需要學習的相關內(nèi)容,并且標出部分內(nèi)容在整個課程中的地位。教師可以以這樣一個導航圖為基礎,在詳細介紹課程之前,提綱挈領的將本課程的整體框架、各個知識點的相互關系以及該課程的發(fā)展講述給學習者。同時也可以以該圖為基礎,以知識測試的方式,通過讓學習者進行若干相關知識的測試,得到不同學習者的已有知識成分,使得教師掌握學習者的第一手知識結(jié)構(gòu)資料,以便后繼教學的因材施教;也使得學習者能夠清晰地知道自己在該課程中已經(jīng)學習過哪些內(nèi)容,還有哪些沒有學習過,為后繼學習指明了方向。
構(gòu)建課程知識體系的知識認知導航圖,可以完整地體現(xiàn)本課程的總體知識結(jié)構(gòu),并且按照知識的生長、分化為主線,以知識在本課程的應用先后來劃分層次,將原本雜亂的基礎知識編織成一個相互關聯(lián)的知識網(wǎng)絡,使教師與學習者都能夠清晰的掌握該課程的結(jié)構(gòu),為教與學提供了一個便捷的知識傳播與獲取的路徑。
(二)單類知識體系視圖化
對于C語言程序設計來說,僅從圖2便可以看出該課程的所涉及知識相當專業(yè),所包含的內(nèi)容相當繁復,僅僅為學習者提供一個課程的總體框架是不能滿足的,也不利于學習者去掌握該課程中分支知識的具體內(nèi)容,此時,還需要為學習者提供單類知識的知識體系導航圖,為學習者詳細的描述出該知識點的分類、應用及常見案例等。然而將單類知識從課程總體框架中分離并不意味著將該知識點獨立,而是為了讓學習者在掌握該知識詳細內(nèi)容的前提下,逐步構(gòu)建該課程理論體系的結(jié)構(gòu)圖。通過單類知識體系的視圖化,在將單個知識點清晰地展現(xiàn)給學習者,便于其深入了解該知識點的同時,也為學習者對感興趣的內(nèi)容進行進一步的學習指明了方向。因此,單類知識體系視圖的構(gòu)建,是教師為學習者提供知識深層學習的有效手段,也是教師在備課與講授的時候所要注意的地方。
(三)利用項目驅(qū)動法建立階段學習效果定位機制
知識認知導航圖,不但要為學習者提供一個有效便捷的學習路徑,還要為學習者的學習效果進行及時的測試定位,即將學習者的學習過程視圖化。這樣,便于教師與學習者了解學習者的學習情況,從而為進一步的教與學提供參考依據(jù)。
項目驅(qū)動法,就是師生通過共同實施一個完整的項目工作而進行的教學活動。這種方法可以很好的測試出學生的學習情況,并明確地定位出學生對于知識的掌握程度。
對于C語言課程本身來說,項目驅(qū)動法是測試學生學習效果的最佳方法。為此,通過結(jié)合課程知識體系的知識認知導航圖與單類知識體系視圖,利用項目驅(qū)動教學法可以構(gòu)建階段學習效果定位機制。首先,以單類知識體系視圖為結(jié)點,通過構(gòu)建相關知識的測試題庫,根據(jù)題目的難易程度,以及測試者的測試成績,可以直接獲取學習者的結(jié)點學習情況;其次,以課程知識體系的知識認知導航圖,構(gòu)建課程的階段性測試題庫,結(jié)合上述結(jié)點的測試題(尤其是學習者做錯的題),通過測試可以提供學習者階段性的學習情況;最后,利用具體的程序項目,對學習者的綜合能力進行測試,提供學習者對知識的整體把握情況。這樣通過結(jié)點測驗、階段測驗與綜合項目測試相結(jié)合,為學習者與教師提供了最為直接的學習情況參數(shù),從而為進一步的教與學提供了參考依據(jù)。
四、用項目驅(qū)動法完善知識體系
如前所述,C語言程序設計這一課程特點是要將所學知識應用于實際。知識認知導航理論可以為學習者構(gòu)建一套完整的理論體系,但是針對具體的應用,則要求學習者需要豐富的實踐經(jīng)驗、創(chuàng)新意識和團隊精神,而項目驅(qū)動法正好能夠很好的訓練學習者的這些能力。它將教師從知識認知導航中的引導者變成了知識的統(tǒng)籌者,將學習者從構(gòu)建知識網(wǎng)變成使用知識網(wǎng),讓學習者變成了認知的主體,真正實現(xiàn)學以致用。利用項目驅(qū)動法,結(jié)合軟件工程流程,通過具體項目的設計、實施、控制、評價,可以很好的鞏固學習者的知識點,激發(fā)學習者的自學興趣,明確學習目的,實現(xiàn)學習者由被動學習轉(zhuǎn)為主動學習,進一步完善學習者的知識結(jié)構(gòu)體系,同時也有利于教師對學習者知識掌握程度的評價。
五、結(jié)束語
以知識認知導航理論為基礎的教學方法,通過構(gòu)建知識認知導航圖,建立有效的階段學習效果定位機制,可以將繁雜的知識聯(lián)系在一起,將課程知識結(jié)構(gòu)和學習者的學習過程視圖化,便于教與學,同時也為教師與學習者及時掌握學習情況提供了參考依據(jù)。在學習過程中結(jié)合項目驅(qū)動教學法為學習者的學習效果進行定位,有利于知識的結(jié)構(gòu)化,為教與學的改進與深化提供了很好的參考模式。
參考文獻:
[1]苗英愷、陳佳,“知識認知導航圖”在教育中的應用初探[J].教育信息化,2006.2.
關鍵詞:C語言;程序設計;循環(huán)結(jié)構(gòu);教學方法
中圖分類號:G642文獻標識碼:A
1引言
“C語言程序設計”是計算機系各專業(yè)的必修課程,屬專業(yè)主干課,是一門學位課程。也是各高校部分非計算機專業(yè)開設的程序設計課程之一。本課程開設的目的是使學生掌握面向過程的程序設計的基本概念,逐步形成正確的程序設計思想,理解結(jié)構(gòu)化程序設計方法;掌握程序設計的基本技術(shù),程序設計的基本組織方法即函數(shù)(模塊)程序設計;具備調(diào)試程序的能力。因為C語言功能強大,程序編寫靈活,具有較強的實踐性,是一門高級語言中的“低級語言”,既可以用來編寫系統(tǒng)軟件,又可以用來開發(fā)應用軟件,因此對學生以后參與專業(yè)領域的應用軟件的開發(fā)和使用會有極大的幫助。C語言是結(jié)構(gòu)化的語言,學好C語言程序設計,能為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)、C++、Java等)及其他程序設計課程的學習打下基礎。同時,C語言程序設計也是計算機類各種考試所要求的重點課程之一。
2循環(huán)結(jié)構(gòu)程序設計
結(jié)構(gòu)化程序設計中包含三種基本技術(shù):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)的程序設計是學生學習了結(jié)構(gòu)化程序設計的前兩種基本技術(shù)之后的第三種基本技術(shù),是結(jié)構(gòu)化程序設計技術(shù)中最重要也是最難的部分。這門課程一般都是學生學習程序設計的入門課程,第一次學習循環(huán),可能難于理解“循環(huán)”的含義,在設計程序時正確使用循環(huán)也就更困難了。針對這些特點,循環(huán)結(jié)構(gòu)程序設計的教學方法和教學手段也就值得探討。
3循環(huán)結(jié)構(gòu)程序設計的教學方法
3.1教學重點和難點
要想學生能夠輕松理解和掌握循環(huán)結(jié)構(gòu)的程序設計,首先得確定本部分內(nèi)容的重點和難點。
本部分的重點主要是:(1)循環(huán)控制結(jié)構(gòu)及其設計。(2)循環(huán)控制語句的應用。教學重點是循環(huán)控制語句中的while語句,只要把while語句的使用講解清楚了,后面的for語句和do-while語句就容易多了。
本部分的難點是循環(huán)控制結(jié)構(gòu)及其設計。
3.2突出教學重點與分散難點的方法
為了突出教學中的重點并分散難點,可以從三方面入手:
(1) 從分析問題的重復性入手。學生在日常的生活、學習中能看到、體會到重復這種行為。精心設計實例,給學生一個比較實際的切入點,通過教師的引導,使學生能體查、歸納“重復行為”,從而理解和掌握循環(huán)的主要特點:有規(guī)律地重復操作。在教師的啟發(fā)、引導下,使學生在課堂上真正地成為“主體”,教師扮演“主導”角色。在整個過程中,緊緊抓住循環(huán)程序設計的思想,采用“自頂向下,逐步求精”的結(jié)構(gòu)化程序設計方法,把重點突出出來,并把難點進行分散,使學生容易理解和接受。
(2) 難點內(nèi)容,提前做好鋪墊。在前面內(nèi)容適當?shù)牡胤桨才懦霈F(xiàn)循環(huán)程序,但不講它的功能,為講解現(xiàn)在的內(nèi)容做好鋪墊,打下伏筆。這使得學生的每一步學習都有基礎,是一個循序漸進的過程,使學生的學習是在“走臺階”,而不是“三級跳”,效果很好。
(3) 在循環(huán)程序設計的應用中,可以從簡單公式化的循環(huán)入手到復雜非公式化的循環(huán)的處理。講解過程中,通過黑板進行詳細分析和講解,使學生加深學習和理解。適當?shù)牡胤竭M行提問,教師引導學生積極參與到分析問題,解決問題的過程中,寫出程序后,放到實際的環(huán)境下運行,讓學生來分析程序的正確性,改正程序的錯誤,有利于學生理解難點、掌握重點。
3.3教學過程的設計與組織
(1) 提出問題
本部分的內(nèi)容是循環(huán)程序設計,體現(xiàn)在兩個方面,一是循環(huán)結(jié)構(gòu)程序設計的算法表示;二是循環(huán)結(jié)構(gòu)程序的C語言表示。循環(huán)程序設計是結(jié)構(gòu)化程序設計中最難、最復雜的部分,而授課對象是初次接觸程序設計和循環(huán)結(jié)構(gòu),因此循環(huán)的引入就至關重要。例如:通過引入求5!這個簡單的例子,運用已經(jīng)學過的順序結(jié)構(gòu)程序設計就可以實現(xiàn);但是求復雜的階乘,比如20!,任意自然數(shù)n!,用已經(jīng)學過的順序結(jié)構(gòu)程序設計和選擇結(jié)構(gòu)程序設計就難于解決,要用簡單的方法解決這樣的問題,就必須使用結(jié)構(gòu)化程序設計中的第三種基本技術(shù):循環(huán)結(jié)構(gòu)的程序設計。這樣就輕松地引入了循環(huán)結(jié)構(gòu)程序設計。在引入的過程中,要注重調(diào)動學生的積極性,采用互動教學法帶動學生的積極性。
(2) 解決問題的方法及講授新內(nèi)容
在用問題引入了循環(huán)后,第一步,分析用循環(huán)控制結(jié)構(gòu)求20!的算法的自然語言和流程圖表示。第二步,為了實現(xiàn)這種循環(huán)控制行為,C語言提供了多種循環(huán)控制語句,while語句就是其中的一種,介紹while語句的一般形式和功能。第三步,講解while循環(huán)語句的應用。在講解的過程中,為了提高學生的學習效果,達到預期的目標,除了采用常用的教學方法和手段外,還可以采用以下一些教學方法和手段:
① 注重啟發(fā)、引導學生。教師在講解分析時,注重啟發(fā)、引導學生主動分析問題、解決問題。
② 注重采用任務驅(qū)動的教學模式。通過提出問題,分析問題,引入新知識,解決問題,總結(jié)提高,一步步實現(xiàn)教學的目標。
③ 采用國際上慣用的解析教學法。
④ 把編寫的程序放到實際環(huán)境下運行。讓學生來分析程序的正確性,改正程序的錯誤,有利于學生掌握好重點、難點知識。
⑤ 應用現(xiàn)代化多媒體教學手段,有利于提高教學效率,便于學生理解。充分利用黑板和投影相結(jié)合的方式;分析過程用黑板進行教學,以便體現(xiàn)思維過程。
4結(jié)束語
要使學生輕松容易地理解和掌握C語言中的循環(huán)結(jié)構(gòu)程序設計方法和技巧,必須在教學的所有環(huán)節(jié)上都進行認真研究和精心設計。通過對循環(huán)結(jié)構(gòu)程序設計的教學,使學生提高綜合應用的能力,為今后的后續(xù)課程及軟件的設計和開發(fā)打下堅實的基礎。
參考文獻:
[1] 徐慶生.C語言程序設計[M].北京:科學普及出版社,2007.
[2] 高牧,楊志強,許蘭蘭,等. C/C++教學改革的探索與實踐[J]. 計算機時代,2005(11).
The Design and Discussion of Programming Course of Iteration Structure Pedagogical
in C Programming Language
SUN Ying, XU Shun-qiong, LI Xing-mei
(Department of Computer Science, Chuxiong Normal University, Chuxiong 675000, China)
【關鍵字】 XML Dataset DataTable 存儲數(shù)據(jù)
隨著C#的流行,C#越來越為廣大開發(fā)人員所接受。我們都知道,C#的開發(fā)不僅需要掌握其基本的原理,更要多實踐,從實踐中獲取真正的開發(fā)本領。在我們的實際開發(fā)中,往往基本的原理滿足不了開發(fā)需求,作為一名教師,在長期的教學以及項目開發(fā)中,我總結(jié)出了下面小技巧,希望對大家的開發(fā)有所裨益。
一、C#中讀取XML到Dataset最簡單的方法
C#其實是支持讀取XML到Dataset的,但是可能直接讀取效率不是特別的高。如果你的XML非常小的話,那么用這種方法再合適不過了。
使用方法:
using System.Data;
using System.Xml;
………………………….
DataSet myds=new DataSet();
myds.ReadXml(“yourxmlfilepath.xml”);
DataTable mytable=new DataTable();
mytable= myds.Tables[0];
String something;
something = mytable.Rows[1]["name"].ToString().Trim();
textBox1.Text=something;
That’s it.
二、C#中得到文件夾下文件
C#封裝了很多類,可以直接使用,對獲取本機資源提供了很大的便利。
String FPath=at“D:\CSharp\” ;//at表示后面的特殊字符都不是轉(zhuǎn)義字符,而按照特殊字符對待
System.IO.DirectoryInfo MyDir = new System.IO.DirectoryInfo(FPath);//得到文件夾信息
foreach (System.IO.FileInfo MyFile in MyDir.GetFiles(“*.mp3″))//得到mp3文件
{
String FName = MyFile.Name;//得到文件名, MyFile.FullName是帶路徑的文件名
// 對文件進行處理
}
三、在C#中使用DataTable存儲數(shù)據(jù)
說DataTable之前應該先說說DataSet,DataSet其實是存儲在內(nèi)容中的一個關系數(shù)據(jù)庫,是一個數(shù)據(jù)表的集合,一個DataTable就是DataSet中的一個關系數(shù)據(jù)表,了解關系數(shù)據(jù)庫的話對此應該很容易理解。
類:DataTable
命名空間:System.Data
System.Data.DataTable MyTable = new System.Data.DataTable(“Files”);
創(chuàng)建了一個名為Files的數(shù)據(jù)表,這個數(shù)據(jù)表對象的名字叫做MyTable。剛創(chuàng)建的數(shù)據(jù)表沒有屬性列和記錄,需要我們進行添加:
MyTable.Columns.Add(“OriginalFileName”,
System.Type.GetType(“System.String”));
在數(shù)據(jù)表中創(chuàng)建一個名為 OriginalFileName類型為String的屬性列,使用相同方法可以添加其他的屬性列。添加完屬性后就可以使用DataRow添加記錄:
DataRow MyDr = MyTable.NewRow();
MyDr["OriginalFileName"] =“從頭再來-劉歡”;
MyTable.Rows.Add(MyDr);
使用相同的方法可以添加其他的記錄。添加完畢后就可以對其進行操作:
for(int m=1;m
{
for (int n = 1; n
{
String Content= MyTable.Rows[m - 1][ n - 1].ToString().Trim();
}
}
希望上述技巧能對大家的實際開發(fā)帶來真正的方便!總之,C#的開發(fā)是一個長期的工作,從基礎開始,把握好一些技巧的應用,相信通過您的努力,一定能開發(fā)出有創(chuàng)意的C#程序!
參考文獻:
[1] 孫印杰 楊滔 呂書琴 ,《+SQL SERVER動態(tài)網(wǎng)站 設計實例精解》,北京,電子工業(yè)出版社,2009年
[2] 譚浩強,《C#程序設計》,北京,清華大學出版社,2008年
[3] 朱秀英,朱愛彬,《C#程序設計題解與實驗指導》,北京,中 國人民大學出版社,2009年
[4] 趙喜清,李思廣,《C語言程序設計》,北京,中國農(nóng)業(yè)科學技 術(shù),2008年
關鍵詞:震動;語音;超聲波;導盲
引言
目前市場上的導盲裝置,如:導盲機器人、導盲犬、GPRS導盲定位等,這些成本都很高而且像導盲犬不易于練習。但超聲波能夠很好的對障礙物進行檢測且檢測距離較遠,而且設備成本較低,便于攜帶。文章用一個超聲波傳感器檢測前方障礙物,同時利用ISD1730語音芯片快速語音播報。實時提示前方障礙物的距離,為使用者提供安全保障。
1 系統(tǒng)概述
本設計以AT89C51單片機為核心,實現(xiàn)超聲的發(fā)送、接收、處理、顯示及語音播放及聲光提示功能。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2 硬件設計
本系統(tǒng)硬件電路包括超聲發(fā)射與接收模塊、語音模塊、顯示電路、光電提示電路和震動模塊五大部分。
2.1 超聲發(fā)射與接受模塊
結(jié)合本設計所要求的檢測范圍,選用HC-RS04模塊實現(xiàn)超聲發(fā)射與接收。該模塊采用TRIG觸發(fā)測距,性能穩(wěn)定,測度距離精確,盲區(qū)小。HC-RS04模塊與AT89C51單片機的連接電路如圖2所示。
圖2 超聲模塊與單片機連接電路圖
2.2 震動模塊
震動模塊主要是通過偏振電機實現(xiàn),其電路圖如圖3所示。
2.3 顯示電路以及光電提示電路
本設計由LCD1602顯示屏顯示當前與障礙物的距離。 LCD1602與單片機的連接圖4所示。光電提示電路由單片機控制其IO口實現(xiàn)指示燈閃爍,如圖5所示。
2.4 isd1730語音模塊
本系統(tǒng)采用ISD1730 優(yōu)質(zhì)語音芯片。ISD1730不僅有錄放功能,還有快進、擦除、音量控制、直通放音和復位等功能。這些功能通過按鍵就可完成。在按鍵模式時,芯片可以通過/LED 管腳給出信號來提示芯片的工作狀態(tài),并且伴隨有提示音,用戶也可自定4種提示音效。本系統(tǒng)采用SPI工作方式,電路如圖6所示。
3 軟件設計
本系統(tǒng)的軟件設計是在C51編程的基礎之上采用了模塊化設計和子程序嵌套技術(shù)。主要實現(xiàn)超聲發(fā)射、接收、信號處理、語音控制、震動、顯示以及光電提示等功能。主程序流程圖如圖7所示:
4 結(jié)束語
文章介紹的具有語音功能的超聲導盲儀,將超聲模塊和震動模塊結(jié)合。既有語音提示功能,又能在觸感上警示,有效地解決了盲人導航的問題,為盲人提供安全保障。該導盲儀具有高精度、語音可自行錄制、使用方便,具有很大的推廣價值。
參考文獻
[1]李麗霞,在超聲測距中的應用[J].電子技術(shù),2002(6).
【關鍵詞】溫濕度;監(jiān)測系統(tǒng);主控電路;PIC
目前,大部分常用的溫濕度監(jiān)測系統(tǒng)是以晶體管電路或51單片機為核心部件,再配以相應的傳感器和A/D轉(zhuǎn)換電路組成的溫度和濕度實時監(jiān)測系統(tǒng)。這樣的系統(tǒng),在實際工作中存在諸如在線調(diào)節(jié)不方便、數(shù)字化和智能化程度較低等缺點。
因此,本文研究了基于PIC16F877A單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)相關技術(shù),對主控電路進行了改進,提出了相應的對策和解決方案。
1 設計思路
通常情況下,溫室內(nèi)的溫度和濕度對作物的影響巨大。如若要使得這些植物在非本季節(jié)處于較佳的生長狀態(tài),就必須嚴格控制溫室內(nèi)的溫濕度。而不同類別的植物,所需溫濕度也不盡相同。嚴格監(jiān)測和控制溫室內(nèi)溫度和濕度環(huán)境參數(shù),能夠有效保障植物時刻處于較佳的生長狀態(tài),有利于提高生產(chǎn)質(zhì)量和產(chǎn)量。
首先,本文分析了溫室溫濕度監(jiān)測系統(tǒng)基本原理和性能要求,針對農(nóng)業(yè)生產(chǎn)所使用的普通MCU與PIC系列PIC16F877A進行性能比較,對優(yōu)化主控電路做出理論依據(jù),并提出相應的優(yōu)化方案和整改對策。然后,分析了目前農(nóng)業(yè)生產(chǎn)所使用的模擬量傳感器和直插式數(shù)字傳感器進行性能差異,從非電和電兩個方面著手對影響溫濕度監(jiān)測精度及可靠性的原因進行分析,并在優(yōu)化的主控電路。最后,采用了以PIC16F877A對直插數(shù)字集成式溫濕度傳感器DHT11進行循環(huán)控制,達到對蔬菜大棚溫濕度實時監(jiān)控的目的[1]。
2 硬件電路設計
本文選用DHT11作為溫濕度環(huán)境信號監(jiān)測系統(tǒng)的主要傳感器件。DHT11數(shù)字溫濕度傳感器含有已校準數(shù)字信號輸出,包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連,具有品質(zhì)卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。DHT11傳感器的校準系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測型號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,非常適合溫室內(nèi)的溫度和濕度環(huán)境參數(shù)信號監(jiān)測系統(tǒng)的技術(shù)特點[2]。
本設計利用DHT11直插式數(shù)字溫濕度傳感器對蔬菜大棚溫濕度進行實時監(jiān)測,并把實測溫濕度值實時顯示在LCD1602上,可以通過鍵盤設定溫濕度極限值,如果實測溫濕度超過設定極限值,則進行LED或者蜂鳴器報警操作。
基于PIC16F877A單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)主控電路如圖1所示,監(jiān)測過程大體如下:當產(chǎn)品上電時,PIC16F877A與DHT11傳感器通訊,當PIC做好數(shù)據(jù)接收準備時,DHT11通過單總線將數(shù)據(jù)發(fā)到至PIC,最后再由PIC將處理過的檢測數(shù)據(jù)發(fā)送至LCD1062進行顯示,從而達到蔬菜大棚溫濕度的實時檢測。在此基礎上,用戶可以通過按鍵輸入溫濕度極限值,對溫濕度報警值進行設定,之后以達到峰值超標自動報警的目的。
3 主函數(shù)初始化和外部中斷流程圖設計
我們對需要的特殊寄存器進行初始化后,使其進入while循環(huán),等待外部中斷。
①初始化
初始化函數(shù)包括了系統(tǒng)初始化函數(shù)sys init();,LCD初始化函數(shù)lcd_init();等。系統(tǒng)初始化函數(shù)主要是對外部中斷的I/O口,和使能端進行設置[3]。LCD初始化函數(shù)lcd_init();主要是多LCD的I/O口進行方向設置,LCD指令輸入等操作。如圖2所示,對主函數(shù)進行初始化設計。
如圖3所示,本文對中斷入口和外部信號進行了設置,使得設計的主控電路能夠更好的響應其他優(yōu)先級更高的事件,從而完成了外部中斷流程的設計。
從上述設計的主控電路來看,本文在對傳統(tǒng)主控程序進行分析后,才給出基于PIC16F877A的溫濕度監(jiān)測系統(tǒng)主控程序的設計,并設計主要模塊的流程圖。不難看出,通過PIC單片機設計監(jiān)測系統(tǒng)的主控電路,能夠使得整個監(jiān)測系統(tǒng)的主要部分實現(xiàn)模塊化設計,這將有利于系統(tǒng)將來的升級改造,并降低了整個程序復雜度,使程序設計、調(diào)試和維護等操作簡單化。從而使得整個監(jiān)測系統(tǒng)相對與傳統(tǒng)的監(jiān)測系統(tǒng)而言,能夠體現(xiàn)出智能化、數(shù)字化的特點。
【參考文獻】
[1]孫安青.PIC單片機實用C語言程序設計與典型實例[M].北京.中國電力出版社,2008:21-31.
關鍵詞:單片機;教學改革;課程體系
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913(2007)18-0125-02
在嵌入式系統(tǒng)中單片機仍然占有重要的地位,各高校的相關專業(yè)大都開設有單片機原理及應用的課程。筆者在長期教學過程中感覺到,要想培養(yǎng)的學生適應、滿足社會需要的能力,有必要對教學的內(nèi)容和方法進行一些改革,在本文中對此進行了一些思考和探索。
1問題提出
目前社會對于嵌入式系統(tǒng)的開發(fā)人才需求量大,涉及面廣,但學生在校期間雖然學習了相關的課程,卻難以勝任開發(fā)工作。究其原因是缺乏實際運用知識的能力。
嵌入式系統(tǒng)中使用的MCU種類繁多,有8位、16位的,也有32位的。有普通的單片機,也有DSP和ARM。僅就8位的單片機來講,也有眾多的系列。顯然,學校的教學不可能也不必要對這些全部進行講授,更何況新的MCU還會不斷的出現(xiàn)。我們認為,不管MCU的類型、字長和其他功能如何,只要使學生通過某一種MCU的學習,掌握了核心知識點,那么他們就能夠在今后的工作中舉一反三、融會貫通,很快適應工作的需要。這個核心知識點就是――MCU內(nèi)部的各功能部件是怎樣為應用服務、怎樣為系統(tǒng)服務的。同時,學生在學習單片機原理及應用課程時已進入高年級。他們這時已有了相當?shù)幕A知識和自學能力。因此,在教學中簡單的“就事論事”,泛泛地介紹MCU的結(jié)構(gòu)、功能,往往不能使學生獲得深刻的印象,更談不上熟練地運用了。因此,培養(yǎng)學生的系統(tǒng)設計能力及創(chuàng)新能力,應是我們教學的關鍵所在。
2單片機應用系統(tǒng)設計的知識結(jié)構(gòu)與教學內(nèi)容安排
首先,教學內(nèi)容的安排應使學生通過本課程的學習后,能夠具備完善、合理的知識結(jié)構(gòu),能夠勝任單片機應用系統(tǒng)的設計與研制工作。我們認為應具備的知識結(jié)構(gòu)如圖1所示。
圖中有的內(nèi)容,如傳感器技術(shù)、信號調(diào)理技術(shù)、程序設計技術(shù)及與應用相關的知識在其它的課程中解決。其次,隨著微電子技術(shù)的發(fā)展,集成電路的集成度越來越高。各種型號的單片機中不僅包含了大容量的存儲器器和各種接口電路;而且還包含了AD轉(zhuǎn)換器、程控放大器等模擬電路。對應用系統(tǒng)的體積、成本、功耗等也提出了越來越高的要求。因此,在單片機應用系統(tǒng)中不必要進行外部電路的擴展,而應當強調(diào)“單片應用”。
基于上述考慮,我們認為教學內(nèi)容應圍繞著四個方面安排。一是單片機的體系結(jié)構(gòu),包括其編程模型、指令系統(tǒng)、存儲器系統(tǒng)等;二是各種片內(nèi)各種功能部件的原理及應用,包括中斷系統(tǒng)、I/O接口、定時/計數(shù)器、AD轉(zhuǎn)換器、PWM功能等;三是通過常見的串行接口實現(xiàn)單片機功能的擴展。在萬一需要對單片機的功能進行擴展時也盡量使用串行接口實現(xiàn)擴展。四是應用系統(tǒng)設計實例、分析。
用作教學的實際型號,應選用功能相對完善,結(jié)構(gòu)簡單、易學的型號。綜合各種情況,我們在實際的教學中以常見的MCS-51系列為例。具體內(nèi)容安排如下:
1) 單片機體系結(jié)構(gòu)(6學時)。
基本存儲器結(jié)構(gòu)及空間分布、擴展的片內(nèi)存儲器;
編程模型;
中斷系統(tǒng)結(jié)構(gòu);
指令系統(tǒng)簡介。
2) 單片機片上I/O接口及應用 (6學時) 。
并行I/O端口;
定時/計數(shù)器;
串行通信接口。
3) 程序設計技術(shù) (理論課6學時,實驗8學時) 。
匯編語言程序設計;
C51程序設計技術(shù);
集成開發(fā)環(huán)境IDE使用簡介;
程序設計方法概述。
4) 利用串行接口實現(xiàn)功能擴展(理論課6學時,實驗8學時) 。
同步串行接口;
IIC接口及常見芯片;
SPI接口。
5) 新一代51單片機的片上外設接口(2學時)。
計數(shù)器陣列 (PCA) 及應用;
AD轉(zhuǎn)換器及程控放大器;
PWM及應用;
6) 應用系統(tǒng)中的接口(理論課4學時,實驗8學時)。
顯示接口 (LED、LCD) ;
鍵盤接口;
開關量的輸入與輸出接口。
7) 單片機應用系統(tǒng)的抗干擾技術(shù)(2學時)。
硬件設計中的抗干擾;
軟件抗干擾技術(shù)。
8) 單片機應用系統(tǒng)設計概要 (理論課4學時,實驗12學時) 。
單片機應用系統(tǒng)設計方法;
應用系統(tǒng)軟、硬件協(xié)同設計;
系統(tǒng)調(diào)試方法;
應用系統(tǒng)設計舉例。
按上述安排,理論課和實驗課各36學時。通過這些內(nèi)容的學習和時間訓練,學生能掌握應用系統(tǒng)設計的核心知識,大大提高動手能力與創(chuàng)新能力,從而滿足實際工作需要。當然,上述教學內(nèi)容安排對教師提出了較高的要求,要求任課教師有豐富的實踐經(jīng)驗,關注單片機技術(shù)應用的最新發(fā)展,并隨時調(diào)整教學內(nèi)容,保證將最新的知識傳授給學生。
3教學過程的實現(xiàn)
為實現(xiàn)上述教學目標,應將課堂教學與實驗緊密結(jié)合起來,并有意識地將單元電路的實驗與某一具體的應用系統(tǒng)結(jié)合。這樣當基本內(nèi)容和全部單元實驗完成后,即可將其組合成一個具體的應用系統(tǒng),學生可以借此領會到單片機各功能部件在系統(tǒng)中的應用及其方法,在這個基礎上再進一步學習應用系統(tǒng)的設計方法就水到渠成,得到事半功倍的效果。
參考文獻
[1] 邵貝貝. 關于嵌入式系統(tǒng)教學的思考[A]. 第三屆高等院校嵌入式系統(tǒng)教學研討會論文集[C]. 2005.
[2] 何立民. 單片機高級教程―應用與設計[M]. 北京:北京航空航天大學出版社,2000.
關鍵詞:Word2007;實時標注系統(tǒng);課程實驗
中圖分類號:TP311.52
實時標注系統(tǒng)是筆者自主開發(fā)的基于Word2007的在局域網(wǎng)環(huán)境中使用的工具軟件。其目的是使教師能夠?qū)崟r得到學生對所學知識的反饋信息,從而知道教師下一步教學。
《PHP+MySQL動態(tài)網(wǎng)站程序設計》是計算機網(wǎng)絡專業(yè)所開設的一門專業(yè)基礎課。在教學中既要對PHP語法知識、MySQL數(shù)據(jù)庫相關知識進行講解,又要對基礎知識加以應用,在實例或作業(yè)中提高學生動態(tài)網(wǎng)站程序設計開發(fā)調(diào)試能力。然而,傳統(tǒng)教學中由于學生基礎差異大及課時量限制,造成教師講解針對性不強,無法顧及各層次學生,從而影響了教學效果。
針對以上問題,筆者作為《PHP+MySQL動態(tài)網(wǎng)站程序設計》任課教師嘗試將實時標注系統(tǒng)應用于該課程中,探索改變現(xiàn)狀、提高教學質(zhì)量的方法,使該課程達到教師和學生都滿意的教學效果。
1 實時標注系統(tǒng)的功能
實時標注系統(tǒng)是使用Word―addin開發(fā)的嵌入式軟件。其功能是教師將教學內(nèi)容Word文檔在局域網(wǎng)中,學生在學習中將疑問或評論以批注的形式添加在Word文檔中,教師可以實時看到學生的批注內(nèi)容,從而及時了解學生的學習需求。教師將Word文檔依照正常方法打開文件;根據(jù)實時標注系統(tǒng)要求設置其IP地址信息,之后點擊StartButton開啟教師機IP服務地址;等待學生在學習Word文檔內(nèi)容時所添加的標注自動實時顯示在當前文檔相應位置上;最后,在結(jié)束接受批注內(nèi)容時,點擊StopButton關閉教師機IP服務地址即可。在教師將IP服務正確開啟之后,與教師機出于同一局域網(wǎng)范圍的學生機即可依照正常方式打開與教師機所打開的同名的Word文檔。學生通過知識點學習,將疑問或相關評論以批注的形式添加到該Word文檔中;在希望教師看到批注時點擊SendButton將批注內(nèi)容傳送到教師端即可。
2 實時標注系統(tǒng)應用于《PHP+MySQL》課程的實驗
本次試驗目的是希望通過將實時標注系統(tǒng)應用在《PHP+MySQL》課程中,改變傳統(tǒng)的教學方式,充分調(diào)動學生的學習積極性,以學生需求作為教師教學的出發(fā)點,從而提高教學質(zhì)量,達到教師和學生都滿意的教學效果。
實驗對象選擇筆者所在學校計算機網(wǎng)絡技術(shù)專業(yè)二年級學生,共四十六人?!禤HP+MySQL》是該班級學生所學習的一門專業(yè)必修課,能夠?qū)W好這門課程不僅是完成學習任務,對他們今后就業(yè)以及后日后續(xù)課程的學習都有好處。同時,該班級學生已經(jīng)具備計算機基本操作基礎和C語言程序設計基礎,系統(tǒng)學習過Word2007基本操作方法,對于打開文檔、保存文檔、添加批注以及實時標注系統(tǒng)的使用都駕輕就熟。這一點為本次實驗的順利進行打下了堅實的基礎。
本次實驗為期兩個月,這兩個月中每周《PHP+MySQL》學時為六課時(每課時45分鐘),主要講解內(nèi)容為PHP基本語法部分。
實驗過程:以兩課時作為一次授課,首先教師將課前準備的本次課程內(nèi)容以Word文檔的形式發(fā)送到局域網(wǎng)當中的學生機,作為學生自學的基本材料。在適當對本次課程的主要知識點加以介紹之后,留出時間供學生自學。此時,根據(jù)實時標注系統(tǒng)的操作要求,教師需要將IP地址加以設置,為實時接收學生的批注內(nèi)容做準備。該時間根據(jù)教學內(nèi)容的不同會適當有所調(diào)整,但一般會控制在20分鐘到35分鐘之間。在這段時間內(nèi),教師會鼓勵學生在其所學習的Word文檔中及時將他們存在疑問的知識點加以批注,并在批注中盡量簡潔明了地解釋他們的疑問所在,同時每添加一條批注就將其發(fā)送到教師機。而教師在這個時間段中,不需要對教學內(nèi)容做過多解釋,只需及時看到學生所添加的批注,了解他們的疑問,并就疑問的講解做準備。在教師關閉IP地址之后就學生存在疑問的知識點加以重點講解。受到課時限制,教師可以靈活處理,例如:對于大多數(shù)學生都存在疑問的知識點,教師需重點講解;而只有個別同學提出疑問的知識點,教師可以以提問的方式讓其他同學加以解答;有個別知識點教師可以到網(wǎng)路教學平臺中供學生討論,既提高了學生互相幫助團隊協(xié)作的意識,也提高了學生的參與度,調(diào)動了學生的學習積極性。在實際授課中,根據(jù)《PHP+MySQL》課程的課程特點,在對基本知識點加以學習之后,在課堂中教師還需留出時間留下程序設計實例操作練習題,既提高學生的程序設計調(diào)試能力,這一過程也是對學生自學效果的及時檢驗。
3 實時標注系統(tǒng)應用于《PHP+MySQL》課程實驗結(jié)果分析
對于本次實驗的效果,筆者采用問卷以及訪談的方式,對學生的學習情況進行了調(diào)查?,F(xiàn)對調(diào)查結(jié)果總結(jié)如下:(1)對于在課堂中使用實時標注系統(tǒng),大部分學生表示能夠接受。許多學生反映單純聽老師講授內(nèi)容容易走神,無法長時間集中注意力,從而錯過一些知識點,需要課下進一步學習;而是用實時標注系統(tǒng)首先自己自學,可以根據(jù)自身情況安排時間,因此這樣的學習方式能夠接受。當然,也有個別學生反映自學內(nèi)容時比較困難,希望教師能夠適當講解。(2)對于實時標注系統(tǒng)學生們都反映其操作方式簡單,不會為學習課程內(nèi)容增加額外負擔。由于實時標注系統(tǒng)是基于Word2007的嵌入式系統(tǒng),而Word文檔呈現(xiàn)內(nèi)容已經(jīng)被教師和學生所接受,因此,新的教學方式完全符合學生的操作習慣,無需再學習其他平臺的操作方法,這為課程的學習帶來了方便。(3)大部分學生覺得實時標注系統(tǒng)的使用對于他們學習課程內(nèi)容是有一定幫助的。主要體現(xiàn)在該系統(tǒng)可是幫助他們更好地自主學習,及時提出疑問,及時得到老師的幫助方面。也有個別同學覺得相較于傳統(tǒng)教學方式該系統(tǒng)的使用幫助不大。(4)學生反映在今后其它的課程學習中還希望使用該系統(tǒng),但讓在文檔內(nèi)容呈現(xiàn)、疑問講解等細節(jié)方面如果可以加以改善,相信今后的使用會帶來更大的幫助。
4 總結(jié)
將實時標注系統(tǒng)應用于《PHP+MySQL》課程的實驗旨在探索通過教學軟件的幫助適當調(diào)整教學方法,將傳統(tǒng)的以教師講授為中心的教學方式轉(zhuǎn)變?yōu)橐詫W生學習為中心,真正做到教學以學生為本,一切從學生出發(fā)。實驗基本達到實驗目標,取得了一定的收效,并就實時標注系統(tǒng)應用于教學中的方式方法積累了一定的經(jīng)驗。當然,實驗中也存在不足之處,例如實時標注系統(tǒng)的并發(fā)處理方面還有待提高;教師在準備自學材料時可以更加靈活使其更具吸引力,這樣可以幫助學生更好的學習。筆者在今后的課程實驗中會改進以上不足,期望得到教學質(zhì)量的更大提高,使得教學實現(xiàn)教師與學生雙贏的效果!
參考文獻:
[1]莫雷.教育心理學[M].北京:教育科學出版社,2007.
[2]宋廣文,苗洪霞.網(wǎng)絡時代教師角色的轉(zhuǎn)換[J].教育研究,2001(8).
[3]楊春濤.信息時代的教育改革[J].素質(zhì)教育研究,2006(9).
關鍵詞:PT100;自校正;非線性;D/A轉(zhuǎn)換器
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2012)01-0197-02
A Simulation of a Simple Design PT100 RTD
LIU Yue-ru
(Xinjiang Wind Energy Institute,Urumqi 830000,China)
Abstract:This paper presents a simulation PT100 thermal resistance of the circuit design。The design utilizes a precision op amp buffers the input voltage through D/A converter to adjust the voltage applied to the standard resistor and the current ratio, thus changing the resistance value。Through the built-in precision resistance measurement circuit measured the op amp’s offset voltage, and use D/A converter automatically compensate for the offset voltage can be synthesized to obtain high-precision programmable resistors to meet the PT100 thermal resistance of long-term stability requirements.
Key words: PT100; self-correction; nonlinear; D/A converter
熱電阻是中低溫區(qū)最常用的一種溫度傳感器。它的主要特點是測量精度高,性能穩(wěn)定。其中鉑熱電阻的測量精確度是最高的,它不僅廣泛應用于工業(yè)測溫,而且被制成標準的基準儀。而熱電阻PT100(以下簡稱PT100)是一種穩(wěn)定性和線性都比較好的鉑絲熱電阻傳感器??梢怨ぷ髟?200℃至650℃的范圍。
但有時為了滿足設計整個系統(tǒng)設計的要求,需要在實驗室中模擬PT100在工業(yè)現(xiàn)場的使用。本設計采用運放等構(gòu)成單口網(wǎng)絡,通過單片機編程得到輸入電壓及電流的比值,即可獲得可編程的線性電阻。這種阻抗合成技術(shù)可獲得很高精度的輸出電阻。通過查找PT100的分度表,可以得到準確的溫度值。
1電路原理設計
合成電阻的電路原理圖如圖1所示,由輸入運放、D/A轉(zhuǎn)換器、輸出運放及失調(diào)調(diào)零電路構(gòu)成。施加于標準電阻一端的輸入電壓值經(jīng)過緩沖放大、比例調(diào)節(jié)后,反饋到標準電阻的另一端,以此來控制輸入電流,從而確定輸入電阻值。
運算放大器A1接成電阻跟隨器形式,輸出電壓為U10=Ui,作為D/A轉(zhuǎn)換器的基準電壓。D/A轉(zhuǎn)換器采用電壓輸出型乘法轉(zhuǎn)換器(電流輸出型乘法轉(zhuǎn)換器需要后面加一級運放電路將電流信號轉(zhuǎn)換成電壓信號即可),使基準電壓即使減小到接近零也可得到較好的比例輸出。數(shù)/模轉(zhuǎn)換器的傳輸系數(shù)K由輸入數(shù)/模轉(zhuǎn)換器U1的數(shù)字信號決定。因此D/A轉(zhuǎn)換器的輸出電壓為UD/A=Kui。由于A2工作于線性放大狀態(tài)時兩輸入端電位相等,因此A2的反相端電壓為KUi。這樣,施加于標準電阻上的電壓為Ui-KUi,電流為Ii=(Ui-KUi)/Rs。由于運放A1的同樣輸入電流為零,則對輸入端來講,可得合成電阻R=Ui/Ii為:
R=Rs/1-K
(1)
即標準電阻倍增了1/(1-K)倍。當K=0時,電阻不變;當K=0.9時,電阻放大10倍。可見,可以通過改變D/A轉(zhuǎn)換器的輸入值以調(diào)整K值來改變合成電阻值。電路中,運算放大器A1連接成電壓跟隨器的形式,A2接近單位增益,并接入校正電容,因此得到穩(wěn)定的合成電阻。
2誤差分析
式(1)中電阻是基于理想到的,但實際運放由于存在失調(diào)電壓、熱電勢、偏置電流等會引入誤差。合成電阻施加的電壓較小時,失調(diào)電壓及熱電勢等誤差電壓的影響較大;電流較小時,偏置電流影響較大。在兩級運放中,設失調(diào)電壓與相應的熱電勢等誤差電壓之和分別是Ue1、Ue2,則運放A1輸出端及A2反相輸入端的電壓分別為:Uo1=Ui-Ue1U2i=KU01-Ue2
其中,K為D/A轉(zhuǎn)換器的傳輸系數(shù)。再由Ii=(Ui-U2i-)/Rs及R=Ui/Ii,可得合成電阻值為:
R=[Rs-(Kuel+Ues)/Ii]/1-K
(2)或
R=Rs/1-K+(Kuei+Ue2)/Ui
(3)
可見,Ue1、Ue2與合成電阻值有關,并使電阻變成非線性,當Ue1、Ue2為0時,上式退化為(1)式。可見,其誤差不僅與Ue1、Ue2成正比,而且與Ii或Ui成反正,即合成電阻的工作電流電壓越小,相對誤差越大。如挑選失調(diào)電壓優(yōu)于10μV的低溫漂精密運算放大器AD707K,外接失調(diào)調(diào)零電位器調(diào)整后,短期內(nèi)Ue1、Ue2可控制在0.1μV以內(nèi)。此時,如K=0.9,Rs=1kΩ,工作電流在0.2mA時,由(2)式可得Ue1、Ue2引入的誤差接近1ppm,即誤差比K=0時放大了10倍。
輸入運放的偏置電流也會分流輸入電流而引入較大誤差,其相對誤差為Ib/Ii。工作于0.2mA時,如采用典型偏置電流為0.5nA的運放AD707K,可產(chǎn)生2.5ppm的誤差,如加大工作電流可以進一步減小誤差。采用某些斬波穩(wěn)零的運放(如典型失調(diào)電壓為0.5μV、典型偏置電流僅為2pA的TLC2652運放),則可以忽略偏置電流的影響,但其輸入噪聲電壓偏大。
3校正措施
合成電阻中,工作電流不同時還存在運放失調(diào)電壓等引起的誤差,而且這些誤差由于溫漂及時漂等原因并不能長期穩(wěn)定。
式(2)可見,合成電阻與輸入電流有關,而實際的工作電流與自校正時的電流又不一定相同,所以Ue1、Ue2引起的誤差并不能直接通過測量阻值來校正。誤差的根據(jù)是Ue1、Ue2。所以有效的辦法是求出并消除Ue1、Ue2,使合成電阻與工作電流無關。
采用系統(tǒng)自帶的精密電阻測量體系可以求出Ue1、Ue2。具體步驟為:取K=0.9,用激勵電流為I1的最合適的量程一測得合成電阻為r3;取K=0,用量程一及激勵電流為I2的稍大的量程二來分別測量合成電阻,得到讀數(shù)r1、r2。將其電阻及電流值分別代入式(2)并整理,可得:
Ue2=I1Rs-I2r1
(4)
Ue2=I2Rs-I2r2(5)0.9Ue1=I1Rs-Ue2-0.1I1r3(6)
對式(4)、(5)、(6)求解,得:
Ue1=1.1111I1(r1-0.1r3)
(7)
Ue2=(r1-r2)/(1/I2-1/I1)(8)
可見失調(diào)電壓可以通過測量電阻及已知的恒流激勵源來求取。如激勵電流I1=0.5mA時,讀數(shù)r1為1000Ω。大電阻(20MΩ)量程的激勵倍增后的r3為10000.018Ω。大電阻(20MΩ)量程的激勵電流I2=0.5μA即電壓僅5mV時,r2變?yōu)?001.8Ω,此時可求得Ue1=-1μV,Ue2=-0.9μV。當然僅利用(4)、(6)兩式也可得到(7)式及Ue2=I1(Rs-r1),但已知值Rs及測量值r1的來源性質(zhì)不同,會引入較大誤差。而式(8)中,r1、r2同為測量值,其漂移影響較小。
盡管求出了Ue1、Ue2,但由于施加于合成電阻的電壓或電流不定,所以并不能通過改變K值來消除誤差。有效的辦法是外接D/ A轉(zhuǎn)換器來抵消Ue1、Ue2,以徹底消除式(2)、(3)中的非線性項。采用廉價的10位雙D/A轉(zhuǎn)換器TLC5617的兩個通道分別對兩運放進行補償。
圖2利用D/A轉(zhuǎn)換器的調(diào)零電路
對于運放A1,接成非單位增益的同相放大電路時,可在反相輸入端加入校零電路。為保持電壓跟隨器形式。AD707K等運算放大電路提供了失調(diào)電壓調(diào)節(jié)端,只要在兩調(diào)零端接入電位器至電源端,改變兩調(diào)節(jié)端的輸入電流即可實現(xiàn)手動調(diào)零。
參考文獻:
[1]童詩白,華成英.模擬電子技術(shù)基礎[M].4版.北京:高等教育出版社,2001.