Đồ án Tốt nghiệp: thiết kế , chế tạo bảng thông tin điện tử

Lời nói đầu ******O()O****** Trong những thập niên cuối của thế kỉ 20, là thời đại công nghiệp hoá hiện đại hoá. kĩ thuật điện tử đã có những bước tiến vựơt bậc đặc biệt là trong kĩ thuật chế tạo mạch vi điện tử. Sự ra đời và phát triển nhanh chóng của kĩ thuật vi điện tử mà đặc trưng là kĩ thuật vi xử lý đã tạo ra những bước ngoặt quan trọng trong sự phát triển của khoa học tính toán và trong xử lí thông tin , nó có ảnh hưởng quyết định đến con đường tin học hoá xã hội, là con đường mà thông

doc56 trang | Chia sẻ: huyen82 | Lượt xem: 1512 | Lượt tải: 1download
Tóm tắt tài liệu Đồ án Tốt nghiệp: 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
tin đã và đang trở thành lực lượng sản xuất trực tiếp trong nền sản xuất của kỉ nguyên mới . ở nước ta hiện nay, kĩ thuật vi điều tuy mới xuất hiện xong đã và đang là công cụ đuợc ứng dụng rộng rãi trong các lĩnh vực tự động hoá. Nó phát triển nhanh chóng , đã mang lại những thay đổi to lớn trong công nghệ cũng như trong đời sống hàng ngày. Việc các máy móc thiết bị trở lên linh họat hơn, thông minh hơn và làm việc với năng suốt cao hơn là ví dụ minh chứng cho sự hiệu quả trong ứng dụng của vi điều khiển. Với những ưu điểm hơn hẳn của vi điều khiển chúng em đã ứng dụng thực hiện nhiệm vụ thiết kế , chế tạo Bảng thông tin điện tử, một ứng dụng của vi điều khiển trong lĩnh vực quảng cáo .Với sự giúp đỡ nhiệt tình của thầy: Bạch Hưng Trường và thầy:Đặng Văn Khanh cùng các thầy cô giáo trong khoa Điện_Điện Tử , đến nay chúng em đã hoàn thành tốt nhiệm vụ được giao. Trong quá trình thực hiện đề tài sẽ không tránh khỏi những sai sót, chúng em rất mong có sự góp ý quý báu của các thầy cô giáo cùng các bạn sinh viên để chúng em có thể thực hiện đồ án hoàn thiện hơn . Chúng em xin chân thành cảm ơn ! Hà Nội , Ngày tháng năm Nhận xét của giáo viên hướng dẫn 1 …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. Giáo viên hướng dẫn 1 Bạch Hưng Trường Nhận xét của giáo viên hướng dẫn 2 …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. Giáo viên hướng dẫn 2 Đặng Văn Khanh Mục lục I. Giới thiệu đề tài . ý tưởng sáng tạo . Khả năng ứng dụng . Giải pháp công nghệ . . Giải pháp phần cứng . . Giải pháp phần mềm . II. Nội dung đề tài . Cấu trúc họ vi điều khiển 89c51 . 1.1. Giới thiệu chung . 1.2. Sơ đồ khối. 1.3. Sơ đồ chân tín hiệu . 1.4. Các thanh ghi chức năng đặc biệt. 2. Ngôn ngữ lập trình Assembly . 2.1. Ngôn ngữ lập trình. 2.2. Các lệnh. 3. Cấu trúc của IC đệm 74ls245. 4. Cấu trúc IC ghi dịch 74ls164. 5. Sơ đồ nguyên lý LED ma trận 8x8. 5.1. Sơ đồ . 5.2. Nguyên lý hoạt động. 6. Thiết kế phần cứng. 6.1. Mạch điều khiển. 6.2. Modul. 6.3. Mạch hiển thị. 6.4. Mạch quét led. 6.5. Các qui ước điều khiển. 7. Thiết kế phần mền. 7.1. Lưu đồ thuật toán chương trình chính. 7.2. Chương trình chính. 8. Thi công. III. Kết luận và kiến nghị. 1. Kết luận. 2. Kiến nghị. IV. Tài liệu tham khảo. I. Giới thiệu đề tài 1. ý tưởng sáng tạo. Một lần đi chơi em có gặp một hệ thống quang báo trên một chuyến xe khách, nhìn nó rất nhỏ nhưng có thể hiện được rất nhiều thông tin thay cho việc quang cáo mất rất nhiều kinh phí mà nhìn thì rất hay. Và từ đó em rất muốn làm một hệ thống quang báo giống như vậy. Em đã mong tới một ngày em sẽ làm được một hệ thống quang báo tương tự. Năm nay là năm học cuối cùng chuẩn bị cho kỳ thi tốt nghiệp, em đã mạnh dạn đưa ra ý tưởng của mình và được sự đồng tình của các thầy cô trong khoa em dã có dịp để thực hiên ý tưởng của mình. - Thiết kế , chế tạo hệ thống quang báo sử dụng led ma trận 8x8. - Lắp đặt hệ thống và hoàn thiện bảng quang báo . 2. Khả năng ứng dụng . - Hiển thị nhiều thông tin theo chủ đề đã lập trình trước. - Tự động thay đổi thông tin theo thời gian định trước ( các ngày lễ, tết …) - Thay đổi thông tin hiển thị theo chủ đề đã được lập trình sẵn ( bằng nút ấn ). Đề tài của em nay đã được hoàn thành song còn rất nhiều hạn chế. Ví dụ như : hệ thống quang báo của chúng em chỉ có thể, thể hiện nhưng nội dung theo chủ đề có trước, còn những nội dung mà thay đổi theo từng ngày thì không thể hiển thị được, nếu muốn hiển thị thì phải thay đổi một phần của chương trình phần mền, hoặc cần thiết kế giao tiếp giữa hệ thống quang báo với bàn phím da chức năng nhưng phần này chung em chưa thể tìm hiểu được. 3. Giải pháp công nghệ . 3.1. Giải pháp phần cứng. - Với yêu cầu của đề tài là chế tạo bảng thông tin điện tử có kích thước 25cmx100cmx15cm ( chiều cao x chiều dài x chiều dày ), và hiển thị thông tin theo từng chủ đề ( ngày thường, ngày lễ, hội nghị …) bằng font chữ tiếng việt, có thể thay đổi tự động theo thời gian đã lập trình hoặc thay đổi thông tin theo sự tác động bên ngoài như nút ấn. Để giải quyết vấn đề này ,mạch điều khiển được thiết kế chia thành các modul nhỏ liên kết với nhau. Mỗi modul gồm có 3x4 led matrix (hàng x cột) ghép lại (led 8x8). Kích thước của mỗi modul này được thiết kế đo đạc chính xác nhằm đảm bảo các yêu cầu kỹ thuật và mỹ thuật ở trên. - Các tín hiệu điều khiển thay đổi nội dung thông tin , thời gian được thiết kế riêng trên một board mạch. - Mạch điều khiển cho bảng được thiết kế bằng IC vi xử lý. Họ vi xử lý 80c51 có nhiều trên thị trường, lập trình điều khiển hiệu quả vì nó hoạt động chính xác và đáng tin cậy. Tiêu biểu cho họ 80c51là IC AT89c51. Việc chon kĩ thuật vi điều khiển họ AT89c51 cùng với một số loại IC bán dẫn khác ( như 74ls245, 74ls164 ) để thực hiện đề tài chắc chắn sẽ giải quyết được các yêu cầu trên. Vi điều khiển AT89C51 có thể nạp xoá nhiều lần , sửa chương trình dễ dàng khi có sự cố , cấu trúc của nó gồm có : + 4kb để ghi chương trình điều khiển. + 128 byte RAM ghi dữ liệu và các tham số. + 4 cổng xuất/ nhập dữ liêụ 8 bít. + Các ngắt ngoài hoạt động ưu tiên ( với 2 ngắt ) làm việc bất kì khi nào có tác động với 2 chế độ ngắt. + Khối xử lý CPU có nhiệm vụ xử lí chương trình . + Các bộ timer định thời gian một cách chính xác (s). + 210 ô nhớ có thể ding định địa chỉ cho bit. Ngoài ra nó còn có các ưu điển như : + Hoạt động với tốc độ cao, chính xác. + Mạch điện đơn giản khi có sự giảm bớt của các linh kiện điện tử khác. + Giá thành thấp, phù hợp hơn với sinh viên.. + Dễ dàng sửa chữa lỗi gặp phải khi có sự cố vì nó không cần phảit hay đổi phần cứng. 3.2. Giải pháp phần mền . - Để thực hiện hiển thị thông tin và thay đổi nội dung thông tin trên bảng một cách tự động theo từng chủ đề. Giải pháp tốt nhất cho vấn đề này là sử dụng bộ định thời timer trong on chip kết hợp với các tham số trong việc lập trình. - Điều chỉnh thời gian bằng các ngắt ngoài ( ngắt ngoài 0). - Thay đổi nội dung thông tin dùng một bit riêng để kiểm tra và thay đổi thông tin. Phần II. Nội dung đề tài . I. Cơ sở lý thuyết . 1.Cấu trúc họ vi điều khiển 89c51. 1.1. Giới thiệu chung . Vi điều khiển (VĐK) là một “hệ” Vi xử lý (VXL) đuợc tổ chức trong một chip. Nó bao gồm: - Bộ VXL - Bộ nhớ chơng trình (ROM/EPROM/EEPROM/FLASH). - Bộ nhớ dữ liệu (RAM). - Các thanh ghi chức năng, các cổng I/O, cơ chế điều khiển ngắt và truyền tin nối tiếp. - Các bộ thời gian dùng trong lĩnh vực chia tần và tạo thời gian thực. - Bộ VĐK có thể đợc lập trình để điều khiển các thiết bị thông tin, viễn thông, thiết bị đo lờng, thiết bị điều chỉnh cũng nh các ứng dụng trong công nghệ thông tin và kỹ thuật điều khiển tự động. Có thể xem bộ VĐK nh một hệ VXL On-chip, đối với họ AT89C51, nó có đầy đủ chức năng của một hệ VXL 8 bit, đựoc điều khiển bởi một hệ lệnh, có số lệnh đủ mạnh, cho phép lập trình bằng hợp ngữ (Assembly). 1.2.Sơ đồ khối. Hình 1. Sơ đồ khối họ VĐK AT89C51 Bộ VĐK 8 bit AT89C51 hoạt động ở tần số 12 MHz, với bộ nhớ ROM 4Kbyte, bộ nhớ RAM 128 Byte c trú bên trong và có thể mở rộng bộ nhớ ra ngoài. ở bộ VĐK này còn có 4 cổng 8 bit (P0…P3) vào/ ra 2 chiều để giao tiếp với thiết bị ngoại vi. Ngoài ra, nó còn có: - 2 bộ đinh thời 16 bit (Timer 0 và Timer 1) - Mạch giao tiếp nối tiếp. - Bộ xử lý bit (thao tác trên các bit riêng rẽ). - Hệ thống điều khiển và xử lý ngắt. - Các kênh điều khiển/ dữ liệu/ địa chỉ. - CPU - Các thanh ghi chức năng đặc biệt (SFR). … Tuy nhiên, tuỳ thuộc vào từng họ VĐK của từng hãng sản xuất khác nhau mà tính năng cũng như phạm vi ứ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._.

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

  • docBK0006.DOC