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

正文內(nèi)容

單片機(jī)控制的gps定位系統(tǒng)設(shè)計(jì)——畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-04-02 22:03 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 nstruction(unsigned char)。 //寫指令 void LCD_set_position(unsigned char)。 //設(shè)置光標(biāo)位置 void LCD_initial(void)。 //LCD1602 初始化 void LCD_printc(unsigned char)。 //輸出單個(gè)字符 void LCD_prints(unsigned char *)。//輸出字符串 void LCD_log(void)。//開機(jī)信息顯示 void LCD_show(void)。//信息顯示 void delay(unsigned char)。//延時(shí) N Y 進(jìn)入中 斷 清除接收中斷標(biāo)志 位 退出中斷 數(shù)據(jù)格式判斷 不符合 置標(biāo)志位 符合 數(shù)據(jù)接收 標(biāo)志位 0 1 數(shù)據(jù)接收完畢 清除標(biāo)志 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 10 3. 3 硬件連接設(shè)置 define LCD_DATA P2 //LCD 的數(shù)據(jù)口 define LCD_BUSY LCD_DATA^7。 //LCD 忙信號(hào)位 sbit LCD_RS=P2^0。 //LCD 寄存器選擇 sbit LCD_RW=P2^1。 //LCD 讀寫控制 sbit LCD_EN=P2^2。 //LCD 使能信號(hào) ○1寄存器選擇位 RS,當(dāng) RS=1 時(shí)選擇數(shù)據(jù)寄存器 DDRAM。 當(dāng) RS=0 時(shí)選擇指令寄存器 CDRAM。 ○2讀寫選擇位 RW,當(dāng) RS=1 時(shí)讀數(shù)據(jù)寄存器。 當(dāng) RS=0 時(shí)寫數(shù)據(jù)或指令到寄存器。 ○3讀寫使能信號(hào) EN,當(dāng) EN=1 時(shí)讀取數(shù)據(jù)。 當(dāng) EN為下降沿是為寫數(shù)據(jù)或指令。 檢測(cè) LCD 是否在處理其它數(shù)據(jù)而處于忙狀態(tài)時(shí),則讀取忙狀態(tài)信號(hào)位,當(dāng) RS=0,RW=1, E=1 時(shí), LCD 會(huì)輸出八位數(shù)據(jù),其中最高位 DB7 為忙狀態(tài)位( LCD_busy_flag),若為 1,表示 LCD 處于忙狀態(tài),為 0 表示 LCD 空閑。 3. 4 LCD 顯示工作方式 /******* 初始化 LCD ********/ void LCD_initial(void) { LCD_write_instruction(LCD_DISPLAY_DOUBLE_LINE)。 //單行顯示, 4 數(shù)據(jù)線 LCD_write_instruction(LCD_AC_AUTO_INCREMENT | LCD_MOVE_DISENABLE)。 //光標(biāo)自動(dòng) +1,關(guān)閉自動(dòng)移動(dòng)顯示 LCD_write_instruction(LCD_DISPLAY_ON | LCD_CURSOR_OFF | LCD_CURSOR_BLINK_OFF)。//顯示開、光標(biāo)顯示關(guān)、光標(biāo)閃爍關(guān) LCD_cls( )。//清屏 } 3. 5 系統(tǒng)主程序 /************************************/ void main() { TMOD=0x20。//初始化串口 TL1 =0xfa。 TH1 =0xfa。//4800 波特率 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 11 SCON=0x50。//工作方式 1:八位異步通信,允許接收 PCON=0x00。//波特率加倍關(guān) IE=0x90。//打開總中斷 EA,和串行口中斷 ES TR1=1。//開啟啟動(dòng) 定時(shí)器 1 LCD_initial( )。//LCD1602 初始化 LCD_log( )。//顯示開機(jī)信息 while(1) { LCD_show( )。 }//除了數(shù)據(jù)接收狀態(tài),一直處理顯示 } ○1在串口通信中需要設(shè)置串口通信的數(shù)據(jù)傳輸速度,及波特率,設(shè)置定時(shí)器的溢出率即可,晶振為 11。 0592MHz,當(dāng) TL1 =0xfa。, TH1 =0xfa時(shí)為 4800kbps 波特率。計(jì)算公式為: T0 初值 X=2N - 機(jī)周時(shí)間定時(shí)時(shí)間 Xf ???? 256 12/X256T1 os c計(jì)數(shù)速率的溢出率定時(shí)器 )256(12322S M O DXf os c ????波特率 ○2TMOD 特殊功能寄存器為定時(shí)器計(jì)數(shù)器工作方式寄存器,前四位控制定時(shí)器 1,后四位控制定時(shí)器 0;本設(shè)計(jì)采用定時(shí)器 1,工作方式 2(八位自動(dòng)重裝載, N=8), ○3SCON 為串行口數(shù)據(jù)通信控制特殊寄存器,高三位為工作方式控制位,本設(shè)計(jì)采用工作方式 1, 8位數(shù)據(jù)異步通信。 D4 位為接收允許控制位,本設(shè)計(jì)要采用串行口中斷接收 GPGGA 數(shù)據(jù),所以該為置 1。 ○4IE 為中斷允許控制特殊寄存器,本設(shè)計(jì)要打開串行口中斷和總中斷。 3. 6 數(shù)據(jù)接收程序 /*****************串行口中斷子程序 **************************/ ○1 RI=0。//軟件清除中斷標(biāo)志位,串行口中斷需要軟件清零,去除中斷標(biāo)志 ○2 進(jìn)入中斷過后要先判斷接收數(shù)據(jù)的格式,否則會(huì)出現(xiàn)亂接收數(shù)據(jù),出現(xiàn)接收到的數(shù)據(jù)不對(duì)的問題,先判斷是否接收到 GPGGA 格式語句的第 一個(gè)字符“ $” ,其ASCII 碼為 0x24,收到后,繼續(xù)判斷格式是不是為 GPGGA,分五次中斷判斷,如果是,單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 12 開始記錄數(shù)據(jù)并設(shè)置記錄標(biāo)志( read_start),否則退出數(shù)據(jù)接收中斷,程序設(shè)計(jì)如下: if(SBUF==39。$39。)//判斷是不是 39。$39。符號(hào) { flag1=1。//接收到 ’ $’ ,起始字符 igps=0。//記錄緯度數(shù)據(jù)字符數(shù)量的變量 Num_ma=0。//記錄逗號(hào)數(shù)量的變量 } else flag1=0。 if((SBUF==39。G39。)amp。(flag1==1))flag2=1。 else flag2=0。 if((SBUF==39。P39。)amp。(flag2==1))flag3=1。 else flag3=0。 if((SBUF==39。G39。)amp。(flag3==1))flag4=1。 else flag4=0。 if((SBUF==39。G39。)amp。(flag4==1))flag5=1。 else flag5=0。 if((SBUF==39。A39。)amp。(flag5==1))read_start=1。//開始接收數(shù)據(jù) else read_start=0 ○3 通過上述格式判斷后,說明接下來的數(shù)據(jù)就是所需要的 GPGGA 格式數(shù)據(jù),然后選擇所需要的數(shù)據(jù)接收并存到緩存區(qū),每個(gè)數(shù)據(jù)都是以逗號(hào)隔開的,我們只需要判斷該逗號(hào)是第幾個(gè)逗號(hào)就可以知道后面來的數(shù)據(jù)是表示說明含義。程序設(shè)計(jì)如下 if(read_start==1)//開始接收 GPGGA 中的數(shù)據(jù)信息 , { (SBUF==39。,39。) //利用 GPRMC 數(shù)據(jù)中的逗號(hào)間隔,區(qū)分接收到 //的數(shù)據(jù)表示的信息 { Num_ma++。 }//記錄逗號(hào)個(gè)數(shù),標(biāo)志數(shù)據(jù)的意義 if(Num_ma==1) //接收時(shí)間,時(shí)分秒格式 { data_temp[igps]=SBUF。 igps++。 }//接收到的數(shù)據(jù)個(gè)數(shù)加 1 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 13 if(Num_ma==2)//接收接收緯度, { data_temp[igps]=SBUF。 igps++。 } if(Num_ma==4)//接收經(jīng)度, 格式 { data_temp[igps]=SBUF。 igps++。 } if(Num_ma==10)//海拔高度: 0— { if(SBUF!=39。M39。) //為節(jié)約 RAM 空間,不接收 ’ M’ 字符 data_temp[igps]=SBUF。 igps++。 } ○4 判斷這一幀數(shù)據(jù)是否接收完畢,每一個(gè)數(shù)據(jù)格式都是以 * 符號(hào)結(jié)束的,當(dāng)接收到 * 號(hào)時(shí)表示這一幀數(shù)據(jù)已經(jīng)發(fā)送完畢。程序設(shè)計(jì)如下: if(SBUF==’ *’ )//判斷是否收到 GPRMC 格式語句的字符“ *”, //如果是,則表示接收完畢,開始處理 { for(i=0。iigps。i++) { data_temp[igps]=dis_temp[igps]。 }//數(shù)據(jù)放到顯示緩沖區(qū) //返回初值 。標(biāo)識(shí)結(jié)束一次接收完畢 read_start=0。 Num_ma=0。 igps=0。 } 4 調(diào)試及性能分析 一個(gè)單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計(jì),在允許的條件下,根據(jù)本設(shè)計(jì)系統(tǒng)的需求性首單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 14 先采用在 PC機(jī)上用模擬 開發(fā)軟件進(jìn)行檢測(cè)和調(diào)試,再進(jìn)行硬件的組裝與調(diào)試。 4. 1 軟件調(diào)試 軟件調(diào)試采用 Proteus 、操作系統(tǒng) Windows xp,在 PC 機(jī)上對(duì)目標(biāo)電路原理圖和程序進(jìn)行檢測(cè)和調(diào)試 。 4。 1。 1 目標(biāo)程序糾錯(cuò) 圖 41 目標(biāo)程序調(diào)試 4. 1. 2 子程序功能調(diào)試 程序設(shè)計(jì)通常采用模塊程序設(shè)計(jì),調(diào)試時(shí)可對(duì)一個(gè)個(gè)子程序分別進(jìn)行調(diào)試,設(shè)置好入口條件,然后采用單步運(yùn)行或斷點(diǎn)運(yùn)行方式,檢查系統(tǒng) CPU現(xiàn)場(chǎng)、 RAM 和 I/O口狀態(tài),看程序執(zhí)行結(jié)果符合設(shè)計(jì)要求。 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 15 圖 42 子程序 功能 調(diào)試 分步編譯 C51 程序,通過一系列 的調(diào)試,驗(yàn)證各個(gè)子程序的正確性。并從項(xiàng)目工程的角度綜合調(diào)試,調(diào)試整個(gè)項(xiàng)目 ,如圖 43 所示: 圖 43 生成 HEX文件 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 16 在調(diào)試成功順利編譯之后,通過一系列設(shè)置,生成 HEX 目標(biāo)文件, 44所示: 圖 44 生成 HEX文件 4. 1. 3 整體程序綜合調(diào)試 即把各子程序整體連起來進(jìn)入到綜合電路調(diào)試,能實(shí)現(xiàn)預(yù)計(jì)的功能顯示 。 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 17 圖 45整體測(cè)試 用軟件仿真調(diào)試和修改完畢,下一步焊接硬件進(jìn)行硬調(diào)試。 圖 46 運(yùn)行仿真電路 單片機(jī)控制的 GPS 定位系統(tǒng)設(shè)計(jì) 18 4. 2 硬件調(diào)試 焊接硬件,檢查線路連接正確無誤。 硬件調(diào)試環(huán)境,電源輸入 220V 交流 電,輸出 4。 98V直流電,給電路板接通 4。98V 直流電源。 調(diào)試過程如以下幾圖所示。 在 7號(hào)樓 6 樓的計(jì)算機(jī)硬件實(shí)驗(yàn)室里,借
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1