Vi điều khiển 89V51RB2 với 4 port điều khiển
Trang 1B NỘI DUNG PHẦN I: CƠ SỞ LÝ THUYẾT
GIỚI THIỆU VỀ CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH.
Vi điều khiển 89V51RB2 với 4 Port điều khiển
I Sơ đồ chức năng của một hệ vi xử lý.
•CPU(central processing unit): đơn vị xử lý trung tâm
•Ram (Random Access Memory) bộ nhớ truy xuất ngẫu nhiên
•Rom (Read Only Memore) bộ nhớ chỉ đọc
•Interface circuity: Mạch điện giao tiếp
•Peripheral devices (input) các thiết bị ngoại vi (thiết bị nhập)
•Peripheral devices(output) các thiết bị ngoại vi(thiết bị xuất)
•Addressbus: bus địa chỉ
•Data bus: bus dữ liệu
•Control bus: bus điều khiển
Trang 23 Đơn vị xử lý trung tâm.
•CPU đóng vai trò chủ đạo trong hệ vi xử lý, nó quản lý tất cả hoạt động của hệ và thực hiện các thao tác trên dữ liệu
• CPU là một vi mạch điện tử có độ tích hợp cao Khi hoạt động CPU đọc
mã lệnh được ghi dưới dạng các bít 0 và 1 từ bộ nhớ, sau đó nó sẽ thực hiện giải mã các lệnh này thành các dãy xung điều khiển tương ứng với các thao tác trong lệnh để điều khiển các khối khác
•IR/IP: Thanh ghi lệnh/ con trỏ lệnh
•PC(Program counter): bộ đếm chương trình
•Instruction decode and control unit: đơn vị giải mã lệnh và điều khiển
•ALU: đơn vị số học và logic
•Khi hoạt động CPU sẽ thực hiện liên tục 2 thao tác: tìm nạp lệnh và giải mã- thực hiện lệnh
Thao tác tìm nạp lệnh:
Nội dung thanh ghi PC được CPU đưa lên bus địa chỉ
Tín hiệu điều khiển đọc(read) chuyển sang trạng thái tích cực
PAGE 2
Trang 3 Mã lệnh(opcode) từ bộ nhớ được đưa lên bus dữ liệu.
Nội dung của thanh ghi PC tăng lên 1 đơn vị để chuẩn bị tìm nạp một lệnh kế tiếp từ bộ nhớ
Thao tác giải mã-thực hiện lênh:
Mã lệnh từ thanh ghi IR được đưa vào đơn vị giải mã lệnh và điều khiển
Đơn vị giải mã lệnh và điều khiển sẽ thực hiện giải mã opcode và tạo ra các tín hiệu để điều khiển việc xuất nhập dữ liệu giữa ALU và các thanh ghi
Căn cứ trên các tín hiệu điều khiển này, ALU thực hiện các thao tác
đã được xác định
Một chuỗi các lệnh(opcode) kết hợp lại với nhau để thực hiện một công việc có nghĩa được gọi là chương trình(program) hay phần mềm
Bộ nhớ bán dẫn rất quan trọng trong vi xử lý, các chương trình và dữ liệu đều được lưu trongh bộ nhớ
Bộ nhớ bán dẫn trong hệ vi xử lý bao gồm: ROM(Read Only Memore) lưu giữ chương trình hoạt động của hệ thống, RAM(Random Access Memory): lưu trữ dữ liệu một phần chương trình điều khiển hệ thống, các ứng dụng và các kết quả tính toán
II Vi điều khiển 89V51RB2.
Trang 4Là port có chân từ 10 đến 17 Có chức năng như các đường I/O Ngoài ra còn
có chức năng đặc biệt sau:
PAGE 4
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu phát cho port nối tiếp
Trang 5PSEN=0 trong thời gian CPU tìm-nạp lệnh từ ROM ngoài
PSEN=1 CPU sử dụng Ram trong
Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN thường được nối với chân OE của ROM ngoài để cho phép CPU đọc mã lệnh từ Ram ngoài
Là tín hiệu xuất, tích cực mức cao
ALE=0 trong thời gian bus AD0-AD7 đóng vai trò bus DO-D7
ALE=1 trong thời gian bus AD0-AD7 đóng vai trò bus A0-A7
Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngỏ vào của xung lập trình(PGM)
Khi lấy dữ liệu từ Ram ngoài( MOVX) được thực hiện thì 1 xung ALE được bỏ qua
EA=0 Chíp sử dụng chương trình của Rom ngoài
EA=1 Chíp sử dụng chương trình của Ram ngoài
Trang 6Lưu ý: chân EA phải luôn luôn nối lên chân Vcc ( Sử dụng chương trình của Rom trong), hoặc Vss ( Sử dụng chương trình của Rom ngoài).
Chân XTAL1, XTAL2
- XTAL1(Crystal) Tinh thể thạch anh chân số 18-19
- Chức năng:
Dùng để nối với thạch anh hoặc dao động tạo xung clock bên ngoài, cung cấp tín hiệu cho xung clock cho chip hoạt động
XTAL1 Ngõ vào mạch tạo xung clock
XTAL2 Ngõ ra mạch tạo xung clock
RST=1 chíp thiết lập lại trạng thái ban đầu
Vcc, GND (Nguồn, mass ) chân số 40-20
III Ổn dòng ULN2803
PAGE 6
Trang 7Nhìn vào sơ đồ cấu tạo của ULN2803 ta thấy được rằng khi đầu vào ở mức 1 thì đầu ra ở mức 0 và ngược lại Nó được qua cổng Not.
+ Chân 1 input (Mức 1) ==> chân output 18 (mức 0) và ngược lại
+ Chân 2 inphut (mức 1) ==> chân output 17 (mức 0) và ngược lại
+
+Chân 8 input (mức 1) ==> Chân output 11 (mức 0) và ngược lại
Do đó ULN2803 có tác dụng ổn dòng trong khoảng thời gian rất ngắn Tác dụng này làm cho các LED sáng đều vì trong khi quét do phải sáng cả hàng LED nên sự sụt dòng là rất lớn sẽ làm cho LED tối
IV IC 74LS138
Dùng 4 IC 74LS138 (3 đầu vào, 8 đầu ra) để giải mã cho các cột của các
ma trận LED Do mỗi thời điểm chỉ có một IC giải mã được làm việc nên
ta phải thiết kế mạch phân kênh để chọn IC làm việc
SƠ ĐỒ CHÂN:
Trang 8PAGE 8
Trang 10 Các LED trên cùng một hàng sẽ được nối các chân dương với nhau.
Các LED trên cùng một cột sẽ được nối các chân âm với nhau như hình vẽ
PAGE 10
Trang 11VI Keyboard PC
Cấu trúc ngõ ra của bàn phím PC
Cấu trúc truyền số liệu của bàn phím:
START : bit start (luôn luôn bằng 0)
D0 – D7 : bit dữ liệu
PAR : bit parity (luôn lẻ)
STOP : bit stop (luôn luôn bằng 1)
KEYBOARD SCAN CODE
Trang 12PHẦN 2: THIẾT KẾ VÀ THI CÔNG MẠCH
I SƠ ĐỒ NGUYÊN LÝ
PAGE 12
Mạch giao tiếp với keyboard PC
Trang 13Mạch quang
báo dùng 4
led ma trận
Trang 14II LƯU ĐỒ
PAGE 14
STARTNạp giá trị vào TMOD,IE,8ENạp 32 byte trắng vào Ram
Xử lý mã phím
Enter được nhấn
Hiển thị 32 khoảng trắng + chuổi nhập từ bàn phím + 32 khoảng trắng
Esc được nhấn
CHƯƠNG TRÌNH CHÍNH
Trang 16PAGE 16
START
ĐỦ THỜI GIAN DELAY
MÃ PHÍM
#0FFHR7=10
Trang 27DB 80H,0B6H,0B6H,0B6H,0C9H,0FFH ;B KT_C:
DB 0C1H,0BEH,0BEH,0BEH,0DDH,0FFH ;C KT_D:
DB 80H,0BEH,0BEH,0BEH,0C1H,0FFH ;D KT_E:
DB 80H,0B6H,0B6H,0B6H,0BEH,0FFH ;E KT_F:
DB 80H,0B7H,0B7H,0B7H,0BFH,0FFH ;F KT_G:
DB 0C1H,0BEH,0BEH,0B6H,0D1H,0FFH ;G KT_H:
DB 80H,0F7H,0F7H,0F7H,80H,0FFH ;H KT_I:
DB 0BEH,0BEH,80H,0BEH,0BEH,0FFH ;I KT_J:
DB 0BDH,0BEH,81H,0BFH,0BFH,0FFH ;J KT_K:
DB 80H,0E7H,0DBH,0BDH,0FEH,0FFH ;K KT_L:
DB 80H,0FEH,0FEH,0FEH,0FDH,0FFH ;L KT_M:
DB 80H,0DFH,0EFH,0DFH,80H,0FFH ;M KT_N:
DB 80H,0DFH,0EFH,0F7H,80H,0FFH ;N KT_O:
DB 0C1H,0BEH,0BEH,0BEH,0C1H,0FFH ;O KT_P:
Trang 28DB 80H,0B7H,0B7H,0B7H,0CFH,0FFH ;P KT_Q:
DB 0C1H,86H,0BAH,0BDH,0C2H,0FFH ;Q KT_R:
DB 80H,0B7H,0B3H,0B5H,0CEH,0FFH ;R KT_S:
DB 0CDH,0B6H,0B6H,0B6H,0D9H,0FFH ;S KT_T:
DB 0BFH,0BFH,80H,0BFH,0BFH,0FFH ;T KT_U:
DB 81H,0FEH,0FEH,0FEH,81H,0FFH ;U KT_V:
DB 83H,0FDH,0FEH,0FDH,83H,0FFH ;V KT_W:
DB 81H,0FEH,0F1H,0FEH,81H,0FFH ;W KT_X:
DB 9CH,0EBH,0F7H,0EBH,9CH,0FFH ;X KT_Y:
DB 8FH,0F7H,0F8H,0F7H,8FH,0FFH ;Y KT_Z:
DB 0BCH,0BAH,0B6H,0AEH,9EH,0FFH ;Z KT_:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH KT1:
DB 0FEH,0DEH,80H,0FEH,0FEH,0FFH KT2:
DB 0DEH,0BCH,0BAH,0B6H,0CEH,0FFH KT3:
DB 0DDH,0BEH,0B6H,0B6H,0C9H,0FFH KT4:
DB 0F3H,0EBH,0DBH,80H,0FBH,0FFH
KT5:
DB 8DH,0AEH,0AEH,0AEH,0B1H,0FFH KT6:
DB 0C1H,0B6H,0B6H,0B6H,0D9H,0FFH KT7:
DB 0BFH,0BFH,0B0H,0AFH,9FH,0FFH
KT8:
DB 0C9H,0B6H,0B6H,0B6H,0C9H,0FFH KT9:
DB 0CDH,0B6H,0B6H,0B6H,0C1H,0FFH KT0:
DB 0C1H,0AEH,0B6H,0BAH,0C1H,0FFH
PAGE 28
Trang 29DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH END
Trang 30C TỔNG KẾT
Ưu điểm:
Thao tác dễ dàng, đơn giản
Nguồn nuôi nhỏ 12V khá an toàn
Ứng dụng rộng rãi
Dễ dàng cập nhật thông tin tức thời
Nhược điểm:
Giá thành đắt
Mạch phức tạp nên đòi hỏi phải có kỹ thuật chuyên môn
Ánh sáng yếu
Ngày nay với nhu cầu quảng cáo ngày càng lớn thì ứng dụng của led ma trận ngày càng phổ biến trong các mạch quang báo đặc biệt là quang báo giao tiếp với bàn phím máy tinh có thể nhập những ký tự mà mình mong muốn
Với nguyên lý của led ma trận 8x8 ta có thể tạo ra một bảng quang báo lớn dùng trong nhiều lĩnh vực khác nhau
PAGE 30