Sau gần hai tháng nghiên cứu và làm việc một cách nghiêm túc cùng với sự hướng dẫn của thầy Bạch Hưng Trường, thầy Đặng Văn Khanh và các thầy cô trong khoa Điện_Điện tử cùng với các ý kiến quý báu của các bạn bè, đến nay chúng em đã hoàn thành đề tài khá hoàn chỉnh. Qua cả một thời gian nghiên cứu , tìm tòi , chúng em đã tự có thể đánh giá khả năng làm việc , học hỏi , sáng tạo của mình với những kiến thức mà các thầy cô đã trang bị trong suốt thời gian qua. Quá trình thiết kế và thi công mạch , chúng em đã có sự két hợp giữa kiến thức trên lý thuyết và kỹ năng thực hành. Không những vậy , mà qua thời gian này, chúng em còn học hỏi và đúc rút , biết cách làm việc một cách trực quan và độc lập. Đó là kết quả to lớn trong suốt quá trình học tập mà chúng em đã đạt được.
55 trang |
Chia sẻ: huong.duong | Lượt xem: 1203 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế, chế tạo bảng thông tin điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng dụng của mỗi bộ.
1.3. Sơ đồ chân tín hiệu.
Hình 2. IC 80C51/AT89C51
Chức năng của các chân tín hiệu như sau:
- P0.0 đến P0.7 là các chân của cổng vào/ra P0.
- P1.0 đến P1.7 là các chân của cổng vào/ra P1.
- P2.0 đến P2.7 là các chân của cổng vào/ra P2
- P3.0 đến P3.7 là các chân của cổng vào/ra P3
Các chân của cổng P3 ngoài những chức năng xuất/nhập dữ liệu nó còn có các chức năng đặc biệt sau:
- RxD: Nhận tín hiệu kiểu nối tiếp (P3.0).
- TxD: Truyền tín hiệu kiểu nối tiếp (P3.1).
- /INT0: Ngắt ngoài 0 (P3.2).
- /INT1: Ngắt ngoài 1(p3.3).
- T0: Chân vào 0 của bộ Timer/Counter 0 (P3.4).
- T1: Chân vào 1 của bộ Timer/Counter 1 (P3.5).
- /Wr: Ghi dữ liệu vào bộ nhớ ngoài (P3.6).
- /Rd: Đọc dữ liệu từ bộ nhớ ngoài (P3.7).
- RST: Chân vào Reset, tích cực ở mức logic cao trong khoảng 2 chu kỳ máy.
- XTAL1: Chân vào mạch khuyếch đaị dao động
- XTAL2: Chân ra từ mạch khuyếch đaị dao động.
- /PSEN : Chân cho phép đọc bộ nhớ chơng trình ngoài (ROM ngoài).
- ALE (/PROG): Chân tín hiệu cho phép chốt địa chỉ để truy cập bộ nhớ ngoài, khi On-chip xuất ra byte thấp của địa chỉ. Tín hiệu chốt đợc kích hoạt ở mức cao, tần số xung chốt = 1/6 tần số dao động của bộ VĐK. Nó có thể đợc dùng cho các bộ Timer ngoài hoặc cho mục đích tạo xung Clock. Đây cũng là chân nhận xung vào để nạp chơng trình cho Flash (hoặc EEPROM) bên trong On-chip khi nó ở mức thấp.
- /EA/Vpp: Cho phép On-chip truy cập bộ nhớ chơng trình ngoài khi /EA=0, nếu /EA=1 thì On-chip sẽ làm việc với bộ nhớ chơng trình nội trú. Khi chân này đợc cấp nguồn điện áp 12V (Vpp) thì On-chip đảm nhận chức năng nạp chơng trình cho Flash bên trong nó.
- Vcc: Cung cấp dơng nguồn cho On-chip (+ 5V).
- GND: nối mát.
1.4. Các thanh ghi chức năng đặc biệt.
SFR đảm nhiệm các chức năng khác nhau trong On-chip. Chúng nằm ở RAM bên trong On-chip, chiếm vùng không gian nhớ 128 Byte đợc định địa chỉ từ 80h đến FFh. Cấu trúc của SFR bao gồm các chức năng thể hiện ở bảng 1và bảng 2.
Thanh ghi
MSB
Nội
dung
LSB
IE
EA
-
ET2
ES
ET1
EX1
ET0
EX0
IP
-
-
PT2
PS
PT1
PX1
PT0
PX0
PSW
CY
AC
FO
RS1
RS0
OV
-
P
TMOD
GATE
C/(/T)
M1
M0
GATE
C/(/T)
M1
M0
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
SCON
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
PCON
SMOD
-
-
-
GF1
GF0
PD
IDL
P1
T2
T2EX
/SS
MOSI
MISO
SCK
P3
RXD
TXD
/INT0
/INT1
T0
T1
/WR
/RD
Bảng 1. Chức năng riêng của từng thanh ghi trong SFR
Symbol
Name
Address
Reset Values
* ACC
Thanh ghi tích luỹ
0E0h
00000000b
* B
Thanh ghi B
0F0h
00000000b
* PSW
Từ trạng thái chương trình
0D0h
00000000b
SP
Con trỏ ngăn xếp
81h
00000111b
DP0L
Byte cao của con trỏ dữ liệu 0
82h
00000000b
DP0H
Byte thấp của con trỏ dữ liệu 0
83h
00000000b
* P0
Cổng 0
80h
11111111b
* P1
Cổng 1
90h
11111111b
Symbol
Name
Address
Reset Values
* P2
Cổng 2
0A0h
11111111b
* P3
Cổng 3
0B0h
11111111b
* IP
TG điều khiển ngắt u tiên
0B8h
xxx00000b
* IE
TG điều khiển cho phép ngắt
0A8h
0xx00000b
TMOD
Điều khiển kiểu Timer/Counter
89h
00000000b
* TCON
TG điều khiển Timer/Counter
88h
00000000b
TH0
Byte cao của Timer/Counter 0
8Ch
00000000b
TL0
Byte thấp của Timer/Counter 0
8Ah
00000000b
TH1
Byte cao của Timer/Counter 1
8Dh
00000000b
TL1
Byte thấp của Timer/Counter 1
8Bh
00000000b
* SCON
Serial Control
98h
00000000b
SBUF
Serial Data Buffer
99h
indeterminate
PCON
Power Control
87h
0xxx0000b
* : có thể định địa chỉ bit, x: không định nghĩa
Bảng2. Địa chỉ, ý nghĩa và giá trị của các SFR sau khi Reset
2. Ngôn ngữ lập trình Assembly .
2.1.Ngôn ngữ lập trình .
- Khi chương trình được viết trực tiếp bằng ngôn ngữ máy , nếu muốn thêm hoặc xoá một mã lệnh nào đó thì các mã lệnh có địa chỉ kèm theo cũng phải tính toán cho đúng nên rất khó khăn cho viết và sửa chương trình. Vì vậy bằng việc thay phải viết bằng ngôn ngữ máy , người lập trình có thể viết bằng một ngôn ngữ dưới dạng các kí hiêu hình thức hoặc các từ gợi nhớ tuân theo một qui tắc noà đó dễ đọc và dễ hiểu. Mỗi từ gợi nhớ này tương đương với một lệnh của CPU. Ngôn ngữ này chính là ngôn ngữ Asembly, là ngôn ngữ lập trình cấp thấp gần với ngôn ngữ máy.
2.2. Các lệnh cơ bản trong ngôn ngữ Asembly.
Các lệnh được sử dụng trong chương trình
- Cú pháp câu lệnh: MOV ,
Chức năng: Sao chép nội dung của toán hạng nguồn vào toán hạng đích, nội dung của toán hạng nguồn không thay đổi. Lệnh này không làm ảnh hởng tới các cờ và các thanh ghi khác.
- Cú pháp câu lệnh: MOV DPTR, #data16
Chức năng: Giá trị 16 bit ở toán hạng thứ 2 trực tiếp trong câu lệnh đợc nạp vào thanh ghi DPTR. Hằng số 16 bit này đợc đặt ở byte 2 và byte 3 của lệnh. Byte 2 là byte cao đợc nạp cho thanh ghi DPH, byte 3 là byte thấp đợc nạp vào thanh ghi DPL. Lệnh này không ảnh hởng tới các cờ.
- Lệnh xoá bit
Cú pháp câu lệnh: CLR bit
Chức năng: Xoá bit đợc chỉ ra trong câu lệnh về 0. Lệnh này có thể thao tác trên cờ nhớ, hoặc trên 1 bit bất kỳ đợc định địa chỉ trực tiếp. Lệnh không làm ảnh hởng tới trạng thái các cờ.
- Lệnh xoá thanh ghi tích luỹ
Cú pháp câu lệnh: CLR A
Chức năng: Xoá tất cả các bit của thanh ghi tích luỹ về 0. Các cờ không bị ảnh hởng.
- Lệnh thiết lập bit
Cú pháp câu lệnh: SETB bit
Chức năng: Thiết lập bit đợc chỉ ra trong câu lệnh lên mức logic 1. Lệnh này có thể thao tác trên cờ nhớ, hoặc trên 1 bit bất kỳ đợc định địa chỉ trực tiếp. Lệnh không làm ảnh hởng tới trạng thái các cờ.
- Lệnh tăng lên 1 đơn vị.
Cú pháp của câu lệnh: INC
Chức năng: Tăng giá trị của byte trong câu lệnh lên 1 đơn vị. Nếu giá trị ban đầu của byte là 0FFh, thì sau khi thực hiện lệnh INC nội dung của byte sẽ là 00h. Lệnh này không làm ảnh hởng tới trạng thái các cờ.
- Lệnh giảm 1 đơn vị.
Cú pháp của câu lệnh: DEC
Chức năng: Giảm giá trị của byte trong câu lệnh xuống 1 đơn vị. Nếu giá trị ban đầu của byte là 00h, thì sau khi thực hiện lệnh DEC nội dung của byte sẽ là 0FFh. Lệnh này không làm ảnh hởng tới trạng thái các cờ.
- Lệnh : MOVC A,@A+DPTR
Lệnh chuyển byte mã lệnh:
Chức năng: Nạp cho thanh ghi tích luỹ byte mã lệnh từ bộ nhớ chơng trình. Địa chỉ của byte đợc tìm nạp trong bộ nhớ là tổng nội dung của thanh ghi A 8 bit với nội dung của thanh ghi DPTR 16 bit
- Nhóm lệnh rẽ nhánh chơng trình.
1. Lệnh gọi tuyệt đối.
Cú pháp câu lệnh: ACALL addr11
Chức năng: Gọi không điều kiện một chương trình con đặt tại địa chỉ đợc chỉ ra trong câu lệnh. Lệnh này tăng bộ đếm chơng trình thêm 2 đơn vị để PC chứa địa chỉ của lệnh kế lệnh ACALL, sau đó cất nội dung 16 bit của PC vào ngăn xếp (byte thấp cất trớc) và tăng con trỏ ngăn xếp lên 2 đơn vị. Địa chỉ đích sẽ đựơc hình thành bằng cách ghép 5 bit cao của thanh ghi PC (sau khi đợc tăng), 3 bit cao của byte mã lệnh và byte thứ 2 của lệnh. Do đó chương trình con đợc gọi phải nằm trong đoạn 2 Kbyte của bộ nhớ chơng trình chí it phải chứa lệnh đầu tiên của chơng trình con này. Lệnh không làm ảnh hởng tới các cờ.
2.Lệnh gọi dài.
Cú pháp câu lệnh: LCALL addr16
Chức năng: Gọi một chơng trình con đặt tại địa chỉ đợc chỉ ra trong câu lệnh. Lệnh này tăng bộ đếm chơng trình thêm 3 đơn vị để PC chứa địa chỉ của lệnh kế lệnh LCALL, sau đó cất nội dung 16 bit của PC vào ngăn xếp (byte thấp cất trớc) và tăng con trỏ ngăn xếp lên 2 đơn vị. Tiếp theo nó sẽ chuyển byte thứ 2 và byte thứ 3 trong câu lệnh LCALL vào byte cao và byte thấp của PC. Việc thực thi chơng trình tiếp tục với lệnh ở địa chỉ này. Nh vậy chơng trình con có thể bắt đầu bằng bất cứ nơi nào trong không gian bộ nhớ chơng trình 64 Kbyte. Lệnh không làm ảnh hởng tới các cờ.
3. Lệnh quay trở lại từ chơng trình con.
Cú pháp câu lệnh: RET
Chức năng: Trở về từ chơng trình con. Lệnh này đợc thực hiện sau khi thực hiện xong lệnh ACALL hoặc LCALL. RET lấy lại byte cao và byte thấp của C từ ngăn xếp, giảm SP đI 2 đơn vị. Chơng trình tiếp tục được thực hiện với lệnh có địa chỉ ở trong PC. Các cờ không bị ảnh hởng.
4. Lệnh quay trở lại từ ngắt.
Cú pháp câu lệnh: RETI
Chức năng: Trở về từ chơng trình con. RETI lấy lại byte cao và byte thấp của PC từ ngăn xếp, phục hồi logic ngắt để có thể nhận các ngắt khác có cùng mức u tiên ngắt với ngắt đợc xử lý, sau đó giảm SP đi 2 đơn vị. Chơng trình tiếp tục đợc thực hiện với lệnh trớc khi xử lý ngắt với địa chỉ ở trong PC. Các cờ không bị ảnh hởng.
- Lệnh nhảy khi so sánh 2 toán hạng.
Cú pháp câu lệnh: CJNE, , rel
Chức năng: So sánh giá trị của 2 toán hạng đầu tiên, nếu 2 toán hạng không bằng nhau thì chơng trình đợc rẽ nhánh. Địa chỉ đích rẽ nhánh đợc tính bằng cách cộng độ lệch tơng đối (có dấu) trong byte sau cùng của lệnh với nội dung của PC (sau khi nội dung của PC đợc tăng đến địa chỉ bắt đầu của lệnh kế tiếp CJNZ). Cờ nhớ (CF) sẽ đợc thiết lập nếu nh giá trị nguyên không dấu của toán hạng đích nhỏ hơn giá trị nguyên không dấu của toán hạng nguồn, ngợc lại thì cờ này bị xoá. Lệnh này không làm thay đổi giá trị của các toán hạng
- Lệnh giảm và nhảy.
Cú pháp câu lệnh: DJNZ ,
Chức năng: Giảm ô nhớ đi 1 và nhảy tới địa chỉ cho bởi toán hạng thứ 2 nếu nh kết quả khác 0. Nếu kết quả ban đầu là 00h thì nó chuyển qua 0FFh. Địa chỉ đích đợc tính bằng cách cộng thêm độ lệch có dấu trong byte lệnh cuối cùng với nội dung của PC (sau khi tăng PC tới byte đầu tiên của lệnh tiếp theo). Ngăn nhớ đợc giảm giá trị có thể là 1 thanh ghi hoặc 1 byte địa chỉ trực tiếp. Lệnh này không ảnh hởng tới trạng thái các cờ.
3.Cấu trúc của IC đệm 74ls245.
Sơ đồ chân IC .
Hình 3. Sơ đồ nguyên lý IC 74ls245
- G(19) : Cho phép IC hoạt động ở mức thấp.
- A1(2)....A8(9) , B1(18).....B9(11) : Chân xuất nhập dữ liệu .
- Dir(1) : Cho phép dữ liệu di chuyển theo chiều từ A sang B hay từ B sang A. Nếu chân 1 ở mức cao thì thì cho phép chuyển dữ liệu từ A sang B, còn ở mức thấp thì cho chuyển dữ liệu từ B sang A,
- Vcc : Chân dương nguồn hoat động ở mức 5V.
- GND : Chân âm nguồn nối mát (hoặc nối đất).
* Nguyên lý hoạt động :
- Chân Vcc( dương nguồn) và GND ( âm nguồn ) được cấp, hai hàm and bên trong IC quyết định đến nguyên lí hoạt động của IC.
- IC hoạt động khi chân G ở mức thấp.
4. Cấu trúc IC ghi dịch 74ls164.
* Cấu tạo .
Hình 4. Sơ đồ nguyên lý IC 74ls164.
74LS164 là ic ghi dịch 8 bit.
- A(1),B(2) (serial input) : Chân đầu vào dữ liệu.
- QA,QB,QC,QD,QE,QF,QG,QH (output) : Chân xuất dữ liệu .
- Vcc(14) : Dương nguồn.
- GND(7) : Âm nguồn .
- Clk (8): Chân tác động xung Clook.
- Clr(9): Chân Clear hoạt động ở mức thấp.
* Nguyên lí hoạt động :
- IC hoạt động khi cấp nguồn Vcc và GND .
- Chân A,B nạp dữ liệu đầu vào mà ta cần dịch .
- Chân CLR xoá trạng thái của IC ở thời điểm trước đó làm cho các chân ra có trạng thái ở mức thấp.
- IC cho phép dịch bit từ QA đến QH khi có xung tác động CLK ở sườn xung dương với mỗi lần xung clook được tác động thì sẽ dịch một bit.
5. Sơ đồ nguyên lý LED ma trận 8x8.
5.1. Sơ đồ .
Hình 5. Led ma trận 8x8 2088A/B.
5.2. Cấu tạo và nguyên lí hoạt động .
- Cấu tạo.
+ Led ma trận gồm nhiều led đơn ghép lại, chúng được tổ hợp bằng cách nối chung anot và catot thành từng hàng và từng cột. Mỗi hàng gồm 8 led đơn ghép nối lại. Hàng và cột được bố chí như hình vẽ.
+ C1,C2….,C8 là các cột (chung catot).
+ H1,H2,….,H8 là các hàng ( chung anot ).
- Nguyên lí hoạt động .
+ Do các led được nối chung anot và catot nên led sáng khi cấp nguồn dương vào hàng và nguồn âm vào cột.
+ Tương ứng từng vị trí của điểm led mà cấp nguồn cho hàng và cột, ví dụ muốn hàng 1 sáng hết thì cấp dương nguồn cho hàng H1 và nguồn âm cho tất cả các cột từ C1 đến C8.
6.Thiết kế phần cứng.
- Các linh kiện sử dụng trong mạch điện .
+ IC AT89C51
+ IC đệm SN74LS245.
+ Trở thanh.
+ Trở thường 220 và 10k.
+ IC ổn áp 7805.
+ Bộ tạo dao động : Thạch anh 11.059 Mhz, tụ đất 30..
+ Nút ấn và răm cắm (loại 8 chân ).
6.1. Mạch điều khiển.
6.1.1. Sơ đồ nguyên lí .
- Nguyên lí hoạt động của mạch điều khiển.
Mạch nguồn ổ áp 7805 kết hợp với các tụ lọc nguồn để cung cấp điện áp 5v ổn định cho mạch diều khiển. Các tín hiệu xuất ra từ IC tới các mạch và các nut ấn đưa tín hiệu vào đều qua IC đệm 74ls245 để ổn định và khuếch đại dòng điều khiển, ngoài ra còn chống lại dòng kích nguợc từ các thiết bị khác làm ảnh hưởng tới quá trình làm việc của IC và mạch vi điều khiển. Tất cả các chương trình đều lưu trong bộ nhớ ROM của onchip điều khiển mọi hoạt động của bảng thông tin.
.
Hình 6. Sơ đồ nguyên lí của mạch điều khiển dùng IC AT89C51
Hình 7. Sơ đồ vị trí các linh kiện trên mạch Board.
6.2. Modul.
- Do yêu cầu của đề tài là làm bảng led dài 120cmx30cm, các linh kiện như led có cấu tạo phức tạp, việc thiết kế mạch điện trở nên gặp nhiều khó khăn khi có nhiều linh kiện trong mạch điện mà yêu cầu về kích thước khá lớn.
- Để giải quyết vấn đề trên , việc chia nhỏ mạch điện thành các mạch điện nhỏ hơn ( mà ở đây tạm gọi là các modul ) để dễ dàng cho thiết kế mạch và chế tạo mạch điện là một phương án cần thiết. Sau khi đã được hoàn thành, các modul này sẽ được ghép nối lại với nhau bằng các dây cáp và gắn cố định mà không làm thay đổi về hình dạng và kích thước của bảng thông tin theo yêu cầu của đề tài.
- Các modul gồm có mạch hiển thị led (các led được bố trí trên mạch này ) và mạch quét led ( hay mạch khuyếch đại ). Mạch hiển thị và mạch quét led sẽ được kết nối nhờ các cáp cắm 8 dây, trên các modul liên kết với nhau cũng nhờ các cáp cắm này.
- Bảng thông tin được chia thành 4 modul, mỗi modul có kích thước là 24cmx18cm. Việc thiết kế chế tạo và lắp ráp ,kiểm tra sẽ dễ dàng và an toàn, nhanh gọn hơn khi mạch đã được chia nhỏ thành các modul.
6.3. Mạch hiển thị.
* Sơ đồ nguyên lí .
- Mạch được thiết kế cho 3 hàng led với 4 cột .
- Do các cột và hàng của led bố trí không theo một quy luật nao nên sơ đồ nguyên lí phức tạp, có nhiều đường chồng chéo lên nhau. Do vậy mà khi thiết kế sang mạch board buộc ta phải thiết kế mạch hai lớp.
- Mạch nguyên lý được thiết kế ghép nối giữa hàng với hàng , cột với cột được quy định bởi sơ đồ chân led ma trận 8x8 .
- Các cột , hàng được nối với nhau và đưa ra thành 3 cổng của hàng và 4 cổng của cột. Các cổng hàng này cũng được thiết kế có hai răm trên mỗi cổng của hàng để kết mối sang board kế tiếp.
Hình 8. Sơ đồ nguyên lý .
Hình 8. Sơ đồ mạch lớp dưới (Bot).
Hình 9. Sơ đồ mạch boar lớp trên (Top).
Hình 10. Sơ đồ mạch board .
6.4. Mạch quét led.
- Sơ đồ mạch board :
Do so đồ phức tạp nên mạch có các đường khi chuyển sang mạch board bị chồng chéo lên nhau,các đường chồng chéo nhau ít nên ta chọn giải pháp câu dây. Các đường câu dây được danh dấu bằng đường đỏ.
- Các linh kiện dùng trong mạch .
+ Transistor C1815
+ Răm 8 chân
+ IC ghi dịch 74ls164
+ Trở 220
- Kích thước : 20cmx10cm (dài x rộng )
- Nguyên lí làm việc .
Mạch làm việc với nguồn 5v ổn định qua IC ổn áp 7805 ( thiết kế trên board khác ). Răm 8 chân kết nối với mạch hiển thị qua cáp . Khi cấp xung CLK từ vi điều khiển cho IC ghi dịch 74ls164 cùng các xung set bit , xung CLR làm cho IC hoạt động . Bit cuối cùng của IC này nối với chân A,B của IC ghi dịch tiếp theo. Một bit sẽ được dịch ở mức cao lần lượt qua 32 chân kích vào chân B của transistor C1815 làm các transistor dẫn lần lượt khi có xung tác động từ 74ls164. Sau mỗi lần quét, chế độ làm việc lặp lại khi có xung điều khiển từ vi điều khiển xuất ra.
Hình 11. Sơ đồ nguyên lý mạch quét led .
Hình 11. Sơ đồ board mạch quét led.
6.5. Các qui ước điều khiển
- Reset : Nút ấn thường mở để reset lại chương trình.
- Power : Công tắc nguồn điện.
- Ch : Thay đổi chương trình hiển thị, dùng nút ấn thường mở.
7.Thiết kế phần mền.
7.1. Phông chữ dùng trong chương trình.
(A)
00h, 0ffh, 0fh, 80h, 0ffh, 0fh, 0c0 h ,18h ,00h ,60h ,18h 20h,30h,18h,70h,60h,18h,20h,0c0h,18h,00h,80h,0ffh,0fh,00h,0ffh,0fh
(B)
00h,00h,00h,0fh,0ffh,0f0h,0fh,0ffh,0f0h,0ch,81h,60h,03h,81h,0c0h,03h,81h
(C)
0c0h,0ffh,03h,0e0h,0ffh,07h,30h,00h,0ch,30h,00h,0ch,30h,00h,0ch,30h,00h,0ch,30h,00h,0ch,60h,00h,06h,40h,00h,02h
(D)
00h,00h,00h,0f0h, 0ffh, 0f0h,0f0h, 0ffh, 0f0h, 03h, 00h, 0c0h,03h, 00h, 0c0h,03h, 00h, 0c0h,03h, 00h, 0c0h,0eh, 0ffh, 70h,0c0h, 0ffh,30h
(Đ)
00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,18h,0ch,30h,00h,0ch,30h,00h,0ch,30h,00h,0ch,60h,00h,06h,0c0h,0ffh,03h,80h,0ffh,01h
(Ê)
0f0h,0ffh,0fh,0f0h,0ffh,0fh,34h,18h,0ch,36h,18h,0ch,33h,18h,2ch ,36h,18h,7ch,34h,18h,2ch,30h,00h,0ch,70h,00h,0eh
(I)
30h,00h,0ch,0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,00h,0ch
(H)
0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,18h,00h,00h,18h,00h,00h,18h ,00h,00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh
(O)
0c0h,0ffh,03h,0e0h,0ffh,07h,30h,00h,0ch,30h,00h,2ch,30h,00h,7ch,30h,00h,2ch,30h,00h,0ch,0e0h,0ffh,07h,0c0h,0ffh03h
(S)
0c0h,07h,02h,0e0h,0fh,06h,30h,18h,0ch,30h,18h,0ch,30h,18h,0ch,30h,18h,0ch,30h,18h,0ch,60h,0f0h,07h,40h,0e0h,03h
(Ư)
0f0h,0ffh,03h,0f0h,0ffh,07h,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch,0f0h,0ffh,07h,0f0h,0ffh,03h,0c0h,00h,00h,70h,00h,00h,30h,00h,00h
(P)
0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,18h,00h,30h,18h,00h,30h,18h,00h,30h,18h,00h,30h,18h,00h,0e0h,0fh,00h,0c0h,07h,00h
(M)
0f0h,0ffh,0fh,0f0h,0ffh,0fh,60h,00h,00h,0c0h,00h,00h,80h,01h,00h,0c0h,00h,00h,60h,00h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh
(K)
0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,1ch,00h,00h,36h,00h,00h,63h,00h,80h,0c1h,00h,0c0h,80h,01h,70h,00h,03h,030h,00h,0eh,00h,00h,0ch
(T)
30h,00h,00h,30h,00h,00h,30h,00h,00h,30h,00h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,00h,00h,30h,00h,00h,30h,00h,00h,30h,00h,00h
(U)
f0h,0ffh,03h,0f0h,0ffh,07h,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch,0f0h,0ffh,07h,0f0h,0ffh,03h
(N) 0f0h,0ffh,0fh,0f0h,0ffh,0fh,80h,01h,00h,00h,03h,00h,00h,06h,00h,00h,0ch,00h,00h,18h,00h,00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh
(G)
0c0h,0ffh,03h,0e0h,0ffh,07h,30h,00h,0ch,30h,00h,0ch,30h,00h,0ch,30h,80h,0dh,30h,80h,0dh,60h,80h,0fh,40h,80h,0fh,00h,80h,01h
(Y) 70h,00h,00h,0f0h,00h,00h,80h,01h,00h,00h,03h,08h,00h,0feh0fh,00h,0feh,0fh,00h,03h,08h,80h,01h,00h,0f0h,00h,00h,70h,00h,00h
(V)
0f0h,7fh,00h,0f0h,0ffh,00h,00h,80h,01h,00h,00h,03h,00h,00h,0eh,00h,00h,0c0h,00h,00h,0eh,00h,00h,03h,00h,80h,01h,0f0h,0ffh,00h,0f0h,7fh,00h
0c0h,03h,81h,0c0h,0fh,0ffhh70h,0eh,7eh,30h.
(L)
01h,00h,80h,0fh,0ffh,0f0h,0fh,0ffh,0f0h,01h,00h,0c0h,00h,00h,0c0h,00h,00h
0c0h00h,00h,0c0h,00h,00h,60h
(Q)
0eh,0ffh,70h,0fh,0ffh,0f0h,03h,00h,0c0h,03h,00h,0c0h,03h,00h,0b0h,03h,00h,0e0h,03h,00h,0c0h,0fh,0ffh,0f1h,0eh,0ffh,0f7h,00h,00h,06h
7.2. Lưu đồ thuật toán .
Bắt đầu CT
Begin
Thiết lập trạng thái ban đầu
Tạo tần số quét R1 = 30
Tạo chu kỳ quét R3 = 128
Tạo xung cho
IC 74LS164
Chuyển dư liệu ra cổng P2
Tăng biến đếm R2
Chuyển dư liệu ra cổng P1
Chuyển dư liệu ra cổng P0
Tăng biến đếm R2
Tăng biến đếm R2
Kiểm tra R3=0
N
Kiểm tra R1=0
N
Biển TG R0=0
Biển TG R0=max
INC R0 Biển TG
N
Y
Kết thúc
7.3. Chương trình .
$include(reg51.inc)
org 0000h
st: mov dptr,#dl
mov p3,#00h
setb p3.2
setb p3.0
mov p0,#00h
mov p1,#00h
mov p2,#00h
mov r7,#2
mov r0,#00h
s3: mov r3,#30
s2: mov r2,#128
mov r1,#00h
s: clr p3.1
mov r5,5
djnz r5,$
setb p3.1;clk
clr p3.0
clr a
mov a,r1
movc a,@a+dptr
mov p2,a
inc r1
clr a
mov a,r1
movc a,@a+dptr
mov p1,a
inc r1
clr a
mov a,r1
movc a,@a+dptr
mov p0,a
inc r1
lcall cho
mov p0,#00h
mov p1,#00h
mov p2,#00h
djnz r2,s
setb p3.0
djnz r3,s2
inc dptr
inc dptr
inc dptr
inc r0
cjne r0,#180,s3
mov r0,#00h
djnz r7,s3
ljmp st
cho:
mov r6,#01h
w1: mov r4,#50
djnz r4,$
djnz r6,w1
ret
org 0200h
DL:
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ,00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,18h,0ch,30h,00h,0ch, 30h,00h,0ch,30h,00h,0ch,60h,00h,06h,0c0h,0ffh,03h,80h,0ffh,01h;DD
Db 00h,00h,00h
Db 00h,0ffh,0fh,80h,0ffh,0fh,0c0h,18h,00h,60h,18h,20h,30h,18h,70h, 60h,18h,20h,0c0h,18h,00h,80h,0ffh,0fh,00h,0ffh,0fh;A
Db 00h,00h,00h
Db 30h,00h,0ch,0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,00h,0ch;I
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,18h,00h,00h,18h,00h,00h,18h, 00h, 00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh;H
Db 00h,00h,00h
Db 0c0h,0ffh,03h,0e0h,0ffh,07h,30h,00h,0ch,30h,00h,2ch,30h, 00h, 7ch, 30h,00h,2ch,30h,00h,0ch,0e0h,0ffh,07h,0c0h,0ffh,03h;O
Db 00h,00h,00h
Db 0c0h,0ffh,03h,0e0h,0ffh,07h,30h,00h,0ch,30h,00h,0ch,30h,00h, 0ch ,30h,00h,0ch,30h,00h,0ch,60h,00h,06h,40h,00h,02h;C
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 0c0h,07h,02h,0e0h,0fh,06h,30h,18h,0ch,30h,18h,0ch,30h,18h,0ch, 30h,18h,0ch,30h,18h,0ch,60h,0f0h,07h,40h,0e0h,03h;S
Db 00h,00h,00h
Db 0f0h,0ffh,03h,0f0h,0ffh,07h,00h,00h,0ch,00h,00h,0ch,00h,00h, 0ch,00h,00h,0ch,00h,00h,0ch,0f0h,0ffh,07h,0f0h,0ffh,03h,0c0h,00h ,00h ,70h,00h,00h,30h,00h,00h;Uw
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,30h,18h,00h,30h,18h,00h,30h,18h,00h,30h, 18h,00h,30h,18h,00h,0e0h,0fh,00h,0c0h,07h,00h;P
Db 00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,18h,00h,00h,18h,00h,00h,18h,00h ,00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh;H
Db 00h,00h,00h
Db 00h,0ffh,0fh,80h,0ffh,0fh,0c0h,18h,00h,60h,18h,20h,30h,18h,70h, 60h,18h,20h,0c0h,18h,00h,80h,0ffh,0fh,00h,0ffh,0fh;A
Db 00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,60h,00h,00h,0c0h,00h,00h,80h,01h, 00h, 0c0h,00h,00h,60h,00h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh;M
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,1ch,00h,00h,36h,00h,00h,63h, 00h, 80h,0c1h,00h,0c0h,80h,01h,70h,00h,03h,030h,00h,0eh,00h,00h, 0ch;K
Db 00h,00h,00h
Db 70h,00h,00h,0f0h,00h,00h,86h,01h,00h,03h,03h,08h,03h,0feh,0fh, 06h,0feh,0fh,03h,03h,08h,80h,01h,00h,0f0h,00h,00h,70h,00h,00h;Yx
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 30h,00h,00h,30h,00h,00h,30h,00h,00h,30h,00h,00h,0f0h,0ffh,0fh ,0f0h,0ffh,0fh,30h,00h,00h,30h,00h,00h,30h,00h,00h,30h,00h,00h;T
Db 00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,18h,00h,00h,18h,00h,00h,18h,00h ,00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh;H
Db 00h,00h,00h
Db 0f0h,0ffh,03h,0f0h,0ffh,07h,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch ,00h,00h,0ch,00h,00h,0ch,0f0h,0ffh,07h,0f0h,0ffh,03h;U
Db 00h,00h,00h
Db 00h,0ffh,0fh,80h,0ffh,0fh,0c4h,18h,00h,66h,18h,20h,33h,18h,70h ,66h,18h,20h,0c4h,18h,00h,80h,0ffh,0fh,00h,0ffh,0fh;AA
Db 00h,00h,00h
Db 30h,00h,00h,30h,00h,00h,30h,00h,00h,30h,00h,00h,0f0h,0ffh,0fh ,0f0h,0ffh,0fh,30h,00h,00h,30h,00h,00h,30h,00h,00h,30h,00h,00h;T
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,00h,18h,00h,00h,18h,00h,00h,18h,00h ,00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh;H
Db 00h,00h,00h
Db 0f0h,0ffh,03h,0f0h,0ffh,07h,00h,00h,0ch,00h,00h,0ch,00h,00h,0ch ,00h,00h,0ch,00h,00h,0ch,0f0h,0ffh,07h,0f0h,0ffh,03h,0c0h,00h,00h,70h,00h,00h,30h,00h,00h;Uw
Db 00h,00h,00h
Db 0f0h,0ffh,0fh,0f0h,0ffh,0fh,80h,01h,00h,00h,03h,00h,00h,06h,00h ,00h,0ch,00h,00h,18h,00h,00h,18h,00h,0f0h,0ffh,0fh,0f0h,0ffh,0fh;N
Db 00h,00h,00h
Db c0h,0ffh,03h,0e0h,0ffh,07h,30h,00h,0ch,30h,00h,0ch,30h,00h,0ch ,30h,80h,0dh,30h,80h,0dh,60h,80h,0fh,40h,80h,0fh,00h,80h,01h;G
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 00h,00h,00h,00h,00h,00h,00h,00h,00h
Db 70h,00h,00h,0f0h,00h,00h,80h,01h,00h,00h,03h,08h,00h,0feh,0fh ,00h,0feh,0fh,00h,03h,08h,80h
Các file đính kèm theo tài liệu này:
- BK0006.DOC