微機原理學訓報告書 學訓四
班 級:電氣15-1 姓 名: 學 號: 指導老師: 浙江水利水電學院 電氣工程學院 學訓結合項目四:鍵盤與數碼管顯示電路 1、學習目標 通過本項目教、學、作一體的學習,熟悉單片機鍵盤接口電路與數碼管顯示電路的工作原理、電路的設計和編程。 2、所需器材 PC機一臺,仿真開發軟件,編程器,萬用表一塊,單片機最小系統PCB板,電烙鐵,LED數碼管,按鍵,排插,連接線等。 3、學習參考資料 4、學訓內容 (1)在單片機的最小系統PCB板上焊制四個按鍵,用排插和排線和單片機I/O接口相連,鍵盤采用獨立式鍵盤,一個按鍵占用一根I/O線,如下圖: (2)在單片機的最小系統PCB板上焊制四位一體共陽極的LED數碼管,用排插和排線和單片機I/O接口相連,顯示方式為動態掃描顯示,如下圖: (3)編寫鍵盤四按鍵識別的子程序。 (4)編寫數碼管動態掃描顯示的子程序。 (5)編寫鍵盤顯示測試程序:(鍵盤程序用程序掃描方式) 實現功能要求:開機時數碼管顯示‘0000’,按S0顯示‘1111’,按S1顯示‘2222’,按S2顯示‘3333’,按S3顯示‘4444’。
5、單元學習思考題 1、簡述51單片機的鍵盤和數碼管顯示電路的工作原理?
鍵盤是由一組排列成矩陣方式的按鍵開關組成,通常有編碼鍵盤和非編碼鍵盤兩種類型,IBM系列個人微型計算機的鍵盤屬于非編碼類型。微機鍵盤主要由單片 機、譯碼器和鍵開關矩陣三大部分組成。其中單片機采用了INTEL8048單片微處理器控制,這是一個40引腳的芯片,內部集成了8位 CPU、1024×8位的ROM、64×8位的RAM、8位的定時器/計數器等器件。由于鍵盤排列成矩陣格式,被按鍵的識別和行列位置掃描碼的產生,是由 鍵盤內部的單片機通過譯碼器來實現的。單片機在周期性掃描行、列的同時,讀回掃描信號線結果,判斷是否有鍵按下,并計算按鍵的位置以獲得掃描碼。當有鍵按 下時,鍵盤分兩次將位置掃描碼發送到鍵盤接口;按下一次,叫接通掃描碼;釋放時再發一次,叫斷開掃描碼。因此可以用硬件或軟件的方法對鍵盤的行、列分別進 行掃視,去查找按下的鍵,輸出掃描位置碼,通過查表轉換為ASCII碼返回。
靜態顯示驅動:靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數碼管靜態顯示則需要5×8=40根I/O端口來驅動,要知道一個89S51單片機可用的I/O端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。
動態顯示驅動:數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。
| 單元學習體會
1、通過本單元學習,你有哪些收獲?
通過這章的學習本人對鍵盤的工作原理,按鍵的結構和特點還有編碼有了初步的了解。鍵盤的四按鍵識別,數碼管顯示程序的一系列編程讓我學到了好多
2、對本單元的學習內容有哪些建議?
這些都學不好,沒有建議,不敢有建議。
單元學習自我評價
你認為自己在本單元學習階段中成績為(優、良、中、及格、不及格)理由如下:中
在課上對一些內容的理解不夠,課后未有很好的思考與理解導致
后來的編程有了很多問題,在學習上不夠自覺有待改進。
本單元學習教師評分
該同學本單元學習成績為:( 優、良、中、及格、不及格)
- ORG 0000H
- AJMP MAIN;
- ORG 0030H
- MAIN:MOV SP,#30H;設置堆棧
- MOV P1,#0FFH;;設p1口為輸入方式
- MOV 60H,#0
- MOV 61H,#0
- MOV 62H,#0
- MOV 63H,#0
- MAIN0:CALL DIS
- CALL KEYMON
- AJMP MAIN0
- ************************數碼管顯示程序******************************
- DIS:MOV R1,#60H;指向顯緩區首址
- MOV R2,#11111011B;;從右面第一位開始顯示
- LD0:MOV P0,#0FFH;送字形前先關顯示,P0作普通i/O
- MOV A,@R1;;取顯示字符
- MOV DPTR,#TABLE;;指向字符代碼表首址
- MOVC A,@A+DPTR;;取字符相應編碼
- MOV P0,A;;字符編碼送p0口
- MOV P2,R2;位控碼送p2口
- LCALL DELAY;延遲
- INC R1;指向下一顯緩單元
- MOV A,R2;取當前位控碼
- JNB ACC.3,LD1;是否掃描到最左邊,是返回
- RL A;否,左移以一位
- MOV R2,A;保存內容到B
- AJMP LD0;繼續掃描顯示
- LD1:
- RET;返回
- ***********************鍵盤掃描*********************************
- LOOP:LCALL KEYMON;在主程序中循環調用鍵盤掃描子程序
- KEYMON:MOV A,P1;取p1口當前狀態
- ANL A,#3FH; 屏蔽高兩位
- CJNE A,#3FH,KEY; 有鍵按下,轉鍵處理key
- RET
- KEY:MOV B,A; 保存鍵閉合信息到B
- LCALL DELAY
- LP:MOV A,P1; 取p1口
- ANL A,#3FH; 屏蔽高四位
- CJNE A,#3FH,LP;等待鍵釋放
- LCALL DELAY;
- MOV A,B;取鍵閉合信息
- JNB ACC.0,KEY0;若K0按下,轉鍵處理程序KEY0
- JNB ACC.1,KEY1;若K1按下,轉鍵處理程序KEY1
- JNB ACC.2,KEY2;若K2按下,轉鍵處理程序KEY2
- AJMP KEY3;轉鍵處理程序KEY3
- KEY0:MOV 60H,#1
- MOV 61H,#1
- MOV 62H,#1
- MOV 63H,#1
- MOV 64H,#1
- MOV 65H,#1
- RET
- KEY1:MOV 60H,#2
- MOV 61H,#2
- MOV 62H,#2
- MOV 63H,#2
- MOV 64H,#2
- MOV 65H,#2
- RET
- KEY2: MOV 60H,#3
- MOV 61H,#3
- MOV 62H,#3
- MOV 63H,#3
- MOV 64H,#3
- MOV 65H,#3
- RET
- KEY3:MOV 60H,#4
- MOV 61H,#4
- MOV 62H,#4
- MOV 63H,#4
- MOV 64H,#4
- MOV 65H,#4
- RET
- AJMP $
- ;**********************延遲程序
- D1: NOP
- NOP
- DJNZ R7,D1
- RET
- TABLE:DB 0C0H,0F9H,0A4H,0B0H,099H
- END
復制代碼
完整的Word格式文檔51黑下載地址:
學訓項目四:顯示與鍵盤電路.doc
(720.21 KB, 下載次數: 8)
2018-7-2 10:53 上傳
點擊文件名下載附件
|