强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 資訊 > 經(jīng)驗(yàn) > bitmain,二叉樹 算法

bitmain,二叉樹 算法

來源:整理 時(shí)間:2025-03-01 19:11:10 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,二叉樹 算法

原因就在于Status CreatBitTree(BitTree e) 這個(gè)函數(shù)的參數(shù)BitTree e,既然e是參數(shù),因此你在函數(shù)體內(nèi)用e=NULL; 及e=(BitTree)malloc(sizeof(BitNode)); 來給e賦值都是沒有用的,賦值不會返回給調(diào)用處。修改的話改成引用就可以了。也就是把Status CreatBitTree(BitTree e) 這一行改成Status CreatBitTree(BitTree &e) 就行了。還有:二叉樹算法遞歸中序輸入是abc##de#g##f### (你這應(yīng)該是前序輸入吧?)

二叉樹 算法

2,c語言比特位數(shù)是什么意思

就是一位1bit0或1
void main() int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf("%d",&x); while(x!=0) if(x%2==0) else scanf("%d",&x); } if(i !=0) av1=s1/i; else av1=0; if(j!=0) av2=s2/j; else av2=0; printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);}

c語言比特位數(shù)是什么意思

3,什么是位運(yùn)算

位運(yùn)算通常是指對2進(jìn)制數(shù)的運(yùn)算,常見的位運(yùn)算符有 & 按位與 | 按位或 ^ 按位異或 ~ 取反 << 左移 >> 右移 M<<1是將M轉(zhuǎn)化為2進(jìn)制數(shù),向左移動(dòng)一位。 M>>1是將M轉(zhuǎn)化為2進(jìn)制數(shù),向右移動(dòng)一位。
針對二進(jìn)制位進(jìn)行運(yùn)算的一組運(yùn)算符, 一個(gè)“位”可以存放一位二進(jìn)制數(shù)字0或者1。 一般的邏輯運(yùn)算是針對表達(dá)式是否為真(或假)進(jìn)行計(jì)算的 位操作符是對兩個(gè)二進(jìn)制串進(jìn)行計(jì)算的。 比如一個(gè)長度為8位的無符號整數(shù)73 在機(jī)器里存儲就是01001001,每個(gè)0或1就是一個(gè)“位” M<<1 向左移一位 M>>1 向右移一位

什么是位運(yùn)算

4,十進(jìn)制數(shù)怎么換算成二進(jìn)制數(shù)在線等

Sub bb()On Error GoTo 10:n = 1237s = Hex(n)l = "0000000100100011010001010110011110001001101010111100110111101111"e = ""e = e & Mid(l, CLng("&H" & Mid(s, 1, 1)) * 4 + 1, 4)e = e & Mid(l, CLng("&H" & Mid(s, 2, 1)) * 4 + 1, 4)e = e & Mid(l, CLng("&H" & Mid(s, 3, 1)) * 4 + 1, 4)e = e & Mid(l, CLng("&H" & Mid(s, 4, 1)) * 4 + 1, 4)e = e & Mid(l, CLng("&H" & Mid(s, 5, 1)) * 4 + 1, 4)e = e & Mid(l, CLng("&H" & Mid(s, 6, 1)) * 4 + 1, 4)e = e & Mid(l, CLng("&H" & Mid(s, 7, 1)) * 4 + 1, 4)10:MsgBox "二進(jìn)制為" & eEnd Sub
用除2取余的方法。比如,十進(jìn)制數(shù)7換算成二進(jìn)制數(shù)7/2=3 (余數(shù)1)3/2=1 (余數(shù)1) 1/2=0 (余數(shù)1)除到最后的商是0,就停止了。 結(jié)果從下邊的余數(shù)向上 ,↑ 1 1 1
#include using namespace std; int bit[65], Index; int* ToBinary(int n) { if(n == 0) return bit; bit[Index++] = n%2; ToBinary(n/2); return bit; } int main() { int n; while(cin >> n) { memset(bit,0,sizeof(bit)); Index = 0; ToBinary(n); for(int i = Index-1; i >= 0; i--) cout << bit[i]; cout << endl; } return 0; } 樓上幾位把原理講清楚了,我就給段代碼吧…… 總之就是不停的mod2求余數(shù),就像這段帶碼: bit[Index++] = n%2; ToBinary(n/2); 寫成while循環(huán)就這樣: while(n) { bit[Index++] = n%2; n/=2; }

5,出租車計(jì)價(jià)器的簡介

顯示器,打印機(jī),這五個(gè)零部件,再通過線路連接。,(也可以自己做車速傳感器,采用霍爾效應(yīng)做),車速信號為脈沖信號,采集脈沖信號的頻率就可以得到車速,可以用到芯片的定時(shí)器捕獲。如果車速大于一定的值,采用公里數(shù)計(jì)算價(jià)格,如果車速小于這個(gè)值,就可以用時(shí)間計(jì)算。計(jì)算公里數(shù):應(yīng)用芯片計(jì)算其公里數(shù)。計(jì)算時(shí)間:用到芯片定時(shí)器確定時(shí)間,或者用RTC中斷采集到更精確的時(shí)間,以及價(jià)格,可以用芯片驅(qū)動(dòng)數(shù)碼管或者用芯片驅(qū)動(dòng)液晶空車牌(也可以自己做車速傳感器,采用霍爾效應(yīng)做)來提供計(jì)價(jià)器計(jì)價(jià)的信號。車速信號為脈沖信號,采集脈沖信號的頻率就可以得到車速,可以用到芯片的定時(shí)器捕獲。打印機(jī):打印機(jī)來打印所需要的票據(jù),通過排線連接計(jì)價(jià)器主機(jī)。
一、題目:a題 設(shè)計(jì)并制作一個(gè)用于出租車的計(jì)費(fèi)系統(tǒng)。二、設(shè)計(jì)要求1、基本要求:(1)制作一個(gè)模擬車輪用直流電動(dòng)機(jī)(或步進(jìn)電機(jī))驅(qū)動(dòng),現(xiàn)場模擬以下運(yùn)行情況的收費(fèi)情況:u 假設(shè)車輪的周長為一米。u 起步價(jià)為三公里五元,白天每公里三元,晚上每公里四元。u 運(yùn)行五公里之后,停三分鐘,再運(yùn)行五公里之后乘客下車,由于演示的時(shí)間的需要,途中停車超過一分鐘開始收費(fèi),超過的時(shí)間每分鐘一元。(2)能夠手動(dòng)修改單價(jià)。(3)具有數(shù)據(jù)的復(fù)位功能。(5)數(shù)據(jù)輸出u 單價(jià)輸出 至少2位u 路程輸出 至少2位u 總金額輸出 至少3位2、發(fā)揮部分:(1)能夠在掉電的情況下存儲單價(jià)等數(shù)據(jù)。(2)能夠顯示、調(diào)節(jié)當(dāng)前的系統(tǒng)時(shí)間,并根據(jù)當(dāng)前的系統(tǒng)時(shí)間進(jìn)行計(jì)費(fèi)(6時(shí)至18時(shí)為白天,18時(shí)至第二天6時(shí)為晚上)。(3)有語音報(bào)價(jià)功能。1.2 方案比較與論證1.2.1控制器模塊方案一:采用可編程邏輯器件cpld 作為控制器。cpld可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、io資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模控制系統(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對數(shù)據(jù)的處理速度的要求也不是非常高。且從使用及經(jīng)濟(jì)的角度考慮我們放棄了此方案。方案二:采用凌陽公司的16位單片機(jī),它是16位控制器,具有體積小、驅(qū)動(dòng)能力高、集成度高、易擴(kuò)展、可靠性高、功耗低、結(jié)構(gòu)簡單、中斷處理能力強(qiáng)等特點(diǎn)。處理速度高,尤其適用于語音處理和識別等領(lǐng)域,采用此單片機(jī)能夠很方便的實(shí)現(xiàn)發(fā)揮部分的語音報(bào)價(jià)功能,但此單片機(jī)較難買到,而且價(jià)格稍貴,故放棄了此方案。方案三:采用atmel公司的at89s52單片機(jī)作為主控制器,此單片機(jī)是51內(nèi)核的cmos 8位單片機(jī),片內(nèi)含8k空間的可反復(fù)擦些1000次的flash讀寫存儲器,具有256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),32個(gè)io口,你知道廠房裝修合同樣板。2個(gè)16位可編程定時(shí)計(jì)數(shù)器。其價(jià)格低廉,非常適合用于小系統(tǒng)的開發(fā),開采用isp在線編程,程序的下載和修改也很方便。題目所要求的系統(tǒng)對控制器的要求不高,我們綜合多方面考慮選用了此方案。1.2.2車輪轉(zhuǎn)速探測模塊方案一:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到車輪碼盤的白色部分時(shí),光線發(fā)射強(qiáng)烈,光線照射到車輪碼盤的黑色部分時(shí),光線發(fā)射較弱。因此光敏電阻在白色部分和黑色部分上方時(shí),阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。此方案易受外界光線的干擾。方案二:采用霍爾傳感器最為探測器件,霍爾傳感器的兩部分分別安裝在車輪和固定電路板上,根據(jù)車輪轉(zhuǎn)動(dòng)時(shí)將變化的磁場強(qiáng)度轉(zhuǎn)換為脈沖電信號,此方案能夠使對車輪計(jì)數(shù)精確,工作穩(wěn)定,但成本較高。方案三:采用紅外對管,當(dāng)紅外發(fā)射管發(fā)射出的紅外線照到碼盤的白色部分和黑色部分時(shí),其反射的紅外線強(qiáng)度不同,通過紅外接收管接收后經(jīng)電壓比較器lm311比較后即可輸出高低電平。此方案成本低,容易實(shí)現(xiàn),且靈敏度較高。根據(jù)本系統(tǒng)的設(shè)計(jì)要求,對車輪轉(zhuǎn)速的探測受外界的干擾較小,而采用采用紅外對管工作電路簡單,調(diào)試方便,所以我們選擇此方案。1.2.3時(shí)鐘控制模塊方案一:采用32.768mhz的晶振產(chǎn)生震蕩后經(jīng)多個(gè)74ls161進(jìn)行15次2分頻,產(chǎn)生精確的秒信號,自行搭建時(shí)間電路。此方案具有較好的原創(chuàng)性,但電路搭建起來較為復(fù)雜,工作不夠穩(wěn)定,也不方便調(diào)節(jié)。方案二:直接采用單片機(jī)內(nèi)部的時(shí)鐘信號。這樣能夠大大簡化硬件的設(shè)計(jì),但斷電后不能工作,而且大量占用單片機(jī)有限的內(nèi)存資源。方案三:采用ds專用時(shí)鐘芯片。ds是功能強(qiáng)大的實(shí)時(shí)時(shí)鐘芯片,內(nèi)置鋰電池,內(nèi)置晶振。提供二進(jìn)制數(shù)和bcd碼兩種數(shù)據(jù)表示方式??汕袚Q24小時(shí)制和12小時(shí)制時(shí)間表示。具有鬧鐘功能。可編程方波輸出。提供114字節(jié)非易失存儲空間,用于斷電保存數(shù)據(jù)。由于本系統(tǒng)的很多功能都是基于時(shí)間的基礎(chǔ)上實(shí)現(xiàn)的,因此對時(shí)鐘的要求較高,故我們選擇方案三。1.2.4顯示模塊方案一:用數(shù)碼管進(jìn)行顯示。數(shù)碼管由于顯示速度快,使用簡單,顯示效果簡潔明了而得到了廣泛應(yīng)用,但顯示的內(nèi)容僅僅局限于數(shù)字,人機(jī)界面不夠友好因此我們放棄了此方案。方案二:用lcd液晶1602進(jìn)行顯示。lcd由于其顯示清晰,顯示內(nèi)容豐富、清晰,顯示信息量大,使用方便,顯示快速而得到了廣泛的應(yīng)用。由于本此系統(tǒng)需要顯示的內(nèi)容較多,為達(dá)到較好的人機(jī)交互界面,我們選擇了此方案。1.3最終選擇方案u 采用at89s52單片機(jī)作為主控制器。u 采用紅外對管+lm311作為車輪轉(zhuǎn)速探測模塊。u 采用ds作為實(shí)時(shí)時(shí)鐘控制芯片。u 采用1602lcd液晶作為顯示模塊。u 采用普通的直流電機(jī)和自制的車輪及碼盤作為模擬車輪。1.4系統(tǒng)結(jié)構(gòu)圖按鍵:紅外感應(yīng)模塊mcuat89s52ds系統(tǒng)時(shí)間,斷電保存數(shù)據(jù)lcd液晶顯示模擬車輪圖1 系統(tǒng)結(jié)構(gòu)框架第二章:各部分電路原理與設(shè)計(jì)2.1單片機(jī)主控模塊的設(shè)計(jì)atmel公司的at89s52是51內(nèi)核的單片機(jī)。不用燒寫器而只用串口或者并口就可以往單片機(jī)中下載程序。我們所設(shè)計(jì)的單片機(jī)最小系統(tǒng)板采用的雙龍公司的并口下載標(biāo)準(zhǔn),且在板上留有下載線插座,這樣可以非常方便的實(shí)現(xiàn)通過pc機(jī)的并口往單片機(jī)中下載程序。同時(shí)將穩(wěn)壓電源部分也附在其上,經(jīng)過7805穩(wěn)壓后的+5v電源為除電機(jī)外的其他系統(tǒng)模塊提供工作電源。單片機(jī)控制模塊的示意圖如圖9所示:圖2 單片機(jī)主控模塊單片機(jī)的i/o口分配如下:p0,p2.5~p2.7 lcd模塊p1,p2.0~p2.3,p3.3 實(shí)時(shí)時(shí)鐘模塊p3.0~p3.1,p3.5~p3.7 按鍵開關(guān)p3.2 紅外探測模塊2.2紅外探測模塊的設(shè)計(jì)我們通過將紅外接收二極管的不同壓降與基準(zhǔn)電壓送入電壓比較器lm311進(jìn)行比較,輸出對應(yīng)的高低電平信號,送到單片機(jī)進(jìn)行處理。其電路原理圖如下:圖3 紅外探測模塊在圖3中,可調(diào)電阻rw可以調(diào)節(jié)比較器的門限電壓,經(jīng)示波器觀察,輸出波形相當(dāng)規(guī)則,可以直接夠單片機(jī)查詢使用。由于我們的碼盤采用二分法進(jìn)行設(shè)計(jì),黑白兩種顏色各占原周的一半,因此單片機(jī)每接收到一個(gè)高電平信號則模擬車輪轉(zhuǎn)了一圈,通過計(jì)算每秒鐘單片機(jī)接收到的高電平信號個(gè)數(shù)即可方便的計(jì)算出車輪的速度和所走的里程。2.3模擬車輪的設(shè)計(jì)小車的速度和里程的測量是通過光電對管檢測碼盤實(shí)現(xiàn)的。我們采用普通的直流電機(jī)和玩具車的車輪,自制碼盤,做成模擬車輪,供測量用??紤]到電機(jī)運(yùn)行時(shí)對電壓的干擾,電機(jī)的電源直接由輸入的未經(jīng)過穩(wěn)壓的電源提供,試用期解除勞動(dòng)合同。并設(shè)立獨(dú)立的開關(guān),有人工控制,這樣更符合實(shí)際的工作情況。為防止光電管產(chǎn)生誤動(dòng)作,我們將光電碼盤分為2份黑白相間的圓盤,每份各占圓周的一半,如圖4:圖4 模擬車輪碼盤將其緊貼在車輪的內(nèi)側(cè)。在封裝盒右側(cè)打一個(gè)方孔,紅外對管通過方孔對光電碼盤進(jìn)行檢測就可以得到車輪轉(zhuǎn)過的圈數(shù)。從而計(jì)算出小車前進(jìn)的路程。本系統(tǒng)假設(shè)車輪的周長為1米,假設(shè)單片機(jī)每秒檢測到黑白信號的變化為n,共走了k秒則小車走過的路程為s=nk米。2.4實(shí)時(shí)時(shí)鐘控制模塊的設(shè)計(jì)我們采用的ds功能強(qiáng)大,內(nèi)置鋰電池,內(nèi)置晶振,可以作為實(shí)時(shí)電子鐘,為整個(gè)系統(tǒng)提供時(shí)鐘,很好地解決了題目發(fā)揮部分“能夠顯示、調(diào)節(jié)當(dāng)前的系統(tǒng)時(shí)間,并根據(jù)當(dāng)前的系統(tǒng)時(shí)間進(jìn)行計(jì)費(fèi)(6時(shí)至18時(shí)為白天,18時(shí)至第二天6時(shí)為晚上)”的要求。同時(shí)利用其鬧鐘功能對探測信號進(jìn)行采樣,精確的計(jì)算出車速。由于芯片還提供114字節(jié)非易失存儲空間,因此我們將題目要求的各種價(jià)格的設(shè)置方便的保存在里面,達(dá)到斷電保存數(shù)據(jù)的功能。圖5 時(shí)鐘模塊電路圖2.5人機(jī)交互界面的設(shè)計(jì)為使系統(tǒng)有更良好的人機(jī)交互界面,我們將lcd液晶顯示模塊,操作按鍵,系統(tǒng)復(fù)位開關(guān)和車輪控制開關(guān)集中于封裝盒的面板上,方便用戶操作,如下圖:圖6 人機(jī)交互界面2.6系統(tǒng)總體電路圖圖7 系統(tǒng)總電路圖圖8 系統(tǒng)裝箱后的內(nèi)部實(shí)物圖第三章:系統(tǒng)程序設(shè)計(jì)3.1系統(tǒng)程序所實(shí)現(xiàn)的功能u 實(shí)時(shí)顯示總金額,總里程,車速,已走過時(shí)間,系統(tǒng)時(shí)間。u 可在線修改系統(tǒng)時(shí)間。u 可修改起步價(jià)及起步距離。u 可修改每超過一公里加收費(fèi)用。u 可修改途中停車超過時(shí)間開始收費(fèi)的時(shí)間及單價(jià)。3.2程序任務(wù)分配表1 程序任務(wù)分配外部中斷0(來自車輪)外部中斷1(來自時(shí)鐘)主函數(shù)更新路程,加總價(jià),復(fù)位計(jì)時(shí)器,如果顯示屏使用權(quán)在int0,就更新顯示。顯示屏使用權(quán)用screen變量表示。計(jì)算速度,計(jì)算行車時(shí)間,計(jì)時(shí)并在停車超時(shí)后加錢。根據(jù)顯示屏使用權(quán)判斷是否更新顯示。根據(jù)real_time變量的值決定是否把系統(tǒng)時(shí)間更新到屏幕上。讀取按鍵。決定控制邏輯。3.3主程序流程圖開始初始化lcd、實(shí)時(shí)時(shí)鐘從存儲器讀出單價(jià)等數(shù)據(jù)顯示logo任意鍵空閑狀態(tài),顯示系統(tǒng)時(shí)間有鍵按下空閑狀態(tài)計(jì)費(fèi)狀態(tài)設(shè)置鍵?ny設(shè)置等待按鍵是2鍵?ny初始化計(jì)費(fèi)屏幕,進(jìn)入計(jì)費(fèi)狀態(tài)是3鍵y查看系統(tǒng)時(shí)間,延時(shí)4秒n是4鍵?y停止計(jì)費(fèi),進(jìn)入空閑狀態(tài)n按下2鍵復(fù)位3.4各數(shù)據(jù)在中存儲地址表2 各數(shù)據(jù)在中存儲地址地址變量功能0x0ed//起步價(jià) d 公里 p 角0x0fp0x10day_price//白天每公里價(jià)格,單位:角0x11night_price//夜晚每公里價(jià)格,單位:角0x12x//中途停車超過y分鐘之后按x角每分鐘計(jì)價(jià)0x13y3.5中斷服務(wù)0程序流程圖觸發(fā)中斷路程加一米允許使用顯示屏?計(jì)時(shí)器復(fù)位路程==起步路程?路程>起步路程?yny更新路程顯示向總金額加上公里價(jià)n更新總金額顯示yny公里計(jì)程器復(fù)位中斷2服務(wù)程序的timer_state和timer_count變量counter_1000變量公里計(jì)程器加1公里計(jì)程器==1000?結(jié)束ny向總金額加上公里價(jià)允許使用顯示屏?更新總金額顯示yn公里計(jì)程器復(fù)位0號中斷服務(wù)程序:車輪轉(zhuǎn)動(dòng)一圈觸發(fā)一次3.6 中斷服務(wù)2程序流程圖觸發(fā)中斷系統(tǒng)在計(jì)費(fèi)狀態(tài)?yn需要同步時(shí)間?yn結(jié)束速度=現(xiàn)在的路程—一秒之前的路程行車時(shí)間加一秒計(jì)時(shí)器加一秒計(jì)時(shí)等于最大停車時(shí)間?n總金額加每分鐘價(jià)進(jìn)入停車超時(shí)狀態(tài)y停車超時(shí)狀態(tài)?y每分鐘加錢n將系統(tǒng)時(shí)間和日期同步到屏幕上2號中斷服務(wù)程序:每秒鐘觸發(fā)一次第四章:系統(tǒng)調(diào)試結(jié)果與分析4.1調(diào)試方法與儀器表3 測試儀器設(shè)備清單儀器名稱型號用途數(shù)量pc機(jī)聯(lián)想調(diào)試及下載程序1數(shù)字萬用表uni-t10a測量各電路工作情況1秒表記錄時(shí)間1直流穩(wěn)壓電源alkimia提供電源14.2調(diào)試步驟與測試數(shù)據(jù)4.2.1系統(tǒng)時(shí)間與秒表實(shí)際時(shí)間測量開機(jī)后按“開始”鍵進(jìn)入計(jì)時(shí)工作狀態(tài),同時(shí)啟動(dòng)秒表進(jìn)行及時(shí)對比,分別對工作時(shí)間為1分鐘,2分鐘,3分鐘,4分鐘,5分鐘進(jìn)行測量比較,結(jié)果如表2表4 系統(tǒng)時(shí)間測試比較測試時(shí)間系統(tǒng)顯示時(shí)間秒表測量時(shí)間60s60s59.61s120s120s121.02s180s180s180.66s240s240s238.58s300s300s300.40s4.2..2車輪轉(zhuǎn)速測試本系統(tǒng)的設(shè)計(jì)對探測信號的下降沿進(jìn)行觸發(fā),因此當(dāng)紅外對管探測到的碼盤從白色轉(zhuǎn)為黑色時(shí),單片機(jī)中斷觸發(fā),計(jì)數(shù)器加一。啟動(dòng)計(jì)費(fèi)系統(tǒng),同時(shí)手工轉(zhuǎn)動(dòng)車輪一周,顯示屏上路程顯示1m,在轉(zhuǎn)動(dòng)車輪幾圈,lcd的顯示數(shù)值均與實(shí)際相符。4.2.3計(jì)費(fèi)系統(tǒng)測試表5 不同情況下的計(jì)費(fèi)結(jié)果測試計(jì)費(fèi)時(shí)間段行駛里程行駛時(shí)間中途停車時(shí)間計(jì)費(fèi)價(jià)格白天2781m61s05.0元白天9532m198s026.0元晚上9682m202s033.0元晚上9529m385s182s36.0元4.2.4數(shù)據(jù)設(shè)定及斷電儲存功能在待機(jī)狀態(tài)下按“設(shè)置”鍵,分別修改起步價(jià)4km內(nèi)8元,白天每公里5元,晚上每公里7元,修改系統(tǒng)時(shí)間,然后保存,關(guān)機(jī),斷開電源,等待5分鐘之后重新開機(jī),發(fā)現(xiàn)數(shù)據(jù)為修改后的數(shù)據(jù),即數(shù)據(jù)的設(shè)定及斷電儲存功能有效。4.3測試結(jié)果分析通過調(diào)試和系統(tǒng)測試,發(fā)現(xiàn)系統(tǒng)能很好地實(shí)現(xiàn)預(yù)期的目的,實(shí)現(xiàn)了除語音功能外的其他所有功能,工作性能穩(wěn)定,計(jì)費(fèi)精確。系統(tǒng)時(shí)間實(shí)時(shí)運(yùn)行,準(zhǔn)確,里程的顯示誤差在1m以內(nèi)。很好的完成了賽題的要求。第五章:系統(tǒng)性能總結(jié)及特點(diǎn)5.1 實(shí)現(xiàn)基本要求功能表4 基本功能的實(shí)現(xiàn)情況基本要求功能功能實(shí)現(xiàn)情況基本要求第(1)項(xiàng)實(shí)現(xiàn)基本要求第(2)項(xiàng)實(shí)現(xiàn)基本要求第(3)項(xiàng)實(shí)現(xiàn)基本要求第(4)項(xiàng)實(shí)現(xiàn)基本要求第(5)項(xiàng)實(shí)現(xiàn)5.2 實(shí)現(xiàn)發(fā)揮部分功能表5 發(fā)揮功能的實(shí)現(xiàn)情況發(fā)揮要求功能功能實(shí)現(xiàn)情況發(fā)揮要求第(1)項(xiàng)實(shí)現(xiàn)發(fā)揮要求第(2)項(xiàng)實(shí)現(xiàn)發(fā)揮要求第(3)項(xiàng)未實(shí)現(xiàn)5.3 增加的其他功能u 與計(jì)費(fèi)系統(tǒng)相關(guān)的所有參數(shù)用戶均可修改并儲存。u 兼有萬年歷和數(shù)字電子鐘功能。u 一體化人機(jī)交互界面控制面板,硬件系裝箱,提高機(jī)械強(qiáng)度,安全性能和美觀度。第六章:附錄附錄一 系統(tǒng)程序源代碼/******************************************************************************/// 華南理工大學(xué)自動(dòng)控制大賽高級組a題:出租車計(jì)費(fèi)系統(tǒng)// 參賽隊(duì):dragonfly// 成員:翁新釬// 曾 澤// 羅桂波// 文件名稱:main.c// 文件功能:提供包括主函數(shù)、中斷服務(wù)、lcd顯示及按鍵操作等功能函數(shù),// 實(shí)現(xiàn)對紅外探測到的信號進(jìn)行處理、顯示功能和系統(tǒng)設(shè)置。// 建立時(shí)間:2008.4.28// 更新時(shí)間:2008.5.10// 文件版本:v1.5/******************************************************************************/#include"test_.c"#define system_state_idle 0#define system_state_run 1#define int0 1#define int1 2#define main 4/***** 按鍵定義 *****/sbit key1=p3^5;sbit key2=p3^6;sbit key3=p3^7;sbit key4=p3^0;sbit key5=p3^1;/*** 全局變量 ***/char code *day[]=int distance=0,min_distance=3000;char min_price=50; //3000m,50角char price=30; //角/kmint sum=0; //分char speed; //(m/s)int counter_1000=0;int last_distance=0;char max_stop_time=1; //minutechar price_per_minute=10; //角char hh,mm,ss; //timebit timer_state=0; //freeint timer_count=0;char system_state=system_state_idle; //系統(tǒng)狀態(tài)char screen=main; //把lcd顯示屏的使用權(quán)分配給mainbit real_time=0; //控制外部中斷2是否要把系統(tǒng)時(shí)間和日期//更新到lcd屏幕上/* 函數(shù)聲明 */char getkey(); //等待一個(gè)按鍵按下,返回鍵碼void logo(); //開機(jī)logovoid init_prices(); //從的數(shù)據(jù)存儲區(qū)讀出數(shù)據(jù)void update_distance(); //計(jì)價(jià)過程中負(fù)責(zé)更新屏幕上顯示的路程void lcd_write_int(int i); //向lcd寫一個(gè)整數(shù)void update_time(); //計(jì)價(jià)過程中負(fù)責(zé)更新屏幕上顯示的行車時(shí)間void update_speed(); //計(jì)價(jià)過程中負(fù)責(zé)更新屏幕上顯示的速度void update_sum(); //計(jì)價(jià)過程中負(fù)責(zé)更新屏幕上顯示的總金額void set(); //設(shè)置void display_time(); //顯示系統(tǒng)時(shí)間 hh:mm:ssvoid display_date(); //顯示日期 20xx-xx-xxvoid idle_state_screen_init(); //進(jìn)入空閑狀態(tài)屏幕初始化void run_screen_init(); //進(jìn)入計(jì)費(fèi)狀態(tài)屏幕初始化void set_time(); //設(shè)置系統(tǒng)時(shí)間void set_start_price(); //設(shè)置起步價(jià)void set_price(); //設(shè)置行車價(jià)格void set_wait_price(); //設(shè)置中途停車的價(jià)錢附錄二 系統(tǒng)說明書一、 人機(jī)交互界面圖9 人機(jī)交互界面lcd顯示屏2 41 3 5二、按鍵功能2:開始計(jì)費(fèi),停止計(jì)費(fèi)后用來復(fù)位。4:停止計(jì)費(fèi)。1:進(jìn)入設(shè)置界面。3:設(shè)置過程中用來切換設(shè)置項(xiàng),計(jì)費(fèi)過程中查看系統(tǒng)時(shí)間和日期。5:改變數(shù)字大小。三、系統(tǒng)描述:1、開機(jī)首先顯示logo,如圖10。按任意鍵繼續(xù)。圖10 開機(jī)logo2、系統(tǒng)空閑,顯示時(shí)間、日期和星期幾。圖11 空閑時(shí)顯示電子鐘3、按2鍵開始計(jì)費(fèi)?;蛘甙?鍵進(jìn)入設(shè)置。4、計(jì)費(fèi):界面顯示總金額,路程,速度,行車時(shí)間。圖12 開始計(jì)費(fèi)界面按3查看系統(tǒng)時(shí)間,4秒鐘后自動(dòng)返回計(jì)費(fèi)界面。按1進(jìn)入設(shè)置界面。四、系統(tǒng)設(shè)置:無論系統(tǒng)工作狀態(tài),按下1鍵進(jìn)入設(shè)置界面。設(shè)置界面有4個(gè)。a. 設(shè)置系統(tǒng)時(shí)間和日期。(set-t)用3鍵移動(dòng)閃爍的光標(biāo)到要進(jìn)行設(shè)置的位,按5鍵改變數(shù)值大小。按1轉(zhuǎn)入下一個(gè)設(shè)置界面。圖13設(shè)置系統(tǒng)時(shí)間和日期b. 設(shè)置起步價(jià)。(set start price)操作同a。圖14設(shè)置起步價(jià)c. 設(shè)置價(jià)格。(set price)包括白天的價(jià)格和夜晚的價(jià)格。操作同a。圖15設(shè)置價(jià)格
文章TAG:二叉樹bitmain二叉樹算法

最近更新

相關(guān)文章