智能尋跡小車的研究與開發(fā)

上傳人:1666****666 文檔編號:36386890 上傳時間:2021-10-30 格式:DOC 頁數(shù):39 大?。?.09MB
收藏 版權申訴 舉報 下載
智能尋跡小車的研究與開發(fā)_第1頁
第1頁 / 共39頁
智能尋跡小車的研究與開發(fā)_第2頁
第2頁 / 共39頁
智能尋跡小車的研究與開發(fā)_第3頁
第3頁 / 共39頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《智能尋跡小車的研究與開發(fā)》由會員分享,可在線閱讀,更多相關《智能尋跡小車的研究與開發(fā)(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 材料清單 一、 研究報告 1. 項目成果簡介 2. 項目研究背景和意義 3. 研究計劃 4. 研究內(nèi)容 5. 成果創(chuàng)新點 6.項目研究展望 二、附件材料 附件一:實物電路圖 附件二:實物照片 附件三:源程序清單 三、實物作品 衡陽市第三屆大學生創(chuàng)新大賽相關項目的研究報告 項目名稱:智能尋跡小車的研究與開發(fā) 項目類型:實用型 成果形式:1、研究報告;2、實用作品 參賽學生:陳緒雄、周鋒、蔣晶 指導教師:李祖林、雷軍、李旭華 一、項目成果簡介 本項目使用光電傳感器檢測小車的運動軌跡,金屬傳感器和超聲波傳感器檢測小車周

2、圍的障礙,對小車的相關信息進行采集,采用AVR單片機Atmega128L作為電動小車的尋跡控制,AVR單片機Atmega128L完成算法分析、信息處理和小車的控制。構建了以微處理器為核心、多傳感器的小車信息檢測與融合、聲光報警與LCD數(shù)碼顯示、雙向PWM控制驅動電機的智能小車尋跡系統(tǒng)。電動小車能沿著任意設定的軌跡行走,遇到障礙自動停止5秒并發(fā)出聲光報警,之后能自動倒回按設定的軌跡行走,小車能自動糾偏。經(jīng)過測試,小車能夠按任意設定的軌跡行走流暢。 二、項目研究背景和意義 隨著計算機技術、控制技術、信息技術的快速發(fā)展,工業(yè)的生產(chǎn)和管理進入了自動化、信息化和智能化時代,智能化已經(jīng)成為時代發(fā)展的需

3、要。在柔性自動化生產(chǎn)線、智能倉儲管理及物流配送等領域,當生產(chǎn)現(xiàn)場環(huán)境惡劣時,人工不能完成的任務如物料運輸和裝卸等,可采用智能尋跡小車完成相應的任務?;谏a(chǎn)現(xiàn)場和日常生活的實際需要,研究和開發(fā)智能小車尋跡系統(tǒng)具有十分重要的意義。該項目的研究可以應用于機車頭燈自動尋跡、工廠自動化、倉庫管理、智能玩具和民用服務等領域,可提高勞動生產(chǎn)效率,改善勞動環(huán)境。 三、研究計劃 2007年6月1日---2007年6月20日,收集資料,確定研究內(nèi)容、技術方案、研究路線。(由組內(nèi)3人共同研究)。 2007年6月21日---2007年7月30日,完成小車硬件的電路制作(陳緒雄負責小車整體方案確定、制作電路板,

4、周鋒負責購買元器件和電路焊接,蔣晶負責電路圖繪制)。 2007年8月1日---2007年9月8日,完成小車軟件的編寫和小車整機調試。(三人共同協(xié)作完成)。 2007年9月10日---2008年3月6日,完成成果總結。 四、研究內(nèi)容 1 方案與論證 1.1控制芯片的選擇 方案一:選用AVR單片機Atmega128L,Atmega128L是高性能、低功耗的 AVR 8 位微處理器,64引腳。采用先進的 RISC 結構,具有133 條指令,大多數(shù)可以在一個時鐘周期內(nèi)完成。它具有兩個獨立的預分頻器和比較器功能的8 位定時器/計數(shù)器和兩個具有預分頻器、比較功能和捕捉功能的16 位定時器/

5、計數(shù)器及具有獨立預分頻器的實時時鐘計數(shù)器。片內(nèi)帶有模擬比較器。具有上電復位以及可編程的掉電檢測功能。 其片內(nèi)資源豐富,具有: 8個外部中斷, 4個定時計數(shù)器,53個I/O口,可解除I/O口資源不足的困難。其引腳大多數(shù)都有具有第二功能,功能強大。. 方案二:采用AT89S52單片機,AT89S52 單片機是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。AT89S52有5個中斷源,和3個定時計數(shù)器。 方案三:采用FP

6、GA(現(xiàn)場可編輯門列陣)作為系統(tǒng)控制器。FPGA可以實現(xiàn)各種復雜的邏輯功能,規(guī)模大,集成度高,體積小,穩(wěn)定性好,并且可利用EDA軟件進行仿真和調試。FPGA采用并行工作方式,提高了系統(tǒng)的處理速度,常用于大規(guī)模實時性要求較高的系統(tǒng)。 方案比較:由三種方案可以看出,以Atmega 128L核心可以方便地實現(xiàn)對各個部分的控制和外接,而AT89S52而需要外擴大量的I/O口才能滿足需要,而FPGA的高速處理能力得不到充分發(fā)揮且價格較貴,所以我們選擇方案一。 (2)軌道行程控制方案的選擇 為了使電動車能夠識別黑線不跑離軌道,我們在系統(tǒng)中加裝了光電傳感器和金屬傳感器。 1.2 路面檢測

7、我們采用檢測黑線的方法來控制智能小車的行走軌跡,使用了兩個紅外對管來檢測黑線,同時用超聲波傳感器檢測小車周圍的障礙物。 方案一:采用熱探測器。熱探測器是利用所接收到的紅外輻射后,會引起溫度的變化,溫度的變化引起電信號輸出,且輸出的電信號與溫度的變化成比例,溫度變化是因為吸收熱輻射能量引起的,與吸收紅外輻射的波長沒有關系,即對紅外輻射吸收沒有波長的選擇。但熱探測器對其吸收的紅外輻射波長沒有選擇性,受外界環(huán)境的影響比較大。 方案二;采用光電探測器。光電探測器接收紅外輻射后,由于紅外光子直接把材料的束縛態(tài)電子激發(fā)成傳導電子,由此引起電信號輸出,信號大小與所吸收的光子數(shù)成比例。且這些紅外光

8、子的能量的大小(即紅外光還必須滿足一定的波長范圍),必須滿足一定的要求,才能激發(fā)束縛電子,起激發(fā)作用。光電探測器吸收的光子必須滿足一定的波長,否則不能被吸收,所以受外界影響比較小,抗干擾比較強。基于上面分析,我們采用方案二 1.3 小車運行終點檢測 方案一:采用計算路程的方法來控制。只要將計算出來的路程不斷的與預置的初值進行比較,只要相等說明已經(jīng)到了終點,倒回起點也如此。這種方法不僅計算路程麻煩而且占用了CPU的開銷。 方案二:采用檢測金屬片的方法。只要在運行軌跡的終點放置一塊鐵片,再用金屬傳感器檢測金屬片就可以了,電路簡單、程序采用中斷的方式不會占用很多CPU資源。綜合上述我們采用方案

9、二 1.4 顯示裝置的選擇 方案一:采用美信公司的MAX7219是一款串行共陰極數(shù)碼管動態(tài)掃描顯示的驅動芯片,其峰值段電流可達到40mA最高串行掃描頻率10MHz,典型掃描頻率為1.3MHz,僅用3線串行接口傳送數(shù)據(jù),可直接與單片機接口,用戶可以方便地修改其內(nèi)部參數(shù)以實現(xiàn)多位LED顯示。它內(nèi)含硬件動態(tài)掃描顯示控制電路,每片芯片可同時驅動8位共陰LED。點是控制比較簡單,而且串行顯示只占用很少的I/O口。 方案二:采用點陣型LCD顯示,點陣型LCD雖然占用的I/O口資源多,控制比較復雜,但其功能強大的,顯示信息量大,可以保證良好的用戶模式。它具有顯示質量高、體積小、重量輕、功耗低、輕薄短

10、小、無輻射危險、平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,圖面積效果好,分辨率高,抗干擾能力強等特點等優(yōu)點??紤]到Atmega128 I/O口資源豐富和LCD的眾多優(yōu)點,我們選擇使用LCD顯示。 2 主要電路設計與分析 2.1系統(tǒng)結構框圖 單片機將傳感器送來的數(shù)據(jù)進行處理、算法分析,其輸出信號控制電機并送LCD顯示。光電傳感器負責黑線的檢測,引導智能小車的行使軌跡。金屬傳感器負責前起點和終點的檢測,當金屬傳感器檢測到金屬條時,說明電動小車已經(jīng)到起點或終點,采用超聲波傳感器檢測智能小車的周圍障礙物及其距離,若檢測的距離達到超過給定值,發(fā)出聲光報警,聲音報警信號為“請注意倒車”。系

11、統(tǒng)框圖如圖2.1。 圖2.1 系統(tǒng)框圖 2.2系統(tǒng)模塊理論分析與設計 (1)探測路面黑線的基本原理 當光線照射到路面會反射,由于黑線和地面對光的反射系數(shù)不同,可根據(jù)接收到的反射光強弱,用光電傳感器判斷黑線。光電管基本原理圖如圖2.2。 圖2.2光電管基本原理圖 當光電管檢測不到黑線時,紅外光管接收到反射回來的紅外光,使其輸出由高電平立即跳至低電平。我們在小車上并排加上兩個紅外光電管,黑線置于兩紅外光電管之間,并且將兩個光電管產(chǎn)生的電信號脈沖分別送單片機的PE2和PE3。這樣通過PWM來調節(jié)兩個電機的速度來校正行使路線,電動車行駛狀態(tài)和紅外對管

12、產(chǎn)生的電信號關系如表2-1。 表2-1 電動車行駛狀態(tài)和紅外對管產(chǎn)生的電信號關系 (2)金屬探測模塊 金屬探測模塊主要用于行駛軌跡中金屬片的探測。考慮到金屬一般都是導體,根據(jù)電磁場理論可知,在受到變化的電磁場作用的任何導體,都會產(chǎn)生電渦流。因此,在本系統(tǒng)中采用電感式接近開關實現(xiàn)對金屬片的檢測。電感式接近開關由LC高頻振蕩器和放大處理電路組成,金屬物體接近傳感器的振蕩感應頭時,物體內(nèi)部產(chǎn)生電渦流,當電渦流作用于接近開關時,接近開關振蕩能力衰減,內(nèi)部電路的參數(shù)發(fā)生變化,由此識別出有無金屬物體接近,進而控制開關的通和斷,并以電信號脈沖的形式送入單片機的PD7。電感式接開關內(nèi)部工作原理圖如圖

13、2.3。 圖2.3電感式接開關內(nèi)部工作原理圖 (3)電機驅動模塊 L298是一個4通道邏輯驅動電路,既將邏輯控制電平進行功率放大,可以用于功率驅動的電壓。電機驅動模塊電路如圖2.4所示。 圖2.4 電機驅動模塊電路 PWM(脈沖寬度調制)控制,配用L298驅動電路實現(xiàn)直流電機的調速,非常簡單且調速范圍大,它利用的是直流斬波原理,假設高電平導通,在一個周期T內(nèi)導通時間為t,那么一個周期T內(nèi)的平均電壓,其中=稱為占空比。各周期內(nèi)不同的占空比示例如圖2.5。 圖2.5 各周期內(nèi)不同的占空比示例 電機的轉速與電機兩端的電壓

14、成正比,而電機兩端的電壓與控制波形的占空比成正比,因此電機的速度與占空比成正比,占空比越大,電機轉得越快,當占空比時,電機轉速達到最大。 3 程序設計 主程序流程圖主要包括傳感器輸出中斷的查詢、電平的檢測和電機的響應等。主程序流程圖如圖3.1所示。 圖3.1主程序流程圖 4 功能測試 通過測試,智能小車能按任意設定路線行駛,能實現(xiàn)以下功能: (1) 沿著直線軌跡行使。 (2) 沿著S型設定軌跡行使。 (3) 沿著任何設置的軌跡行使。 (4) 小車行使到達軌跡終點時,自動停留5秒并發(fā)出聲光報警之后自動尋跡倒回行使到起點。 (5) 沿軌跡行使過程中,檢

15、測到障礙物時,自動停止5s,并發(fā)出聲光報警“請注意倒車”。 4 小結 項目設計中采用具有豐富資源的Atmega128單片機和光電傳感器、金屬傳感器、超聲波傳感器等,實現(xiàn)相應信號的檢測與小車的控制,系統(tǒng)結構簡單、穩(wěn)定、具有較高的控制精度、抗干擾能力強,實現(xiàn)了智能小車能按任意軌跡行駛。 五、成果創(chuàng)新點 智能小車能檢測障礙物及其距離,并發(fā)出聲光報警 “請注意倒車” 信號,智能小車能沿任意設定軌跡行駛,具有實際應用價值和推廣價值。 六、項目研究展望 對智能尋跡小車的研究,加裝GPS(全球衛(wèi)星定位系統(tǒng))或加裝基于Internet的接口電路,智能尋跡小車將具有更廣泛的應用前景和使用價

16、值,這也是我們以后的研究方向。 附錄一:實物電路圖 附件二:實物照片 附錄三:程序清單 /********************************************************* This program was produced by the CodeWizardAVR V1.24.1d Standard Automatic Program Generator Copyright 1998-2004 Pavel Haiduc, HP In

17、foTech s.r.l. http://www.hpinfotech.ro e-mail:office@hpinfotech.ro Project : LTPC-3500 Version : 1.0 Date : 2007-6-1 Author : HNHYLEI Company : HNGXY Comments: Chip type : ATmega128L Program type : Appl

18、ication Clock frequency : 8.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 128 *********************************************************/ #include #include #include #include #include //---------

19、-------------------------------------- #define buzzer_led PORTB.0 #define LED1 PORTD.0 #define LED2 PORTD.1 #define LED3 PORTD.2 #define LED4 PORTD.3 #define lpwm_ff PORTB.4 #define lpwm_re PORTA.4 #define rpwm_ff PORTB.7 #define rpwm_re PORTA.5 #define black_l PINE.2 #defin

20、e black_r PINE.3 #define metal_detect PINF.0 #define model PINF.2 //---------------------------------------- 液晶 #define uchar unsigned char #define rs PORTA.7 #define rw PORTB.5 #define en PORTB.6 #define ret PORTA.6 //LCD數(shù)據(jù)數(shù)據(jù)口初始化 #define data PORTC uchar command,data1,data2,com0;

21、uchar lcd_bufl,lcd_bufg;//定義顯示緩沖區(qū) //----------------------------------------------- // Declare your global variables here // This flag is set on USART0 Receiver buffer overflow bit left_run=0; //左走 bit right_run=0; //右走 bit left_ff=1; //左前進 bit right

22、_ff=1; //右前進 bit left_pwm; //用于左PWM bit right_pwm; //用于右PWM //----------- //--------------- bit filter_start=0; //數(shù)字濾波 bit filter_over=0; //數(shù)字濾波 bit black_l1=0; //左黑線1 bit black_l2=0; //左黑線2 bit black_r1

23、=0; //右黑線1 bit black_r2=0; //右黑線2 bit left_turn=0; //左轉 bit right_turn=0; //右轉 bit metal1=0; //金屬1 bit metal2=0; //金屬2 bit mode=0; //測試模式 bit stop_point; //停車點 bit buzzer=0; //蜂鳴 bit lcd_dsp=0;

24、 //LCD刷新 bit read_over; // bit gradient_set=0; // bit stop_status=0; // unsigned char speed_l; //left速度控制量 unsigned char speed_r; //right速度控制量 unsigned char filter_count; //數(shù)字濾波 unsigned char excute_step1;

25、 // unsigned char excute_step2; // unsigned int bcd_temp0=0; //BCD 入口 //------------------------------- unsigned char count1=0; //秒計時 unsigned char count2=0; //轉彎計時 unsigned int cou

26、nt3=0; //停止時間計時 unsigned int count4=0; // unsigned int count5=0; // unsigned int stop_time=0; //停止時間 unsigned int gradient=0; // unsigned int gradient2=0; // unsigned int gradient_old; //

27、 unsigned int gradient2_temp1[8]; // unsigned int filter_temp1[50]; //數(shù)字濾波 unsigned long int filter_sum; unsigned int filter_temp3; //------------------------------ unsigned char j1,k1; //公共循環(huán)變量 unsigned char bcd_temp[5]={0}; //BCD分解值 //---------

28、-------------------------- unsigned int ahead_time=0; //前進時間 unsigned int back_time=0; //倒退時間 //EEPROM----------------------------------------- //----------------------------------------- void bcd_con(unsigned char numb); void clear_lcd();

29、 void lcd_int(); void lcd_set(); void display(); void dis_code1(); void dis_code2(); void write_command(uchar command); void write_data(uchar data0); //----------------------------------------- //---------------------------------------------- // External Interrupt 0 serv

30、ice routine interrupt [EXT_INT0] void ext_int0_isr(void) { // Place your code here } // External Interrupt 4 service routine interrupt [EXT_INT4] void ext_int4_isr(void) { TCNT3H=0x00; TCNT3L=0x00; } // External Interrupt 5 service routine in

31、terrupt [EXT_INT5] void ext_int5_isr(void) { if(filter_start==0) { filter_temp1[filter_count]=(unsigned int)TCNT3H*0xff+(unsigned int)TCNT3L; filter_count++; if(filter_count==50) //60 { filter_count=0; filter_start=1; }

32、 } if(filter_over==1) { filter_over=0; gradient=filter_temp3; read_over=1; } } //----------------------------------------------- // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { //TCNT0=0x06; left_pwm=

33、~left_pwm; if(left_pwm==1) { if(left_turn==1) { TCNT0=255-(speed_l/2); } else { TCNT0=255-speed_l; } } else { if(left_turn==1) { TCNT0=speed_l/2; } else {

34、 TCNT0=speed_l; } } if(left_run==1) { if(left_pwm==1) { if(left_ff==1) { lpwm_ff=1; lpwm_re=0; } else { lpwm_f

35、f=0; lpwm_re=1; } } else { lpwm_ff=0; lpwm_re=0; } } else { lpwm_ff=0; lpwm_re=0; } } //-------------------------------------

36、------------------------ // Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) { // Place your code here TCNT1H=0xff; TCNT1L=0x06; //------------------------前進時間 if(++count1>=128) { count1=0; if(excute_step1==0&&excute_step2

37、!=2) { ahead_time++; } if(excute_step1==2) { back_time++; } lcd_dsp=1; //------------- if(mode==1&&ahead_time<8) { gradient2_temp1[ahead_time]=gradient; } } //------------------------ if(stop_point==1)

38、 //停車計時 { if(++count3>=128) { count3=0; stop_time++; lcd_dsp=1; if( buzzer==1) { buzzer_led=~buzzer_led; LED1=~LED1; LED2=~LED2; LED3=~LED3; LED4=~LED4; } else { buzzer_led=1; LED1=1;

39、 LED2=1; LED3=1; LED4=1; } if(stop_time==5) { stop_point=0; buzzer_led=1; } } } //------------------------ 檢線停止 if(mode==1) { if(stop_status==0) { if(++count4>=35) { count4=0; stop_status=1; }

40、 } if(stop_status==1) { if(++count4>=200) { count4=0; stop_status=0; } } } //------------------------ if(black_l==0) //左循跡 { if(black_l1==1) black_l2=1; black_l1=1; } else { black_l1=0; blac

41、k_l2=0; right_turn=0; count2=0; } if( black_l2==1&&right_turn==0) { right_turn=1; } if(right_turn==1) { if(++count2==150) { count2=0; right_turn=0; } } //------------- if(black_r==0) //

42、右循跡 { if(black_r1==1) black_r2=1; black_r1=1; } else { black_r1=0; black_r2=0; count2=0; left_turn=0; } if( black_r2==1&&left_turn==0) { left_turn=1; } if(left_turn==1) { if(++count2==150)

43、 { count2=0; left_turn=0; } } //------------- //金屬傳感器 if(metal_detect==0) { if(metal1==1) metal2=1; metal1=1; } else { metal1=0; metal2=0; } } //----------------------------------

44、--------- // Timer 2 overflow interrupt service routine interrupt [TIM2_OVF] void timer2_ovf_isr(void) { // TCNT2=0xaf; right_pwm=~right_pwm; if(right_pwm==1) { if(right_turn==1) { TCNT2=255-speed_r/2; } else { TCNT2=255-spee

45、d_r; } } else { if(right_turn==1) { TCNT2=speed_r/2; } else { TCNT2=speed_r; } } if(right_run==1) { if(right_pwm==1) { if(right_ff==1) {

46、 rpwm_ff=1; rpwm_re=0; } else { rpwm_ff=0; rpwm_re=1; } } else { rpwm_ff=0; rpwm_re=0; }

47、 } else { rpwm_ff=0; rpwm_re=0; } } //----------------------------------------- // Timer 3 overflow interrupt service routine interrupt [TIM3_OVF] void timer3_ovf_isr(void) { // Place your code here //TCNT3H=0xff; } /////

48、//////////////////////////////////////////////// 液晶 //LCD初始化 void lcd_int(void) { ret=0; //PORTG=PORTG&0b11110111; delay_ms(2); ret=1; //PORTG=PORTG|0b00001000; delay_us(1); //psb=1;//將PSB置1,通信方式為8BIT數(shù)據(jù)并口 delay_us(1); } //LC

49、D功能設置 void lcd_set(void) { command=0x34;//功能設置--8BIT控制界面,擴充指令集---這個可去掉 write_command(command); command=0x30;//功能設置--8BIT控制界面,基本指令集 write_command(command); command=0x01;//清屏幕顯示,將DDRAM的地址計數(shù)器歸零 write_command(command); command=0x06;//DDRAM的地址計數(shù)器(AC)加1 write_command(command); command=

50、0x0c;//顯示打開,光標關,反白顯示關 write_command(command); } //清屏程序 void clear_lcd(void) { command=0x01; write_command(command); command=0x34; write_command(command); command=0x30; write_command(command); } //寫指令程序 void write_command(uchar command) { delay_ms(5); rs=0; rw=0; d

51、ata=command; en=1; delay_us(2); en=0; } //寫數(shù)據(jù)程序 void write_data(uchar data0) { delay_ms(5); rs=1; rw=0; data=data0; en=1; delay_us(2); en=0; } //LCD顯示程序 void display(void) { command=com0; write_command(command); data2=lcd_bufl; data1=lcd_bufg; write_data(da

52、ta1); data1=data2; write_data(data1); } //-------------------------------------------------- void bcd_con(unsigned char numb) { if(numb==5)goto numb5; if(numb==4)goto numb4; if(numb==3)goto numb3;

53、 if(numb==2)goto numb2; numb5: bcd_temp[4]=bcd_temp0/10000; bcd_temp0=bcd_temp0%10000; numb4: bcd_temp[3]=bcd_temp0/1000; bcd_temp0=bcd_temp0%1000; numb3: bcd_temp[2]=bcd_temp0/100; bcd_temp0=bcd_temp0%100;

54、 numb2: bcd_temp[1]=bcd_temp0/10; bcd_temp[0]=bcd_temp0%10; } //------------------------------------------------------------------------- void digit_filter(void) { //unsigned char filter_temp4; unsigned int filter_temp2; for(j1=0;

55、j1<29;j1++) //58 { for(k1=j1+1;k1<30;k1++) //59 { if(filter_temp1[j1]>filter_temp1[k1]) { filter_temp2=filter_temp1[j1]; filter_temp1[j1]=filter_temp1[k1]; filter_temp1[k1]=filter_temp2; } }

56、 } filter_sum=0; for(j1=10;j1<20;j1++) //49 { filter_sum=filter_sum+filter_temp1[j1]; } filter_temp3=filter_sum/10; filter_over=1; filter_start=0; } //----------------------------------------------------------

57、--------- ///////////////////////////////////////////////////// //全角顯示 //顯示代碼區(qū) void dis_code1(void) { com0=0x81; //衡 lcd_bufl=0xe2; lcd_bufg=0xba; display(); com0=0x82; //陽 lcd_bufl=0xf4; lcd_bufg=0xd1; display(); com0=0x83; //市 lcd_bufl=0xd0;

58、 lcd_bufg=0xca; display(); com0=0x84; //第 lcd_bufl=0xda; lcd_bufg=0xb5; display(); com0=0x85; //三 lcd_bufl=0xfd; lcd_bufg=0xc8; display(); com0=0x86; //屆 lcd_bufl=0xec; lcd_bufg=0xbd; display(); com0=0x93; //大 lcd_bufl=0xf3;

59、lcd_bufg=0xb4; display(); com0=0x94; //學 lcd_bufl=0xa7; lcd_bufg=0xd1; display(); com0=0x95; //生 lcd_bufl=0xfa; lcd_bufg=0xc9; display(); com0=0x89; //科 lcd_bufl=0xc6; lcd_bufg=0xbf; display(); com0=0x8A; //技 lcd_bufl=0xbc

60、; lcd_bufg=0xbc; display(); com0=0x8B; //創(chuàng) lcd_bufl=0xb4; lcd_bufg=0xb4; display(); com0=0x8C; //新 lcd_bufl=0xc2; lcd_bufg=0xd0; display(); com0=0x8D; //競 lcd_bufl=0xf3; lcd_bufg=0xb4; display(); com0=0x8E; //賽 lcd_bufl=0xfc; lcd

61、_bufg=0xc8; display(); } ///////////////////////////////////// void dis_code2(void) { com0=0x80; //前 lcd_bufl=0xb0; lcd_bufg=0xc7; display(); com0=0x81; //進 lcd_bufl=0xf8; lcd_bufg=0xbd; display(); com0=0x82; //時 lcd_bufl=0xb1; lc

62、d_bufg=0xca; display(); com0=0x83; //間 lcd_bufl=0xe4; lcd_bufg=0xbc; display(); com0=0x84; //全角 : lcd_bufl=0xba; lcd_bufg=0xa3; display(); com0=0x90; //停 lcd_bufl=0xa3; lcd_bufg=0xcd; display(); com0=0x91; //止 lcd_bu

63、fl=0xb9; lcd_bufg=0xd6; display(); com0=0x92; //時 lcd_bufl=0xb1; lcd_bufg=0xca; display(); com0=0x93; //間 lcd_bufl=0xe4; lcd_bufg=0xbc; display(); com0=0x94; //全角 : lcd_bufl=0xba; lcd_bufg=0xa3; display(); com0=0x

64、88; //倒 lcd_bufl=0xb9; lcd_bufg=0xb5; display(); com0=0x89; //退 lcd_bufl=0xcb; lcd_bufg=0xcd; display(); com0=0x8a; //時 lcd_bufl=0xb1; lcd_bufg=0xca; display(); com0=0x8b; //間 lcd_bufl=0xe4; lcd_bufg=0xbc; display();

65、 com0=0x8c; //全角 : lcd_bufl=0xba; lcd_bufg=0xa3; display(); com0=0x98; //傾 lcd_bufl=0xe3; lcd_bufg=0xc7; display(); com0=0x99; //斜 lcd_bufl=0xb1; lcd_bufg=0xd0; display(); com0=0x9a; //脈 lcd_bufl=0xf6; lcd_bufg=0xc2;

66、display(); com0=0x9b; //寬 lcd_bufl=0xed; lcd_bufg=0xbf; display(); com0=0x9c; //全角 : lcd_bufl=0xba; lcd_bufg=0xa3; display(); } //------------------------------------------------ //------------------------------------------------- void dis_code3(void) { bcd_temp0=ahead_time; bcd_con(4); if(mode==0) com0=0x85; else com0=0x95; lcd_bufl=bcd_temp[2]+0x30;

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!