萬向輪編程
1. 程序開發中什麼叫造輪子
造輪子的含義:明知道你做的不可能比前輩做得更好,卻仍然堅持要做。比如,車輪子是圓形的,這是大家公認的最合適的形狀。而自己非要發明另一種形狀的輪子,這種行為就叫「重復發明輪子」,即「造輪子」。
(1)萬向輪編程擴展閱讀
軟體開發是根據用戶要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和應用軟體,並不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟體的一部分。
軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模塊設計、編程和調試、程序聯調和測試以及編寫、提交程序。
2. 什麼才算是程序員真正的編程能力
系統編程能力體現在把已有的代碼拿來並變成更好的代碼,體現在把沒用的代碼拿來並變成有用的代碼,體現在把一個做好的輪子拿來能畫出來輪子的設計藍圖,並用道理解釋出設計藍圖中哪些地方是關鍵的,哪些地方是次要的,哪些地方是不容觸碰的,哪些地方是還可以改進的。
如果你一點不懂理論,還是應該學點的。對於系統性能的設計上,演算法和數據結構就像在自己手頭的錢一樣,它們不是萬能的,但不懂是萬萬不行的。
怎麼提高系統編程能力呢?
土辦法:多造輪子。
自己多寫代碼。就像學畫畫要畫雞蛋一樣,不是這世界上沒有人會畫雞蛋,但畫雞蛋能馴服手指,感受陰影線條和筆觸。所以,自己多寫點東西吧。寫個編譯器?渲染器?操作系統?web伺服器?web瀏覽器?部件都一個個換成自己手寫的,然後和已有的現成部件比一比,看看誰的性能好,誰的易用性好?好在哪兒?差在哪兒?為什麼?
更聰明一點的辦法:多拆輪子。
多研究別人的代碼是怎麼寫的。然而這個實踐起來經常很難。原因:大部分工業上用的輪子可能設計上的思想和技術是好的,都設計和製造過程都很爛,裡面亂成一團,讓人乍一看毫無頭緒,導致其對新手來說非常難拆。這種狀況其實非常糟糕。所以,此辦法一般只對比較簡單的輪子好使,對於復雜的輪子,請量力而行。
輪子不好拆,其實是一個非常嚴重的問題。重復發明輪子固然是時間的浪費,但當輪子復雜而又不好拆的時候,尤其是原來造輪子的人已經不在場的時候,重新發明和建造輪子往往會成為無奈之下最好的選擇。IT培訓http://www.kmbdqn.cn/認為這是為什麼工業界在明知道重復發明/製造輪子非常不好的情況下還在不斷重復發明/製造輪子的根本原因。
程序本質是邏輯演繹的形式化表達,記載的是人類對這個世界的數字化理解。不能拆的輪子就像那一篇篇丟了曲譜的宋詞一樣,能讀,卻不能唱。
多造輪子,多拆好拆的小輪子,應該是提高編程能力最好的辦法了。
3. 樂高機器人巡線抓物怎樣編程
一、前言;在機器人競賽中,「巡線」特指讓機器人沿著場地中一;二、光感中心與小車轉向中心;以常見的雙光感巡線為例,光感的感應中心是兩個光感;所以在實際操作中,一般通過程序與結構的配合,在程;三、車輛結構;巡線任務的核心是讓機器人小車按照場地中畫出的路線;1、前輪驅動;前輪驅動的小車一般由兩個動力輪和一個萬向輪構成,;2、後輪驅動;後輪驅動的小車結構和轉向中心與
一、前言
在機器人競賽中,「巡線」特指讓機器人沿著場地中一條固定線路(通常是黑線)行進的任務。作為一項搭建和編程的基本功,巡線既可以是獨立的常規賽比賽項目,也能成為其他比賽項目的重要技術支撐,在機器人比賽中具有重要地位。
二、光感中心與小車轉向中心
以常見的雙光感巡線為例,光感的感應中心是兩個光感連線的中點,也就是黑線的中間位置。而小車的轉向,是以其車輪連線的中心為圓心進行的。很明顯,除非將光感放置於小車轉向中心,否則機器人在巡線轉彎的過程中,探測線路與做出反應之間將存在一定差距。而若將光感的探測中心與轉向中心重合,將大幅提升搭建難度並降低車輛靈活性。因此,兩個中心的不統一是實際存在的,車輛的轉向帶動光感的轉動,同時又相互影響,造成機器人在巡線時對黑線的反應過快或者過慢,很多巡線失誤由此產生。
所以在實際操作中,一般通過程序與結構的配合,在程序中加入一定的微調動作來彌補其中的誤差。而精準的微調,需要根據比賽場地的實際情況進行反復調試。
三、車輛結構
巡線任務的核心是讓機器人小車按照場地中畫出的路線行進,因此,根據任務需要選擇合適搭建方式是完成巡線任務的第一步。
1、前輪驅動
前輪驅動的小車一般由兩個動力輪和一個萬向輪構成,動力輪位於車頭,通過左右輪胎反轉或其中一個輪胎停轉來實現轉向,前者的轉向中心位於兩輪胎連線中點,後者轉向中心位於停止不動的輪胎上。由於轉向中心距離光感探測中心較近,可以實現快速轉向,但由於機器人反應時間的限制,轉向精度有限。
2、後輪驅動
後輪驅動的小車結構和轉向中心與前輪驅動小車類似,由於轉向中心靠後,相對於前輪驅動的小車而言,位於車尾的動力輪需要轉動較大的幅度,才能使車頭的光感轉動同樣角度。因此,後輪驅動的小車雖轉向速度較慢,但精度高於前輪驅動小車。對於速度要求不高的比賽而言,一般採用後輪驅動的搭建方式。
3、菱形輪胎分布
菱形輪胎分布是指小車的兩個動力輪位於小車中部,前後各有一個萬向輪作為支撐。這樣的結構在一定程度上可以視為前輪驅動和後輪驅動的結合產物,轉向速度和精度都介於兩者之間。這種結構的優勢在於轉向中心位於車身中部,轉彎半徑很小,甚至能以自身幾何中心為圓心進行原地轉向,適合適用於轉90°彎或數格子行進等一些比較特殊的巡線線路。
這種結構最初應用於RCX機器人足球上,居中的動力源可以讓參賽選手為機器人安裝更多的固定和防護裝置,以適應比賽中激烈的撞擊,具有很好的穩定性。而對於NXT機器人而言,由於伺服電機的形狀狹長不規律,將動力輪位於車身中部的做法將大幅提升搭建難度,並使車身重心偏高,降低轉彎靈活性。
4、四輪驅動
四輪驅動的小車四個輪胎都有動力,能較好地滿足一些比賽中爬坡任務的需要。小車的轉向中心靠近小車的幾何中心,因此能進行原地轉彎運動,具有較好的靈活性,特別適用於轉90°彎或數格子行進等任務一些比較特殊的巡線線路。雖然與後輪驅動小車相比,轉向中心比較靠前,轉向精度較小,但四輪驅動小車沒有萬向輪,轉彎需要靠四個輪胎同時與地面摩擦,加大轉彎的阻力,因而轉彎精度應介於菱形輪胎分布的小車和後輪驅動小車之間。
四輪驅動的小車最大優勢在於具有普遍適應性,熟練掌握此結構的參賽選手能在參加FLL工程挑戰賽、WRO世界機器人奧林匹克等一些比較復雜的比賽中占據一定優勢。
四、編程方案
1、單光感巡線
單光感巡線是巡線任務中最基礎的方式,在行進過程中,光感在黑線與白色背景間來回晃動,因此,這種巡線只能用兩側電機交替運動的方式前進,行進路線呈「之」字形。這種巡線方式結構簡單易於掌握,但由於只有一個光感,對無法在完成較為復雜的巡線任務(如遇黑線停車、識別線路交叉口等),且速度較慢。
基本思路:光感放置於黑線的左側,判黑則左輪不動右輪前進,判白則右輪不動左輪前進,如此交替循環。參考程序如下圖:
2、單光感巡線+獨立光感數線
在很多比賽中,機器人需要做的不僅僅是沿著黑線行進,還需要完成一些其他任務,如在循跡路線上增加垂直黑線要求停車、放置障礙物要求躲避等內容。此時,單光感巡線已不能滿足要求。下面以要求定點停車為例,簡要介紹單光感巡線+獨立光感數線的編程模式。
基本思路:在此任務中要求在垂直黑線處停車,則需要跳出單光感巡線的循環程序體系,可以通過設置循環程序的條件實現這一功能。由於程序的設定,負責巡線的3號光感在行進時始終位於黑線的左側,不會移動到黑線右側的白色區域,因此在黑線右側設置一個光感(4號)專門負責監視行進過程中黑
線右側的區域,當此光感判黑時,即可判斷出小車行進到垂直黑線處,於是終止單光感巡線的循環程序,執行規定的停車任務,然後向前行進一小段距離駛過垂直黑線,繼續單光感巡線任務。參考程序如下圖:
上述程序只適用於停車一次的需要,在實際比賽中需以定點停車、蔽障任務為基點,將巡線賽道劃分為若干個小段依次設定程序,或採用兩重循環的程序,重復執行巡線→→定點停車任務:
3、雙光感巡線
雙光感巡線是機器人競賽中最常見的巡線模式,兩個光感分別位於黑線兩側,以夾住黑線的方式行進。根據兩個光感讀取的數值不同,可以將光感的探測結果分為左白右黑、左黑右白、雙白和雙黑四種情況,根據這四種探測結果,分別執行右轉、左轉、直行和停車四種動作的程序命令。由於這種方法能讓兩個電機同時工作,機器人運動的速度較快,同時採取兩個光敏監測黑線,精度也有所提高。
基本思路:使用兩重光感分支程序疊加,為四種探測結果設定與之對應的程序反應,形成循環程序結構,參考程序如下圖:
4. 軟體行業里的專業造輪子是什麼意思 是熟練自己開發框架 框架是什麼,不管哪一種編程語言都有框架嗎
造框架就是搭架子(類似於做模板);造輪子就是填充框架(按照模板寫子程序)。
每種語言都有其「行文」的風格。
5. 我用一個輪子轉動一周可以產生500個脈沖做輸入端,利用計數器計算它的脈沖個數,用三菱PLC怎樣編程
輪子轉動多快? plc最好用晶體管的。要不然速度跟不上。 D70裡面的數字就是脈沖數 。脈沖輸入端接X0。編碼器那部分不用這程序,只要將脈沖輸出點接到X0就可以。
6. 程序員所說的「輪子」是什麼東西創造它有什麼意義
我覺得程序員這個工作是值得誇獎的,我很佩服這群人,因為他們用自己的手指敲出代碼,完成編程。
放到編程中,就是說業界已經有公認的軟體或者庫了。你明知道自己不可能比它做得更好,卻還堅持要做。作為練習,造輪子可以增加自己的經驗,很多事情看起來簡單,但只有自己動手,才會發現其中的難點。當然實際開發中也有很多情況不得不造輪子,比如希望做到自主知識產權、刷 KPI 之類的;或者造輪子的人真的覺得自己開發的版本有更強的功能。
7. 51單片機智能小車製作,求通俗易懂的講解
系統的單片機程序:
#include"reg52.h"
#definedet_Dist2.55//
單個脈沖對應的小車行走距離,其值為車輪周長
/4#defineRD9//
小車對角軸長度。
#definePI3.1415926
#defineANG_9090
#defineANG_90_T102
#defineANG_180189/
全局變數定義區。
/sbitP10=P1^0;//
控制繼電器的開閉sbitP11=P1^1;//
控制金屬接近開關。
(7)萬向輪編程擴展閱讀:
控制器部分:接收感測器部分傳遞過來的信號,並根據事前寫入的決策系統(軟體程序),來決定機器人對外部信號的反應,將控制信號發給執行器部分。好比人的大腦。
執行器部分:驅動機器人做出各種行為,包括發出各種信號(點亮發光二極體、發出聲音)的部分,並且可以根據控制器部分的信號調整自己的狀態。
對機器人小車來說,最基本的就是輪子。這部分就好比人的四肢一樣。 感測器部分:機器人用來讀取各種外部信號的感測器,以及控制機器人行動的各種開關。好比人的眼睛、耳朵等感覺器官。
8. 由光電感測器感應的單片機控制電動機系統
樓主你這里的光電開關又叫光電對管(一個紅外發射管和一個基極內接的感光三極體)因為這是循跡小車我選用rpr220,我以上傳電路圖
我補充一句光電耦合器原理也類似光電對管只不過把發光管和感光管鑲嵌在內部,而且值得注意的是光電耦合器規格只有多少電壓的,我沒有聽說有多少電流的,要用光耦還不如用三極體更直接。其實不推薦使用光耦做驅動,我的電路就是使用l298n驅動12v電機
順便說一下,電路圖里有一個電機接一個電容主要是針對電機調速,而我的電機靈敏度不好,加一個電容起緩沖作用,而l298晶元的電路典型法中沒有。
我最近做了個循跡小車結題報告如下。。。
其實是否用光電隔離取決於你驅動的電機的電流大小如果電流不到1安不用光電耦合也行。。。光耦驅動好像不行,不太穩定
測速用碼盤的話最好做的越密越好,否則實際運行中輪子會晃動等等很多原因使結果誤差很大,因為一般光電開關都會有聚光器,很小的晃動都能感覺到
循跡小車
製作人:李靜
摘要:通過製作小車可以加深對單片機控制的熟練程度,同時初步學習項目開發的過程。
小車按照給定的路線行走,有定時,顯示運行時間,計時,粗測行走距離等功能。
一、設計任務:
1、設計要求
(1)自動尋跡小車開始處於設置模式下,通過按鍵設置運行時間,完成設置時間後,按下開始鍵小車啟動,同時顯示當前運行的時間。
(2)小車按指定路線運行,自動區分直線軌道和彎路軌道,在指定彎路處拐彎,實現靈活前進、轉彎等功能。
(3)小車行走在預設的時間後,自動停止,數碼管顯示行走的時間,3秒後顯示行走距離。
(4)中途可以按右鍵強制停止,提前結束,顯示行走時間,距離。
2、小車循跡的原理
這里的循跡是指小車在白色地板上循黑線行走,通常採取的方法是紅外探測法。
紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點,在小車行駛過程中不斷地向地面發射紅外光,當紅外光遇到白色紙質地板時發生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機就是否收到反射回來的紅外光為依據來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應超過3cm。
二、方案論證:
根據設計要求,本系統主要由控制器模塊、電源模塊、尋跡感測器模塊、直流電機及其驅動模塊、電壓比較模塊等模塊構成。
為較好的實現各模塊的功能,我們分別設計了幾種方案並分別進行了論證。
3.1車體設計
方案1:購買玩具電動車。購買的玩具電動車具有組裝完整的車架車輪、電機及其驅動電路。但是一般的說來,玩具電動車具有如下缺點:首先,這種玩具電動車由於裝配緊湊,使得各種所需感測器的安裝十分不方便。其次,這種電動車一般都是前輪轉向後輪驅動,不能適應該題目的方格地圖,不能方便迅速的實現原地保持坐標轉90度甚至180度的彎角。再次,玩具電動車的電機多為玩具直流電機,力矩小,空載轉速快,負載性能差,不易調速。而且這種電動車一般都價格不菲。因此我們放棄了此方案。
方案2:自己製作電動車。經過反復考慮論證,我們制定了左右兩輪分別驅動,前萬向輪轉向的方案。即左右輪分別用兩個轉速和力矩基本相同的直流電機進行驅動,車體首部裝一個萬向輪。由此可以輕松的實現小車坐標不變的90度轉彎。
在安裝時我們保證兩個驅動電機同軸。當小車前進時,左右兩驅動輪與前萬向輪形成了三點結構。這種結構使得小車在前進時比較平穩,可以避免出現後輪過低而使左右兩驅動輪驅動力不夠的情況。為了防止小車重心的偏移,前萬向輪起支撐作用。
對於車架材料的選擇,我們經過比較選擇了鋁合金。用有鋁合金做的車架比塑料車架更加牢固,比鐵制小車更輕便,美觀。
3.2控制器模塊
方案1:採用stc宏晶公司的stc89c52單片機作為主控制器。stc89c5是一個低功耗,高可靠性,超低價,無法解密,高性能的8位單片機,片內含32k空間的可反復擦寫100,000次的Flash只讀存儲器,32個IO口,且stc系列的單片機可以在線編程、調試,方便地實現程序的下載與整機的調試。
從方便使用的角度考慮,我們選擇了此方案。
3.3電源模塊
方案1:採用12V蓄電池為直流電機供電,將12V電壓降壓、穩壓後給單片機系統和其他晶元供電。蓄電池具有較強的電流驅動能力以及穩定的電壓輸出性能。雖然蓄電池的體積過於龐大,在小型電動車上使用極為不方便,但由於我們的車體設計時留出了足夠的空間,並且蓄電池的價格比較低。因此我們選擇了此方案。
綜上考慮,我們選擇了此方案。
3.4穩壓模塊
方案1:用一個7805直接降壓,用大散熱片。雖然結構,原理簡單,但電流過大,使電路不穩定,容易燒壞穩壓塊我們放棄了此方案。
方案2:直接用兩7805把電壓直接穩壓到5V,理論上由於降壓過大容易燒穩壓塊,用兩個7805並聯。但兩個穩壓塊出現饋贈問題,後用修改電路解決此問題,我們最後選擇了此方案
3.5尋跡感測器模塊
方案1:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環境光線的變化而變化。當光線照射到白線上面時,光線發射強烈,光線照射到黑線上面時,光線發射較弱。因此光敏電阻在白線和黑線上方時,阻值會發生明顯的變化。將阻值的變化值經過比較器就可以輸出高低電平。
但是這種方案受光照影響很大,不能夠穩定的工作。因此我們考慮其他更加穩定的方案。
方案2:用RPR220型光電對管。RPR220是一種一體化反射型光電探測器,其發射器是一個砷化鎵紅外發光二極體,而接收器是一個高靈敏度,硅平面光電三極體。
RPR220採用DIP4封裝,其具有如下特點:
塑料透鏡可以提高靈敏度。
內置可見光過濾器能減小離散光的影響。
體積小,結構緊湊。
當發光二極體發出的光反射回來時,經過lm339電壓比較晶元,通過對門限電壓進行比較,輸出高低電平,通過調整門限電壓可以調整感測器單元的靈敏度。此光電對管調理電路簡單,工作性能穩定。
因此我們選擇了方案2。
3.6電機模塊
本系統為智能電動車,對於電動車來說,其驅動輪的驅動電機的選擇就顯得十分重要。由於本實驗要實現對路徑的准確定位和精確測量,我們綜合考慮了一下兩種方案。
方案1:採用直流減速電機。直流減速電機轉動力矩大,體積小,重量輕,裝配簡單,使用方便。由於其內部由高速電動機提供原始動力,帶動變速(減速)齒輪組,可以產生較大扭力。
因我們用軟體對電機調速,實際值要比這小一些
注意:在實際計算時用的是理論值。
能夠較好的滿足系統的要求,因此我們選擇了此方案。
3.7電機驅動模塊
方案1:採用專用晶元L298N作為電機驅動晶元。L298N是一個具有高電壓大電流的全橋驅動晶元,它相應頻率高,一片L298N可以分別控制兩個直流電機,而且還帶有控制使能端。用該晶元作為電機驅動,操作方便,穩定性好,性能優良。
方案2:對於直流電機用分立元件構成驅動電路。由分立元件構成電機驅動電路,結構簡單,價格低廉,在實際應用中應用廣泛。但是這種電路工作性能不夠穩定。
因此我們選用了方案1。
三、分析與計算:
1、感測器模塊的設計
因此我們考慮用比較器的方案。
在圖中,可調電阻RV1可以調節比較器的門限電壓,而且經試驗驗證給此電路供電的電池的壓降較小。因此我們選擇此電路作為我們的感測器檢測與調理電路。
2、尋跡光電對管的安裝
考慮到設計要求,本次設計僅用4對光電感測器就能完成設計要求,採用直線型排列,中間2對感測器用來校正小車的尋跡路線,保證小車運行的直線性。兩側的感測器用來檢測小車過線,可以實現小車的轉彎。
4、電機驅動電路的設計
我們採用電機驅動晶元L298N作為電機驅動,驅動電路的設計如圖7所示:
L298N的5、7、10、12四個引腳接到單片機上,通過對單片機的編程就可以實現兩個直流電機的PWM調速以及正反轉等功能。這里的二極體作用是釋放電機線圈的自感電能
電容c3起緩沖作用,經過試驗在調速時下方的電機接收的是一個高脈沖的電流,由於直流電機靈敏性不是很好,我們也考慮用周期長的脈沖,但由於掃描數碼管就會慢,數碼管就會出現顫動。綜合考慮,我們選擇接電容起緩沖作用。
4、測量距離設計
我們採用用一個光電對管感應輪子黑白條來算出輪子轉動的角度間接測出行走的距離。
在實際中會出現輪子打滑現象,黑白紙帶表面不光滑,不平整,輪子軸不牢固,內外搖晃,由於rpr220有聚光器即使非常小的變化都會有反應。通過實際測試感測器發出的信號要比理論大的多,在電池電量過低時,這種現象會更加不準,無規律可循(有時候大,有時候小)。即使在電量足的情況下也有很大誤差,超過一定距離,結果已經沒有意義,所以我們限定最大估測距離在6米左右,因此此設計為粗測距離。
四、總電路圖及元器件清單
經過反復論證,我們最終確定了如下方案:
(1)車體用鋁合金車架手工製作。
(2)採用stc89c52單片機作為主控制器。
(3)用12V蓄電池為直流電機供電,將12V電壓經兩個7805(帶大散熱片)並聯降壓、穩壓後為單片機系統和其他晶元供電。
(4)用RPR220型光電對管進行尋跡。
(5)L298N作為直流電機的驅動晶元。
五、軟體實現
3.1主程序流程圖
我們所設計的軟體的主程序流程圖如圖所示:
六、測試:
七、創新點
本作品改進了lm339電壓比較器接控制門限電壓的電阻的方式,沒有採用接4個變阻器,用的是統一接一個變阻器,這樣方便調整靈敏度。在光電對管感測器電路上也有改變,直接把發射極和集電極接在5V電源上,這樣可以使電流更大,試驗證明當接通時電流不足以燒壞三極體。
直流並聯了電容,電容c3起緩沖作用,經過試驗在調速時下方的電機接收的是一個高脈沖的電流,由於直流電機靈敏性不是很好,我們也考慮用周期長的脈沖,但由於掃描數碼管也會慢,數碼管就會出現顫動,我們同時考慮用時鍾中斷掃描刷新數碼管,但那樣使中斷頻繁發生(大約50ms)而且數碼管刷新一次用時也會很長(大約24ms),造成中斷過長,那樣會大大加大整個循環周期,基本看不到數碼管顯示連續的數。綜合考慮,我們選擇接電容起緩沖作用。
八、心得體會
P0要想用做io口時必須加上拉電阻,即使用上拉電阻驅動能力也不怎麼好。本作品用共陰數碼管,驅動電路設計比較復雜,數字不夠亮,最好用共陽數碼管,加上三極體驅動可能效果會好一些。
由於單片機高頻的對數碼管進行掃描,在程序設計的時候就要求主程序的周期不能過長,這對於我們小車執行尋跡,調速,定時,計時,測距,轉彎等功能的程序要求是非常高的,經過我綜合考慮後決定主函數只有刷新數碼管和探測黑線的功能剩下的所有功能都用中斷處理,同時要求產生的中斷時間不能過長。這些就造就了我的程序到目前為止已經有350行的長度。
我們最初設計精確測量距離,但誤差不可避免,由於硬體的局限性,尊重事實,我們降低了標准。以後可以在此改進,擴展。
在整個測試階段我們充分考慮程序功能的連續性和兼容性,由於89c52單片機速度的局限,同時程序需要實時對數碼管高速的刷新頻率我們不能設計車太高的速度。經過反復測試綜合考慮我們採用目前的方案
九、結束語
我們的尋跡小車在完成設計要求的前提下,充分考慮到了外觀、成本等問題,在性能和價格之間作了比較好的平衡。由於設計要求並不復雜,我們沒有在電路中增加冗餘的功能。
由於作者水平的有限,部分觀點存在錯誤,希望指正,指教,對此表示感謝。
特別感謝:
張洪軍老師和實驗室老師的指導,及接偉權,張新濤,黃紹軍等學長的建議和指教,還有陳振宇,吳曠和全組成員,沒有你們就沒有我們今天。
2010年5月
李靜
程序片段
/*******************************************
數碼管刷新函數
********************************************/
voiddisplay(ucharqw,ucharbw,ucharsw,uchargw)//顯示函數
{
P2=0xe0;
P1=table[qw];
delay(6);
P2=0xd0;
P1=table[bw];
delay(6);
P2=0xb0;
P1=table[sw];
delay(6);
P2=0x70;
P1=table[gw];
delay(6);
P2=0x0f;//
}
/*******************************************
任務初始化函數
********************************************/
voidinit0()任務1初始化函數
{
EA=1;
EX0=1;
EX1=1;
IT1=IT0=1;
P0=0x00;
flag=1;
jishu=0;//
}
voidinit()//任務2初始化函數
{
EA=1;
TH0=(65536-50000)/256;//初始化加1計數器
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
TH1=(65536-50000)/256;//初始化加1計數器
TL1=(65536-50000)%256;
ET1=1;
TR1=1;
TMOD=0x11;
dsh=(qw*10+bw)*60;//
jishu=1;//
}
voidjiesu()
{
if(flag2==0)
{
flag1=1;
flag2=1;
cnt1=0;
}
ET0=0;
P0=0;
display(qw,bw,sw,gw);
}