Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 25
BÀI 4: CÔNG TC NHN
MC ĐÍCH
Giúp sinh viên kho sát các vn đề sau:
- S dng phn mm Proteus để mô phng mch đin.
- Tìm hiu cách thc kim tra công tăc có nhn hay không và các ng
dng ca chúng dùng trong 89C51.
THIT B S DNG
- Máy vi tính.
- Phn mm Proteus
1. Cơ s lý thuyết
Công tc đơn
Các phím đơn dùng để điu khin khi h thng không đòi hi nhiu giá tr
nhp (chng như ch cn các điu khin đóng m thiết b). Khi thc hin kim tra
phím nhn, vn đề cn thiết là phi thc hin chng di. Quá trình chng di có
th thc hin bng phn mm: Do thi gian di ca phím vào khong 20ms nên
quá trình chng di bng phn mm đơn gin là to mt thi gian tr đủ ln để
chương trình b qua nh hưởng khi di.
Khi thc hin giao tiếp gia công tc đơn và vi điu khin MCS-51 thì cn
lưu ý phi set bit tương ng ca vi điu khin lên mc logic 1 mi có th đọc d
liu vào. Phn cng giao tiếp có th mô t như hình v, tuy nhiên đối vi h
MCS-51, các port đã có đin tr kéo lên ngun (tr port 0) nên đối vi sơ đồ hình
a và c có th không cn đin tr R.
Bàn phím Hex
khi không nhn phím thì hàng ca bàn phím Hex ni vi Vcc thông qua
đin tr R nên có mc logic 1. Để phân bit được trng thái ca phím nhn thì
mc logic khi nhn phím phi là mc logic 0. Mà khi nhn mt phím nào đó thì
tương ng hàng và ct ca bàn phím Hex s kết ni vi nhau. Do đó, để thc
hin kim tra mt phím thì ta phi cho trước ct cha phím tương ng mc
logic 0, sau đó kim tra hàng ca phím, nếu hàng = 0 thì có nhn phím còn hàng
= 1 thì không nhn phím.
R
VCC
SW
To uP
R
SW
To uP
VCC
R
VCC
To uP
SW
a
b
c
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 26
Ví d như mun kim tra phím 4 thì ta cho ct cha phím 4 mc logic 0
(chân 5 ca J1, các ct khác = 1, nghĩa là d liu ti J1 là 1000xxxxb), sau đó
thc hin kim tra chân 2 ca J1 (hàng ca phím 4), nếu chân này = 0 thì phím 4
được nhn.
2. Tiến trình thc hin
Công tc đơn
S dng mch như hình v trang bên vi các linh kin:
Keywords Category Sub-category Results Value
7seg All All 7SEG-COM-ANODE
8951 All All AT89C51
374 74 TTL Series All 74LS374
Button Switches & Relays All Button
Resistor Resistors Resistor Packs RX8 220
- Thc hin chương trình sau:
MOV 30H,#0
SJMP Hienthi
Main:
JNB P3.0,Sw1 ; Nếu P3.0 = 0 thì nhn SW1
JNB P3.1,Sw2 ; Nếu P3.1 = 0 thì nhn SW2
SJMP Main
SW1:
INC 30H ; Tăng ô nh 30h
0 1 2 3
4 5 6 7
8 9 A B
C D E F
R R R R
VCC
1
2
3
4
5
6
7
8
J1
CON8
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 27
MOV A,30H
CJNE A,#100,Hienthi ; Nếu giá tr ô nh 30h = 100
MOV 30H,#0 ; thì gán 30h = 0
SJMP Hienthi ; Hin th ra Led 7 đon
;-------------
Sw2:
DEC 30H ; Gim ô nh 30h
MOV A,30H
CJNE A,#255,Hienthi ; Nếu giá tr gim = -1 (255)
MOV 30H,#99 ; thì gán 30h = 99
SJMP Hienthi
;-------------
Hienthi:
MOV A,30H
MOV B,#10
DIV AB
MOV DPTR,#Maled7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.1
SETB P1.1
MOV A,B
MOV DPTR,#Maled7
MOVC A,@A+DPTR
MOV P2,A
CLR P1.0
SETB P1.0
CALL Delay
SJMP Main
Maled7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;--------------
Delay:
PUSH 07
PUSH 06
MOV R6,#100
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 28
Delay1:
MOV R7,#255
DJNZ R7,$
DJNZ R6,Delay1
POP 06
POP 07
RET
END
Nhn vào các công tc và quan sát trng thái các Led.
- B lnh CALL Delay trong chương trình trên và quan sát trng thái
các Led, có nhn xét gì so vi khi có thi gian Delay.
Bàn phím Hex
S dng mch như hình v trang bên vi các linh kin:
Keywords Category Sub-category Results Value
7seg All All 7SEG-COM-ANODE
8951 All All AT89C51
374 74 TTL Series All 74LS374
Resisto
r
Resistors Resistor Packs RX8 220
Keypad Switches & Relays All KEYPAD-
SMALLCALC
- Thc hin chương trình sau:
Main:
MOV P3,#0FEH ; Chn ct cha các phím 7,8,9,÷
JNB P3.4,Sw7
Tài liu thc hành Vi điu khin
Phm Hùng Kim Khánh Trang 29
JNB P3.5,Sw8
JNB P3.6,Sw9
JNB P3.7,Swchia
MOV P3,#0FDH ; Chn ct cha các phím 4,5,6,X
JNB P3.4,Sw4
JNB P3.5,Sw5
JNB P3.6,Sw6
JNB P3.7,Swnhan
MOV P3,#0FBH ; Chn ct cha các phím 1,2,3,-
JNB P3.4,Sw1
JNB P3.5,Sw2
JNB P3.6,Sw3
JNB P3.7,Swtru
MOV P3,#0F7H ; Chn ct cha các phím ON/C,0,=,+
JNB P3.4,Swon
JNB P3.5,Sw0
JNB P3.6,Swbang
JNB P3.7,Swcong
SJMP Main
;-------------
SW0:
MOV 30H,#0
SJMP Hienthi
;-------------
SW1:
MOV 30H,#1
SJMP Hienthi
;-------------
SW2:
MOV 30H,#2
SJMP Hienthi
;-------------
SW3:
MOV 30H,#3
SJMP Hienthi
;-------------
SW4: