




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、7 segment LED (X4) + Switch key (X4) + Momentary key(4X4) ScanV1.0.02005-1-19單片機技術資料 HYPERLINK http:/w/ http:/w7 segmt LED (X4) + Switch key (X4) + Momentary key(4X4) Scan技保留對此文件修改之權利且不另行通知。技所提供提之信息相信為正確且可靠之信息,但并不保證本文件中絕無錯誤。請于向技出訂單前,自行確定所使用之相關技術文件及規(guī)格為之版本。若因貴公司使用本公司之文件或產品,而涉及第三人之專利或著作權等智能,本公司僅單純販售產品,
2、上述關于同意及權之應用及配合時,則應由貴公司負責取得同意及,非屬本公之責任。又技相關設備。之正式,本公司之所有產品不得使用于醫(yī)療器材,維持生命系統(tǒng)及飛航等17 s gm nt L D (X4) + Switch key (X4) + Momentary key(4X4) Scan0目錄頁碼0目錄11修訂. . . 22系統(tǒng)概要系統(tǒng)說明3系統(tǒng)框圖3MCU 使用資源43硬件設計53.13.2功能描述5設計原理54說明. . . 9子程序說明9變量說明105流程圖5.4主流程15鍵盤掃描子流程16按鍵處理子流程17時鐘顯示子流程1817
3、s gmen LE( 4) + Sw tch key ( 4) +omen ry key(4X4) Scan1修訂2日期版本編寫及修訂說明2005-1-191.0.0初始版本7 s gmen LE(X4 + Switch key (X4) +omentary key(4X4) Scan2 系統(tǒng)概要2.1系統(tǒng)說明本系統(tǒng)應用于 SUNPLUS SPMC65 se ies 上掃描 5X4 按鍵的動作與范例程序的硬件部是以 SPMC5P2404A*2p 為開發(fā)對象。2.2系統(tǒng)框圖 2-1系統(tǒng)框圖3Four Digits 7segment LEDs5X4 Keys8SPMC 5P24A*28P4216M
4、Hz7 segent LED+ Sw tc k y (X )Momary e4X4) can2.3M使用資源4CU源內容AM鍵盤掃描e按鍵處by eL示5bytR主程44 yte初始理56 byte鍵盤掃3 byt按處理281 byteLED 顯示63te盤掃描和 LED 顯示相關硬件Timer bas1.024 s 時用于主環(huán)I/O PORTORTA使用PORTBLED 數據線和鍵盤掃描線復用PORTCLED strobe 信號PORTD未使用7 e ment LED (X4) + Switch key (X4) + Momentary key(4X4) Scan3件設計3.1功能描述本例采
5、用SPMC65P2404A*28p,外接鍵盤和顯示,可以做為一個鐘表使用,24 小時顯示。按鍵 s0 功能: 時間的“顯示狀態(tài)”和“調整狀態(tài)”互相 換。s0 第一次 下,進入“分鐘調整狀態(tài)”,s0 第二次按 ,進入“小時調 狀態(tài)”,s0 第三次按下,返回“顯示狀態(tài) 。循環(huán)進行。按鍵 s1 功能: 在時鐘處于“調整狀態(tài)”時,顯示值加一。鍵 s2能: 在鐘處于“調狀態(tài)”時,顯示值減一。其它按鍵功能:關閉或打開時鐘。時鐘初始狀態(tài)顯示“0:00”并開始計時。3.2設計原理原理圖如圖 3-1所示,PB接 4 行 5 列的鍵盤,并與 4 個共陰極數碼管的 seg 端復用 IO 口。PC3PC0 控制這 4
6、 個數碼管的 com 端。圖中電阻均為 510 歐。當B 口作為鍵盤掃描時:PB3PB0 被設置為帶下拉電阻的輸,各行線的狀態(tài);PB PB4 被設置輸出口,用于列線掃描。當 PB 口作為 LED 的 seg 端時:PB7PB0 均被設置為輸出口,輸出顯示數據的段碼。程序設計原理:程序每隔 4ms 對鍵盤和數碼管行一次掃描,首掃描鍵盤,根據鍵值進行相應的操作,比如時鐘的“打開”、“關閉”和“調整”。鍵盤處理結束,接著刷新數碼管顯示。鍵盤掃描方法:按鍵 S4、S9、S14 和 S19 的優(yōu)先級最高,應該最先掃描。首先將 PB3PB0 設置為帶下拉電阻的輸,PB7PB4 設置為懸浮狀態(tài),然后各行線
7、PB3PB0 的狀態(tài), 若行線狀態(tài)全為低電平則表明按鍵 S4、S9、S14 和 S19 均沒有被按下, 若行線狀態(tài)中有根據行線狀態(tài)便可以確定鍵值。,則表明有鍵按下。消抖之后當按鍵 S4、S9、S14 和S19 均沒有被按下時,接著掃描余下的 16 個按鍵。首先將列線 PB7PB4設置為輸出口,然后這 4 條列線輸出則表明無鍵按下, 若行線狀態(tài)中有,各行線 PB3PB0 的狀態(tài), 若行線狀態(tài)全為低電平,則表明有鍵按下。若有鍵按下,先進行消抖,消抖結束,再對每一列進行掃描,鍵值。即:PB7PB4 四條列掃描線分別輸出,在每次輸出期間,各行線 PB3PB0 的狀態(tài),若行線狀態(tài)不全為 ,便可以確定鍵值
8、例如:PB7 PB4 輸出“0100”,此時若PB3PB0 的狀態(tài)為“0001”,則表明按鍵 S2鍵盤掃描時序如圖 3-2所示,按下。K0 表示列線列線全部為低時行線狀態(tài),用于判斷按鍵 S4、S9、S14、S19 的狀態(tài);K1 表示列線全部為時行線的狀態(tài),用于判斷余下的 16 個按鍵的狀態(tài);57 segment LED (X4) + Switch key (X4) + Moment ry key(4X4) ScanK2 表示列線 PB4 為 K3 表示列線 PB5 為 K4 表示列線 PB6 為K5 表示列線 PB7 為時行線的狀態(tài),用于判斷時行線的狀態(tài),用于判斷時行線的狀態(tài),用于判斷鍵 S0
9、、S5、S10、S15 的狀態(tài);鍵 S1、S6、S11、S16 的狀態(tài);鍵 S2、S7、S12、S17 的狀態(tài);時行線的狀態(tài)。用于判斷按鍵 S3、S8、S13、S18 的狀態(tài)。消抖方法:在按鍵閉合和打開的瞬間會產生許多尖脈沖,持續(xù)時間約幾毫秒到幾十毫秒。因而在程序中,當檢測按被按下后,便開取鍵值,每隔 4m 讀一次鍵值,直到連續(xù) 7 次的鍵值完全相同,則認為抖動已經消除。消抖時間至少為 4ms X 728ms。數碼管掃描方法:每隔 4ms 顯示一個數碼管,四個數碼管全部被刷新一遍需要 16ms,一直不斷循環(huán)掃。顯示時,PB 口和 C3PC0顯示數的段碼到 PB 口。輸出口,先送位碼到 PC3P
10、C0,選通要點亮的數碼管,然后再送LED 掃描時序如圖 3-3所示。67 segment LED (X4) + Switch key (X4) + Momentary key(4X4) Scan圖 3-1 鍵盤顯示原理圖7comcomcomcomLED1LED2LED3LED4aa aa aa abbbf g bc f g bc f g bc f g bddde e d .ce e d .ce e d .ce e d .cfffgggdpdpdpdpQ18050Q2Q3Q4PC0805080508050PC1 PC2 PC3+5VS0S1S2S3S4SS6S7S8S9PB0S10S11S12S
11、 3S14PB1PB215S16S17S 8S19 PB3PB4 PB5 PB6 PB7SPMC65P2404A*28P+5VVDD VSS XIXO XIXORESET4.7K20p16MHz20pRESETPB7PC0PB6 1PC1+5VVDD104PB5PC2PB4PC3PB3PB4PC3 16 PB0VSS PB2PB3 PB0 15 PB1PB2PB17 segment LED (X4) + Switch key (X4) + Momenta y ey( X4) ScanmsmsMa nl opPB 3:0K0K123K45K0K1K2K3K4K5B4P 5PB6PB7LED顯LE
12、D顯示鍵盤掃描鍵盤掃描K2:按鍵 S S5 10 S15 狀態(tài)K0:鍵S S S 4 S 9的狀態(tài)K :16個按鍵(S4 S9 S1S 除外)狀態(tài)K3: 按鍵S1 S6 S11 S16的狀態(tài)K4: 按鍵 S2 S7 S12 S17的狀態(tài)K5: 按鍵 S3 S8 S13 S 8的狀態(tài)圖 3-2 鍵盤掃描時序圖4ms4ms4ms4msMainloopPB7PB0LEDLEDLED3LED40PC1PC2PC3鍵盤掃描 LED顯示鍵盤掃描 LED顯示 鍵盤掃描LED顯示鍵盤掃描LED顯示圖 3-3 LED 掃描時序圖87 e ment LED (X4)Sw tch k y (X4)Moen ary
13、k y(4XScan4軟4 1檔4 2程序說明V_ResetF_MainF_Moment5x4F_KeyCope9No eOutueGB_KeyDownFlag明掃描鍵盤,獲得值并置鍵動標志屬Key5x4 4LED.a m內容備注InputGB_KeyDownFlagOutpute說明等待 4m, 行鍵盤掃描(F_ent5x4)、按鍵處時鐘 時( _KeyC pe)、isp)屬于Main.asm備注InputNoOutpN ne說明CUer on re后所指到的向地址m in.asm文件名功類型main asmMain prosource f e (Sam le)ey5x4_ LED.asm5
14、x4keysand4- ED scan ing prosS urce file (User)SPMC65P2404A.incSPMC65X symbol definitionHead file7egenLEDX4) + Switch key (X4) + Mo4) ScaF_F IO_InitF_Variable_In4.3變量說明GB_KealueGB_KeyDownFlag1內容備注容說明示鍵值。高,低 4的合000001 011,鍵 K0 K19Bbit0有效Size1 yte初始值0Symbol 定義e內容值$0$13內備注nputetp tone說明變量初始化屬于Key5x4_4LE
15、D.asm內容備注InputO tpute說明初B3PB0 為帶下拉電阻輸入,始化 B7 PB4 和 P 3PC輸出低電平屬于K5x _4LED sm內容備注InputGB_ShowBufOutput說明顯示以 GB_Show中的數值,每 4ms一個循環(huán)示屬于K y5x4LE .asm內容備注al e,GB_KeyDOutputGB_說明時鐘屬于Key5x4_7 egen LED4) + Switch key (X4) + MomentGB_BufIBexC mIByupFlagIB_CmpTimers內容備注內容說明行線狀態(tài)連 的次數, 于消抖處理 掃描時 連 線狀態(tài),每讀一次,比較一次,直
16、到連續(xù) 7 次全部相等,則認為按鍵的抖動已經消除Size1byte初始值0內容備注內容說明按下后是否 )放開標志:0 -按鍵已經放開- -下后仍沒有被放開S eby e初始值0Symbol 定義e內容值01容備注內容說當每次D 即遞一,作為制 colin 的索引e1byte初0Symb義e內容值03: om line 03內容備注內顯示緩區(qū),存放所據Size4es初始值示數據Symbol 定義e內容值$A注內容說明按鍵動作標志,:0- -沒有被下1按鍵被按下ze1b te初始值0Symboe內容值7 segmentED (X4) + Switch keX4) + Mary key(4X4)ca
17、B_LasteB_LineScnIB_yIB_4msCouIB_1sCount1內容備注容備注內容說明計時寄 器s 加 1,每計 1s變量IBoun 進位一次,并重新從 0 開始Size1byt初始0Symbol 定義e內容值0250(十進制計數)容備注內容延時Siz1b te初0Symbol 定義e內容值$00$FF內內容明列掃描線控制字S1byte始值ra domSymb義No e$80$20、$10內容備注內容說明期間讀的鍵值,用Size1b e始值romSol 定義e容值0$FSymb l 定義CB_CmpTimers(6)內容值07 segmLED (X4) + Switch key
18、 (X4) + Momentary key(4XScanIB_1mCount_1hC untIB AdjustIB_Open13內容備注內容備注內容說明鐘表處于狀態(tài)”或“計時狀態(tài)”的標志,其值為:0表正常計時- -表處于“分鐘調整狀態(tài)- -鐘表處于”狀態(tài)S eby e初始值0Symbol 定義e內容值$0、$1、$2注內說鐘表計時寄存器,1 ho,每計 4 hours后重新從時Sizeyt初始值0Symbol 定義e內容值024(十進制計數)內容備注內容說明表計時寄器,每1ute10miniute后向變量hCo nt 進位一次,并重新從時Size1te初始值Symbol 定義e內容值060(十
19、進制計數)內容說鐘表計 寄1s 加 1,每計 6 s 向變量mCo nt 進位一次,并重新從時Size1te初始值Symbol 定義e內容值060(十進制計數)7 segm nt LED (X4) + Switch key (X4Moentary key4) S an14鐘表開值為:0- -被關閉$FF鐘表被打開Size1byte初始值0Symbol 定義e內容值$0、$FF7 sgmet LD ( 4) + Switch key (Momentary key(4Xn5流程圖5.1主流程開始(V_Reset)圖 5-1 鍵盤顯示主流程圖15N4ms?Y數碼管顯示(F_LED_4Disp)按鍵處理程序(F_KeyCope)鍵盤掃描(F_ oment5x4)初始化IO口(F_IO_Init)初始化變量(F_Variable_Init)設置1.024m 時7 segent LED (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)牛加盟合同范本
- 借車協(xié)議合同范本
- 叉車售后保養(yǎng)合同范本
- 農場電梯房出售合同范本
- 啤酒推銷合同范本
- 《植物新陳代謝》生物教學設計與反思
- 加工與安裝合同范本
- 二代合同范本
- 《人類簡史》讀書心得體會
- 《一滴眼淚換一滴水》閱讀答案
- Unit-3-Reading-and-thinking課文詳解課件-高中英語人教版必修第二冊
- 品牌服裝設計課件
- 銀行承兌匯票業(yè)務講義
- 切爾諾貝利核電站事故工程倫理分析
- 汽車網絡安全運營中心(VSOC)白皮書-2023.09
- 大灰狼兒童睡前故事大全
- +消除誤解 心理健康課件
- 會計人才培養(yǎng)方案調研報告書
- 企業(yè)標準自我聲明公開
- 高考英語備考-英語單詞構詞法詞根和詞綴課件
- 中公中學教育知識與能力(對應中公教材)課件
評論
0/150
提交評論