freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于gps定位系統的公交車自動報站系統-資料下載頁

2024-12-06 02:27本頁面

【導讀】本系統設計的是基于GPS定位系統的公交車自動報站系統。硬件上是由單片機。、液晶顯示模塊、GPS接受器、SPR模組等組成。能夠實現衛(wèi)星定位,公交車。語音報站等功能。是否到達預設的各個站點。本系統的優(yōu)越性主要體現在通過GPS對公交車進行實時定位,無需人工干預,便可準確無誤的進行自動報站,以實現朽能化和高可靠性。

  

【正文】 6 經度半球 E(東經)或 W(西經) 7 地面速率( ~ 節(jié),前面的 0 也將被傳輸) 8 地面航向( ~ 度,以真北為參考基準,前面的 0 也將被傳輸) 9 UTC 日期, ddmmyy(日月年)格式 10 磁偏角( ~ 度,前面的 0 也將被傳輸) 11 磁偏角方向, E(東)或 W(西) 12 模式指示(僅 NMEA0183 版本輸出, A=自主定位 , D=差分, E=估算, N=數據無效)*/ include include define uchar unsigned char define uint unsigned int uchar StrGpsWD[10][5]。 //存放緯度數據 。 uchar StrGpsJD[11][5]。 //存放經度數據 。 uint i,k,b。 uint Recflag。 //記錄標志 。 uint IgpsWD。 //緯度數據計數變量 。 uint IgpsJD。 //經度數據計數變量 。 uint Numa。 //逗號計數變量 。 //void DisableALLOUT()。 //禁用所有輸出語句 。 //void EnableGPRMC()。 //使能 $GPRMC 輸出語句 。 void delay()。 void dislpay1()。 void main() { __asm(INT OFF)。 青島大學本科生畢業(yè)論文(設計) 21 *P_IOB_Attrib = 0x0480。 //初始化 IOB IOB10 端口 *P_IOB_Dir = 0x0400。 *P_IOB_Data = 0x0000。 intial_IO_lcd()。 init_lcd()。 *P_UART_Command1 = 0x0020。 //內部復位 *P_UART_BaudScalarLow = 0x0000。 //設置波特率 *P_UART_BaudScalarHigh = 0x0005。 *P_UART_Command2 = 0x0080。 //使能接收通道 delay(100)。 *P_UART_Command1 = 0x0080。 //使能接收中斷 __asm(INT IRQ)。 while(1) { display1(0x80,緯度 : )。 display1(0x88,經度 : )。 if(IgpsWD==10) { if(IgpsJD==11) //顯示接收到的數據 { display2(0x90, StrGpsWD[1],StrGpsWD[2])。 // 緯度 strcat(s1,s2)。連接字符串 s1,s2 display2(0x91, StrGpsWD[3],StrGpsWD[4])。 display2(0x92, StrGpsWD[5],StrGpsWD[6])。 display2(0x93, StrGpsWD[7],StrGpsWD[8])。 display2(0x94, StrGpsWD[9], )。 delay(100)。 display2(0x98, StrGpsJD[1],StrGpsJD[2])。 //經度 display2(0x99, StrGpsJD[3],StrGpsJD[4])。 display2(0x9a, StrGpsJD[5],StrGpsJD[6])。 display2(0x9b, StrGpsJD[7],StrGpsJD[8])。 display2(0x9c, StrGpsJD[9],StrGpsJD[10])。 } delay(100)。 *P_Watchdog_Clear = 0x0001。 } } //串口接收中斷 void IRQ7(void)__attribute__((ISR))。 void IRQ7(void) 青島大學本科生畢業(yè)論文(設計) 22 { unsigned int ii。 ii=*P_UART_Command2。 iiamp。=0x0080。 if(ii==0x0080) { if(*P_UART_Data==0x52) //‘ R’區(qū)分指令 GPRMC { Recflag=1。 i=0。 IgpsWD=0。 IgpsJD=0。 Numa=0。 } if(Recflag==1) { if(*P_UART_Data==0x2c) //檢查逗號‘,’ Numa++。 if(Numa==3) { *StrGpsWD[IgpsWD]=*P_UART_Data。 IgpsWD++。 } if(Numa==5) { *StrGpsJD[IgpsJD]=*P_UART_Data。 IgpsJD++。 } if(*P_UART_Data==0x2a) //檢查‘ *’ { *StrGpsWD[IgpsWD]=39。\039。 *StrGpsJD[IgpsJD]=39。\039。 Recflag=0。 IgpsWD=0。 IgpsJD=0。 Numa=0。 *P_UART_Command2=0x0000。 delay(500)。 *P_UART_Command2=0x0080。 青島大學本科生畢業(yè)論文(設計) 23 } } }} //延時子程序 void delay(uint a) { while(a) *P_Watchdog_Clear = 0x0001。 } 分離提取得到的是分離的 ASCII 碼型的字符串,無法直接用于車輛位置的判斷。根據數字的 ASCII 碼值對應表將它轉化數字并整合成整型或者浮點型式數值,此時可方便地與站點坐標庫進行簡單的數值比較運算。 經緯度坐標的變化 1 秒約等于 30 米的距離,故設定以某站站牌為圓心, 半徑 60 米(即經緯度約 2 秒)內區(qū)域為該站坐標范圍,當車駛入該圓形區(qū)域則產生到站信號;當車駛離該區(qū)域則產生出站信號, 單片機發(fā)出聲音信號,通過外接揚聲器實現語音報站 。 坐標比較程序: pp=trs_data(StrGpsWD1)。 qq=trs_data(StrGpsJD1)。 //轉化為浮點型 while(TotalStop) { //坐標比較 *P_Watchdog_Clear=0x0001。 if((fabs(ppstrWD[jj]))=2) { if((fabs(qqstrJD[jj]))=2) flag_in=1。 break。 } } ... 液晶顯示部分設計 C 系列中文模塊 顯示資料 RAM 顯示數據 RAM 提供 64x2 個字節(jié)的空間,最多可以控制 4 行 16 字( 64 個字)的中文字型顯示,當寫入顯示資料 RAM 時,可以分別顯示 CGROM, HCGROM 與 CGRAM 的字型;本系列模塊可以顯示三種字型,分 別是半寬的 HCGROM 字型、 CGRAM 字型及中文 CGROM 字型,三種字型的選擇,由在 DDRAM 中寫入的編碼選擇,在 0000H~ 0006H 的編碼中將選擇 CGRAM 的自定字型, 02H~ 7FH 的編碼中將選擇半寬英數字的字型,至青島大學本科生畢業(yè)論文(設計) 24 于 A1 以上的編碼將自動的結合下一個字節(jié),組成兩個字節(jié)的編碼達成中文字型的編碼BIG5( A140~ D75F) GB(A1A0~ F7FF),詳細各種字型編碼如下: 1. 顯示半寬字型:將 8 位資料寫入 DDRAM 中,范圍為 02H~ 7FH 的編碼。 2. 顯示 CGRAM 字型:將 16 位資料寫入 DDRAM 中,總共有 0000H, 0002H, 0004H,0006H 四種編碼。 3. 顯示中文字形:將 16 位資料寫入 DDRAM 中,范圍為 A140H~ D75FH 的編碼(BIG5) , A1A0H~ F7FFH 的編碼 (GB)。將 16 位資料寫入 DDRAM 方式為透過連續(xù)寫入兩個字節(jié)的資料來完成,先寫入高字節(jié)( D15~ D8)再寫入低字節(jié)( D7~ D0)。 顯示程序實現 void init_lcd(void) /*初始化程序 */ { *P_IOA_Buffer|=lcd_rst。 /*復位 */ *P_IOA_Bufferamp。=(~lcd_psb)。 /*選擇串口 */ lcd_delay(6)。 wr_lcd (m,0x30)。 /*30基本指令動作 */ wr_lcd (m,0x01)。 /*清屏,地址指針指向 00H*/ lcd_delay(100)。 wr_lcd (m,0x06)。 /*光標的移動方向 */ wr_lcd (m,0x0c)。 /*開顯示,關游標 */ } void wr_lcd(unsigned int dat_m,unsigned int content)。/*向液晶發(fā)送字節(jié) 子程序 */ void display1(unsigned int addr,unsigned char *ch); /*在地址 addr顯示字符 子程序 */ 本文選取了青島市 125 路公交車從臺東到苗嶺路共 24 站作為默認線路 。 各站站名表以字符串組的形式存儲(數組 str[24]存放站名表),并從臺東到苗嶺路依次編碼為 00H~23H,將其對應站名在屏幕上顯示。 12864C液晶中文顯示模塊每屏最多可實現 32個中文字 符。字符顯示 RAM在液晶模塊中的地址為 80H~ 9FH。字符顯示的 RAM的地址與 32個字符顯示區(qū)域有著一一對應的關系,其對應關系如表 。 表 12864C液晶中文顯示模塊字符顯示地址 80H 81H 82H 83H 84H 85H 86H 87H 90H 91H 92H 93H 94H 95H 96H 97H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH 青島大學本科生畢業(yè)論文(設計) 25 SPR_Demo 的軟件設計 為了簡 單起見,主函數中使用按鍵方式選擇播放 A202 S480、錄音,函數流程如圖 所示: 在這里掃描鍵盤的操作在 128Hz 的時基中斷中進行,在語音播放時按鍵無效。 A2021 語音播放函數設計: 由于語音資源存儲在外擴存儲器 SPR4096 上,語音播放采用手動播放方式。手動語音播放,關鍵在于語音資源數據的獲取,需要得到語音資源的地址。下面分析一下剛剛燒錄文件的數據格式,如圖 : NOKey KEY3 KEY2 KEY1 判斷鍵值 開始 初始化 SIO 口 初始化鍵盤 得到鍵盤值 播 放A2000 格式語音 播放S480 格式語音 錄音放音 清看門狗 圖 主函數流程圖 青島大學本科生畢業(yè)論文(設計) 26 在上圖的前 4 個字節(jié)為 “SPRW”的 ASCII 碼,主要作用是標識該芯片是通過 ResWriter工具燒錄的(詳細參考 ResWriter 工具使用說明書 ——索引表),接下來的 4 個字節(jié)為整合后資源的起始地址 00 00 00 6E(由于 SPR4096 的最大地址為 0x7ffff,所以使用 4 個字節(jié)標識,即兩個字的長度),然后是整合后資源的結束地址。整合的概念,就是將
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1