Đề tài Quang báo điều chỉnh qua bàn phím

1.Nhận xét của GVHD.trang 1

2. Nhận xét của GVPB .2

3.Lời giới thiệu .3

4.Giới thiệu phần cứng .4

5.Sơ đồ khối mach quang báo .15

6.Chức năng từng khối .16

7.Nguy ên lý hoạt động 19

8.Lưu đồ giải thuật chương trình .22

9.Giải thích hoạt động của chương trình .27

10.Chương trình chính 28

pdf57 trang | Chia sẻ: lethao | Lượt xem: 1842 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đề tài Quang báo điều chỉnh qua bàn phím, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g qua Port 2 để quét hàng và xuất dữ liệu hiển thị ra cột thông qua Port 1. II. Khối phân kênh : Khối phân kênh dùng 2 IC 74LS154 dùng điều khiển hoạt động của 4 led ma trận. Việc dùng IC 74LS154 làm giảm bớt việc phải tốn Port ở khối CPU do IC này phân kênh 4 è 16 ( 2 IC sẽ được 32 đường điều khiển ). III. Khối Led Matrix : VCC VCC U7A 74LS00 1 2 3 14 7 P0 12345678 1 74LS15412 3 4 5 6 7 8 9 10 11 13 14 15 16 17 24 12 23 22 21 20 18 19 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 V C C G N D A B C D G1 G2 LE D 3 1 2 3 4 5 6 7 8 2 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 24 12 23 22 21 20 18 19 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 V C C G N D A B C D G1 G2 LE D 2 1 2 3 4 5 6 7 8 LE D 4 1 2 3 4 5 6 7 8 VCC LE D 1 1 2 3 4 5 6 7 8 P2 H I 0 PIN 1 2 3 4 5 6 7 8 A.0 A.1 A.2 A.3 A.4 A.5 A.6 A.7 U7 INT/EXT 1 2 3 INT COM EXT Y1 ZTA HI R2 R 1 2 3 4 5 6 7 8 A.0 A.1 A.2 A.3 A.4 A.5 A.6 A.7 H I U12 1 2 3 4 5 6 7 8 A.0 A.1 A.2 A.3 A.4 A.5 A.6 A.7 C3 C 0 R4 R 0 SW1 U4 89C51 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 32 33 34 35 36 37 38 39 21 22 23 24 25 26 27 28 30 29 40 20 18 19 9 31 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 ALE PSEN VCC GND X2 X1 RST EA C3 C U10 1 2 3 4 5 6 7 8 A.0 A.1 A.2 A.3 A.4 A.5 A.6 A.7 C1 C Quang báo điều chỉnh qua bàn phím Page 15 Khối led matrix với 4 led dùng để hiện được 4 ký tự. Các Led ma được thiết kế theo kiểu cột nối chung(cột hiển thị màu đỏ riêng ,cột hiển thị màu xanh riêng) được nối với Port 1 để hiển thị ký tự,còn các hàng đuợc nối riêng theo từng Led để cấp tín hiệu quét. IV. Khối phím Matrix: R 6 G 2 G 4 R 3 1 R Q 1 3 C15 C2 G3 DG1 P2 R 3 5 R Q 6 C22 P 3 2 P31 R 1 3 R P D DR3 Q 3 1 G 6 P 1 0 DG6 P D C29 P21 R 2 6 R Q 1 9 R 4 5 R C 1 8 R 1 R 3 8 R P C R 3 R 0 DG0 R 4 2 R G1 DG4 P 1 7 P A P 2 9 P16 V C C C 1 1 P 2 3 R 5 DR1 R 9 R R 1 5 R C 1 2 G0 Q 3 0 R 2 7 R R 2 R C14 P D C21 R 0 P11 Q 2 0 P A P D R 6 R 4 7 R R 2 2 R R 3 3 R G4 G 6 DR6 Q 9 C1 C 7 P B P 1 4 R1 P 2 0 P6 G5 Q 1 2 G 0R 4 8 R V C C C7 G 3 G 7 DG2 P32 P1 R 5 R C 3 0 P 2 7 R 1 1 R R 5 R 3 R 4 3 R P 9 DG7 R 3 R C13 C20 P27 Q 2 5 DR7 R 6 R Q 7 C 1 7 C 2 G6 R 3 4 R C 6 P15 U 4 le d m a tirx 2 4 2 1 1 8 1 5 1471 0 12 9 6 3 13 16 19 22 1 1 8 5 2 1 4 1 7 2 0 2 3 C 0 G C 1 G C 2 G C 3 G C 4 G C 5 G C 6 G C 7 G R7 R6 R5 R4 R3 R2 R1 R0 C 7 R C 6 R C 5 R C 4 R C 3 R C 2 R C 1 R C 0 R R4 DR2 R 6 R 3 R 1 R 1 6 R Q 3 2 P A R 6 P20 R 3 2 R P 8 C11 P C R5 DG3 DR5 Q 2 7 R 2 0 R P B G 3 R 4 G 2 Q 2 9 R 1 0 R R 4 6 R R 2 5 R R 3 7 R Q 8 P 4 C 1 0 C 2 3 P C P B R 7 P5 Q 5 J 8 C O N 3 1 2 3 C19 P 2 2 R7 P 3 1 R 1 9 R R3 C 2 5 DR0 C 2 7 G7 P D DG3 C 3 2 P 2 8 P10 R 4 R P 1 6 R 1 2 R P 1 5 G 1 G 0 R 2 9 R C17 DG7 R 4 1 R Q 3 P28 C6 C10 R 1 8 R C 9 C25 DR6 Q 1 6 C 1 6 P24 P A J 4 C O N 8 1 2 3 4 5 6 7 8 Q 2 3 C18 C23 G 7 DR1 Q 2 2 R 3 6 R R 1 4 R P C R2 G 4 R 4 Q 1 7 R 1 R Q 2 1 P A C26 P19 P C R 7 P A R 7 G 1 DR4 R 3 9 R C 2 0 P 2 1 P C G 7 R 5 P 5 R 4 P14 R 2 P 3 0 R 8 R Q 2 C9 C 1 9 G 0 G 4 J 6 C O N 8 1 2 3 4 5 6 7 8 C 2 6 G 0 DG4 P D P9 R 2 4 R Q 1 1 C 2 2 P 1 3 P 2 6 R 2 1 R C 2 4 P 1 2 G 6 DG2 C 3 R 2 DG6 P4 P 2 P29 DR5 C32 P B Q 4 C5 P23 C 1 3 G 5 G 1 DR0 J 3 C O N 8 1 2 3 4 5 6 7 8 V C C C 1 5 P B G 4 P D C28 C12 P B R 1 R 7 R V C C V C C P A G 3 P25 P18 Q 1 5 P B G 2 DR3 R 4 0 R P 1 8 P B R 0 G 5 C30 U 1 le d m a tirx 2 4 2 1 1 8 1 5 1471 0 12 9 6 3 13 16 19 22 1 1 8 5 2 1 4 1 7 2 0 2 3 C 0 G C 1 G C 2 G C 3 G C 4 G C 5 G C 6 G C 7 G R7 R6 R5 R4 R3 R2 R1 R0 C 7 R C 6 R C 5 R C 4 R C 3 R C 2 R C 1 R C 0 R C8 P 2 4 R 5 DG0 G 5 P13 P D C 2 8 R 2 R 3 R 3 0 R P 7 P 1 P D Q 1 4 P 1 1 P8 C4 C 5 C 1 G 7 R 7 DG1 Q 2 6 C 1 4 DG5 P30 P3 R 2 3 R P 2 5 Q 2 8 R 1 DR4 DG5 Q 1 P22 P C R 4 4 R P C R 0 R 2 8 R G 6 DR7U 3 le d m a tirx 2 4 2 1 1 8 1 5 1471 0 12 9 6 3 13 16 19 22 1 1 8 5 2 1 4 1 7 2 0 2 3 C 0 G C 1 G C 2 G C 3 G C 4 G C 5 G C 6 G C 7 G R7 R6 R5 R4 R3 R2 R1 R0 C 7 R C 6 R C 5 R C 4 R C 3 R C 2 R C 1 R C 0 R C16 P B C27 R6 J 1 C O N 8 1 2 3 4 5 6 7 8 P17 R 1 7 R J 5 C O N 8 1 2 3 4 5 6 7 8 C3 C 8 P 1 9 P A G2 J 2 C O N 8 1 2 3 4 5 6 7 8 U 2 le d m a tirx 2 4 2 1 1 8 1 5 1471 0 12 9 6 3 13 16 19 22 1 1 8 5 2 1 4 1 7 2 0 2 3 C 0 G C 1 G C 2 G C 3 G C 4 G C 5 G C 6 G C 7 G R7 R6 R5 R4 R3 R2 R1 R0 C 7 R C 6 R C 5 R C 4 R C 3 R C 2 R C 1 R C 0 R C 4 G 2 DR2 C24 R 2 P12 P 3 C 2 1 C 3 1 G 5 G 3 G 1 P C C 2 9 R 4 P 6 R0 C31 P7 Q 1 8 Q 1 0 P A P26 Q 2 4 Quang báo điều chỉnh qua bàn phím Page 16 Khối bàn phím này được thiết kế dựa vào cấu trúc hàng và cột của ma trận. Bàn phím gồm 16 phím được sắp xếp theo ma trận 4x4 (4 hàng x 4 cột). Các hàng và cột của ma trận phím này được kết nối với vi điều khiển thông qua đầu nối jack 8. R0-R3 các hàng của ma trận phím. C0-C3 các cột của ma trận phím. V. Khối nguồn: Mạch ổn áp có điện áp ngõ ra cố định 5V sử dụng IC ổn áp 7805(ổn áp dương có điện áp ngõ ra là 5V,dòng điện ngõ ra đến 1A) Các tụ 0,33 và 0,1uF dùng chống nhiễu .Phần tử điện trở công suất chủ yếu của mạch này là bảng đèn .Ic ổn áp 7805 chịu đựoc dòng đển 1A nên bảo đảm cung cấp dòng cho toàn mạch mà bản thân nó không bị quá dòng .Tuy nhiên ta cũng cần gắn tản nhiệt cho IC để nó hoạt đông ở điều kiện tốt nhất. D. NGUYÊN LÝ HOẠT ĐỘNG: VI 0,33µ F 0,1µF 7805 VO 1 2 3 7805 1 3 2 SƠ ĐỒ CHÂN IC 7805 Quang báo điều chỉnh qua bàn phím Page 17 I. Khối Led Matrix: - Loại Led ma trận sử dụng là Led 24 chân gồm 8 hàng và 8 cột.Ma trận Led có 2 màu chính là xanh và đỏ,ngoài ra còn có 1 màu phụ là màu cam khi kết hợp 2 màu trên lại.Mõi điểm Led trên ma trận có cấu tạo gồm 2 Led xanh và đỏ ghép lại theo nguyên tắc Anode chung còn Cathode để riêng.Ma trận Led 8 hàng x 8 cột gồm 24 chân được chia làm 3 nhóm chân : 8 hàng từ R0-R7( là các anode chung của các Led trên cùng 1 hàng, 8 cột đỏ C0R-C7R ( là các Cathode chung của các led màu đỏ trên cùng 1 cột) , 8 cột xanh C0X-C7X ( là các Cathode chung của các led màu xanh trên cùng 1 cột).Sự kết hợp các mức logic cao/thấp thích hợp trên các hàng và cột theo một quy luật nhất định mà ta sẽ có hình ảnh như mong muốn. - Phương pháp điều khiển: đầu tiên ta cấp tín hiệu sao cho hàng 1 sáng có nguồn rồi đưa ra mã nhị phân tương ứng của hình ảnh cần hiển thị tại hàng đó ra các cột.Kế tiếp ta cấp tín hiệu cho hàng 2 có nguồn rồi đưa mã nhị phân tương ứng của hình ảnh cần hiển thị tại hàng đó ra cột.Quá trình cứ diễn ra một cách tuần tự và liên tục như vậy và do hiện tượng lưu ảnh của mắt mà ta thấy được các Led dường như sáng như cùng một lúc để tạo ra hình ảnh mong muốn trên Led ma trận - Các ngõ vào điều khiển hàng và cột đều sử dụng mức thấp để điều khiển. II. Khối vi điều khiển: - Ở đây ta dùng con 89V51RB2, có 40 chân,gồm 4 Port dùng xuất nhập dữ liệu,mõi Port 8 chân; 2 chân nguồn 20 mass và 40 Vcc; 2 chân gắn thạch anh (chân 18,19);1 chân reset chân 9;chân 29 là chân cho phép bộ nhớ chương trình;chân 30 là chân chốt địa chỉ và cuối cùng chân 31 là chân cho phép truy xuất ngoài. - Để reset chíp ta dùng nút nhấn . Trong mạch,chúng ta có thể reset tự động bằng tụ hoặc reset bằng tay bởi nút nhấn. III. Khối phím ma trận: - Được thiết kế dựa trên cấu trúc hàng và cột của ma trận.Bàn phím gồm 16 phím được sắp xếp theo ma trận 4 x 4 (tức 4 hàng 4 cột).Các hàng và cột của ma trân phím này được kết nối với vi điều khiển thông qua Port 0.R0-R3 : các hàng của ma trận phím,C0-C3 : các cột của ma trận phím Để điều khiển bàn phím ma trận nhày ta sử dụng phương pháp quét phím. Để điều khiển quét phím này ta xuất 1 dữ liệu 4 bit( trong đó 1 bit ở mức logic thấp và 3 bit ở mức logic cao) ra các cột của ma trận phím, đọc 4 bit dữ liệu các hàng của ma trận phím vào để kiểm tra xem có phím nào được ấn không.Nếu có phím ấn thì trong 4 bit đọc vào sẽ có một bit ở mức logic thấp và dựa trên cơ sở đó để thiết lập mã ấn phím.Nếu không có phím ấn thì 4 bit đọc vào đều ở mức logic cao,khi đó ta chuyển mức logic thấp sang cột kế tiếp để dò tìm phím khác. Quang báo điều chỉnh qua bàn phím Page 18 IV. Khối phân kênh: Khối phân kênh dùng 2 IC 74LS154 dùng điều khiển hoạt động của 4 led ma trận. Việc dùng IC 74LS154 làm giảm bớt việc phải tốn Port ở khối CPU do IC này phân kênh 4 è 16 ( 2 IC sẽ được 32 đường điều khiển ). Nguyên lý hoạt động của khối phân kênh : Dùng 5 bit ở Port 2 để điều khiển. Trong đó, 4 bit dùng để điều khiển ngõ vào của cả hai IC 74LS154. Còn bit thứ 5 điều khiển cho phép trong một thời điểm chỉ có một IC hoạt động. Điều này thực hiện được nhờ vào IC cổng đảo 74LS00. Ngõ vào của cổng đảo sẽ được nối với bit thứ 5 và chân số 18,19 của IC thứ nhất. Ngõ ra được nối với chân số 18,19 con thứ 2của IC thứ hai.Khi bit thứ 5 ở mức 0 thì IC1 sẽ hoạt động điều khiển Led ma trận 1 và 2. Khi bit 5 ở mức 1 thì IC2 sẽ hoạt động điều khiển Led ma trận 3 và 4. Bảng trạng thái IC74LS154 VCC VCC U7A 74LS00 1 2 3 14 7 P0 12345678 1 74LS15412 3 4 5 6 7 8 9 10 11 13 14 15 16 17 24 12 23 22 21 20 18 19 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 V C C G N D A B C D G1 G2 LE D 3 1 2 3 4 5 6 7 8 2 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 24 12 23 22 21 20 18 19 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12 Y13 Y14 Y15 V C C G N D A B C D G1 G2 LE D 2 1 2 3 4 5 6 7 8 LE D 4 1 2 3 4 5 6 7 8 VCC LE D 1 1 2 3 4 5 6 7 8 2 Quang báo điều chỉnh qua bàn phím Page 19 H: High Voltage Level L: Low Voltage Level X: Don’t Care E. LƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH Quang báo điều chỉnh qua bàn phím Page 20 I. Chương trình chính: II. Chương trình hiển thị con trỏ: Quang báo điều chỉnh qua bàn phím Page 21 III. Chương trình con quét phím : Quang báo điều chỉnh qua bàn phím Page 22 Sơ đồ giải thuật quét phím , mỗi phím tương đương với 2 chữ cái trong bảng chữ cái ü Phím A và B ü Phím Y và Z (tương tự cho các chữ cái khác) SCANKEYPAD A = 01H NEXT11 22Hß0, 23Hß0, 24Hß0, 25Hß0, 26Hß0, 27Hß0, 28Hß0, 29Hß0, 2AHß0, 2BHß0, 2CHß0, 2DHß0, 2EHß0, 2FHß0, 30Hß0 R7 ß 21H INC R7 R7 = 1 CHUB CHU_A Đ Đ S S RET 21H ß R7 SCANKEYPAD A = 0DH 21Hß0,22Hß0, 23Hß0, 24Hß0, 25Hß0, 26Hß0, 27Hß0, 28Hß0, 29Hß0, Đ Quang báo điều chỉnh qua bàn phím Page 23 ü Phím Enter ü Hiển thị từng chữ cái lần lượt trên 4 vị trí con trỏ: ) Quang báo điều chỉnh qua bàn phím Page 24 Các chữ cái khác tương tự nhưng cơ sỡ dữ liệu sẽ lấy giống trong bảng chữ cái lưu trong ROM.Ví dụ,chữ B ,ta vẫn so sánh R2 nhưng khi nhập dữ liệu vào các ô nhớ 31H,32H,33H,34H lúc này sẽ được nạp vào giá trị là 08,hay chữ C là giá trị 16. IV. GIẢI THÍCH HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH: TROVE 34H ß 00 TROVE VT_A4 TROVE 31H ß 00 Đ VT_A2 S VT_A3 R2 = 0 R2 = 2 33H ß 00 VT_A4 S Đ R2 = 1 32H ß 00 VT_A3 S Đ TROVE VT_A2 Quang báo điều chỉnh qua bàn phím Page 25 Trước tiên khi bước vào gọi chương trình chính của chương trình hiển thị con trỏ trên con Led thứ nhất.Tiếp tục gọi chương trình chính 1 để thực hiện các bước lấy và lưu dữ liệu vào RAM,tại cuối bước này ta thực hiện việc tăng R2 ( R2 là biến đếm để dịch chuyển vị trí con trỏ sang vị trí con Led kế tiếp).Thời gian để chuyển từ con Led này sang con Led kế tiếp được xác định bởi biến đếm R4 (R4 là biến đếm quy định thời gian để qua con Led kế tiếp). Trong chương trình kiểm tra phím,sau khi dùng chương trình quét phím ma trận để coi có phím nào được nhấn hay không.Trong chương trình này,mõi phím trên bàn phím ma trận đều được lưu bằng 1 ô nhớ từ 21H đến 2DH trong bộ nhớ RAM nội con 89V51RB2.Mõi phím được dùng cho ra 2 chữ cái,thứ tự các chữ cái mà phím ấn được được ghi trên bề mặt bàn phím ma trận.Mõi phím lưu được 2 chữ cái khi bấm là do ta dùng biến đếm R7 để xác định chữ cái cần hiển thị ra.Chẳng hạn như chúng ta muốn nhấn chữ A,ta nhấn vào bàn phím nút hiển thị chữ A,nếu ta muốn hiển thị chữ B ta tiếp tục ấn vào phím vừa ấn sẽ hiển thị được chữ B.Lí do ở đây là chúng ta so sánh biến đếm R7,nếu R7 = 1 ( tương đương với phím đó được ấn 1 lần) sẽ hiện thị lên chữ A,khi ta ấn tiếp tức R7 = 2 thì chữ sẽ nhảy sang chữ B.Ta chỉcho phép một phím hiển thị 2 chữ cái nên khi ta ấn tiếp sau chữ B sẽ trở về hiện thị lại chữ A và cứ thế tiếp diễn.Trong chương trình này ta sử dụng 13 nút nhấn để lấy 26 chữ cái ( từ A đến Z) và 1 nút nhấn Enter dùng để cho chạy chữ sau khi đã tạo ra dòng 4 chữ cái. Ở cuối đoạn chương trình này chúng ta tăng biến đếm R4 để xác định thời gian dịch qua con Led kế tiếp .Chương trình dùng Port 0 để quét phím tạo mã. Trong chương trình hiện thị chữ,ta dùng Port 1 làm Port xuất dữ liệu và Port 2 làm Port quét.Port 2 kết nối với khối phân kênh để điều khiển việc quét Led. Đây là chương trình dùng hiển thị các chữ cái có trong bảng mã có sẵn trong ROM nội IC 89V51RB2( từ A đến Z).Mõi lần quét qua được lưu vào trong 1 ô nhớ,tổng cộng cò 32 ô nhớ từ 40H đến 5FH để lưu các byte của các chữ cái được ấn trong chương trình kiểm tra phím. Chương trình chạy là chương trình hiển thị ra các Byte của các chữ cái đã được lưu trữ trong RAM sau đó được cho dịch cột,giống như chương trính chạy lấy cơ sở dữ liệu từ ROM học lúc trước. Để khỏi bị lem trong quá trình dich cột thì ta phải nạp giá trị cho các ô nhớ từ 60H đến 7FH là 0FFH. F. CHƯƠNG TRÌNH CHÍNH Quang báo điều chỉnh qua bàn phím Page 26 $MOD51 org 00h MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV 31H,#216 MOV 32H,#216 MOV 33H,#216 MOV 34H,#216 MOV R7, #0 MOV R2,#0 MAIN: MOV R4,#0 ACALL CONTRO LCALL MAIN1 SJMP MAIN ;**************CHUONG TRINH CHINH *********** MAIN1: LCALL KTPHIM1 LCALL HIENTHI1 CJNE R4,#20,MAIN1 INC R2 ;VI TRI HIEN THI LED RET ;****************CHUONG TRINH HIEN THI CON TRO**************** CONTRO: CJNE R2,#0,VT_2 MOV 31H,#208 JMP HTH VT_2: CJNE R2,#1,VT_3 MOV 32H,#208 Quang báo điều chỉnh qua bàn phím Page 27 JMP HTH VT_3: CJNE R2,#2,VT_4 MOV 33H,#208 JMP HTH VT_4: CJNE R2,#3,VT_5 MOV 34H,#208 JMP HTH VT_5: LCALL NEXT131 JMP eexit HTH: LCALL HIENTHI1 eexit: RET ;**********CHUONG TRINH KIEM TRA PHIM LED ******* KTPHIM1: LCALL SCANKEYPAD CJNE A,#01H,NEXT11 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,21H INC R7 CJNE R7,#1,CHUB LCALL CHU_A MOV 21H, R7 RET CHUB: LCALL CHU_B MOV 21H,#0 RET ;________________ Quang báo điều chỉnh qua bàn phím Page 28 NEXT11: CJNE A,#02H,NEXT21 MOV 21H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,22H INC R7 CJNE R7,#1,CHUD LCALL CHU_C MOV 22H, R7 RET CHUD: LCALL CHU_D MOV 22H,#0 RET ;________________________ NEXT21: CJNE A,#03H,NEXT31 MOV 21H,#0 MOV 22H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,23H INC R7 CJNE R7,#1,CHUF Quang báo điều chỉnh qua bàn phím Page 29 LCALL CHU_E MOV 23H,R7 RET CHUF: LCALL CHU_F MOV 23H,#0 RET ;_________________ NEXT31: CJNE A,#04H,NEXT41 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,24H INC R7 CJNE R7,#1,CHUH LCALL CHU_G MOV 24H,R7 RET CHUH: LCALL CHU_H MOV 24H,#0 RET ;_____________________ NEXT41: CJNE A,#05H,NEXT51 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 Quang báo điều chỉnh qua bàn phím Page 30 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,25H INC R7 CJNE R7,#1,CHUJ LCALL CHU_I MOV 25H,R7 RET CHUJ: LCALL CHU_J MOV 25H,#0 RET ;_________________________ NEXT51: CJNE A,#06H,NEXT61 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,26H INC R7 CJNE R7,#1,CHUL LCALL CHU_K MOV 26H, R7 RET CHUL: LCALL CHU_L MOV 26H,#0 RET ;_________________________ NEXT61: CJNE A,#07H,NEXT71 Quang báo điều chỉnh qua bàn phím Page 31 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,27H INC R7 CJNE R7,#1,CHUN LCALL CHU_M MOV 27H, R7 RET CHUN: LCALL CHU_N MOV 27H,#0 RET ;_________________________ NEXT71: CJNE A,#08H,NEXT81 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,28H INC R7 CJNE R7,#1,CHUP LCALL CHU_O MOV 28H, R7 Quang báo điều chỉnh qua bàn phím Page 32 RET CHUP: LCALL CHU_P MOV 28H,#0 RET ;_________________________ NEXT81: CJNE A,#09H,NEXT91 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,29H INC R7 CJNE R7,#1,CHUR LCALL CHU_Q MOV 29H, R7 RET CHUR: LCALL CHU_R MOV 29H,#0 RET ;__________________________ NEXT91: CJNE A,#0AH,NEXT101 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2BH,#0 MOV 2CH,#0 Quang báo điều chỉnh qua bàn phím Page 33 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,2AH INC R7 CJNE R7,#1,CHUT LCALL CHU_S MOV 2AH, R7 RET CHUT: LCALL CHU_T MOV 2AH,#0 RET ;_________________________ NEXT101: CJNE A,#0BH,NEXT111 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2CH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,2BH INC R7 CJNE R7,#1,CHUV LCALL CHU_U MOV 2BH, R7 RET CHUV: LCALL CHU_V MOV 2BH,#0 RET ;_________________________ NEXT111: CJNE A,#0CH,NEXT121 MOV 21H,#0 Quang báo điều chỉnh qua bàn phím Page 34 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2DH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,2CH INC R7 CJNE R7,#1,CHUX LCALL CHU_W MOV 2CH, R7 RET CHUX: LCALL CHU_X MOV 2CH,#0 RET ;_________________________ NEXT121: CJNE A,#0DH,NEXT131 MOV 21H,#0 MOV 22H,#0 MOV 23H,#0 MOV 24H,#0 MOV 25H,#0 MOV 26H,#0 MOV 27H,#0 MOV 28H,#0 MOV 29H,#0 MOV 2AH,#0 MOV 2BH,#0 MOV 2CH,#0 MOV 2EH,#0 MOV 2FH,#0 MOV 30H,#0 MOV R7,2DH INC R7 CJNE R7,#1,CHUZ LCALL CHU_Y MOV 2DH, R7 Quang báo điều chỉnh qua bàn phím Page 35 RET CHUZ: LCALL CHU_Z MOV 2DH,#0 RET ;********************************************************** NEXT131: CJNE A,#00H,NEXT141 PUSH 02H MOV R2,#0 NHIEU: lcall chay INC R2 CJNE R2,#4,NHIEU POP 02H RET NEXT141: INC R4 RET ;******************CHUONG TRINH QUET PHIM MA TRAN********* SCANKEYPAD: PUSH 03H MOV R3,#50 BACK: ACALL QUETPHIM JNC NOPRESSED DJNZ R3,BACK NOPRESSED: POP 03H RET QUETPHIM: PUSH 04H PUSH 05H PUSH 06H MOV A,#0EFH MOV R6,#4 TEST: MOV P0,A MOV R7,A MOV A,P0 ANL A,#0FH CJNE A,#0FH,KEYPRESSED MOV A,R7 RL A DJNZ R6,TEST CLR C SJMP EXIT KEYPRESSED: MOV R7,A Quang báo điều chỉnh qua bàn phím Page 36 MOV A,#4 CLR C SUBB A,R6 MOV R6,A MOV A,R7 MOV R5,#4 AGAIN: RRC A JNC DONE INC R6 INC R6 INC R6 DJNZ R5,AGAIN DONE: SETB C MOV A,R6 EXIT: POP 06H POP 05H POP 04H RET ; **************************** CHU_A: CJNE R2,#0, VT_A2 MOV 31H,#00 LJMP TROVE VT_A2: CJNE R2, #1, VT_A3 MOV 32H,#00 LJMP TROVE VT_A3: CJNE R2,#2,VT_A4 MOV 33H,#00 LJMP TROVE VT_A4: MOV 34H,#00 LJMP TROVE CHU_B: CJNE R2,#0,VT_B2 MOV 31H,#08 LJMP TROVE VT_B2: CJNE R2,#1,VT_B3 MOV 32H,#08 LJMP TROVE VT_B3: CJNE R2,#2,VT_B4 MOV 33H,#08 Quang báo điều chỉnh qua bàn phím Page 37 LJMP TROVE VT_B4: MOV 34H,#08 LJMP TROVE CHU_C: CJNE R2,#0,VT_C2 MOV 31H,#16 LJMP TROVE VT_C2: CJNE R2,#1,VT_C3 MOV 32H,#16 LJMP TROVE VT_C3: CJNE R2,#2,VT_C4 MOV 33H,#16 LJMP TROVE VT_C4: MOV 34H,#16 LJMP TROVE CHU_D: CJNE R2,#0,VT_D2 MOV 31H,#24 LJMP TROVE VT_D2: CJNE R2,#1,VT_D3 MOV 32H,#24 LJMP TROVE VT_D3: CJNE R2,#2,VT_D4 MOV 33H,#24 LJMP TROVE VT_D4: MOV 34H,#24 LJMP TROVE CHU_E: CJNE R2,#0,VT_E2 MOV 31H,#32 LJMP TROVE VT_E2: CJNE R2,#1,VT_E3 MOV 32H,#32 LJMP TROVE VT_E3: CJNE R2,#2,VT_E4 MOV 33H,#32 LJMP TROVE VT_E4: MOV 34H,#32 LJMP TROVE Quang báo điều chỉnh qua bàn phím Page 38 CHU_F: CJNE R2,#0,VT_F2 MOV 31H,#40 LJMP TROVE VT_F2: CJNE R2,#1,VT_F3 MOV 32H,#40 LJMP TROVE VT_F3: CJNE R2,#2,VT_F4 MOV 33H,#40 LJMP TROVE VT_F4: MOV 34H,#40 LJMP TROVE CHU_G: CJNE R2,#0,VT_G2 MOV 31H,#48 LJMP TROVE VT_G2: CJNE R2,#1,VT_G3 MOV 32H,#48 LJMP TROVE VT_G3: CJNE R2,#2,VT_G4 MOV 33H,#48 LJMP TROVE VT_G4: MOV 34H,#48 LJMP TROVE CHU_H: CJNE R2,#0,VT_H2 MOV 31H,#56 LJMP TROVE VT_H2: CJNE R2,#1,VT_H3 MOV 32H,#56 LJMP TROVE VT_H3: CJNE R2,#2,VT_H4 MOV 33H,#56 LJMP TROVE VT_H4: MOV 34H,#56 LJMP TROVE CHU_I: CJNE R2,#0,VT_I2 MOV 31H,#64 LJMP TROVE VT_I2: Quang báo điều chỉnh qua bàn phím Page 39 CJNE R2,#1,VT_I3 MOV 32H,#64 LJMP TROVE VT_I3: CJNE R2,#2,VT_I4 MOV 33H,#64 LJMP TROVE VT_I4: MOV 34H,#64 LJMP TROVE CHU_J: CJNE R2,#0,VT_J2 MOV 31H,#72 LJMP TROVE VT_J2: CJNE R2,#1,VT_J3 MOV 32H,#72 LJMP TROVE VT_J3: CJNE R2,#2,VT_J4 MOV 33H,#72 LJMP TROVE VT_J4: MOV 34H,#72 LJMP TROVE CHU_K: CJNE R2,#0,VT_K2 MOV 31H,#80 LJMP TROVE VT_K2: CJNE R2,#1,VT_K3 MOV 32H

Các file đính kèm theo tài liệu này:

  • pdf73898021-Quang-Bao-Nhap-Tu-Ban-Phim-net.pdf