Đồ án Thiết kế, chế tạo bảng thông tin điện tử

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.

 

doc55 trang | Chia sẻ: huong.duong | Lượt xem: 1203 | Lượt tải: 1download
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:

  • docBK0006.DOC
Tài liệu liên quan