Việc truy cập đến một byte nhớ trong vùng nhớ này chỉ mất 1 đến 2 chu kỳ máy tùy thuộc lệnh và đây là vùng nhớ có tốc độ truy cập lớn nhất trong các vùng nhớ của họ vi điều khiển 8051..
Trang 1Chương I:
TỔNG QUAN MÔ HÌNH MÁY BÁN NƯỚC NGỌT LON TỰ
ĐỘNG NỘI DUNG CỦA ĐỀ TÀI :
1./ Giới thiệu tổng quan một số máy bán nước tự dộng hiện có trên thị trường
Yêu cầu của đề tài tốt nghiệp bao gồm việc thiết kế chế tạo hoàn thiện mô hình máy bán nước ngọt lon tự động mục đích sử dụng rộng rãi trong xã hội hiện nay mà cụ thể :
Con người đã chế tạo được nhiều loại máy phục vụ nhu cầu sinh hoạt trong cuộc sống Gần đây trên thị trường đã xuất hiện nhiều máy bán nước ngọt lon tư động Với sự góp mặt cuả máy này con người có thêm một khoảng thời gian để nghiên cứu khoa học làm công tác xã hội…v…v…
Hiện nay trên thế giới cũng như ở Việt Nam đã xuất hiện nhiều máy bán nước ngọt lon tự động Sau đây một số loại máy có trên thị trường
Trang 22/GIỚI HẠN VẤN ĐỀ :
Mô hình máy bán nước tự động rất đa dạng về nguồn gốc và chủng loạI, lần
đầu thực hiện nghiên cứu đề tài: “máy bán nước ngọt lon tự động “” trong điều
kiện:
Thời gian thực hiện đề tài chỉ trong một học kỳ
Kinh nghiệm thực tế chưa có nhiều
Tài liệu về vi xử lý và các vấn đề về máy còn hiếm
Vật tư và linh kiện không đồng bộ
Vì vậy em đã thực hiện nghiên cứu đề tài với những đặc điểm chính sau đây :
Trang 3 Thiết kế và thi công mô hình máy bao gồm nhiều phần tử chấp hành Vansolenoid,Động cơ AC 220V ,Cảm biến nhận và thối tiền
Dùng loại đồng xu 5000 và 2000 là số tiền đưa vào cảm biến
Dùng loạI đồng xu 500 và 1000 là số tiền được dùng để thối
Thiết kế và thi công mạch hiển thị LED
Thiết kế và thi công mạch điều khiển máy bán nước ngọt lon
Lập trình bằng vi xử lý vớI ngôn ngữ lập trình ASSEMLY
3/MỤC ĐÍCH NGHIÊN CỨU:
Thực hiện đề tài “Hệ thống máy bán nước ngọt lon tự động”là một công việc đề người thực hiện đề tài nghiên cứu kỹ khái niệm, nguyên lý làm việc của máy cũng như tập lệnh của vi xử lý để đi đến thiết kế và thi công mô hình máy dùng trong thực tế
Sản phẩm của đề tài nếu được phát triển rộng ,đi sâu hơn thì có thể cung cấp và tạo cho mô hình máy với những sản phẩm đa dạng bao gồm cả nước ngọt lẫn thực phẩm nước uống như ca phê,trà,đá chanh v.v…
Trang 4Chương II : GIỚI THIỆU VỀ VI XỬ LÝ HỌ MSC-51I/Giới Thiệu Chung Về Họ Vi Điều Khiển 8051
Họ vi điều khiển 8051 được chế tạo dựa trên kiến trúc được tối ưu hóa cao cho các hệ thống điều khiển nhúng (embedded systems) 8051 là họ vi điều khiển được
sử dụng rộng rãi nhất hiện nay trên thế giới với nhiều dạng ứng dụng khác nhau từ các ứng dụng quân sự cho đến các ứng dụng trong dân dụng
Sự đa dạng về các khả năng và ngoại vi dựa trên một lõi cấu trúc tối ưu và ổn định, khả năng mạnh mẽ và linh hoạt, sự phổ biến và giá thành hạ đã làm cho họ vi điều khiển 8051 trở thành một sự lựa chọn tối ưu cho nhiều ứng dụng điều khiển Tất cả được tích hợp trên 1 chip 40 chân
Hình 2.1- Sơ đồ chân họ vi điều khiển 8051
Trang 5II/ Sơ đồ cấu trúc của vi điều khiển 8051
Hình 2.2- Sơ đồ cấu trúc vi điều khiển 8051
2.1 Chức năng của từng chân
Port 0: gồm các chân từ 32 đến 39, nhiệm vụ xuất/nhập Trong các thiết kế lớn hơn có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus dữ liệu đa hợp
Port 1: gồm các chân từ 1 đến 8, công dụng xuất/nhập, giao tiếp với các thiết
bị ngoại vi Ngoài ra, chân P1.0 và P1.1 có chức năng khác:
Trang 6Port 2: gồm các chân từ 21 đến 28, nhiệm vụ xuất/nhập và là byte địa chỉ cao của bus địa chỉ 16-bit cho các thiết kế có bộ nhớ chương trình ngoài
Port 3: gồm các chân từ 10 đến 17, nhiệm vụ xuất/nhập Ngoài ra còn có chức năng riêng
PSEN: chân 29 - cung cấp tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài
ALE: chân 30 - chân xuất tín hiệu chốt địa chỉ để giải mã đa hợp bus dữ liệu
và bus địa chỉ
EA: chân 31 - chân truy xuất ngoài Nếu chân này nối lên 5V, 8051 thực thi chương trình trong ROM nội Và nếu được nối với GND (và chân PSEN ở mức logic 0), chương trình cần thực thi chứa ở bộ nhớ ngoài
RESET: chân 9 - là ngõ vào xoá chính của 8051
XTAL1 và XTAL2: chân 18 và 19 - được ghép nối với thạch anh
2.2 Tổ chức bộ nhớ
Cấu trúc của họ vi điều khiển có khả năng tổ chức bộ nhớ thành 3 vùng không gian nhớ vật lý khác nhau, bao gồm :
Không gian nhớ chương trình: CODE memory space
Không gian nhớ dữ liệu bên trong : DATA memory space
Trang 7Không gian nhớ dữ liệu bên ngoài: XDATA memory space
Hình 2.3- Tổ chức bộ nhớ của họ vi điều khiển 8051
Mỗi không gian nhớ bao gồm các địa chỉ liên tiếp nhau từ 0 cho đến địa chỉ lớn nhất, mỗi địa chỉ tương ứng với 1 byte trong không gian nhớ Các vùng nhớ, ô nhớ có địa chỉ trùng (chồng lên nhau) được phân biệt bằng các câu lệnh khác nhau chỉ ra sự truy cập đến các vùng nhớ khác nhau
Vùng nhớ chương trình ( CODE Space):
Đây là vùng nhớ chứa chương trình của vi điều khiển Vùng nhớ chương trình được địa chỉ bởi 16-bit địa chỉ vì vậy dung lượng tối đa có thể lên đến 64K byte có địa chỉ từ 0000H đến FFFFH Vi điều khiển truy cập đến vùng nhớ này với thuộc tính là vùng nhớ chỉ đọc (Read Only Memory)
Vùng nhớ chương trình được vi điều khiển truy cập qua:
Bus địa chỉ 16 bit : qua cổng P0 (và tín hiệu chốt địa chỉ ALE), P2
Bus dữ liệu 8 bit: cổng P0
Tín hiệu đọc bộ nhớ
Về mặt phần cứng, các loại bộ nhớ thường được sử dụng cho bộ nhớ chương trình gồm: ROM, EPROM, EPPROM hoặc thuận tiện nhất là FlashROM hay thậm chí là SRAM, RAM
Trang 8Vùng nhớ nhớ dữ liệu bên trong (Internal RAM):
Vùng nhớ dữ liệu bên trong là bộ nhớ RAM, bao gồm 3 vùng nhớ :
128 byte RAM địa chỉ thấp (Lower 128 Internal RAM) - DATA: nằm bên trong chip (onchip RAM memory), có địa chỉ từ 00H đến 7FH Việc truy cập đến một byte nhớ trong vùng nhớ này chỉ mất 1 đến 2 chu kỳ máy (tùy thuộc lệnh) và đây là vùng nhớ có tốc độ truy cập lớn nhất trong các vùng nhớ của họ vi điều khiển
8051 Các biến có tần số truy cập thường xuyên nên được lưu trữ trong vùng nhớ này, tuy nhiên vùng nhớ này có dung lượng bị giới hạn nên cần lưu ý khi sử dụng, tránh hiện tượng tràn bộ nhớ Vùng nhớ này có một số địa chỉ có khả năng truy cập đến từng bit
128 byte RAM địa chỉ cao (Upper 128 Internal RAM) - IDATA: nằm bên trong chip (onchip RAM memory), có địa chỉ từ 80H đến FFH Chỉ một số vi điều khiển nhất định mới có thêm vùng nhớ này
Vùng nhớ các thanh ghi đặc biệt (Special Function Register) - SFRs: đây là các thanh ghi điều khiển hệ thống ngắt và toàn bộ các ngoại vi của vi điều khiển Có một số thanh ghi có thể truy cập đến từng bit Các thanh ghi này có địa chỉ từ 80H đến FFH - trùng với địa chỉ của 128 byte RAM địa chỉ cao, hai vùng nhớ này được phân biệt nhau nhờ các cách định địa chỉ (Addressing Mode)
Vùng nhớ dữ liệu bên ngoài (XDATA Space):
Vùng nhớ này được định địa chỉ bởi 16 bit và có dung lượng tối đa là 64K byte, có địa chỉ từ 0000H đến FFFFH Vùng nhớ này được vi điều khiển truy cập qua:
Bus địa chỉ 16 bit : qua cổng P0 (và tín hiệu chốt địa chỉ ALE), P2
Bus dữ liệu 8 bit: cổng P0
Tín hiệu đọc bộ nhớ
Tín hiệu ghi bộ nhớ
Các cách định địa chỉ bộ nhớ ( Addressing Mode):
Trang 9Họ vi điều khiển 8051 cung cấp rất nhiều cách định địa chỉ khác nhau tạo ra sự linh hoạt trong việc truy cập các vùng nhớ khác nhau cho cùng một không gian địa chỉ Các mode định địa chỉ gồm:
Định địa chỉ trực tiếp (Direct Addressing):
Địa chỉ của byte nhớ được chỉ rõ bởi 8-bit địa chỉ trong câu lệnh, áp dụng cho: 128 byte RAM địa chỉ thấp (Lower 128 Internal RAM) - DATA và vùng nhớ các thanh ghi đặc biệt (Special Function Register) - SFRs
Định địa chỉ gián tiếp (Indirect Addressing):
Sử dụng các thanh ghi để chứa dịa chỉ của byte nhớ Các thanh ghi này có thể
là R0, R1, DPTR, áp dụng cho cả vùng nhớ nhớ dữ liệu bên trong (Internal RAM)
và vùng nhớ dữ liệu bên ngoài (XDATA Space)
Định địa chỉ thanh ghi:
Các thanh ghi có thể truy cập thông qua tên của chúng, áp dụng cho đa số các thanh ghi đặc biệt SFRs
Định địa chỉ bank thanh ghi
Sử dụng 3-bit để lựa chọn các thanh ghi R0 đến R7 của bank thanh ghi được chọn, áp dụng cho các thanh ghi R0, R7 của các bank thanh ghi
Định địa chỉ chỉ số
Được sử dụng để truy cập các bảng tra cứu (lookup table) chứa trong bộ nhớ chương trình Sử dụng một thanh ghi 16 bit (DPTR hoặc PC) chỉ đến địa chỉ cơ bản của bảng tra cứu và thanh ghi chứa A chứa chỉ số cụ thể của các byte trong bảng tra cứu Chỉ áp dụng cho vùng nhớ chương trình
Định hằng số tức thời
2.3 Tập lệnh của họ vi điều khiển 8051
Tập lệnh của họ vi điều khiển 8051 được chia thành các nhóm:
Nhóm lệnh số học: Arithmetic Instructions
Nhóm lệnh lôgic: Logical Instructions
Trang 10Nhóm lệnh di chuyển dữ liệu: Data Transfers Instructions
Nhóm lệnh lôgic bit: Boolean Instructions
Nhóm lệnh điều khiển dòng chương trình: Program Branching Instructions Các chương trình được cấu tạo từ nhiều lệnh, chúng được xây dựng logic, sự nối tiếp của các lệnh được nghĩ ra một cách hiệu quả và nhanh chóng, kết quả của chương trình khả thi
Tập lệnh họ MSC-51 được sự kiểm tra của các mode định vị và các lệnh của
chúng có các Opcode 8 bit Điều này cung cấp khả năng 28 = 256 lệnh được thi hành và một lệnh không được định nghĩa Vài lệnh có 1 hoặc 2 byte bởi dữ liệu hoặc địa chỉ thêm vào Opcode Trong toàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte
A/ Các mode định vị (Addressing Mode) :
Các mode định vị là một bộ phận thống nhất của tập lệnh Chúng cho phép định rõ nguồn hoặc nơi gởi tới của dữ liệu ở các đường khác nhau tùy thuộc vào trạng thái của người lập trình 8951 có 8 mode định vị được dùng như sau:
Trang 11III/Họ VI Điều Khiển 8051 Của Hãng PHILIPS.Chip P89C51RD2BN
3.1 Giới thiệu chung về họ vi điều khiển của hãng Philips
Hãng PHILIPS cung cấp rất nhiều các lựa chọn cho khách hàng đối với các
vi điều khiển thuộc họ 8051 nhằm thỏa mãn các yêu cầu đa dạng trong thiết kế về :
bộ nhớ (ROM, FLASH ROM, OTP-EPROM dung lượng từ 1K đến 64K), số lượng và chủng loại các ngoại vi (I/O port, Timer/Counter, PCA, UART, WatchDog ), dải điện áp hoạt động (từ 1,5V đến 5,5V), dải nhiệt độ hoạt động, dải công suất, tốc độ hoạt động,
Ngoài việc đưa ra nhiều loại ngoại vi và khả năng đa dạng đáp ứng các yêu cầu về hiệu năng của các ứng dụng, PHILIPS còn đưa ra các vi điều khiển 16 bit được mở rộng trên cơ sở các vi điều khiển 8 bit Các vi điều khiển 16 bit kế thừa toàn bộ các khả năng của họ vi điều khiển 8 bit nhưng có hiệu năng cao hơn nhờ cấu trúc 16 bit và hệ lệnh đa dạng hơn so với vi điều khiển 8 bit, cùng một tốc độ xung nhịp (clock) và mã lệnh các vi điều khiển 16 bit có tốc độ nhanh gấp 4 đến 5 lần các vi điều khiển 8 bit
Các khả năng lựa chọn đa dạng của họ vi điều khiển 8051 do PHILIPS đưa ra bao gồm :
Bộ nhớ: bao gồm khả năng có bộ nhớ on-chip hay bộ nhớ ngoài (cả ROM và RAM), chủng loại bộ nhớ (ROM, RAM, Flash ROM, OTP-ROM .), dung lượng
bộ nhớ ROM on-chip (từ 1K đến 64K), dung lượng bộ nhớ RAM on-chip
Điện áp hoạt động thấp: mức điện áp hoạt động có thể xuống tới 1,5V
Các phần tử tương tự: các bộ chuyển đổi tương tự/ số (ADC) 8 bit, 10 bit
Trang 12Các chức năng bảo vệ và chống nhiễu: PHILIPS cung cấp một số giải pháp mạch phần cứng cũng như phần mềm nhằm thực hiện các chức năng bảo vệ cũng như chống nhiễu cho vi điều khiển và hệ thống trong quá trình hoạt động, bao gồm: Watchdog timer, bộ phát hiện lỗi của bộ phát xung nhịp, bộ phát hiện mức điện áp thấp, các giải pháp giảm nhiễu EMI, RFI
Các chức năng khác: một số vi điều khiển của PHILIPS được thiết kế đặc biệt cho các ứng dụng có sử dụng các ngoại vi như On-Screen Display, Universal Peripheral Interface, Smart Card
Có thể nói PHILIPS là nhà sản xuất hàng đầu trên thế giới hiện nay trong lĩnh vực sản xuất chip vi điều khiển họ 8051 PHILIPS cung cấp cho các nhà thiết kế các
hệ thống sử dụng vi điều khiển một sự lựa chọn rất đa dạng có thể thỏa mãn hầu hết các yêu cầu
3.2 Chip vi điều khiển P89C51RD2BN
Chip vi điều khiển P89C51RD2BN thuộc họ 8051 được chế tạo dựa trên công nghệ CMOS, có tích hợp sẵn 64K Flash ROM on-chip mang lại khả năng lập trình được cho chip không những trước khi đưa vi điều khiển vào hệ thống mà còn có thể lập trình lại và thay đổi chương trình cho vi điều khiển ngay cả khi vi điều khiển đã được tích hợp vào trong hệ thống (In-System Programming (ISP) và In-Application Programming (IAP)) thông qua phương thức truyền dữ liệu (mã chương trình) song song hoặc nối tiếp Điều này đem lại một khả năng rất nổi bật là việc điều khiển, thay đổi hoạt động của vi điều khiển từ đó thay đổi hoạt động của cả hệ thống có thể tiến hành từ xa (remote) thông qua một modem truyền dữ liệu kết nối giữa trung tâm điều khiển từ xa với các vi điều khiển, chương trình được thay đổi từ xa, truyền qua modem và nạp lại cho các vi điều khiển Việc nạp chương trình mới cho vi điều khiển được thực hiện rất đơn giản nhờ chương trình phần mềm điều khiển đã được tích hợp sẵn trong ROM của vi điều khiển
Tốc độ của vi điều khiển P89C51RD2BN có thể tăng gấp đôi với cùng một nguồn xung nhịp (clock) nhờ chuyển đổi từ chế độ hoạt động ở 12-clock mode (một chu kỳ máy tương ứng với 12 xung nhịp) sang chế độ hoạt động 6-clock mode (một
Trang 13chu kỳ máy tương ứng với 6 xung nhịp), việc chuyển đổi có thể thực hiện bằng phần mềm
Ngoài 4 cổng vào ra song song, chip vi điều khiển P89C51RD2BN còn có 3
bộ định thời/bộ đếm (Timer/Counter) 16 bit lập trình được, 6 nguồn ngắt với 4 mức
ưu tiên ngắt, bộ truyền thông nối tiếp theo phương thức UART mở rộng, Watchdog các ngoại vi được bổ sung này mang lại cho chip vi điều khiển P89C51RD2BN khả năng mạnh mẽ trong các ứng dụng yêu cầu điều biến độ rộng xung (PWM), vào
ra dữ liệu tốc độ cao và đếm tiến, đếm lùi ví dụ như trong điều khiển động cơ Các đặc điểm chính của vi điều khiển P89C51RD2BN:
Bộ xử lý trung tâm (CPU) 8051
Bộ nhớ chương trình FlashROM có thể ghi/xóa bằng điện (5V), có thể lập trình ngay trong hệ thống (ISP, IAP)
Chương trình firmware có sẵn trong bootROM điều khiển quá trình nạp chương trình vào FlashROM qua cổng nối tiếp theo phương thức UART
Hoạt động ở chế độ 12 xung nhịp một chu kỳ máy (12 clock mode) hoặc chế
độ 6 xung nhịp một chu kỳ máy (6 clock mode)
Tốc độ tối đa ở chế độ 12 xung nhịp một chu kỳ máy là 33MHz, ở chế độ 6 xung nhịp một chu kỳ máy là 20MHz ( tương ứng 40MHz ở chế độ 12 chu kỳ xung nhịp một chu kỳ máy)
7 nguồn ngắt với 4 mức ưu tiên ngắt
Bộ truyền thông nối tiếp UART mở rộng: phát hiện lỗi, tự động nhận dạng địa chỉ
Tiết kiệm năng lượng: có thể tiết kiệm năng lượng nhờ hoạt động ở chế độ PowerDownMode hoặc IdleMode
Có chân ra phát xung nhịp lập trình được
Có thanh ghi con trỏ dữ liệu DPTR thứ hai
Khả năng giảm nhiễu bằng cách ngừng phát xung từ chân ALE
Trang 14Dàn bộ đếm khả trình PCA ( Programmable Counter Array ): điều biến độ rộng xung PWM, chức năng so sánh
Bộ nhớ
Dải nhiệt độ hoạt động
Dải điện áp hoạt động
Tốc độ xung nhịp Fla
sh
RA
M
6 clock mode
12 clock mode
0 - 33MHz
Trang 15Hình 2.3- Sơ đồ khối chức năng chip vi điều khiển P89C51RD2BN
Trang 16Hình 2.4- Sơ đồ khối chip vi điều khiển P89C51RD2BN
Trang 17Hình 2.5- Sơ đồ chân chip vi điều khiển P89C51RD2BN
3.3 Một số chức năng và ngoại vi mở rộng của chip vi điều khiển
P89C51RD2BN
Các trạng thái tiết kiệm năng lượng: để tiết kiệm năng lượng tiêu thụ, có thể lập trình bằng phần mềm (bằng cách tác động lên các thanh ghi đặc biệt PCON -PowerControl Register) để đưa vi điều khiển vào các trạng thái tiết kiệm năng lượng, bao gồm:
Trạng thái nghỉ (Idle Mode):
Mô tả trạng thái: trong trạng thái này CPU ở trạng thái nghỉ không hoạt động còn toàn bộ các ngoại vi khác vẫn ở chế độ hoạt động bình thường Nội dung của CPU, on-chip RAM và của các thanh ghi trạng thái đặc biệt, giá trị các cổng vẫn không thay đổi so với trước khi vào trạng thái IdleMode và được giữ nguyên trong suốt trạng thái IdleMode Câu lệnh đưa vi điều khiển vào trạng thái IdleMode là câu lệnh cuối cùng được thực hiện
Trang 18Vi điều khiển ra khỏi trạng thái IdleMode khi có một ngắt xảy ra hoặc khi vi điều khiển được Reset
Khi ra khỏi trạng thái IdleMode nhờ có ngắt vi điều khiển sẽ thực hiện chương trình con dịch vụ của ngắt đó và tiếp tục thực hiện chương trình bắt đầu từ câu lệnh ngay sau lệnh đưa vi điều khiển vào trạng thái IdleMode
Khi ra khỏi trạng thái IdleMode nhờ được Reset thì vi điều khiển thực hiện chương trình ngay từ đầu như được Reset bình thường
Cách đưa vi điều khiển vào trạng thái IdleMode: bằng cách đặt bit thấp nhất (LSB) IDL của thanh ghi chức năng đặc biệt PCON lên giá trị 1
Trạng thái giảm năng lượng (PowerDownMode):
Mô tả trạng thái: trong trạng thái PowerDownMode, bộ phát xung nhịp bên trong của vi điều khiển ngừng hoạt động và như vậy CPU và các chức năng của các ngoại vi cũng ngừng hoạt động Nội dung của on-chip RAM và các thanh ghi chức năng đặc biệt, giá trị xuất ra của các cổng vẫn được giữ nguyên so với trước khi vào trạng thái PowerDownMode và không thay đổi trong trạng thái PowerDownMode Tín hiệu ALE vàĠ được giữ ở mức thấp
Cách đưa vi điều khiển vào trạng thái PowerDownMode: : bằng cách đặt bit 1
PD của thanh ghi chức năng đặc biệt PCON lên giá trị 1
Vi điều khiển ra khỏi trạng thái PowerDownMode khi có một ngắt ngoài xảy
ra hoặc khi vi điều khiển được Reset
Khi ra khỏi trạng thái PowerDownMode nhờ có ngắt ngoài vi điều khiển sẽ thực hiện chương trình con dịch vụ của ngắt đó và tiếp tục thực hiện chương trình bắt đầu từ câu lệnh ngay sau lệnh đưa vi điều khiển vào trạng thái PowerDownMode
Khi ra khỏi trạng thái PowerDownMode nhờ dược Reset thì vi điều khiển thực hiện chương trình ngay từ đầu như được Reset bình thường
Thanh ghi chức năng đặc biệt điều khiển các trạng thái tiết kiệm năng lượng của vi điều khiển P89C51RD2BN: thanh ghi PCON (Power Control Register):
Trang 19PCON (87H)
S
GF1
GF0
P
D
IDLE
- Bộ điều khiển truyền thông nối tiếp UART mở rộng: ngoài chức năng bình thường, bộ điều khiển truyền thông nối tiếp theo phương thức UART của P89C51RD2BN còn được mở rộng một số chức năng hỗ trợ truyền thông nối tiếp
đa vi điều khiển, bao gồm:
+ Tự động nhận biết địa chỉ: trong chế độ truyền thông nhiều vi điều khiển, khi có một byte địa chỉ (có bit thứ 9 bằng 1), việc so sánh địa chỉ nhận được với địa chỉ đặt của vi điều khiển sẽ được thực hiện bằng một bộ so sánh phần cứng chứ không cần phải bằng phần mềm, nếu đúng là địa chỉ đặt của vi điều khiển thì nó sẽ tạo ngắt nối tiếp để báo, ngược lại nếu không đúng địa chỉ của nó thì ngắt nối tiếp sẽ không được tạo ra
Điều này tiết kiệm thời gian cho vi điều khiển vì nó không phải ngừng chương trình đang thực hiện để thực hiện chương trình con dịch vụ ngắt của cổng nối tiếp
để kiểm tra mọi địa chỉ được gửi đến
Chế độ tự động nhận biết địa chỉ được chọn bằng phần mềm bằng cách đặt bit SM2 (trong thanh ghi chức năng đặc biệt điều khiển truyền thông nối tiếp SCON) lên 1
+ Đặt địa chỉ quảng bá: trong một mạng truyền thông nối tiếp nhiều vi điều khiển, mỗi vi điều khiển sẽ có một địa chỉ Ngoài việc đặt địa chỉ của vi điều khiển bằng cách ghi địa chỉ đặt vào thanh ghi địa chỉ truyền thông nối tiếp SADDR (Serial Address) còn có thanh ghi SADEN (địa chỉ 0B9H) để xác định bit nào trong địa chỉ đặt có giá trị và bit nào bị bỏ qua (don’t care) Địa chỉ của một vi điều khiển được xác định bằng cách thực hiện phép logic “Và” (AND) từng bit tương ứng của thanh ghi SADDR và thanh ghi SADEN Chức năng này hỗ trợ việc truyền các bản tin quảng bá (truyền bản tin cho nhiều vi điều khiển cùng một lúc) trong một mạng truyền thông nối tiếp sử dụng các vi điều khiển
Trang 20- Cấu trúc ưu tiên ngắt mở rộng: vi điều khiển P89C51RD2BN có 4 mức ưu tiên ngắt (0 đến 3) được xác định nhờ thanh ghi chức năng đặc biệt đặt mức ưu tiên ngắt là IP (như các vi điều khiển bình thường) và có thêm thanh ghi IPH (địa chỉ B7H) :
Các mức ưu tiên ngắt của vi điều khiển P89C51RD2BN
Thanh ghi mở rộng đặt mức ưu tiên ngắt của vi điều khiển P89C51RD2BN
- Chức năng giảm nhiễu do xung ALE: có thể lập trình bằng phần mềm để ngừng phát xung ALE nhằm giảm nhiễu tác động lên hệ thống
Ngừng phát xung ALE bằng cách đặt giá trị 1 cho bit AO của thanh ghi AUXR ( có địa chỉ 8EH)
Trang 21Thanh ghi chức năng đặc biệt AUXR
- Bộ nhớ chương trình FlashROM: bộ nhớ chương trình của chip vi điều khiển P89C51RD2BN là bộ nhớ FlashROM có dung lượng 64Kbyte, có thể xoá/ghi
10000 lần Ngoài ra việc ghi chương trình vào FlashROM được thực hiện rất dễ dàng về cả phần mềm và phần cứng nhờ có một chương trình phần mềm firmware được lưu sẵn trong bootROM của vi điều khiển để điều khiển quá trình ghi chương trình lên FlashRPM, đọc chương trình từ FlashROM ra Phần cứng và phần mềm có sẵn trên chip của P89C51RD2BN cung cấp khả năng lập trình cho vi điều khiển ngay trong hệ thống (ISP - In System Programming) và lập trình cho vi điều khiển ngay trong các ứng dụng đang chạy (IAP - In Application Programming) Điện áp yêu cầu cho việc ghi chương trình vào FlashROM chỉ cần 5V Ngoài ra còn có chức năng bảo mật được lập trình bằng phần mềm để không cho phép đọc chương trình
từ FlashROM
- Thay đổi tốc độ hoạt động với cùng một tần số nguồn xung nhịp: bằng cách thay đổi chế độ hoạt động của vi điều khiển bằng phần mềm từ đó thay đổi số xung nhịp của một chu kỳ máy Cụ thể bằng các tác động lên thanh ghi đặc biệt điều khiển xung nhịp CKCON (Clock Control Register), bit X2:
Thanh ghi điều khiển chế độ xung nhịp hoạt động của P89C51RD2BN
+ X2 = 1: hoạt động ở chế độ 6 xung nhịp cho một chu kỳ máy
Trang 22+ X2 = 0: hoạt động ở chế độ 12 xung nhịp cho một chu kỳ máy
3.4 Các thông số và giá trị hoạt động đặc trưng của chip vi điều khiển P89C51RD2BN
Hình 2.6- các thông số của vi điều khiển P89C51RD2BN
Trang 23Chương III : CÁC PHẦN TỬ ĐƯỢC DÙNG TRONG MÔ HÌNH MÁY
CŨNG NHƯ ĐIỀU KHIỂN MÁYA/ SƠ LƯỢC VỀ BỘ THU PHÁT HỒNG NGOẠI :
1.1/ Để truyền thông mà không cần dây dẫn, tín hiệu điều khiển phải được điều chế
với 1 sóng mang cao tần để đủ năng lượng bức xạ ra khoảng không gian cần thiết Khi đến khối thu, sóng mang bị loại bỏ và tín hiệu điều khiển tác động lên đối tượng điều khiển
Để thực hiện được điều này, led hồng ngoại như một nguồn phát sóng điện từ
và Photodiode là thiết bị thu …
Hầu hết những bộ điều khiển từ xa bằng hồng ngoại điều sử dụng nguyên tắc phát tín hiệu điều khiển là một chuỗi bit nhị phân hoặc một chuỗi xung
Hoạt động đóng ngắt nhanh của led hồng ngoại theo tấn số sóng mang, sẽ tạo ra tín hiệu phát hồng ngoại
1.2/ Led hồng ngoại :
Led hồng ngoại còn được gọi là nguồn phát sóng hồng ngoại Nguyên tố để chế tạo diode hồng ngoại thường làm bằng vật liệu là GaAs.Tùy theo sự pha tạp và bức xạ trong GaAs có bước sóng cực đại giữa 850-900 nm trong vùng hồng ngoại gần, mắt thường không thể nhìn thấy được Gallium-Arsemid là vật liệu bán lý tưởng cho điện phát quang Sự tái hợp giữa vùng dẫn và vùng hóa trị là trực tiếp
Cấu trúc của nó có thể tóm tắt như sau: trong pha epitoxy lỏng một lớp tinh thể hoàn hảo mọc lên từ nền n GaAs với tính chất lưỡng tính của tạp chất Si, lớp chuyển tiếp pn tự động hình thành trong quá trình epioxy lỏng Bằng sự pha tạp với
Si, ta có bức xạ ra các bước sóng Mặt dưới của diode được chế tạo sao cho như một gương để phản chiếu tia hồng ngoại phát ra từ lớp chuyển tiếp pn
Tính chất lưỡng tính vẩn giữ nguyên khi nó được pha tạp trong nguyên liệu (GaAl)As Trong trường hợp này độ rộng vùng cấm có thể được thay đổi tùy theo lượng Al
Với cách này người ta có thể tạo ra các dãy sóng từ 850-900nm và do đó có thể tạo sự điều hưởng cho Led hồng ngoại phát ra bước sóng thích hợp nhất cho
Trang 24điểm cực đại detector
Trong dãy phổ tần của sóng điện từ thì sóng hồng ngoại chiếm một khoảng rộng nhất Nhưng cho đến nay chưa được ứng dụng rộng rãi như các sóng khác có tần số thấp hơn : từ ánh sáng thấy được đến hồng ngoaị gần, hồng ngoại trung bình, hồng ngoaị xa và hồng ngoại rất xa với detector làm bằng vật liệu Antimin-indium người ta có thể dò được tia nóng cách hàng km Cũng với cách này người ta có thể thấy được mọi vật vào ban đêm Các vệ tinh cho những ảnh về thời tiết, cây cối tài nguyên thiên nhiên …
1.3/ Tia hồng ngoại :
Tia nắng bao gồm chủ yếu ánh sáng thấy được, thành phần hồng ngoại dường như rất ít, hồng ngoại bị bầu khí quyển hấp thụ phần lớn Sóng hồng ngoại có bước sóng (1,2m; 2,2m và 4m) xuyên suốt bấu khí quyển và đến mặt đất, trong khi các độ dài sóng khác sóng hồng ngoại gần như hấp thụ hoàn toàn
1.4/ Hồng ngoại gần và nguồn hồng ngoại :
Hồng ngoại được ứng dụng rộng rãi trong thông tin hiện đại, trong sự tự động hóa trong công nghiệp… Trong kỹ thuật truyền tin bằng tơ quang dẫn người ta có thể truyền một lúc 15000 điện thoại hay 12 kênh truyền hình qua một sợi tơ quang dẫn với đường kính khoảng 0.13mm Lượng thông tin được truyền đi với áng sáng hồng ngoại lớn hơn gấp nhiều lần so với sóng điện mà người ta vẫn thường dùng Sóng hồng ngoại có những đặc tính quang học giống như ánh sáng (sự hội tụ qua thấu kính tiêu cự …) ánh sáng và sóng hồng ngoại khác nhau rất rõ trong sự xuyên suốt nó là những vật “phản chiếu tối” Có những vật ta thấy nó dưới màu sáng đục nhưng với ánh sáng hồng ngoại nó trở nên trong suốt Điều này giải thích tại sao Led hồng ngoại có hiệu suất cao hơn so với led màu xanh lá cây, màu đỏ
…Vì bằng vật liệu bán dẫn “trong suốt “ đối với sóng hồng ngoại, tia hồng ngoại không bị yếu đi khi phải vượt qua lớp bán dẫn để đi ra ngoài
Đời sống của Led hồng ngoại dài đến 105 giờ, Led hồng ngoại không phát sáng cho lợi điểm trong các thiết bị kiểm soát vì không gây sự chú ý
Led hồng ngoại phát quang khi được phân cực thuận, dòng qua Led càng lớn thì Led càng sáng, mỗi loại Led thì có dòng cho pháp riêng Đặc tuyến Volt-Ampe
Trang 25cũng như diode thường, trừ ở vùng phân cực thuận, khi không đủ lớn điện áp sụt trên Led gần như không đổi
Khi làm việc ở chế độ liên tục Led giảm tuổi thọ mà phát không xa được do đó người ta dùng sóng mang có tần số từ 10 đến vài chục Khz để mang các xung được
mã hóa bởi tín hiệu điều khiển từ xa bằng tia hồng ngoại
Để tăng công suất phát quang, đồng thời tăng khoảng cách điều khiển , có thể dùng thêm thấu kính hội tụ tia sáng.
B/GIỚI THIỆU CHUNG VỀ IC DÙNG TRONG MẠCH ĐIỀU KHIỂN
Trang 26o Nguồn kích là diode hồng ngoại Gallium – Arsenide và nguồn nhận là phototransistor loại npn
o Thời gian đóng ngắt cao ton = 7(s, toff = 5,7(s (với IC = 2mA, VCC
Sơ đồ khốI bên trong
Chân 1 và 2 được có chức năng như 1 Led phát khi có tín hiệu sẽ dẫn điện áp từ chân 4 sang chân 3
Các thong số kĩ thuật của OPTO PC817:
Ngõ vào:Dòng diện IF để có tín hiệu dẫn là 10mA Dòng đỉnh có thể chịu được là 100mA Điện áp ngõ vào có thể chịu được là 6V
Ngõ ra :Điện áp VCE có thể chịu được là 35V.Dòng điện dẫn IC có thể chịu được là 50mA
3./IC SN74LS247
Trang 27SN74LS247 là ic giải mã BCD sang 7 đoạn, có ngõ ra tích cực mức thấp, nguồn cung cấp 5VDC
Hình 3.2- Sơ đồ chân và mạch IC SN74SN247
Trang 28Bảng :
Hình 3.3-Bảng giải mã địa chỉ dùng IC SN74LS247
C/GIỚI THIỆU CÁC THIẾT BỊ DÙNG TRONG MÔ HÌNH
1./ CẢM BIẾN NHẬN TIỀN :
a./ Cấu tạo:
+ Điệp áp đầu vào : 12V
+ Điệp áp đầu ra : 5V
Trang 29b./ Nguyên lý hoạt động :
* Đây là Module có sẵn, tìm hiểu được nguyên lý hoạt động của cảm biến Cảm biến này muốn sử dụng loại tiền nào thì ta bỏ đồng tiền mẫu vào cho cảm biến làm mẫu (Ví dụ : Sử dụng loại tiền 5.000 thì ta phải bỏ vào cảm biến 5000 để lấy mẩu, sau khi lấy mẩu xong nếu đúng kích thước cũng như độ dầy của đồng tiền mẩu
và cảm biến nhận biết được lúc đó cảm biến sẽ cho qua nếu ta bỏ không đúng 5000 thì cảm biến sẽ trả lạI và lúc đó cảm biến sẽ kiểm tra tiếp ) ,cảm biến có bộ led hồng ngoại thu và phát
- Bộ phát là một led hồng ngoại với tiêu thụ dòng trong khoảng an toàn là 4mA khi được cấp quyền sẽ phát ra tia hồng ngoại kích thích bộ thu hoạt động
- Bộ thu là một Transistor quay dẫn với cực nền để hở khi ánh sáng của bộ phát hướng vào Transistor sẽ dẫn :
Khi khách hàng bỏ tiền vào ngăn T thì Transistor quan dẫn sẽ ngưng dẫn trong khoảng thời gian tiền lướt qua khe hở và ngõ ra có mức điện thế lớn hơn 0,7V kích thích mạch hoạt động
- Nhược điểm của bộ cảm biến này là bộ phát và bộ thụ phải nhìn thấy nhau
và led chỉ chiếu qua các vật trong suốt và khoảng cách truyền cực đại là vai chục mét nếu ta dùng thấu kích ở Q1 để tăng cường độ ánh sáng từ led hồng ngoại chiếu tới
- Cảm biến có đưa ra 7 dây: chia làm hai khe: Khe 4 dây và khe 3 dây + Khe 4 dây :
Cực âm
Cực dương
Dây tín hiệu
Bộ đếm counter + Khe 3 dây :
Cực âm
Trang 30 Cực dương
Dây tín hiệu Trong 2 khe này ta muốn sử dụng loại khe nào cũng được
Lưu ý : Khi sử dụng loại cảm biến này cắm sai vị trí cực âm và cực dương thì bộ cảm biến này sẽ bị hỏng (cảm biến không được bảo vệ dể xảy ra tình huống cháy lines khi ta cấp nguồn không đúng cực )
2./ CẢM BIẾN THỐI TIỀN :
2.1./ Cấu tạo :
- Điện áp đầu vào : 220V
2.2./ Sơ đồ đấu dây :
3./ VAN SOLENOID :
3.1 / Cấu tạo :
Trang 31- Điệp áp vào : 24V
3.2./ Nguyên lý hoạt động :
Cuộn dây cuốn xung quanh một nam châm điện Khi ta kích điện thì nam châm điện hút lõi sắt vào Khi ngắt điện thì nam châm điện nhã lõi sắt lúc đó lò xo kéo lõi sắt ra
Trang 32Chương IV : THIẾT KẾ VÀ THI CÔNG : A./THI CÔNG MÔ HÌNH
1./Cơ Cấu Đẩy Hàng:
Hình 4.1-Cơ cấu đẩy hàng
1.1/Cấu tạo:Được thiết kế bao gồm ba tủ chứa sản phẩm, được làm bằng thiếc và
các ống nhôm tròn Các thanh nhôm tròn này có nhiệm vụ tạo lực rơi vừa phải cho nước ngọt rơi từ ngăn này xuống ngăn khác ở phía dưới có gắn các Solenoid đẩy hàng
1.2/Kích thước ba thùng chứa :
-Thùng chứa Redbull : Kích thước : Chiều cao:500mm Chiều dài:460mm Chiều rộng:10mm
-Thùng chứa Xá Xị : Chiều cao:500mm Chiều dài:460mm Chiều rộng:12mm
Trang 33-Thùng chứa nước Yến : Chiều cao:500mm Chiều dài:460mm Chiều rộng:14mm Thanh nhôm giữ Solenoid có kích thước chiều dài là 380mm.Khoảng cách tạo tâm gắn Solenoid là 25 mm với các lá nhôm mỏng dùng làm khớp để tạo lực đẩy
Solenoid khi nó được kích hoạt
1.3/Nguyên lý họat động:
Dùng để chứa hàng với nguyên lý đơn giản Khi Solenoid được kích hoạt thì nước ngọt bên trong thùng chứa rơi ra ngoài đồng thời lon liền kề sẽ trở lại vị trí lúc ban đầu Và hoạt động này sẽ tiếp tục diễn ra cho đến sản phẩm cuối cùng và lúc này ta cần cung cấp sản phẩm mới
2./Hộp chứa nút nhấn và sản phẩm quảng cáo :
Hình 4.2- Hộp chứa nút nhấn và sản phẩm quảng cáo
Kích thứơc hộp chứa nút nhấn và sản phẩm quảng cáo:
Chiều dài:600mm Chiều rộng : 300mm Khoảng cách của mỗi loại cứa sản phẩm là 170mm
Khoảng cách mỗi loại nút nhấn là 200mm
Trang 343./Hộp gắn Led 7 đoạn, lỗ nhận và thối tiển
Hình 4.3- Hộp gắn Led 7 đoạn, lỗ nhận và thối tiển
-Kích thước : +Chiều dài :700mm +Chiều rộng :200mm -Kích thước lỗ gắn Led 7 doạn :
+Chiều dài :126mm +Chiều rộng :33mm -Kích thước lỗ bỏ tiền vào : +Chiều dài :30mm +Chiều rộng :5mm -Kích thước lỗ thốI tiền : +Chiều dài :70mm
+Chiều rộng :46mm
4./Sơ đồ nối dây chung giữa vi xử lý và PLC
Trong hình 4.4 ta sử dụng một mạch nguồn chung Được sử dụng với nguồn vào
là 220VACvà nguồn ra 24VDC cung cấp cho mạch vi xử lý cũng như PLC
Trang 35Hình 4.4- Sơ đồ nối dây chung giữa vi xử lý và PLC
5./Sơ đồ đấu dây của mạch vi xử lý
Hình 4.5- Sơ đồ đấu dây của mạch vi xử lý
Trang 366./ Mô hình được làm hoàn chỉnh
6.1/Mô hình được nhìn theo góc nghiêng:
Hình 4.6- hình được nhìn theo góc nghiêng
6.2/ Hình được nhìn theo hương thẳng :
Hình 4.7- Hình được nhìn theo hương thẳng
Trang 377/.TRÌNH TỰ THAO TÁC TRÊN MÁY CỦA KHÁCH HÀNG:
7.1 khách hàng bỏ tiền đồng vào máy
8./.TRÌNH TỰ THỰC HIỆN CỦA MÁY
8.1 khi nhận được tiền xu bỏ vào, máy sẽ lưu vào biến tổng số tiền và hiển thị số tiền trên máy thông qua 5 đèn led 7 thanh dồng thời cho phép bàn phím hoạt động 8.2 Máy luôn luôn bật đèn báo hiệu có hàng,khi khách hàng đã bỏ đủ tiền mua hàng hoặc chưa đủ tiền nạp tiền thêm còn không thì sau khoảng delay sẽ trả tiền lại 8.3 khách hàng đã đủ tiền, chọn loại hàng nào thì nhấn vào loại hàng đó.máysẽ tính toán lượng tiền bỏ vào trừ đi số tiền loại hàng máy đã bán mà khách hàng yêu cầu, nếu có tiền thừa thì trả lại(tiền sẽ trả lại sau khi đã mua hàng xong )
8.4 Nếu khách hàng huỷ các thao tác mua hàng bằng cách chờ đợI trong khoảng delay máy sẽ trả lại toàn bộ tổng số tiền mà khách hàng đã bỏ vào máy
B/THIẾT KẾ CÁC BOARD MẠCHCẤU TRÚC TỔNG QUÁT CỦA BOARD MẠCH :
Board mạch điều khiển được thiết kế nhằm mục đích điều khiển máy bán nươc ngọt lon tự động cụ thể chia làm 5 khối chính như sau :
o KhốI xử lý trung tâm : dùng vi điều khiển P89C51RD2BN
o Khối nhận tín hiệu dung để nhận biết số tiền của khách hàng dùng cảm biến hồng ngoại
o Khối công suất :dùng Relay để điều khiển máy bán hàng
o KhốI hiển thị :Hiển thị số tiền đưa vào cũng nhự thối lại,dùng IC SN74LS247
o Khối nguồn : có chức năng là nguồn cung cấp chính cho toàn mạch
Trang 38
Hiển thị : Thông tin người mua nhập
(II)
Nhận dạng tiền và tính tổng sốm tiền mà người mua bỏ vào
(III)
Bộ xử lý trung tâm (I)
Khối xử lý chấp hành 1:
Trả tiền thừa (V)
Khối xử lý chấp hành 2
: Đẩy hàng ra (IV)
1 KHỐI XỬ LÝ TRUNG TÂM:
Đóng vai trò là bộ điều khiển trung tâm, khối này chịu trách nhiệm về tất cả
các hoạt động của mạch
Trang 39P3.4 P1.4
P2.0
TXD
5V
RXD RXD
C9 104
P2.6 5V
P0.1 P0.0
C
RN2 103
1 2 3 5 6 8
J7
PORT 1
1 3 4 6 7 9 10
P0.4
GND P1.0
XTAL2
P0.1
X1 11.0952Mhz
P2.2 P2.3
P1.1 P1.3
5V
5V
GND 5V
9
12 13 14
1 3 4 6 7
39 37 36 34 33
21 23 25 26 28
17
29 30
11 10
40
20
EA XTAL1
RESET
P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1
P1.0/T2 P1.1/T2EX P1.2/ECI P1.3/CEX0 P1.4/CEX1/SS P1.5/CEX2/MOSI P1.7/CEX4/SCK
AD0/P0.0 AD2/P0.2 AD3/P0.3 AD5/P0.5 AD7/P0.7
A8/P2.0 A9/P2.1 A10/P2.2 A11/P2.3 A13/P2.5 A14/P2.6
P3.7/RD P3.6/WR
PSEN ALE/PROG
P3.1/TXD P3.0/RXD
VCC
GND
GND RXD
P1.6 P1.0
P2.3 P2.6
P3.7 5V
1 2 4 5 7 8
P3.4 P0.2
Hình4.9-Hình khối xử lý trung tâm.
Đứng ở trung tâm là vi điều khiển P89C51RD2BN Sở dĩ dùng P89C51RD2BN mà không dùng các IC khác trong họ MCS-51TM là vì IC này có 3 timer, phù hợp cho hoạt động điều khiển như :
Chân EA được nối lên +5V, điều này tương ứng với việc P89V51RD2BN sẽ thực thi chương trình bên trong bộ nhớ nội
Bộ dao động gồm thạch anh X1 và 2 tụ C7, C8 được nối đến chân XTAL1 và XTAL2 Xung clock cho các hoạt động bên trong của P89C 51RD2BN sẽ có tần số bằng tần số của thạch anh chia cho 12 Thông thường, người ta hay dùng thạch anh 12MHz để tần số xung clock là 1MHz, tương ứng với một chu kỳ máy tốn 1s nên rất dễ tạo một timer thời gian thực chính xác
Tuy nhiên trong mạch lại dùng thạch anh 11,059MHz là để tạo baudrate chính xác Hoạt động tạo baudrate có thể giải thích như sau : đối với họ MCS-51TM, người ta phải dùng một timer (thường là timer1) và tốc độ tràn của nó sẽ tạo ra baudrate Khi đó, ta có công thức:
Trang 40Như ta đã thấy, trong phép tính trên có làm tròn, điều này dẫn đến sai số trong baudrate tạo ra Từ đó ta cần phải tìm thạch anh có tần số sau cho baudrate tạo
ra không có sai số để việc truyền thông đảm bảo chính xác
Qua các phép tính thì thạch anh 11,059MHz cho baudrate rất chính xác Bảng sau sẽ cho thấy sự so sánh sai số khidùng thạch anh 12MHz và thạch anh 11,059MHz trong một sốbaudrate thông dụng :
Bảng :
BAUDRATE
TẦN SỐ THẠCH ANH
SMOD GIÁ TRỊ
NẠP
BAUDRATE THỰC SỰ SAI SỐ
0
0
0
0
(Nếu SMOD = 1 thì baudrate = tốc độ tràn timer1 16)
Chân P3.2,P3.3,P3.4,P3.5,3.6 (tương ứng là INT0, INT1, T0, T1,WR là ngõ vào của cảm biến nhận, cảm biến thối tiềnvàtín hiệu của 3 nút nhấn chọn hàng )
Port 0 dành riêng cho việc chọn chân LED và chân data LED (tương ứng P0.0 , P0.1, P0.2, P0.3 là 4 chân data LED và P0.4, P0.5, P0.6, P0.7 là 4 chân chọn LED )