第一篇:矩陣鍵盤實(shí)驗(yàn)報(bào)告
自主學(xué)習(xí)用實(shí)驗(yàn) 矩陣鍵盤識(shí)別實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握 4×4 矩陣鍵盤的工作原理和鍵盤的掃描方式。
2、掌握鍵盤的去抖方法和鍵盤應(yīng)用程序的設(shè)計(jì)。
二、實(shí)驗(yàn)設(shè)備
1、PC 機(jī)一臺(tái);
2、開放式模塊化單片機(jī)教學(xué)實(shí)驗(yàn)箱一臺(tái);
3、USB 下載線一根。
三、實(shí)驗(yàn)內(nèi)容
自行編制程序,用 51 單片機(jī)實(shí)現(xiàn) 4×4 矩陣鍵盤掃描,采用線反轉(zhuǎn)法;并實(shí)現(xiàn)當(dāng) S11按下時(shí)在數(shù)碼管上顯值“0”,當(dāng)S12按下時(shí)在數(shù)碼管上顯值“1”……,即依次將 S11 至S26按下,在數(shù)碼管上依次顯示十六進(jìn)制數(shù)“0-F”,矩陣鍵盤原理圖如圖 1-1 所示。單片機(jī)與數(shù)碼管接口電路原理圖如圖 1-2 所示。
圖 1-1 矩陣鍵盤接口電路
圖 1-2 數(shù)碼管接口電路原理圖
四、思考題
1.畫出所編程序的流程圖;
開始Y判斷是否第一行有鍵按下N判斷是否第二行有鍵按下N判斷是否第三行有鍵按下N判斷是否第四行有鍵按下Y判斷是第幾個(gè)按鍵按下數(shù)碼管顯示對(duì)應(yīng)的數(shù)字Y判斷是第幾個(gè)按鍵按下數(shù)碼管顯示對(duì)應(yīng)的數(shù)字Y判斷是第幾個(gè)按鍵按下數(shù)碼管顯示對(duì)應(yīng)的數(shù)字判斷是第幾個(gè)按鍵按下數(shù)碼管顯示對(duì)應(yīng)的數(shù)字結(jié)束
2.若要實(shí)現(xiàn)2×4 矩陣鍵盤,軟硬件作如何修改。
答:將行線P2^3, P2^4接線去掉。程序?qū)?yīng)部分P2=0xfd;P2=0xfe;刪掉。3.實(shí)驗(yàn)中有何故障、問題出現(xiàn),是否得到解決?如何解決的? 問題:顯示值對(duì)應(yīng)出錯(cuò)。
原來是共陽段碼和共陰段碼弄相反了。
第二篇:矩陣鍵盤設(shè)計(jì)實(shí)驗(yàn)報(bào)告
南 京 林 業(yè) 大 學(xué)
實(shí)驗(yàn)報(bào)告
基于AT89C51 單片機(jī)4x4矩陣鍵盤接口電路設(shè)計(jì)
課
程 院
系 班
級(jí) 學(xué)
號(hào) 姓
名 指導(dǎo)老師
機(jī)電一體化設(shè)計(jì)基礎(chǔ) 機(jī)械電子工程學(xué)院
楊雨圖
2013年9月26日
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握鍵盤接口的基本特點(diǎn),了解獨(dú)立鍵盤和矩陣鍵盤的應(yīng)用方法。
2、掌握鍵盤接口的硬件設(shè)計(jì)方法,軟件程序設(shè)計(jì)和貼士排錯(cuò)能力。
3、掌握利用Keil51軟件對(duì)程序進(jìn)行編譯。
4、用Proteus軟件繪制“矩陣鍵盤掃描”電路,并用測(cè)試程序進(jìn)行仿真。
5、會(huì)根據(jù)實(shí)際功能,正確選擇單片機(jī)功能接線,編制正確程序。對(duì)實(shí)驗(yàn)結(jié)果能做出分析和解釋,能寫出符合規(guī)格的實(shí)驗(yàn)報(bào)告。
二、實(shí)驗(yàn)要求
通過實(shí)訓(xùn),學(xué)生應(yīng)達(dá)到以下幾方面的要求:
素質(zhì)要求
1.以積極認(rèn)真的態(tài)度對(duì)待本次實(shí)訓(xùn),遵章守紀(jì)、團(tuán)結(jié)協(xié)作。
2.善于發(fā)現(xiàn)數(shù)字電路中存在的問題、分析問題、解決問題,努力培養(yǎng)獨(dú)立工作能力。
能力要求
1.模擬電路的理論知識(shí)
2.脈沖與數(shù)字電路的理念知識(shí)
3.通過模擬、數(shù)字電路實(shí)驗(yàn)有一定的動(dòng)手能力 4.能熟練的編寫8951單片機(jī)匯編程序 5.能夠熟練的運(yùn)用仿真軟件進(jìn)行仿真
三、實(shí)驗(yàn)工具
1、軟件:Proteus軟件、keil51。
2、硬件:PC機(jī),串口線,并口線,單片機(jī)開發(fā)板
四、實(shí)驗(yàn)內(nèi)容
1、掌握并理解“矩陣鍵盤掃描”的原理及制作,了解各元器件的參數(shù)及格
元器件的作用。
2、用keil51測(cè)試軟件編寫AT89C51單片機(jī)匯編程序
3、用Proteus軟件繪制“矩陣鍵盤掃描”電路原理圖。
4、運(yùn)用仿真軟件對(duì)電路進(jìn)行仿真。
五.實(shí)驗(yàn)基本步驟
1、用Proteus繪制“矩陣鍵盤掃描”電路原理圖。
2、編寫程序使數(shù)碼管顯示當(dāng)前閉合按鍵的鍵值。
3、利用Proteus軟件的仿真功能對(duì)其進(jìn)行仿真測(cè)試,觀察數(shù)碼管的顯示狀
態(tài)和按鍵開關(guān)的對(duì)應(yīng)關(guān)系。
4、用keil51軟件編寫程序,并生成HEX文件。
5、根據(jù)繪制“矩陣鍵盤掃描”電路原理圖,搭建相關(guān)硬件電路。
6、用通用編程器或ISP下載HEX程序到MCU。
7、檢查驗(yàn)證結(jié)果。
第 1 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
六、實(shí)驗(yàn)具體內(nèi)容
使用單片機(jī)的P1口與矩陣式鍵盤連接時(shí),可以將P1口低4位的4條端口線定義為行線,P1口高4位的4條端口線定義為列線,形成4*4鍵盤,可以配置16個(gè)按鍵,將單片機(jī)P2口與七段數(shù)碼管連接,當(dāng)按下矩陣鍵盤任意鍵時(shí),數(shù)碼管顯示該鍵所在的鍵號(hào)。
1、電路圖
2、程序流程圖
第 2 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
3、程序源碼
ORG 00H K1:
MOV
MOV
ANL
CJNE K2:
CALL
MOV
ANL
CJNE
JMP OVER:
CALL
MOV
ANL
CJNE
JMP OVER1:
MOV
MOV
ANL
CJNE
MOV
MOV
ANL
CJNE
MOV
MOV
ANL
CJNE
MOV
MOV
ANL
CJNE
LJMP ROW_0:
MOV SJMP
;起始地址00H P1, #0F0H
;設(shè)置P1.4~P1.7為輸入端口 A, P1
;從P1讀取所有列的值
A, #11110000B
;屏蔽掉無用的低4位,非列值 A, #11110000B, K1
;查詢直到所有的按鈕釋放
DELAY
;調(diào)用20ms延時(shí)子程序(省略)A, P1
;從P1讀取狀態(tài),看有沒有按鈕被按下A, #11110000B
;屏蔽掉無用的低4位,非列值 A, #11110000B, OVER;如果有按鈕按下,跳到OVER K2
;循環(huán)檢測(cè)
DELAY
;延時(shí)20ms防止抖動(dòng) A, P1
;從P1讀取狀態(tài) A, #11110000B
;屏蔽掉無用的位
A, #11110000B, OVER1;如果有按鈕按下,找到行 K2
;如果沒有按鈕按下,循環(huán)掃描 P1, #11111110B
;第0行輸出低電平A, P1
;讀所有的列 A, #11110000B
;屏蔽掉無用的位
A, #11110000B, ROW_0;如果第0行有按鈕按下,找列 P1, #11111101B
;第1行輸出低電平A, P1
;讀所有的列 A, #11110000B
;屏蔽掉無用的位
A, #11110000B, ROW_1;如果第1行有按鈕按下,找列 P1, #11111011B
;第2行輸出低電平A, P1
;讀所有的列 A, #11110000B
;屏蔽掉無用的位
A, #11110000B, ROW_2;如果第2行有按鈕按下,找列 P1, #11110111B
;第3行輸出低電平A, P1
;讀所有的列 A, #11110000B
;屏蔽掉無用的位
A, #11110000B, ROW_3;如果第3 行有按鈕按下,找列 K2
;如果沒有,則循環(huán)
DPTR, #KCODE0
;設(shè)置DPTR=第0行的起始地址 FIND
;找列
第 3 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
ROW_1:
MOV DPTR, #KCODE1
;設(shè)置DPTR=第1行的起始地址
SJMP FIND
;找列 ROW_2:
MOV DPTR, #KCODE2
;設(shè)置DPTR=第2行的起始地址
SJMP FIND
;找列 ROW_3:
MOV DPTR, #KCODE3
;設(shè)置DPTR=第3行的起始地址 FIND:
SWAP A FIND1:
RRC A
;看看是否進(jìn)位C為0
JNC MATCH
;如果是0,就跳到MATCH找鍵值
INC DPTR
;DPTR加1
SJMP FIND1
;循環(huán)查找 MATCH:
CLR A
;A=0
MOVC A, @A+DPTR
;用DPTR在數(shù)據(jù)表中找到鍵值裝入A
CLR P2.7
;置P2.0口為低,顯示數(shù)字
MOV P0, A
;顯示鍵值
LJMP K1
;循環(huán)
DELAY:
;延時(shí)子程序,1ms
MOV R1, #2
D1:
MOV R2, #248
DJNZ R2, $
DJNZ R1, D1
RET
;鍵值保存在以下的數(shù)據(jù)表中,可根據(jù)系統(tǒng)實(shí)際需要進(jìn)行修改
ORG 300H
;數(shù)據(jù)表起始地址
//KCODE0: DB 80H, 0C0H, 0C0H, 0C0H
;第0行 KCODE0: DB 0C0H,0F9H,0A4H,0B0H;第0行 KCODE1: DB 99H,92H,82H,0F8H
;第1行 KCODE2: DB 80H,90H,88H,83H;第2行 KCODE3: DB 0C6H,0A1H,86H,8EH
;第3行
END
4、仿真實(shí)驗(yàn)結(jié)果
當(dāng)矩陣鍵盤的0號(hào)鍵被按下時(shí),P0口的七段數(shù)碼管顯示的數(shù)據(jù)為0.如下圖1所以:
第 4 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
圖1
第 5 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
當(dāng)矩陣鍵盤的3號(hào)鍵被按下時(shí),P0口的七段數(shù)碼管顯示的數(shù)據(jù)為3.如下圖2所以:
圖2
第 6 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 7 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 8 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 9 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
當(dāng)矩陣鍵盤的D號(hào)鍵被按下時(shí),P0口的七段數(shù)碼管顯示的數(shù)據(jù)為d.如下圖3所以:
第 10 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
圖3
當(dāng)矩陣鍵盤的F號(hào)鍵被按下時(shí),P0口的七段數(shù)碼管顯示的數(shù)據(jù)為F.如下圖4所以:
圖4
5、實(shí)驗(yàn)板運(yùn)行結(jié)果
當(dāng)矩陣鍵盤的9號(hào)鍵被按下時(shí),P0口的七段數(shù)碼管顯示的數(shù)據(jù)為9.如下圖5所以:
第 11 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 12 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 13 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 14 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 15 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
圖5
第 16 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 17 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 18 頁
南京林業(yè)大學(xué)實(shí)驗(yàn)報(bào)告
第 19 頁
第三篇:嵌入式ARM鍵盤控制LED燈實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)六 鍵盤控制LED燈實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康?/p>
(1)通過實(shí)驗(yàn)掌握中斷式鍵盤控制與設(shè)計(jì)方法;(2)熟練編寫S3C2410中斷服務(wù)程序。實(shí)驗(yàn)設(shè)備
(1)S3C2410嵌入式開發(fā)板,JTAG仿真器。
(2)軟件:PC機(jī)操作系統(tǒng)Windows XP,ADS1.2集成開發(fā)環(huán)境,仿真器驅(qū)動(dòng)程序,超級(jí)終端通訊程序。實(shí)驗(yàn)內(nèi)容
編寫中斷處理程序,處理一個(gè)鍵盤中斷,并在串口打印中斷及按鍵顯示信息。實(shí)驗(yàn)步驟
(1)參照模板工程,新建一個(gè)工程keypad,添加相應(yīng)的文件,并修改keypad的工程設(shè)置;
(2)創(chuàng)建keypad.c并加入到工程keypad中;(3)編寫鍵盤中斷程序; 參考代碼如下: ①串口初始化程序
void uart_init()/* UART串口初始化 */ {
} GPHCON |= 0xa0;GPHUP = 0x0;ULCON0
//GPH2,GPH3 used as TXD0,RXD0
//GPH2,GPH3內(nèi)部上拉
//8N1
= 0x03;UCON0 = 0x05;UFCON0 = 0x00;
//查詢方式為輪詢或中斷;時(shí)鐘選擇為PCLK
//不使用FIFO //不使用流控 UMCON0 = 0x00;UBRDIV0 = 26;
//波特率為57600,PCLK=12Mhz ②發(fā)送數(shù)據(jù)
while(!(UTRSTAT0 & TXD0READY));UTXH0 = c;③接收數(shù)據(jù)
while(!(UTRSTAT0 & RXD0READY));return URXH0;④打印數(shù)據(jù)
int i = 0;
while(str[i]){ } return i;putc((unsigned char)str[i++]);⑤按鍵初始化
int key_init()/* 按鍵初始化 */ {
} ⑥中斷初始化
void irq_init()/* 中斷初始化 */ {
}(5)編譯keypad;
(6)運(yùn)行超級(jí)終端,選擇正確的串口號(hào),并將串口設(shè)置位:波特率(115200)、奇偶校驗(yàn)(None)、數(shù)據(jù)位數(shù)(8)和停止位數(shù)(1),無流控,打開串口; INTMSK &= ~(3<<2);printk(“中斷初始化OKrn”);GPFCON = 0x55aa;GPFUP = 0xff;
printk(“按鍵初始化OKrn”);return 0;(7)運(yùn)行程序,在超級(jí)終端中輸入的數(shù)據(jù)將回顯到超級(jí)終端上,結(jié)果如圖5.4所示:
圖6.1 初始化運(yùn)行結(jié)果
圖6.2 main運(yùn)行結(jié)果 實(shí)驗(yàn)總結(jié)
通過這次實(shí)驗(yàn)我鞏固了上次實(shí)驗(yàn)的串口的使用方法,串口初始化、發(fā)送數(shù)據(jù)和接收數(shù)據(jù),同時(shí)也熟悉了中斷的處理過程,即保護(hù)現(xiàn)場、中斷處理、恢復(fù)現(xiàn)場并返回。
在實(shí)驗(yàn)時(shí)花費(fèi)了很多的時(shí)間都沒有按照老師的要求將代碼修改好,主要是因?yàn)閷?duì)代碼的不熟悉和不能很好的靈活運(yùn)用,最后對(duì)老師修改的代碼仔細(xì)的看了,其實(shí)很簡單。
第四篇:矩陣心得體會(huì)
《矩陣論》學(xué)習(xí)心得體會(huì)
2011-2012第一學(xué)期,我在李勝坤老師的引領(lǐng)下,逐步學(xué)習(xí)了科學(xué)出版社出版、徐仲和張凱院等編著的《矩陣論簡明教程》第二版。該書是大學(xué)本科期間所學(xué)習(xí)的《線性代數(shù)》的矩陣部分內(nèi)容的深化,從數(shù)域擴(kuò)展到矩陣,要想充分理解“矩陣論”的精髓,就得先好好的將《線性代數(shù)》復(fù)習(xí)——掌握其基本概念及重要定理、結(jié)論。
該書有8個(gè)章節(jié),第一章是矩陣的相似變換,第二章講的是范數(shù)理論,第三章介紹的是矩陣分析,第四章詳細(xì)介紹的是矩陣分解,第五章羅列的是特征值的估計(jì)與表示,第六章介紹的是廣義逆矩陣,第七章介紹的是矩陣的直積,最后一章介紹的是線性空間與線性變換。下面分章節(jié)談?wù)摗?/p>
第一章中的特征值與特征向量、矩陣的相似對(duì)角化、向量內(nèi)積是本科期間《線性代數(shù)》中的內(nèi)容,我想作者的目的是借助以前大家都熟悉的知識(shí),將我們引領(lǐng)到另一個(gè)嶄新的知識(shí)領(lǐng)域,起到承上啟下的作用,讓我們對(duì)《矩陣論》感到不陌生。該章中的Jordan標(biāo)準(zhǔn)形、Hamilton-Cayley定理、酉相似的標(biāo)準(zhǔn)形是本科期間不曾深入學(xué)習(xí)的知識(shí),這些知識(shí)為后續(xù)學(xué)習(xí)《矩陣論》吹響了號(hào)角??傊谝徽戮褪歉叩葦?shù)學(xué)中的知識(shí)與“矩陣論”的銜接章節(jié),同時(shí)也是后續(xù)章節(jié)學(xué)習(xí)的非常重要基礎(chǔ)章節(jié)。我們要學(xué)好《矩陣論》就得學(xué)好該章,理解記憶其中的概念、結(jié)論。
第二章介紹向量范數(shù)與矩陣范數(shù)及其應(yīng)用。介紹了向量范數(shù)的三公理、酉不變性、1范、2范、無窮范、p范、加權(quán)范數(shù)(也叫橢圓范數(shù))以及很重要的一個(gè)不等式——Cauchy-Schwarz不等式、向量的收斂、發(fā)散性;矩陣范數(shù)的定義、m1范、m無窮范、F范及其酉不變性,矩陣范數(shù)與向量范數(shù)的相容性等。范數(shù)與矩陣的譜半徑緊緊相連,有了范數(shù)作為研究矩陣的數(shù)學(xué)工具,我們將會(huì)更易更深入的理解、研究矩陣,并用矩陣指導(dǎo)實(shí)際生產(chǎn)實(shí)踐。
第三章矩陣分析和第四章矩陣分解各是矩陣論的最重要章節(jié)之一。通過對(duì)矩陣的收斂性、矩陣級(jí)數(shù)、矩陣函數(shù)、矩陣微分、矩陣積分、矩陣四種分解等系統(tǒng)性學(xué)習(xí)研究,讓我明白了矩陣?yán)碚撛趯?shí)際生活中的巨大作用——矩陣論將大大減少工程運(yùn)算量及提高計(jì)算速度、精度。有了矩陣?yán)碚撟髦笇?dǎo),現(xiàn)實(shí)生活中很多不能解決或者很難解決的數(shù)學(xué)問題等都能夠得到很好的解決。比如,提高計(jì)算機(jī)的計(jì)算速度、優(yōu)化數(shù)字信號(hào)處理算法等。
第五章介紹了矩陣的非常重要的參數(shù)——特征值的估計(jì)及其表示,介紹了特征值界定估計(jì)、特征值包含區(qū)域等,讓我們對(duì)特征值有了更進(jìn)一步的了解,用書中的方法可以很高效的確定特征值的范圍、估計(jì)特征值的個(gè)數(shù)。是研究矩陣的有效方法,為計(jì)算特征值指明了方向,解決了以前計(jì)算特征值的困擾。
第六章介紹的是廣義逆矩陣,是逆矩陣的推廣。廣義逆矩陣是將可逆的方陣推廣到不可逆矩陣、長方矩陣。介紹了廣義逆矩陣的概念、逆矩陣的應(yīng)用、Moor-Penrose逆A+的計(jì)算、性質(zhì)以及在解線性方程組中的應(yīng)用。我想該章更大的應(yīng)用應(yīng)該在解線性方程組中,解決生活中的計(jì)算問題,提供了又一高效辦法。
第七章矩陣的直積是很易懂的知識(shí),是以前向量直積在矩陣中的推廣。對(duì)矩陣直積的研究對(duì)信號(hào)處理與系統(tǒng)理論中的隨機(jī)靜態(tài)分析與隨機(jī)向量過程分析等有重要的指導(dǎo)作用,同時(shí)也是重要的數(shù)學(xué)工具,是研究信號(hào)處理人員必備的數(shù)學(xué)工具。
第八章線性空間與線性變換,其中線性空間是幾何空間與n維向量空間概念的推廣與抽象,線性變換則反映了線性空間元素之間的一種最基本的聯(lián)系。該章的學(xué)習(xí)需要我們充分發(fā)揮我們的空間想象能力,同時(shí)該章也將會(huì)大大的啟迪我們思維的靈活性、喚醒沉睡已久的新思維。
通過《矩陣論簡明教程》的學(xué)習(xí),開闊了我的數(shù)學(xué)視野,給我思考問題、解決實(shí)際問題提供了新的思維方法。我將努力借助《矩陣論》,使自己在信號(hào)處理領(lǐng)域走的更遠(yuǎn)。
第五篇:矩陣分析
第一章:
了解線性空間(不考證明),維數(shù),基
9頁:線性變換,定理1.3
13頁:定理1.10,線性空間的內(nèi)積,正交
要求:線性子空間(3條)非零,加法,數(shù)乘
35頁,2491011
本章出兩道題
第二章:
約旦標(biāo)準(zhǔn)型
相似變換矩陣?yán)?.8(51頁)出3階的例2.6(46頁)出3階的三角分解例2.9(55頁)(待定系數(shù)法)(方陣)
行滿秩/列滿秩(最大秩分解)
奇異值分解
本章出兩道題
第三章:
例3.1(75頁)定理3.2要會(huì)證明例3.3必須知道(證明不需要知道)定義3.3 例3.4證明要知道定理3.5掌握定理3.7要掌握
習(xí)題24
本章出(一道計(jì)算,一道證明)或者(一道大題(一半計(jì)算,一半證明))
第四章:
矩陣級(jí)數(shù)的收斂性判定要會(huì),一般會(huì)讓你證明它的收斂
比較法,數(shù)字級(jí)數(shù)
對(duì)數(shù)量微分不考,考對(duì)向量微分(向量函數(shù)對(duì)向量求導(dǎo))
本章最多兩道,最少 一道,也能是出兩道題選一道
第六章:
用廣義逆矩陣法求例6.4(154頁)
能求最小范數(shù)(158頁)如果無解就是LNLS解
定理6.1了解定理6.2 求廣義逆的方法(不證明)
定理6.3(會(huì)證明)定理6.4(會(huì)證明)(去年考了)定理6.9(會(huì)證明)推論要記
住定理6.10(會(huì)證明)
出一道證明一道計(jì)算