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

正文內(nèi)容

超市導(dǎo)購系統(tǒng)設(shè)計(jì)-資料下載頁

2025-08-18 21:15本頁面

【導(dǎo)讀】現(xiàn)代超市的吞吐量隨著規(guī)模日益上升,而大多數(shù)超市需要排隊(duì)結(jié)算,費(fèi)時(shí)費(fèi)力。效率,內(nèi)部包含了針對(duì)超市環(huán)境設(shè)計(jì)的諸多功能—圖形化菜單,購物列表管理和刪除。以圖形化的方式提供超市商品所在的貨架位置,方便顧客快速地找到需要的商品。其中MSP430單片機(jī)作為電子導(dǎo)購車的MCU,完成系統(tǒng)數(shù)據(jù)的處理。LCD12864作為顯示屏,顯示商品折扣,商品熱銷,超市地圖等信息。成條碼掃描,無線數(shù)據(jù)傳輸模塊完成信息的傳遞,實(shí)現(xiàn)導(dǎo)購終端與主機(jī)端的信息傳輸。

  

【正文】 性,即是否方便驗(yàn)證程序功能的正確性 ; ( c) 可維護(hù)性,即是否方便程序的修改和升級(jí) ; ( d) 可移植性 ; ( e) 可讀性 。 超市電子導(dǎo)購小車設(shè)計(jì) 23 主程序流程 初 始 化 程 序顯 示 開 機(jī) 頁 面主 菜 單查 詢 超市 地 圖查 詢 熱銷 商 品掃 描 商品 計(jì) 價(jià)是 否 發(fā) 送 購 物 清 單主 機(jī) 是 否 響 應(yīng) 導(dǎo) 購 終 端請(qǐng) 求發(fā) 送 完 畢 并 清空 購 物 信 息退 出 退 出 退 出NNNNY Y Y Y開 始是 否 有按 鍵 按 下S w i c h ( k e y v a l )k e y v a l1 2 34YN圖 41 系統(tǒng)程序流程圖 液晶模塊程序 漢字圖形顯示步驟 (1) 顯示資料 RAM( DDRAM) 顯示數(shù)據(jù) RAM 提供 64x2 個(gè)字節(jié)的空間,最多可以控制 4 行 16 字( 64 個(gè)字)的中文字型顯示,當(dāng)輸入顯示資料 RAM 時(shí),可以分別顯示 CGROM, HCGROM 與CGRAM 的字型;本系列模塊可以顯示三種字型,分別是半寬的 HCGROM 字型、CGRAM 字型及中文 CGROM 字型,三種字型的選擇,由在 DDRAM 中寫入的編碼選擇,在 0000H~ 0006H 的定字型, 02H~ 7FH 的編碼中將選擇半編碼中將選擇 CGRAM 的自寬英數(shù)字的字型,至于 A1 以上的編碼將自動(dòng)的結(jié)合下一個(gè)字節(jié),組成兩個(gè)字節(jié)的編碼達(dá)成中文字型的編碼。 陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 24 (2) 繪圖 RAM( GDRAM) 繪圖顯示 RAM 提供 64x32 個(gè)字節(jié)的記憶空間 (由擴(kuò)充指令設(shè)定繪圖 RAM 地址 ),最多可以控制 256x64 點(diǎn)的二維繪圖緩沖空間,在更改繪圖 RAM 時(shí),由擴(kuò)充指令設(shè)定GDRAM 地址先設(shè)垂直地址再設(shè)水平地址 (連續(xù)寫入兩個(gè)字 節(jié)的數(shù)據(jù)來完成垂直與水平的坐標(biāo)地址 ),再寫入兩個(gè) 8 位的資料到繪圖 RAM,而地址計(jì)數(shù)器( AC)會(huì)自動(dòng)加一 。 液晶顯示 程序?qū)崿F(xiàn) ( 1)判忙 : 等待液晶模塊空閑。 液晶模塊要求:當(dāng)模塊在接受指令前,微處理順必須先確認(rèn)模塊內(nèi)部處于非忙碌狀態(tài),即讀取 BF 標(biāo)志時(shí) BF 需為 0,方可接受新的指令;如果在送出一個(gè)令前并不檢查 BF 標(biāo)志,那幺在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成;在這里,我選用等待忙標(biāo)志結(jié)束。程序如下: void WaitForEnable() { char busy。 CLR_RS。 SET_RW。 DATA_DIR_IN。 do //判忙 { SET_EN。 _NOP()。 busy = DATA_IN。 CLR_EN。 } while(busy amp。 0x80)。 DATA_DIR_OUT。 } 這樣,每次向液晶寫命令或數(shù)據(jù)時(shí),只需先調(diào)用此函數(shù)即可,該函數(shù)將會(huì)阻塞,直到忙標(biāo)志變回 0(內(nèi)部空閑,可以接受命令)。 ( 2)寫入數(shù)據(jù): 向模塊內(nèi)部 RAM 寫入數(shù)據(jù)。 寫入數(shù)據(jù)到 DDRAM 即可顯示到液晶,寫入函數(shù): void LcdWriteData(char data) { WaitForEnable()。 超市電子導(dǎo)購小車設(shè)計(jì) 25 SET_RS。 CLR_RW。 DATA_OUT = data。 //寫數(shù)據(jù) SET_EN。 _NOP()。 CLR_EN。 } 同樣,調(diào)用這個(gè)函數(shù)也可以向其他 RAM 寫入數(shù)據(jù),完成相應(yīng)操作。 ( 3) 寫入命令: 向模塊寫入命令。 寫入命令可以通過液晶的指令集,控制液晶完成相應(yīng)的功能。 程序如下: void LcdWriteComm(char cmd) { WaitForEnable()。 //檢測(cè)忙信號(hào)? CLR_RS。 CLR_RW。 DATA_OUT = cmd。 //寫命令 SET_EN。 _NOP()。 CLR_EN。 } 如果 cmd 是 0x800x9F,則是向液晶寫入地址。 ( 4) 寫入字符串: 寫入字符串,以顯示。 寫入字符串即是多次調(diào)用寫入數(shù)據(jù),把字符串寫入液晶以供顯示。 程序如下: void LcdWriteString(char addr,char *str) { LcdWriteComm(addr)。 while(*str!=39。\039。) { LcdWriteData(*str)。 str++。 } } 陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 26 這是向某個(gè)地址寫入字符串,液晶顯示到相應(yīng)位置。這個(gè)函數(shù)有個(gè)要求,就是字符串是中文字符串;如果不是,每一處的英文必須兩個(gè)相連,否則將顯示亂碼,如果只有一個(gè)英文字符,可以加入空格;如: LcdWriteString(0x90,1 abcd 你好啊 )。 1+空格 +abcd+漢字中 1 只有一個(gè)字符,加空格, ab, cd 兩個(gè),直接顯示到一個(gè)漢字的位置。 ( 5) 液晶初始化:液晶必須初始化之后才能正常使用。 初始化就是一系列命令,完成液晶狀態(tài)的初始工作,以使液晶可供正常使用。程序如下: void LcdInit() { CTRL_DIR_OUT。 DelayNms(500)。 LcdWriteComm(0x30)。 //基本指令集 LcdWriteComm(0x01)。 //清屏,地址 00H LcdWriteComm(0x06)。 //光標(biāo)的移動(dòng)方向 LcdWriteComm(0x0c)。 //開顯示,關(guān)游標(biāo) } 在運(yùn)行過這個(gè)函數(shù)之后,液晶方能正常的顯示;在調(diào)用液晶顯示函數(shù)前,必須先調(diào)用這個(gè)函數(shù)。 鍵盤程序 按鍵是單片機(jī)系統(tǒng)最常用的輸入設(shè)備之一;幾乎是只要需要交互輸入,就必須有鍵盤。 矩陣鍵盤電路主要利用 MSP 通過 430 單片機(jī)的一般 I/O 端口來進(jìn)行擴(kuò)展設(shè)計(jì),矩陣鍵盤由行線和列線組成。矩陣鍵盤通過掃描來實(shí)現(xiàn)捕獲鍵盤的輸入。所謂掃描就是單片機(jī)不斷對(duì)行線 依次設(shè)置低電平,然后檢查列線的輸入狀態(tài),從而確定鍵盤是否有輸入。 超市電子導(dǎo)購小車設(shè)計(jì) 27 開 始讀 鍵 盤 端 的 值 口延 時(shí) 消 抖 1 0 m s鍵 盤 端 口 與 上次 的 值 相 等S w i c h ( k e y v a l )鍵 1 處 理 鍵 2 處 理 鍵 3 處 理 鍵 4 處 理結(jié) 束K e y v a l12 34YN圖 42 鍵盤程序流程圖 初始化掃描鍵盤的 I/O 端口 void Init_Keypad(void) { P1DIR = 0xf0。 //~ 設(shè)置為輸入狀態(tài) , ~ 設(shè)置為輸出狀態(tài) P1OUT |= 0xf0。 // ~ 輸出高電平 key_Flag = 0。 key_Pressed = 0。 key_val = 0。 } 掃描鍵盤的 I/O 端口 獲得鍵值 void Check_Key(void) { 陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 28 uchar row ,col,tmp1,tmp2。 tmp1 = 0x80。 for(row = 0。row 4。row++) //行掃描 { P1OUT = 0xf0。 //~ 輸出全 1 P1OUT = tmp1。 //~ 輸出四位中有一個(gè)為 0 tmp1 =1。 if ((P1IN amp。 0x0f) 0x0f) //是否 P1IN 的 ~ 中有一位為 0 { tmp2 = 0x01。 // tmp2 用于檢測(cè)出那一位為 0 for(col = 0。col 4。col++) // 列檢測(cè) { if((P1IN amp。 tmp2) == 0x00) // 是否是該列 ,等于 0 為是 { key_val = key_Map[row * 4 + col]。 // 獲取鍵值 return。 // 退出循環(huán) } tmp2 = 1。 // tmp2 右移 1 位 } } } } 延時(shí) 程序 完成消抖功能 void delay() { uint tmp。 for(tmp = 12020。tmp 0。tmp)。 } 檢測(cè)按鍵 并獲取鍵值 void Key_Event(void) { uchar tmp。 P1OUT amp。= 0x00。 // 設(shè)置 P1OUT 全為 0,等待按鍵輸入 超市電子導(dǎo)購小車設(shè)計(jì) 29 tmp = P1IN。 // 獲取 p1IN if ((key_Pressed == 0x00)amp。amp。((tmp amp。 0x0f) 0x0f)) //如果有鍵按下 { key_Pressed = 1。 // 如果有按鍵按下,設(shè)置 key_Pressed 標(biāo)識(shí) delay()。 //消除抖動(dòng) Check_Key()。 // 調(diào)用 check_Key(),獲取鍵值 } else if ((key_Pressed == 1)amp。amp。((tmp amp。 0x0f) == 0x0f)) //如果按鍵已經(jīng)釋放 { key_Pressed = 0。 // 清除 key_Pressed 標(biāo)識(shí) key_Flag = 1。 // 設(shè)置 key_Flag 標(biāo)識(shí) } else { _NOP()。 } } 條碼掃描 程序設(shè)計(jì) 條碼掃碼電路只是單純地掃描器發(fā)送數(shù)據(jù)給單片機(jī)接收,屬于單工方式。 其發(fā)送數(shù)據(jù)時(shí)序如圖 43 所示 。 圖 43 鍵盤發(fā)送數(shù)據(jù)時(shí)序 在程序中,單片機(jī)采用查詢方式檢測(cè)數(shù)據(jù)線狀態(tài)。如果數(shù)據(jù)線變?yōu)榈碗娖?,說明鍵盤即將有數(shù)據(jù)發(fā)出, 則調(diào)用讀鍵盤子程序 receive_data 讀取一個(gè)字節(jié)的數(shù)據(jù)。 讀鍵盤子程序: char receive_data(void) { char i。 char from_kb。 陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 30 while(sck)。 while(!sck)。 for(i=0。i8。i++) { while(sck)。 from_kb1。 ACC=from_kb。 ACC_7=sio。 while(!sck)。 } While(sck)。 p_bit=sio。 while(!sck)。 while(sck)。 while(!(sck amp。sio) )。 return(from_kb)。 } 數(shù)據(jù) 發(fā)送程序設(shè)計(jì) (a) 當(dāng)單片機(jī)有數(shù)據(jù)需要發(fā)往規(guī)定節(jié)點(diǎn)時(shí),接收節(jié)點(diǎn)的地址 ( TX_address) 和有效數(shù)據(jù) ( TX_payload) 通過 SPI 接口傳送給 nRF905,單片機(jī)設(shè)置接口速度。 (b) 單片機(jī)設(shè)置 TRX_CE, TX_ EN 為高電平來啟動(dòng)傳輸。 (c) 無線收發(fā)模塊 nRF905 內(nèi)部處理:無線系統(tǒng)自動(dòng)上電;數(shù)據(jù)包完成 (加前導(dǎo)碼和CRC 校驗(yàn)碼 ); 數(shù)據(jù)包發(fā)送 (5Ok, GFSK,曼徹斯特編碼 )。 (d) 如果 AUTO_
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1