版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有第第7章章 掃描數(shù)碼管、鍵盤與點(diǎn)陣顯示掃描數(shù)碼管、鍵盤與點(diǎn)陣顯示 7.1 掃描數(shù)碼管顯示掃描數(shù)碼管顯示(1)直接掃描數(shù)碼管采用單獨(dú)的引腳輸出段碼與位碼,占用I/O引腳少,引腳數(shù)量等于8位(段碼)加數(shù)碼管的數(shù)量(位碼),節(jié)省電源功率,但是浪費(fèi)CPU時間,因為必須定時更換段碼與位碼,保證顯示的連續(xù)性。需要點(diǎn)亮一個數(shù)碼管一段時間(持續(xù)1ms以上),再切換到另外一個。例如三個數(shù)碼管組成的顯示器,數(shù)碼管的工作點(diǎn)電流為10mA,2V壓降,則可以采用30mA,33%占空比的電流工作,若是每個數(shù)碼管顯示時間為5ms,需要15ms完成一次顯示,則每個數(shù)碼管的
2、閃爍頻率為66Hz。若是增加數(shù)碼管數(shù)量,則占空比降低,若要保證亮度需要增加電流,但是最大不要超過100mA。圖所示的是共陰極數(shù)碼管的掃描工作接線圖。單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有.a11b7c4d2e1f10g5h3L12LM9RM8R6shuma2.a11b7c4d2e1f10g5h3L12LM9RM8R6shuma1共陰極s1s2s3s4s5s6s7s8VCC12345678JDATACON812345678JDSCON8Q19013Q29013Q3Q4Q5Q6Q7Q8Rsm115kRsm215kRsm315kRsm415kRsm515kRsm615kRsm715k
3、Rsm815ks1s2s3s4s5s6s7s8共陰極高電平有效高電平有效123456789Rs95101234JVCCCON4VCC.段驅(qū)動連接器IDATA與51單片機(jī)的P0口相連,位驅(qū)動連接器IDS與P2口相連,段驅(qū)動信號高電平有效,驅(qū)動晶體三極管9013的信號也是高電平有效。單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有例題7-1直接掃描數(shù)碼管8位共陰極數(shù)碼管,采用掃描方式。輸出1、2、3、4、5、6、7、8。#includeunsignedcharcodetable1=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0
4、x6f;/段碼,高電平有效unsignedcharcodetable3=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;/位碼,高電平有效unsignedchari;/i是數(shù)碼管掃描變量unsignedchara,b;/a、b是循環(huán)變量voidmain(void)while(1)for(i=0;i0;a-)/循環(huán)延時for(b=248;b0;b-);單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有(2)總線法掃描數(shù)碼管采用兩個8D鎖存器74373分時鎖存段碼與位碼,則可以節(jié)省I/O引腳,例如8位數(shù)碼管掃描顯示可以采用10個I/O口實現(xiàn)。其中
5、8位用來分時送段碼與位碼,另外2位用于連接74373的鎖存控制端,分別控制鎖存段碼與位碼。100LE1LE2D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274HC373D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U374HC373.a11b7c4d2e1f10g5h3L12LM9RM8R6shuma2.a11b7c4d2e1f10g5h3L12LM9RM8R6shum
6、a1s1s2s3s4s5s6s7s8s1s2s3s4s5s6s7s8圖中的D0D7信號與P3口相連,LE1與LE2與P2_0和P2_1引腳相連。D0D7信號分時送出段碼與位碼。74373功能為:OE是輸出使能控制,OE=1時,輸出高阻,OE=0時,輸出等于鎖存器輸出。LE為鎖存控制端,LE=1時,鎖存器輸出與輸入相同,LE=0時,鎖存器鎖存輸入信號。單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有例題7-2采用總線法掃描數(shù)碼管,8位共陰極數(shù)碼管,顯示輸出數(shù)字1、2、3、4、5、6、7、8。源程序如下:#includeunsignedcharcodetable1=0 x3f,0 x06,0
7、 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/段碼,高電平有效unsignedcharcodetable3=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/位碼,低電平有效unsignedchari;/i是數(shù)碼管掃描變量unsignedchara,b;/a、b是循環(huán)變量voidmain(void)while(1)for(i=0;i0;a-)/延時for(b=248;b0;b-);單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有7.2 掃描鍵盤掃描鍵盤掃描式鍵盤又叫行列式鍵盤或矩陣式鍵盤。用
8、I/O口線組成行列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。例如用22的行、列結(jié)構(gòu)可構(gòu)成4個鍵的鍵盤,44的行列結(jié)構(gòu)可構(gòu)成16個鍵的鍵盤。因此,在按鍵數(shù)量較多時,可以節(jié)省I/O口引腳。ANNIU2ANNIU3ANNIU4ANNIU6ANNIU7ANNIU8ANNIU10ANNIU11ANNIU12ANNIU1ANNIU5ANNIU9VCCANNIU14ANNIU15ANNIU16ANNI110Kkh0kh1kh2kh3KL0KL1KL2KL312345678JKEYCON8kh0kh1kh2kh3KL0KL1KL2KL3.單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有行、
9、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到電源VCC,被鉗位在高電平狀態(tài)。鍵盤中有無按鍵按下的判斷方法是:將列線的所有I/O線均置成低電平,然后將行線電平狀態(tài)讀入。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入不全為1。若是列線為高4位,則可以判斷低4位,如果低4位不全為1,則有按鍵按下。鍵盤中哪個鍵按下的判斷方法是:由列線逐列置低電平后,檢查行輸入狀態(tài)而確定的。其方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列。而且是在此列與電平為0的行線相交的交點(diǎn)上的那個鍵。一旦找到哪個按鍵按下,就可以賦鍵值。單片機(jī)技
10、術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有例題7-34x4掃描鍵盤如下的鍵盤掃描程序,對圖7-3所示的鍵盤進(jìn)行掃描。P3高4位(P3_4P3_5)為列掃描(KL0KL3),順序輸出低電平;P3低4位為行掃描(Kh0Kh3),順序讀入數(shù)據(jù),檢測哪一行為0;源程序如下:#includeunsignedcharcodetable=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xA1,0 x86,0 x8e;/共陽數(shù)碼管的十六進(jìn)制-7段譯碼表unsignedchartemp;/暫存變量
11、unsignedcharkey;/鍵值變量unsignedchari,j;/循環(huán)變量單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有voidmain(void)while(1)P3=0 xff;/使P3口輸出高電平,準(zhǔn)備接收輸入信號P3_4=0;/使P3_4為0,然后檢測鍵盤,如果低4位不等于F,表示鍵盤按下temp=P3;/將P3口數(shù)值保存在變量temptemp=temp&0 x0f;/取低4位if(temp!=0 x0f)/如果低4位不等于1111,則表示按鍵按下for(i=50;i0;i-)for(j=200;j0;j-);/延遲時間,消除抖動temp=P3;temp=te
12、mp&0 x0f;if(temp!=0 x0f)/如果低4位還是不等于1111temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有switch(temp)/根據(jù)低4位的值,用分支語句確定鍵值case0 x0e:/如果P3低4位為1110,所以11101110key=7;break;case0 x0d:/如果P3低4位為1101,所以11101101key=8;break;case0 x0b:/如果P3低4位為1011,所以11101011key=9;break;case0 x07:/如果P3低4位為0111,所以11100111
13、key=10;break;temp=P3;P1_0=P1_0;P0=tablekey;/P0口相連的數(shù)碼管顯示鍵值temp=temp&0 x0f;while(temp!=0 x0f)/等待按鍵抬起P3口的低4位等于1111temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有P3=0 xff; P3_5=0;/使P3_5為0,然后檢測鍵盤,如果低4位不等于F,表示鍵盤按下temp=P3;temp=temp&0 x0f;if(temp!=0 x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=P
14、3;temp=temp&0 x0f;if(temp!=0 x0f)temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有switch(temp)case0 x0e:/如果P3低4位為1110,所以11011110key=4;break;case0 x0d:/如果P3低4位為1101,所以11011101key=5;break;case0 x0b:/如果P3低4位為1011,所以11011011key=6;break;case0 x07:/如果P3低4位為0111,所以11010111key=11;break;temp=P3;P1_
15、0=P1_0;P0=tablekey;temp=temp&0 x0f;while(temp!=0 x0f)temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有P3=0 xff;P3_6=0;/使P3_6為0,然后檢測鍵盤,如果低4位不等于F,表示鍵盤按下temp=P3;temp=temp&0 x0f;if(temp!=0 x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=P3;temp=temp&0 x0f;if(temp!=0 x0f)temp=P3;temp=temp&
16、0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有switch(temp)case0 x0e:/10111110key=1;break;case0 x0d:/10111101key=2;break;case0 x0b:/10111011key=3;break;case0 x07:/10110111key=12;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp&0 x0f;while(temp!=0 x0f)/等待按鍵松開temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有
17、P3=0 xff;P3_7=0;/使P3_7為0,然后檢測鍵盤,如果低4位不等于F,表示鍵盤按下temp=P3;temp=temp&0 x0f;if(temp!=0 x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=P3;temp=temp&0 x0f;if(temp!=0 x0f)temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有switch(temp)case0 x0e:/01111110key=0;break;case0 x0d:/01111101key=13;break;case
18、0 x0b:/01111011key=14;break;case0 x07:/01110111key=15;break;temp=P3;P1_0=P1_0;P0=tablekey;/顯示按鍵值temp=temp&0 x0f;while(temp!=0 x0f)temp=P3;temp=temp&0 x0f;單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有7.3 發(fā)光二極管點(diǎn)陣顯示發(fā)光二極管點(diǎn)陣顯示點(diǎn)陣發(fā)光二極管器件內(nèi)部如圖所示。若是行加高電平,列加低電平,則行列交叉點(diǎn)的發(fā)光二極管亮,其實可以把每一行相連的8個發(fā)光二極管看作一個數(shù)碼管的8個段,列相當(dāng)于段,行相當(dāng)于行,若是列
19、加段碼,行加位碼,就與共陽極掃描數(shù)碼管顯示的情況相同。列.12345678行1行2行8.單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有如圖所示,若要顯示數(shù)字1,則需要8個列碼為:0 xff,0 xff,0 xff,0 xff,0 xde,0 x80,0 xfe,0 xff。因為使共陽接線方式,所以列碼為0(低電平)的位置,發(fā)光二極管亮。1 2345678123456780000000001011111111111111111111111111111111111111111111111111111ff ff ff ff de 80 fe ff.行掃描.列值.單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:
20、夏路易電子工業(yè)出版社所有例題7-4發(fā)光二極管點(diǎn)陣定時順序顯示數(shù)字09。公共端為陽極(行),連接PNP型晶體管9102的集電極,9012基極信號為低電平有效。列控制低電平有效。每給定一次列數(shù)據(jù),就掃描1行,列數(shù)據(jù)值為零的發(fā)光二極管,由于在行公共端上加高電平,會被點(diǎn)亮。對應(yīng)8列數(shù)據(jù),掃描8次,完成1次顯示。單片機(jī)的P0口輸出行掃描信號,順序輸出低電平;P2口輸出列數(shù)據(jù)。VCC12345678JJZDATACON8RA0510RA1510RA2510RA3510RA4510RA5510RA6510RA7510H41H22C23C34H15C56H37H68H89C410C611H512C113H71
21、4C715C816共陽點(diǎn)陣H(陽極公共端)JuzhenLEDJZ12345678JJZDSCON8Rj110kRj210kRj310kRj410kRj510kRj610kRj710kRj8低電平有效QP19012QP29012QP39012QP49012QP59012QP69012QP79012QP89012H1H2H3H4H5H6H7H8H1H2H3H4H5H6H7H8低電平有效.單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有#includeunsignedcharcodetab=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/行掃描
22、表,低電平有效(驅(qū)動9012)unsignedcharcodedigittab108=0 xff,0 xff,0 xc1,0 xbe,0 xbe,0 xbe,0 xc1,0 xff,/00 xff,0 xff,0 xff,0 xff,0 xde,0 x80,0 xfe,0 xff,/10 xff,0 xff,0 xd8,0 xba,0 xba,0 xba,0 xc6,0 xff,/20 xff,0 xff,0 xff,0 xb6,0 xb6,0 xb6,0 xc9,0 xff,/30 xff,0 xff,0 xf3,0 xeb,0 xdb,0 x80,0 xfb,0 xff,/40 xff,0
23、 xff,0 x8d,0 xae,0 xae,0 xae,0 xb1,0 xff,/50 xff,0 xff,0 xc1,0 xb6,0 xb6,0 xb6,0 xd9,0 xff,/60 xff,0 xff,0 xbf,0 xbf,0 xbf,0 xb0,0 x8f,0 xff,/70 xff,0 xff,0 xc9,0 xb6,0 xb6,0 xb6,0 xc9,0 xff,/80 xff,0 xff,0 xcd,0 xb6,0 xb6,0 xb6,0 xc1,0 xff;/9,/字型碼,8個列數(shù)據(jù)組成一個數(shù)字,低電平有效unsignedinttimecount;/每個數(shù)字顯示時間變量unsignedcharcnta;/行數(shù)據(jù)掃描變量unsignedcharwdn;/更換顯示數(shù)字的字變量單片機(jī)技術(shù)基礎(chǔ)教程與實踐作者:夏路易電子工業(yè)出版社所有voidmain(void)TMOD=0 x01;/定時器0,模式1TH0=(65536-3000)/256;/設(shè)置初值TL0=(65536-3000)%256;TR0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手注塑機(jī)2024年度購銷合同范本2篇帶眉腳
- 2025版冷鏈物流貨車承包經(jīng)營合同范本3篇
- 2025年高端裝備制造業(yè)貨物采購運(yùn)輸合同3篇
- 二零二五年度2025場現(xiàn)代農(nóng)業(yè)科技應(yīng)用推廣合同3篇
- 二零二五年度城市綠化項目承包經(jīng)營合同賠償細(xì)則3篇
- 2025版建筑工程施工安全管理技術(shù)咨詢合同示范文本
- 二零二五年度彩鋼板房拆除工程廢棄物處置與資源化利用協(xié)議2篇
- 二零二五年度隧道工程安裝施工合同6篇
- 二零二五年度人工智能倫理與隱私保護(hù)合同法解讀
- 2025年度新型木材加工鋼材買賣居間服務(wù)與技術(shù)支持合同4篇
- 2024年國家焊工職業(yè)技能理論考試題庫(含答案)
- 特魯索綜合征
- 《向心力》 教學(xué)課件
- 結(jié)構(gòu)力學(xué)數(shù)值方法:邊界元法(BEM):邊界元法的基本原理與步驟
- 2024年山東省泰安市高考語文一模試卷
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 北師大版物理九年級全一冊課件
- 2024年第三師圖木舒克市市場監(jiān)督管理局招錄2人《行政職業(yè)能力測驗》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過濾吸收器制造與驗收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 新概念英語課件NCE3-lesson15(共34張)
評論
0/150
提交評論