Mục ảich của chương: Hiểu được nguyên tắc hoạt động, cách mắc và lập trình cho các đèn hiển thị LED đơn.. - Hiểu được nguyên tắc hoạt động, cách mắc và lập trinh cho các đèn hiển thị LED
Trang 3B ả n (Ịuyến thuộc HEVOBCO - K hà xuất b ả n Giáo dục
Trang 4LỜI NÓI ĐẦU
f)áy là lập hai cìia bộ sách ‘‘Cấu Iriic, lập trình, ghép nổi và ứng dụng vi diều khiển" Tài liệu này giới thiệu về ghép nối với các ihiếl bị ngoài (hiến ihị, bàn phím, nhớ ngoài, cổng mở rộng (song song và nổi íiếp)) và các hệ VDK dùng Irong do lường, điều khiển lự động và truyền thông
Tìcp theo lập một, ĩập hai gổin 8 chương Trong mỗi chươỉig, đều có mô tả các thiết bị ngoài,
cách glìCỊ') noi và lập trình \’ới các ví dụ dể chạy thử mô phỏng Irên PINNAQ-E và PROTEUS
('liuoỉiíỊ II (ỉliép nối và ứng dụnu dèn LED.
('htioỉỉ^ 12 Cìhép nối \ à ihm dụnu dèn LHD ma trận.
CliưííỊio 13 Ghép nối với màn hình tinh ihè long (LCD).
Chưoíìíỉ 14 Ghép nối với bàn phím.
Chương í 5 Ghép nối với bộ nhớ ngoài của vi diều khiển 8051/8052.
Clií('<yiỉỉỊ 16 Ghép nối mờ rộng cổng soim song cho vi diều khiển.
Chưong 17 Ghép nối mở rộng cổnụ nui liếp cho vi diều khiển.
Chưoỉỉg 18 Ghép nới với hệ \'i diều khiển.
lYong lài liệu này cĩmg giới thiệu cách dùng phần mềm Proieus trong thiết kế ahư vẽ sơ đồ nguyên lý cua hộ VĐK, trong chạy mố phòng các ví dụ với lệp duôi HEX sau khi hợp dịch và chạy niò phỏng (ùrng bước và ca chương irình) trên Proteus
'lai liệu dược biên soạn lìr cơ bản tới chuyên sâu, cho người lự học, công nhân học nghề, sinh
\'\cn cao dáng, dại liọc, cao học và nhà nghiên cứu trong các lĩnh vực lự dộng hoá, diện lử, vật lý kỹ
thuài cơ tin và thòng tin
Tùy Irìnli dộ và mục dícli sử dụng, người dọc có thể bỏ qua hay chi chú ý lới phần mình quan tâm Vi trong ilìời dại ihông lin, rnọi người có thc truy cặp mạng Inlcrnct, nẽn cách trình bày chỉ tóm lắi ý chính \'à cơ bản, người dọc có thc tra cứu ihêm về các vi mạch và ứiig dụng trên mạng Internet.'Tac gia xin châiì thành cám ơn các Ban lãnh dạo, các đổng nghiệp ở 1'rirờng Đại học lìách Khoa lỉà Nội, Đại học Sư phạm Kỹ ihuậi Nam Định, Viện Nghiên cứii Kỹ thuật hạt nhân Hà Nội, iKti lác giả dã côiìiỉ tác và cộng lác vổ sự khích lệ\ cung cấp lài liệu và irao clổi chuyên môn
Tác giá xin chân ihành cảm CTII Ban Giám đốc, Ban lãnh đạo Công ly c ổ phần Sách Đại học- Dav nghé cúa Nhà xuat ban Giáo dục dã giúp đỡ clế tài liệu sớm ra mắl bạn đọc
'lac gia mong dược bạn dọc góp ý cho tài liệu được hoàn thiện hơn ITiư góp ý xin gửi về Công
ly Co phần Sikh Đại học - Dạy nghề (HEVOBCO), Nhà xuất bủn Giáo dục, 25 Hàn ITiuyên, Hà Nội, điện íhoại 04 8.264974
TÁC GIẢ
Trang 5Mục ảich của chương:
Hiểu được nguyên tắc hoạt động, cách mắc và lập trình cho các đèn hiển thị LED đơn.
- Hiểu được nguyên tắc hoạt động, cách mắc và lập trinh cho các đèn hiển thị LED 7 đoạn.
T ong quá trìn h sử dụng thiết bị sô, trong dó có máy vi lính, vi xử lý, vi điều khiển, chúng ta cần nhìn th ây được nội dung của dữ liệu (địa chỉ, dừ liệu, m ã lệnh) dưối dạng các con sctự n h i6n (0, 1, 2, 3, 4, 5, 6 , 7, 8, 9) hay các chữ cái (a, b, c, d, z)
C) các loại hiển thị sau:
-Đ è n nóng sáng d â y tóc th ế nuôi thấp (5V) hay đèn diot p h á t quang: khi có dòng điện
nhỏ ckạy qua (cở mA) Loại LED đơn này đơn giản, rẻ tiền, nhưng chỉ biểu diễn nội dung từng kit có giá trị 0 (tắt) hay 1 (sáng) Nếu nhiều bit, các đèn này biểu diễn th à n h các sô" nhị plân, khó h ìn h dung th à n h các sô" thập phân
-Đ è n diot (LED) 7 đoạn (thanh): (a, b, c, d, e, f, g) bô' trí th àn h h ìn h chữ sô' 8 * Tuỳ các
th an h sáng (có dòng điện chạy qua), ta có các chữ sô'' hay chữ khác n hau Có h ai loại diot là:
^ A n ô t chung: Các an ô t nô"i với n h au và nôì vói nguồn nuôi sẽ p h á t s á n g khi các katôt
riêng rẽ của từng t h a n h có mức logic 0
-\-Katồt chung: Các k atô t nối với nhau và nôi vỏi đất chung, sẽ p h á t sá n g khi các anôt
riêng rẽ của từng th a n h có mức logicvl
ỈỂĨI LKl) 7 th a n h này hiển thị trực giác được các chữ sô' và các ký tự, n h ư n g có nhược điểm là phải giải m ã (bàng vi mạch, ví dụ 7147 hay bằng chương trình) th à n h các con sô' dạng 3CD (ỉìinary Coded Decim al- sô^ thập phân mã hoá thành dạng nhị phân)
-Đ è n LED nhiều đoạn: Các đoạn được bô^ Irí theo các đường ngang, dọc và chéo của 4
hình íhữ n h ậ t ghép lại Loại này biểu diễn được chữ và con số một cách tin h t ế hơn LED 7
đoạn ih ư n g đắt tiề n và điểu kh iển phức tíiỊ).
-Đ è n m a trận diot (ma trận LED): Gồm nhiều diot có kích Uiưổc rấ t nhỏ (coi như một
điểm) sắp xếp th à n h các ma trậ n 5 x 7 theo 7 hàng và 5 cột Cũng có các loại anôt chung hay kitôt chung n hư đồn LED 7 đoạn Tuỳ điểu khiển các dòng điện chạy qua, các diot điểm này p h á t sáng, tạo th à n h các diểm của bức tra n h của các con số* th ậ p p h ân hay các chữ a b, c, d, z Đèn ma trậ n diot này biểu diễn đẹp các chữ hay sô' n h ư n g đ ắ t tiền, phải
xác ánh các mã của chữ hay sô^ theo từng ma trận với các hcàng và cột và đưa ra biểu diễn
với tô* độ thích hỢp với m ắ t ngưòi để qvian sát
-M à n hình tin h th ể lỏng LCD (Liqiiit Crystal Diot): gồni nhiều diot trong một khôi
tinh thể lỏng (thường có hai hàng, nhiều cột) LCD này có nguyên tắc sán g íốì tương tự ma
tr ậ n iiot, có thể biểu diễn được các số, chữ và hình ảnh (graph) Loại LCD thông minh này
có ưudiểm hơn LED 7 đoạn là biổu diỗn các chữ giông chữ in, hình ả n h rõ nét, có độ phân
g i ả i CIO.
Trang 7tliili 1 1.2 giới Ihiệu ba loại 1jRD: loại p l ì a t ( Ị u a i i g , l o ạ i c h i thị tròn và loại thanh Vi mạch 1M3914 có Irẽn hình 11.2 là vi mạch d i é u k h i c ĩ ì L K l ) CÔII^' s u ấ t
11.1.3.Lập trình điểu khiển LED rời
Nc chung, các đèn hiển thị LED rời có llìê ĩììắc vối cống PO, IM, P2 và P3 của vi điểu khiển '/ĐK) ihuộc họ MCS - 51 Có thể mắc trực ticp hay (Ịua riìột điện trở h ạn chế dòng
ảìện hậc một cổng logic để tản g công suâ't.
Vídụ 11 l a giối thiệu chương trìn h đưa dữ liệu cò^ dịnh ra các cổng Pi dùng lệnh gộp
< 1, 2 > vối ;
"hông sô^ 1 là giá trị của dữ liệu (dạng HKX) dưa vào thanh ghi chứa A
- ''hỏiig sô^ 2 là chỉ sô^ của cổng VĐK
Plin sau của chương trìn h trê n làni dỏn LK13 sáng dần từ Ị ) h ả i qu a trá i (dùng lệnh RLC A cho tỏi khi c ” 1 Có thể th a y lệnh RLC A bàng lộnh 1{1 A dổ dịch và lặp lại một sô' lần (Ihy b ằn g lệnh MOV RO, #N lần và DJNZ RO, 1AP)
Vidụ 11 Ib là chương trìn h của ví dụ 11.la dạng đuôi l.ST sau khi hỢp dịch trong PINN.CLE
Ti ví dụ trên, ta có th ể viết chương trình cho LED đơn sáng dần dịch về bên phải (dùng ậnh RRC A) hay bên trá i (dùng lệnh RLC A)
; Ví d 11,1 a: Chương trình dùng lênh gộp hiển thị trên Ll-D rời
macr(@\VritePs <1,2> ; lệnh gộp ghi dữ liéu lap: call dclay
@\VritePs 55h, 0 ; ghi 55h ra po delay; mov 1-0, #250
@WritcPs OAAh, 1 ; ghi OAah ra P 1 del2: dịnz rỉ, del2
@WritePs Olh, 3 ; ghi OAah ra P 1
•
; Ví (1 11 Ib; Dạng đuôi LST cùa chương trình dùng lệnh gộp hiển thị trên I.El) cỉơn
1 (XX) ; VÍ dụ 11 la LHĐR, hiến thị trcn LHD rời
Trang 810 OOOB call dclay
11.1.4 Lập trinh điểu khiển LED rời trong các biển quảng cáo
'Vối ví dụ 11.1 trên, chúng la có thể vièt chương t n n h đưa hiên thị như mong mucn:
- Cho tấ t cả các đén nôi vâi inột cổng nào dó sáng khi dưa A = #OFFh
- Cho mỗi đèn sán g lần lượt từ trái qua phải dùiig lệnh SE'PB c và dịch phải qi:a c vối lệnh RRC A
- Cho mỗi đèn sáng lẩn lượt từ phải qua trái dùng lệnh SET15 c và (iịch trái qua 'C với lệnh RLCA
- Cho hai đèn sáng dồn từiiíĩ dèii từ bai dau vào giũa vớì các giá trị dưa trực tiêip vào
th an h ghi A n h ư 1000000115 OlOOOOlOH, 00l()()10015, OOOl lOOOB
- Cho các đèn sán g vlồn lừ hai dầu vàu giữa VỨI các giá t rị A !à lOOOOOOlB, 1 lOCOOl IB,
- Đưa các giá trị (0 cho uit và 1 cho sáng) ti iíc tiêp ra các cổng
- Thành lập một b ản g dữ liệu, rồi đọc bàng đổ đưa ra cổng (ví dụ 11.2)
8
Trang 9mov pO, a ỉcall delay inc dptrcjne a, #Offli, Ibỉ sjmp Ib
(lelay: inov r7, #25
nhanO: mov R6 , #20
ĩiliím 1: inov r5, #250
djnz r5, s djnz 1'6 , n h a n l djĩiz r7, nhanO rel
mov pl3, r2 kip!4: acall deỉíiy niov a, K)
ri amov rO, a acid a r2 mov r2, a mov pl3, a acaỉl deỉay mov a r2cjne a, #Orni, lap!4 cndinac
Ị org OOh
! main: @sangdon 0, OOh, 2, 1 ((i sangdon 2, Offh, 0, 2
@sangdon 2, OOh, 0, 3 sangdon 0, Ofíli, 2, 4 ljmp main
delay: mov xl, #25
nhanO: mov r6 #20 nhanl: mov r5, #250
djnz r5, s djnz r6, nhanl djnz r7, nhanO rei
cnd
sáng cổng P2 sáng cổng PO sáng cổng PO sáng cổng P2
Trong ba cách trôn, cách đưa dử liộu Irực tiô'p khôiig thể dùng cho một bản g dữ liệu dài Cách d ù n g báng là thông dụng nhất, cho mỗi trường hỢp, n h ất là cách hiển thị khó, không có giải t h u ậ t xuc định Cách dùng lộnh vỏi giải th u ậ t dôi khi ngắn gọn Hiển thị dồn (sang ti’ái hay san g phải) Còn có giải th u ậ t khác là dùng lộnh logic ORL giá trị đưa ra hiến thị cù xO và giá trị dịch một bit yO (bởi lệnh SETB c và RLC A)
Đòn liEI) rời trên, ngoài chỉ thị íỊÌá tri của th anh ghi hay ô ĩihớ của VĐK, còn hay dùng (iổ quảng cáo hay điểu khiển dỏn giao thòng tại các ngả dường Khi đó, phải mắc đèn côn^ suât lớn với các tần g khưẽch dại côíìg suất dùng tranzit() cỏiig suíXt
Các chương trìn h trê n có th ể thay đoì thời gian trỗ Dolay dể thòi gian sáng hay t ắ t tuỳ
ý Vói đèn diổu khiển giao thông, có lúc Ị ìh ííi clio hai dỏn sáng dồiìg thòi (đỏ, vàng) để chỉ sii rh u a n bị chuyển luồng giao thông hav chuyển dèn (đỏ sang xanh hay xanh sang vàng roi tlỏì Người ta còn đưa thòi gian dôni ngưỢc từ thời gian sáng tôì đưa cho mỗi đèn về 0 và hiến thị sô^ dếni dạn g thậj) Ị)hân cho các dèĩi ílể người di đường biôt và ch uẩn bị đi hay dừng tại các giao lộ (xem p h ần 11.2 cho hieii thị LEl) 7 doạii)
11.1.5 Thiết kê mạch LED đơn và chạy chương trinh trên mạch mô phỏng
Trong thiết k ế và chạy mô Ị)hỏiig sơ đồ íliộn tử, inới xuâL hiện chương trìn h mô phỏng PROTKUS có cả mô phỏng mạch với vi (liểu khiển các loại như MCS-51 của INTEL, PIC của Microchip, AVR của ATMKL, MCG8 H 1 1 cưa Motorola v.v Chương trìn h trê n còn mô phóng dưỢc các mạch sc/ và tương lự thay cho Workbcnch và Circuit m ak er hay Protel
Trang 10Nhược diêm cơ b an của PRO TEƯ S là không hỢp dịch dược các ngôn ngữ khác lìhau trôĩì giao diện, mà chỉ chạv mô phỏng được chương trình dạng duôi.HKX Muôn chạv dưíỉc mạch VĐK các loại, ta phải:
- Thiết kế mạch ngu y ẽn lý với chương trình ISIS
- Viết chương trìn h và hỢp dịch th à n h file HKX với các chương trìn h hợj) dịc.i iương
ứng với ngôn ngữ dó b ằn g cách vào tệp Labcenter/Proteus/Tool/ASEM5l
Ví dụ: - P IN N A CLE cho họ MCS-51 của INTEl hay ASEM51
- AVR S TU D IO cho AVR cua ATMEL
- MPASM cho PTC của Microchip
Ngoài các hỢp ngủ, còn các ngôn ngữ bậc cao (ngôn ngủ c , C++, PASCAL, C51 và R51 củng dịch ra tệp đuôi HEX để chạy trê n PROTEUS
1 C h ư ơ n g t r ìn h P R O T E U S
PROTEUS có giao diện và 4 th a n h công cụ như hình 11.3, 11.4 và l l õ
PAe Vievw C d it L l b r đ r y T e e i s C wM Qn G r a e t t S o u r c e c ^ b u o T cm (iL o (« 5 v » t e r w tlB%>
“ d'isí"Ẽâ âị- " ã \ W n i l ‘-^“í 'í' I a ae Oi
Í-3^ÍB ĩỉì ìữ \ \ù lù m _
»*ĩũ V r o ^ s i> ^ / ã i • • • A > B V
;H ộ p h ic n tỉiiị h ìn h ỉin h :kiộn ; ; ; ;
H ộ p h ic n ứ iị d a i\h sậệlỊ lĩn h kiiận
ISBHL&dŨÂâu
Hình 11.3 Giao điện của PROTEUS
Công dụng của các th a n h công cụ như sau:
- T h an h công cụ số 1 d ù n g để tạo trang, lưu giữ, sao chép, phóng to, th u nhỏ, ícm và
in v.v các t ra n g th iế t kế
- Thanh công cụ số 2 d ù n g để chọn các vi mạch ra danh sách lin h kiện, vẽ các đưòing dâv, ghi các n h ã n v.v
- Thanh công cụ sô' 3 d ù n g để quay 0“, 90“, 180“ các linh kiện và tên n h ã n
- Thanh công cụ số 4 d ù n g để chạy chương trìn h mô phỏng
rên và công d ụ n g từ n g n ú t trong nhóm các th a n h ghi tr ê n trìn h bày ỏ cíc hì nh
vẽ ở trên
Trang 11• Cụiìi 3: Chia ìưới đ iể m tr an g t h iế t k ế
• C ụm ‘t: Zooni linh k iệ n vể giửa trang, phóng to trang, thu nhó trang, fix trang,
zoom v ù n g t u ỳ chọn
• Ciim 5: c á t , copy p a s te trang
• Cụni 6: Copy, m ove, quay, xoá linh kiện trên
• Cụm 7; Chỉ d ù n g biểu tưỢng đầu, chọn linh kiện
õ Tạo bus: n h ắ p trá i kéo đôn cliêm khác, lại nhắp trái rồi nháp p h ải P h ả i đ ặ t lab e l
cho c ù n g t ê n ch o c ác d â y đ.ui s ử d ụ n g c h u n g bu3
13 V o lta g e Probo, g iô n g v ô n k ế t h ư ò n g n h ư n g rhỉ ró 1 dẩu d;'iy, hiện sô' trực tiếp
11 C u r e n t Probo, n h ư tr ên n h ư n g c h o giá trị dòng điộn
15 O ụ n g cụ áo; VÔIÌ kè* AC, DC a m p e kê AC, D(',
Trang 12!► II Đ ic u khiến síart, step by slep pause, stop của quá trình m ô p h ĩn g
( 011 inội thanh tooỉb ar ở giữa như trên hình, nhưng tluinh này clìù y ế u dùng licn quan đ ế n ạo mạch iiì ta không để cập ờ dây.
Hinh 11.5 Thanh công cụ số 4 để chạy chương trình
2 T h iế t k ế m ạ c h n g u y ê n lý
V ớ i các núm trong các th a n h công cụ Irên, ta đã th iết k ế đưỢc bản võ của sơ đc n g ty ên
lý của mạch hiển thị 16 LED đơn nôì với hai cổng 1^0 và P2 n h ư h in h 11.6
PZ.WAG
f2SỈAO r2iBỈAU
P27/A»
F3íyfui»
p ạ iV rx p
paaTrĩĐ P33wn
Hình 11.6 Mạch hiển thị 16 đèn LED ròi
Trong hộp linh kiện (ấn chữ p/micro controller), chúng ta đã chọn VĐK 89C52, LKD
đtín và điện trở h ạn chế dòng điện loại nhỏ 3000.
3 C h ạy c h ư ơ n g t r ìn h m ô p h ỏ n g
a) S o ạ n thảOy b iê n d ị c h c h ư ơ n g t r ì n h có đ u ô i ,HEX
Dùng chương trìn h PINNACLE để biên dịch các ví dụ 11.1 tới 11.3, ta có các 'hương trìn h đuôi HKX tương ứng Các chương trình với các ngôn ngữ bậc cao, ta cũng p h ii biên dịch với các chương trìn h biên dịch tương ứng
b) Mở sơ đ ồ n g u y ê n lý
Ta gọi sơ dồ cần chạy trên giao diện PROTEUS bằng nh áy chuột vào biểu tưỢHỊ ISIS,
mỏ tệp và chọn tên của sơ đồ (thường ở th ư mục BIN của PROTEU S nôu tự vẽ)
Trang 13trình (TcUih nháy chuột phải lần hai vì sơ (lô riííuyên lý bị xoá di, phải hồi phục bằng nútN
nh ấn lúni trở vể mũi tên ngược chiểu trôn Ihatiii cỏiig cụ số 1).
- Wháy chuột trái ưào ô chương trinh: dể tìm dường dẫn tói chương trìn h cần chạy
trong ?INNACLE
N ỉá v chuôt trái vào tên chương trinh cẩn vhạy: khi dó, tôn chương trìn h sẽ hiện vào
hộp tôi của chương trình với cả dường dẫn Nỏu cóp tôn chương trình vào cùng th ư mục với
sơ dồ ĩguyôn lý, ta không phải tìm tên chương trình theo đường dẫn
- 'ũểm tra tần s ố n h ịp của giao diện cỏ ìiỢp với tần s ố của VĐK: giá trị mặc định là 12MH:, nếu tầ n sô^ nhịp khôn g hợp, phải sửa lại cho đúng.
~ về sơ đ ồ nguyên lý : nh áy chuột trái vào chữ OK để trở về sơ đồ nguyên lý.
dy C h ạ y c h ư ơ n g t r i n h
l)in^ th a n h công cụ sô" 4 để chạy chương trình bằng cách nháy chuột vào các núm tương Ing sau;
~ Vúm sô'2 h ìn h m ột vạch uà tam giác: chạy từng lệnh của chương trình
- Vzím SỐ3 h in h ha i vạch thẳng: nghỉ chạy chương trình
~ Viim s ố 4 h ìn h ch ữ n h ậ t: kết thúc chạy chương trình
Tiong khi chạy chương trìn h , trê n các đường dây tín hiệu, có các chấm đỏ, x an h tương ứng vd các mức logic 1 h a y 0
Cí thể chương trìn h không chạy hay báo lỗi vì lý do khác nhau: tốc độ xung nhịp khônghợp, quá thòi gian, lện h sai v.v
Níu chạy chương trìn h hiển thị trê n 16 LF]D ở trên, ta sẽ thây các LED sẽ n h ấp nh áy như qiy lu ật giải t h u ậ t của chương trinh Nếu không như mong muốh, giải t h u ậ t không đúng, )hải sửa lại
M)t sơ đồ nguyên lý ở trê n , có th ể cho chạy mô phỏng thử nhiều chương trìn h phục vụ
11.2 HIỂN THỊ TRÊN MỘT ĐÈN LED 7 ĐOẠN
Đìĩi LEI) ròi có nhưỢc điểm là chỉ biểu diễn được sô' nhị phân (logic 0 ~ đèn t ắ t và 1 - đồn Síng) không biểu diễn trực tiếp dược các cliữ và các con S(í Muôn biểu diễn đèn LED ròi Ihinh chữ hay sô", ta p h ải mắc nhiều đèn thành chữ hay sô dó N hư vậy, sẽ tôn nhiều đèn v; công s u â t điện nuôi lỏn
Đĩĩi LED 7 đoạn (hay 7 t h a n h sáng) ra dời (ỉể khắc phục được nhược điểm trên
11.2.t Cấu tạo và hoạt động của đèn LED 7 đoạn
iVổi dèn LED 1 đoạn có 7 th a n h a, b, c, d, e, f và chấm h (để biểu diễn sô' th ậ p phân),
đưỢc sip xêp n h ư hình 11.7a Mỗi th a n h là một đèn LED đơn, dược mắc theo:
- \ n ô t chung', (hình 11.7b), các an ô t của các đèn nối chung với n h a u và với cực +5V của
nguồi diện nuôi, còn các cực âm là các katôt a, b, c, d, 0, f, g, h
-K a tô t chung: (hình 10.7c), các katôt của các dèn nối chung VỚI n h a u và vói đất, các
an ô t cưỢc nôì với các lôi vào a, b, c, ci, e, f, g và h.
13
Trang 14Như vậy, trong cả hai trường h ( í Ị ) (iiìắc ainV ■hui.íí h;iy kalỏt clunig), các dầu còn lại a, h,
c, d, e, f, g v à h c ủ a d ò n (lểu nối với các' lỏi r a c u a .'ông VI dÚHi k h iò n í‘ó g iá trị c ủ a m ã 7 đoạn.
Khi các th a n h diot có dòiig tliện chạy (Ịiia (cỏ :hòỉi' điện ti'(í liạn chê dòng cỡ 200Q),
th an h p h át sáng và tùy n i à tiíơng ứng của { ' ả i ' lòi V A a b , c, d i \ f, g và h ta có hình sáng của các chữ sô 0 tới 9 hay chừ lừ A tới z (hán<í 11.1)
11.2.2 Các loại đèn LED 7 thanh
Từ hình 11.8 , ta th ấy có cáo dèn LED đơn có các loại sau:
- Đ è n LED 7 BCD: có 4 lối vào ABCD (có sẵn mạch giải mã 7 th anh bên trong) nêii khi
hiển thị, không cần mạch giải mã 7 thanh bôn ngoài V Ớ I sơ đồ nguyên lý ở hình (11.9)
- Đèn LED 7 số(digital): có 8 lối vào a, b, c, d, e, f, g, li, không cán nguồn nuôi ngoài (như
anôt chung hay katôt chung) mà dùng mức log:c 1 của lòì ra của công VĐK (có khi con qua mạch công suất) để làm sáng thanh sáng Ixỉại dẻn này cũng càn giái inã 7 thanh
- Đ è n LED 7 th a n h mắc a n ô t chung-, (nối ngT.iồii nuôi ngoài) hay katôt chung (nôi đàt),
có 8 lối vào a , b, c, d, e, f, g, h )
14
Trang 162 C hương tr ìn h h i ể n th ị s ố t ự n h i í n t r í n LED 7 t h a n h
vỏi LED BCD, dữ liệu dưa ra lă nhị ph đn không cần chương trìn h giải inê Còn câc
LED 7 th an h khâc, cần chương trìn h con giải mê câc sô' tự n h iín (0 , 1, 2, 3, 4, 5, 6, 7 8 , 9)
th ăn h mê 7 th anh N hư vậy, chương trình hiển thị không có mạch giải mê cho LEl) 7
th an h gồm hai chưdng trìn h con:
~ Chương trinh con g iải m ê s ố tự nhiín (0 tới 9)\ bằng câch dọc bảng dữ liệu bởi lộnh
MOVC A, @A + DPTR Tùy loại anôt chung hay katôL chung, ta có hai bảng mă khâc nhau vì:
+ Với anôt chung: bit dữ liệu đưa ra katôt, phải lă logic 0 cho t h a n h sâ n g diot {ằng
điện chạy từ an ô t sang katỏt)
+ Với katôt chung: bit dữ liệu đưa ra anôt, phải lă logic 1 cho t h a n h sâng diot (dòng
điện chạy từ anôt sang katôt)
- Chương trin h con hiển thị: có câc h ăn h động đưa dữ liệu ra cổng, gọi trễ (đế m ắt
ngưòi quan sât đủ thđy đỉn sâng vă đỉn tắt
Ví dụ 11.4 giới th iệu chương tr ìn h hiển thị trín câc đỉn LED câc loại khâc n h au theo
sơ đồ mắc ở hình 11.9
Sau khi hợp dịch tro n g Pinnacle, ghi văo sơ đồ mô phỏng ở hình 11.9 vă n h đ n n ú t chạy
chương trìn h (nút th ứ nhđ't của th a n h công cụ sô^ 4), theo dõi câc đỉn LED 7 th a n h , ta thđymỗi đỉn sẽ hiển thị câc sô" từ 0 tới 9 rồi trở về 0
Ví dụ 1 l.õ giới thiệu chương trình đưa mê 7 đoạn từ ô nhớ ra hiển thị trẽn LED 7 đoạn Tnióc
đó có (loạn chương trình ghi vă biến đổi câc Iiìê BCD thănli mê 7 đoạn để ghi văo câc ô nhớ
3 C hương t r in h h iể n t h ị k ý tự
Hiển thị ký tự trí n một LED 7 th a n h cũng tương tự hiển thị sô' tự nhiín, chỉ có điều
khâc lă;
- Câc sô" tự nhiíiì có sẵn bảng mê sô tự nhiín — mê 7 th an h (anôt chung hay katôt chung),
trong khi hiển thị ký tự cần lập bảng mê cho chuỗi ký tự Ví dụ, dòng chữ “CHAO ~ BAISr\
- Hiển thị cũng tương tự hiển thị số lă đọc bảng dữ liệu (bởi lệnh MOVC A, (íỊ^A +
DPTR) rồi đưa A ra cổng Pi mong muôn
Ví dụ 11.6a giới thiệu chương tiùnh hiển thị chuỗi “CHAO BAN” đưa dữ liệu trực tiôp qua
cổng PO mắc với đòn LED 7 có katôt chung vă c ìươnp: trình 11.6b bằng đoc bảng dữ liộu
; Ví dụ I 1.4: Chirơng trình hiển thị câc số tự m o v P l ,# 00h
nhiỉn (0 lới 9) Irín câc loại LED 7 mov dplr, #bangrnal; anỏl chung, PQ
mov I-O, #10; LED BCD, cổng P1 rẽt
mov a, # 0 0 h bangmal: db OcOh, 0f9h, 0a4h, ObOlì, 99h, 92h,
16
Trang 17; Ví (iụ 11.5: Chương trình hiển thị dữ liộu
11011)1 ỏ nhớ dùng lệnh gộp giải mã
M ACRO CạKilAÍMA < 1, 2, 3>
inov a, 11 ; 11 - địa chi chứa dữ liệu
iinl a, #()lli ; lọc 4 bit thấp
IIIOVC a, @a+clptr ; đọc mã 7 đoạn
rnov 12, a ; gửi vào dịa chi nhớ 12
inov a, 11 ; 11 - dịa chi chứa dữ liệu
anl a, #0r01i ; lọc 4 bit cao
svvap a ; tráo sang 4 bit thấp
movc a, @a+dptr ; dọc mã 7 doạn
inov 13, a ; gửi vào dịa chỉ nhớ 13
(ắ,IAlSÍAM )li,M ĩ.4lli
inov rO, #401i inov a, (r/^K) ino\' ro, a inc rOinov a, @r(}
inov 1\), a S|mp s
hanuma: (Ib OcOli, Of9h, 0a4h, ObOh, 99h,
db 92h, 82h, Of8h, 80h 90h ; anôt chung
; (cỉb 3ni, 06h 5bh, 4fh, 66h, 6dh, 7dh, 07li, 701, 6fh, OOh; katôt chung
delav: niov r0,#250 dell: m o v rl,#200 dcl2: djnz rl, del2 (ljnz rO, del 1 rct
end
; Ví (ÌỊI 1 1.6a: Chương trình hiển ihị “CHAO-
liAN” dưa dữ liệu trực tiếp
Vi (iụ 11.6b: Chương trình hiển thị
“CHAO-; V1 (lụ 11 od: enương trmn nier BAN" dùng lệnh dọc bảng dữ liệuinacrcXgỉVVriiePs <1, 2>
mov rO, #0()li rO
movc a, @a+dptr djnz kt
inov ro, a call delay inc dptr ljmp main inov a, #0()h inov IK) a call clelaybangnia: (ih 3%, 741i, 5cli, 3fh, 40h, 7ch
dh ,xiị541i, OOh dclay: inov r7, #250 dcl I: mov r6, #20 dol2: inov r5, #20h (ljn/ r5, s (ijiu r6, dcl2 (ljnz r7, dcl 1 rci
CIKỈ
Chu y: Chuỗi ký lự kốl thúc bời mã OOh Khi
dọc tới mã này, cliirơng trình nhảy tới nhãn KT
Trang 2011.3.3 Chương trinh hiển thị cho nhiểu đèn LED
Hình 11.11 giới thiộu cách mắc tỗì đa 8 đèn LED 7 doạn với hai cổng của vi cliểu khiển: cổng PO đưa dữ liệu ra song song cho 8 đèn LED và cổng P1 có 8 bit nôì với 8 cực bazơ của 8 tran zito để diều khiển một trong 8 LED tương ứng p h át sáng khi có dữ liộu dưa ra
Chương trình ở ví dụ 11.7 hiển thị các chữ sô" từ 0 tới 7 trôn 8 LED 7 doạn Chương trình cũng có hai h à n h động:
• Đọc mã 7 đoạn của các sô^ tự nhiên từ 0 tới 7 có sẵn trong b ản g mă với clỊa chỉ (lầu tiên là bangma
- Dưa ra hiển thị trê n c á c LED tương ứng mắc với cổng PO và tín hiệu diều klúcn vào bazơ của tranzito mắc với cổng P l Lòi điều khiến trong r3 (có 1 bifc bang 0) có tl7 0 cho đèn LED 7 đoạn ở t ậ n cùng bên trá i sáng và đưỢc dịch phải (RRC A) để điều khiển dèn LED sáng từ trái q u a phải Nẽu b an đầu cho r3 = #OEh và dùng lệnh dịch trái (RLC A) thì các LED sẽ sáng từ phải q ua Irái
Ví dụ 11.7 ^ ố i th iệu chương trìn h hiển thị các dử liệu dạn g BCD dưỢc chứa trong các ô nhớ có địa chỉ 30h, 31h, 32h, 33h, 34h và 35h Trước khi hiển thị, phải biến dổi mã BCD
th àn h mã 7 doạn ghi trong các ô nhớ có địa chỉ 40h tới 45h, b ằn g lệnh gộp GIAIMA
Ví dụ 11.8 giới thiệu chương trình hiển thị chuỗi chữ APECHANGI2006 trong bảng mã 7 đoạn lên 8 dèn LED 7 đoạn Kết thúc của chuỗi là mã OOh Muổh biểu diễn đầy đủ chuỗi ký tự trên, ta phải có sô' đèn LED 7 đoạn bằng sô^ký tự cần biểu diễn (13 đèn LED 7 đoạn)
; Ví dụ 11.7: Chương Irình hiển ihị dữ liệu
IìiịK): mov @rO, a; ghi các số 0-7 vào các ò nhớ ■ mov led7, a ; clira dữ liộu ra cổng K)
Movc a, @a+dptr; đọc mã 7 đoạn del2: mov r5, #20h
Mov @r 1, a; gửi vào ô nhớ địa chỉ nhớ r 1 djnz r5, $
20