Đề tài Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển

MỤC LỤC Nội dung Trang Phần 1: Ý tưởng , mục đích thiết kế 1/ Ý tưởng thiết kế 2/ Mục đích thiết kế Phần 2: Thiết kế mạch Chương 1: Các khối và chức năng các khối 1.1/ Sơ đồ các khối trong mạch 1.2/Chức năng nhiệm vụ các khối Chưong 2: Cơ sở lý thuyết thiết kế mạch 2.1/ Sự lưu ảnh của mắt 2.2/ Giới thiệu về ma trận led 8 x 8. 2.3/ Giới thiệu về IC89C51. 2.4/ Bộ ghi dịch (IC74HC164). 2.5/ Giới thiệu về các IC đệm dòng. 2.5.1/ Transistor C2383. 2.6 / IC 74HC245 2.7 / IC ULN2803. Chương 3: Thiết kế sơ đồ nguyên lý của mạch quang báo. 3.1/ Khối nguồn. 3.2/ Khối điều khiển và đệm dòng. 3.3/ Khối quét cột và hiển thị Chuơng 4: Thiết kế sơ đồ board. 4.1/ Sơ đồ board khối điềukhiển và đệm dòng. 4.2/ Sơ đồ board khối ghi dịch . Chương 5: Chương trình điều khiển. 5.1/ Lưu đồ thuật toán. 5.1.1/ Lưu đồgiải thuật lập trình cho vi điều khiển AT89C51. 5.1.2/ Lưu đồ thuật toán điều khiển từ xa. 5.2/ Mã nguồn chương trình điều khiển. ĐỀ TÀI: THIẾT KẾ VÀ ỨNG DỤNG MẠCH QUANG BÁO DÙNG VI ĐIỀU KHIỂN Phần 1: Ý tưởng , mục đích thiết kế. 1/ Ý tưởng thiết kế - Thiết kế mạch quang báo ứng dụng AT89C51 dùng led ma trận để hiển thị, số led ma trận sử dụng 20 led tương ứng 16 hàng x 80 cột hoặc ta có thể sử dụng phương án kết led đơn tạo ma trận led có kích thước 16 hàng x 80 cột để hiển thị bảng chữ - Viết thuật toán ( chương trình điều khiển) cho bảng quang báo trên phần mềm chuyên dụng vì Vi điều khiển chỉ nhận và nhận và xử lý chương trình dưới dạng file hex. Vì vậy cần phải có phần mềm để soạn thảo và biên dịch chương trình sang mã hex. Hiện nay, có rất nhiều phần mềm có thể lập trình và mô phỏng: prog studio, sim.51, Raisonance Kit 6.1(Ride) Ở đây khi viết chưong trình soạn thảo và biên dịch chúng em chọn phần mềm Raisonance Kit 6.1. - Về phương pháp điều khiển chúng em dùng phương pháp quét cột và xuất dữ liệu ra hàng vì số hàng ít hơn số cột. Thuật toán quét cột ta có thể sử dụng 2 phương án : Một là viêt chương trình điều khiển quét cột nạp cho vi điều khiển AT89C51 sử dụng 1 Port của AT89C51 để xuất mã quét Hai sử dụng bộ ghi dịch 74164 tạo bit dịch để xuất mã quét cột của ma trận led.Trong phương án này có ưu điểm hơn phương án 1 là không hạn chế số cột cần được quét của ma trân led ,ví dụ có n led ma trận cần n IC74164 quét được 8.n cột,trong khi nếu ta dùng phương án 1 thì chỉ quét được 8 ma trận led tương ứng với 64 cột. Nhưng có hạn chế là nêu dùng IC 74164 để quét cột thì chi phí cho mạch sẽ đăt hơn, Nếu mạch quang báo của ta sử dụng nhỏ hơn hoặc bằng 8 ma trận led thì sử dụng phương án 1 là tối ưu, Chúng em đã chọn phương án dùng IC74164 tạo bit dịch để xuất mã quét led . Nội dung hiển thị là dòng chữ: 2/ Mục đích thiết kế - Phát huy những thành quả ứng dụng của kỹ thuật vi điều khiển tạo ra những sản phẩm có tính ứng dụng cao vào đời sống xã hội đang phát triển không ngừng. - Việc thực hiện đề tài giúp chúng em rèn luyện kỹ năng thực hành tiếp cận với thực tế và đây cũng là cơ hội để kiểm chứng nhứng kiến thức đã được học.

doc41 trang | Chia sẻ: lvcdongnoi | Lượt xem: 5150 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU Năm 1971 với sự ra đời của Vi xử lý (Microprocessor)- bộ phận xử lý trung tâm để xử lý lệnh đã đánh dấu bước phát triển vượt bậc của cuộc cách mạng khoa học kỹ thuật hiên đại. Ban đầu vi xử lý với 4 bit dữ liệu sau đó đã phát triển thành 8 bit(8080,8085,8088),16 bit(8086,80286), 32 bit(80386,80486) và 64 bit(80586) … Trên cơ sở phát triển của kỹ thuật vi xử lý người ta đã chế tạo được các máy vi tính cá nhân ,các thệ hệ máy vi tính với công nghệ cao theo đó được phát minh đã tạo ra sự bùng nổ thông tin vì máy tính đã xâm nhập vào hầu hết các lĩnh vực khoa hoc kỹ thuật, truyền thông với mạng toàn cầu và đời sống xã hội. Vi điều khiển(Microcontroller) là một vi mạch tích hợp lớn có kích thước nhỏ( rộng cỡ 2cm,dài từ 3-8 cm,với số chân từ 18,28,40,48,64). Vi điều khiển có khả năng như một máy vi tính , nhưng có ưu điểm đặc biệt về kích thước rất nhỏ nên đã xâm nhập sâu hơn vào các thiết bị đo lường , điều khiển tự động hoá và đặc biệt vào các thiết bị của đời sống hàng ngày như đồng hồ thời gian , đồng hồ báo giờ , đầu máy ghi âm và phát âm hay phát hình …một ứng dụng của vi điêù khiển mà chúng em muốn đề cập tới đó là các bảng đèn , áp phích quảng cáo hay là bảng quang báo với kỹ thuât lập trình đa dạng cho vi điều khiển ta có những bảng quang báo đáp ứng nhu cầu thẩm mỹ và thông tin quảng cáo trong thời đại công nghiệp hiện nay… Sau thời gian tìm hiểu và học tập với môn học Kỹ thuật Vi Xử Lý chúng em được giao nhiệm vụ làm đồ án môn học với đề tài: “ Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển” Dưới sự giảng dạy và hướng dẫn của thày giáo Đặng Văn Khanh đến nay chúng em đã hoàn thành đề tài được giao .Rất mong được sự ủng hộ của quý thày cô và các bạn. Chúng em xin chân thành cám ơn! Hưng Yên ngày…tháng…năm 2008 MỤC LỤC Nội dung Trang Phần 1: Ý tưởng , mục đích thiết kế 1/ Ý tưởng thiết kế 2/ Mục đích thiết kế Phần 2: Thiết kế mạch Chương 1: Các khối và chức năng các khối 1.1/ Sơ đồ các khối trong mạch 1.2/Chức năng nhiệm vụ các khối Chưong 2: Cơ sở lý thuyết thiết kế mạch 2.1/ Sự lưu ảnh của mắt 2.2/ Giới thiệu về ma trận led 8 x 8. 2.3/ Giới thiệu về IC89C51. 2.4/ Bộ ghi dịch (IC74HC164). 2.5/ Giới thiệu về các IC đệm dòng. 2.5.1/ Transistor C2383. 2.6 / IC 74HC245 2.7 / IC ULN2803. Chương 3: Thiết kế sơ đồ nguyên lý của mạch quang báo. 3.1/ Khối nguồn. 3.2/ Khối điều khiển và đệm dòng. 3.3/ Khối quét cột và hiển thị Chuơng 4: Thiết kế sơ đồ board. 4.1/ Sơ đồ board khối điềukhiển và đệm dòng. 4.2/ Sơ đồ board khối ghi dịch . Chương 5: Chương trình điều khiển. 5.1/ Lưu đồ thuật toán. 5.1.1/ Lưu đồgiải thuật lập trình cho vi điều khiển AT89C51. 5.1.2/ Lưu đồ thuật toán điều khiển từ xa. 5.2/ Mã nguồn chương trình điều khiển. Nhận xét của giáo viên hướng dẫn …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….... Hưng Yên, ngày …. Tháng …..năm 2008 Chữ ký của GVHD: ĐỀ TÀI: THIẾT KẾ VÀ ỨNG DỤNG MẠCH QUANG BÁO DÙNG VI ĐIỀU KHIỂN Phần 1: Ý tưởng , mục đích thiết kế. 1/ Ý tưởng thiết kế Thiết kế mạch quang báo ứng dụng AT89C51 dùng led ma trận để hiển thị, số led ma trận sử dụng 20 led tương ứng 16 hàng x 80 cột hoặc ta có thể sử dụng phương án kết led đơn tạo ma trận led có kích thước 16 hàng x 80 cột để hiển thị bảng chữ Viết thuật toán ( chương trình điều khiển) cho bảng quang báo trên phần mềm chuyên dụng vì Vi điều khiển chỉ nhận và nhận và xử lý chương trình dưới dạng file hex. Vì vậy cần phải có phần mềm để soạn thảo và biên dịch chương trình sang mã hex. Hiện nay, có rất nhiều phần mềm có thể lập trình và mô phỏng: prog studio, sim.51, Raisonance Kit 6.1(Ride)… Ở đây khi viết chưong trình soạn thảo và biên dịch chúng em chọn phần mềm Raisonance Kit 6.1. - Về phương pháp điều khiển chúng em dùng phương pháp quét cột và xuất dữ liệu ra hàng vì số hàng ít hơn số cột. Thuật toán quét cột ta có thể sử dụng 2 phương án : Một là viêt chương trình điều khiển quét cột nạp cho vi điều khiển AT89C51 sử dụng 1 Port của AT89C51 để xuất mã quét Hai sử dụng bộ ghi dịch 74164 tạo bit dịch để xuất mã quét cột của ma trận led.Trong phương án này có ưu điểm hơn phương án 1 là không hạn chế số cột cần được quét của ma trân led ,ví dụ có n led ma trận cần n IC74164 quét được 8.n cột,trong khi nếu ta dùng phương án 1 thì chỉ quét được 8 ma trận led tương ứng với 64 cột. Nhưng có hạn chế là nêu dùng IC 74164 để quét cột thì chi phí cho mạch sẽ đăt hơn, Nếu mạch quang báo của ta sử dụng nhỏ hơn hoặc bằng 8 ma trận led thì sử dụng phương án 1 là tối ưu, Chúng em đã chọn phương án dùng IC74164 tạo bit dịch để xuất mã quét led . Nội dung hiển thị là dòng chữ: 2/ Mục đích thiết kế Phát huy những thành quả ứng dụng của kỹ thuật vi điều khiển tạo ra những sản phẩm có tính ứng dụng cao vào đời sống xã hội đang phát triển không ngừng. Việc thực hiện đề tài giúp chúng em rèn luyện kỹ năng thực hành tiếp cận với thực tế và đây cũng là cơ hội để kiểm chứng nhứng kiến thức đã được học. Phần 2: Thiết kế mạch Chương 1: Các khối và chức năng các khối 1.1/ Sơ đồ các khối trong mạch: Khèi nguån B¶ng ma trËn led (khèi hiÓn thÞ) Khèi ®Öm d÷ liÖu Khèi ®iÒu khiÓn 1.2/ Chức năng và nhiệm vụ các khối: 1.2.1/ Khối nguồn: có nhiệm vụ cung cấp năng lượng hoạt động cho các khối điều khiển, khối đệm dữ liệu và bảng ma trận led. Nguồn cung cấp cho toàn mạch quang báo là nguồn một chiều có độ lớn 5V. 1.2.2/ Khối điều khiển: có vai trò quan trọng đối với sự hoạt động của mạch quang báo, chương trình hiển thị thông tin trên bảng ma trận led do khối điều khiển đảm nhận thực hiện thông qua IC89C51. 1.2.3/ Khối đệm dữ liệu: tín hiệu điều khiền được xuất ra từ khối điều khiển sẽ được đưa tới khối đệm dữ liệu để khuêch đại tín hiệu điều khiển qua các IC đệm dòng đảm bảo đủ dòng của tín hiệu điều khiển cho bảng ma trận led. 1.2.4/ Khối hiển thị: Là bảng ma trận led có kích thước(16 hàng x 64 cột) có nhiệm vụ tiếp nhận tín hiệu điều khiển hiển thi nội dung thông tin mà người dùng muốn hiển thị, nội dung đó đã được lập trình bằng phần mềm ở khối điều khiển. Chương 2: Cơ sở lý thuyết thiết kế mạch 2.1/ sự lưu ảnh của mắt: Mắt người có khả năng lưu hình ảnh vừa quan sát trong khoảng thời gian 0,1s, nghĩa là khi quan sát hình ảnh mới thì hình ảnh cũ trước đó vẫn tồn tại trong khoảng 0,1s được lưu trên võng mạc nên trong kỹ thuật trình chiếu phim ảnh các nhà kỹ thuật đã lợi dụng đặc điểm của mắt sử dụng phát 24 hình/s để tạo cảm giác những hình ảnh đó là liên tục mà thực chất đó chỉ là những hình ảnh rời rạc được phát với tốc độ 24 hình/s . Khi thiết kế bảng quang báo người ta cũng lợi dụng khả năng lưu ảnh và sự phân giải của mắt để tạo ra những bảng quang báo có kích thước khác nhau phù hợp với mục đích sử dụng và tính toán sao cho mắt người quan sat được sắc nét nhất. Trong bảng quang báo sử led ma trận ta phải tính toán thời gian quét led hợp lý để khi xuất dữ liệu hiển thị mắt người quan sát được hình ảnh trôi qua là liên tục. 2.2/ Giới thiệu về ma trận led cỡ 8x8: Hình ảnh thực tế: Đèn led kiểu ma trận hay ma trận gồm nhiều diot phát quang(LED) Được mắc theo kiểu ma trận theo hàng và cột như hình vẽ: Các đường dây hàng được mắc với các bit của một cổng và các đường dây cột được mắc với các bit của một cổng khác. Một diot sẽ phát sáng khi có đồng thời hai tín hiệu: + tín hiệu dương trên đường dây hàng mắc với anot của diot. + tín hiệu âm trên đường dây cột mắc với katot của diot. Các diot của ma trận diot sẽ sáng lần lượt theo kiểu quét theo từng hàng và từng cột. Vì thời gian quét cả ma trận theo các hàng và các cột tương đối ngắn trên 24h/s nên mắt ta quan sát thấy các diot sáng đồng thời và cho một bức tranh sáng của cả ma trận 8x8 diot. Muốn điều khiển một ma trận diot hiển thị một số hay một chữ, ta phải: Xây dựng các điểm (hay diot) sáng theo hình chữ hay hình số đó theo ma trận gồm các hàng và các cột. Mỗi chữ số hay mỗi ký tự chiếm một ma trận. Nếu có chuỗi chữ số cho một con số hay chuỗi ký tự phải có nhiều ma trận led ghép lại hay bảng dữ liệu. - tạo bảng dữ liệu theo các hàng với các bit tương ứng với diot sáng. - Viết chương trình để: + Đọc bảng giá trị của một hàng để đưa dữ liệu 1 ra một bit của cổng mắc với đường dây hàng đó vào các anot của diot mắc với đường dây hàng. + Đưa tín hiệu 0 ra các bit của cổng mắc đường dây cột, nếu anot nào có tín hiệu 1 diot đó sẽ sáng. + Tiếp tục quét các hàng rồi đưa tín hiệu 0 ra các cột, cho tới khi các hàng được quét xong. Ví dụ ta muốn hiển thị chữ “T” trên ma trận. Khi đó các diot trên cột , cột 8 và hàng 8 sáng. Muốn như vậy thì các bit thuộc cổng P0 và P1 đều ở mức 1 như vậy thì toàn diot trong ma trận led sẽ sáng. Như vậy ta không thể điều khiển ma trận led bằng cách hiển thị tĩnh mà phải dùng cách hiển thị động, đó là phương pháp quét led nghĩa là cấp tín hiệu điều khiển theo dạng xung quét cho các hàng và các cột cần được hiển thị. Giả sử thời gian quét từ cột 1 đến cột 8 là một chu kỳ và để đảm bảo cho mắt quan sát các led sáng đều và không bị nhấp nháy thì tần số quét nhỏ nhất cho một chu kỳ là 50 hz. Để hiển thị chữ “T” ta có thể mô tả được các bước quét trong một chu kỳ như sau: + Bước 1: P0.3=1, P0.4=1,P1.0=1 Led hàng 4, hàng 5 cột 1 sáng + Bước 2: P0.3=1, P1.1=1 Led hàng 4 cột 2 sáng + Bước 3: P0.3=1; P1.2=1 Led hàng 4 cột 3 sáng + Bước 4: P0.3=1;P0.4=1;P0.5=1 led hàng 4, 5,6,7,8 cột 4 sáng P0.6=1;P0.7=1;P1.3=1 + Bước 5: P0.3=1; P1.4=1 led hàng 4 cột 5 sáng + Bước 6: P0.3=1;P1.5=1 led hàng 4 cột 6 sáng + Bước 7: P0.3=1;P0.4=1; P1.6=1 led hàng 4,5 cột 7 sáng + Bước 8: quay trở lại bước 1. Với việc hiển thị chữ “T” trên ta chỉ cần sử dụng một ma trận led 8x8 do đó chúng ta có thể sử dụng trực tiếp các bít của cổng vi điều khiển AT89C51 Đối với một bảng quang báo thì cần có nhiều hàng, nhiều cột. Một trong các cách để điều khiển quét cột khi số cột cần quét là lớn và số cổng của AT89C51 không đáp ứng đủ thì chúng ta có thể dùng bộ ghi dịch 74HC164 để điều khiển quét cột. Khi đó tín hiệu quét hàng được lấy ra từ các cổng của vi điều khiển(tùy thuộc vào số hàng led ma trận tra sử dụng trong bảng quang báo mà cần đến 1,2 hoặc 3 cổng). Tín hiệu quét cột được lấy từ đầu ra của bộ ghi dịch 74HC164. Tín hiệu quét cột sẽ dịch theo từng xung clock do người lập trình tạo ra. Cứ sau mỗi một xung thì một cột được dịch, đồng thời vào thời điểm mỗi cột được dịch thì dữ liệu cần hiển thị tương ứng cũng được đưa ra hàng. Như vậy để hiển thị được thông báo thì xung dịch và dữ liệu phải được xuất đồng bộ. Theo ví dụ hiển thị chữ “T” trên thì cần xuất ra cổng P0 các mã chữ: 18h,08h,08h,0f8h,08h,08h,18h,00h. +Bước 1: xuất mã 18h ra cổng P0 đồng thời cột 1 của ma trận led được tích cực nhờ có xung clock va bộ ghi dịch. … Tương tự đến bước 8: xuất mã 18h ra cổng P0 đồng thời cột 8 được tích cực. Quá trình tạo bảng mã được mô tả trong bảng: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 18h 08h 08h f8h 08h 08h 08h 00h Quá trình quét led xảy ra rất nhanh(tính bằng micro giây cho mỗi cột) nên mắt có cảm giác các led đồng thời được sáng. Gọi t là thời gian cho một xung dịch: Với tần số quét cho cột là 50 Hz. Như vậy thời gian để dịch một xung clock là: t= 1/50 Hz = 0,02s = 20 ms. Quá trình quét cột như vậy xảy ra rất nhanh tính bằng ms cho mỗi cột do đó mắt ta có cảm giác các led được sáng đồng thời. 2.3/ Giới thiệu về vi điều khiển AT89C51: Vi điều khiển 8051 được chế tạo theo cấu trúc của một hệ vi tính gồm các khối có sơ đồ sau: Bộ xử lý trung tâm CPU (Central Processor Unit): dùng để điều khiển toàn vi mạch trong việc thực hiện lệnh và xử lý số học , logic. Bộ nhớ RAM bên trong: (128 byte cho 8051) dùng làm các thanh ghi thông dụng, đặc biệt SFR và xử lý bít để ghi nhớ dữ liệu cho chương trình. Các cổng trao đổi tin vào ra dữ liệu va địa chỉ P0 – P2: dùng trao đổi tin song song về địa chỉ và dữ liệu (D0- D7) như sau: + cổng P0: trao đổi tin về dữ liệu (D0- D7) hay khi có bộ nhớ ngoài mở rộng, trao đổi tin về địa chỉ thấp (A0-A7) (cùng với tín hiệu chốt địa chỉ ALE đưa qua vi mạch chốt ) và dữ liệu song song D7-D0 + cổng P2: trao đổi tin về dữ liệu (D0-D7) hay địa chỉ cao(A8-A15) khi có bộ nhớ ngoài mở rộng. + cổng P1: trao đổi tin về dữ liệu song song D7-D0. Cổng trao đổi tin nối tiếp : dùng trao đổi tin nối tiếp nhận vào từ chân RXD và đưa ra truyền tới chân TXD. Khối định thời gian bộ đếm Timer/Counter 0,1 và 2: dùng để định thời gian và đếm xung ngoài vào các chân T0,T1,T2. Khối điều khiển ngắt chương trình: dùng để ngắt chương trình khi có đếm tràn hay có xung ngoại. Như vậy, vi mạch VDK nói chung và VDK 8051 là một hệ vi xử lý bao gồm các khối CPU, bộ nhớ (RAM,ROM), cổng vào ra(song song,nối tiếp), bộ định thời gian, đếm và điều khiển ngắt chương trình. Vi điều khiển 8051 là vi mạch tích hợp mật độ lớn có 40 chân . Sơ đồ chân của chúng như hình 1-1: Số 40 chân trên chia thành các nhóm: nguồn nuôi, điều khiển ,các tin hiệu địa chỉ, dữ liệu. 1/ Nhóm chân nguồn nuôi + Nguồn nuôi 5V (chân số 40) + Nối đất (chân số 20): để nuôi vi mạch. 2/ Nhóm chân điều khiển: Nhóm này còn phân biệt các tin hiệu vào ra. a/ Nhóm tín hiệu vào điều khiển + XTAL1 (chân số 18) và XTAL2 (chân số 19): nối tinh thể thạch anh cho máy phát xung nhịp chu trình. + RST (RESET):(chân số 9) nối chuyển mạch để xóa về trạng thái ban đầu hay khởi động lại. + /EA/CPP:(chân số 31) chọn nhớ ngoài (nối đất) hay nhớ trong (nối nguồn nuôi 5V). + T2 hay P1.0:(chân số 1)tín hiệu vào đếm cho Timer2/Counter2 + T2EX:(chân số 2) tín hiệu vào ngắt ngoài + /INT0 hay P3.2:(chân số 12) tín hiệu vào gây ngắt ngoài 0 cho vi điều khiển 8051. + /INT1 hay P3.3:(chân số 13) tín hiệu vào gây ngắt ngoài 1cho vi điều khiển 8051. +T0 hay P3.4:(chân số 14) tín hiêu vào đếm cho Timer0/Counter0. + T1 hay P3.5:(chân số 15) tín hiệu vào đếm cho Timer1/Counter1 b/ Nhóm tín hiệu ra điều khiển + ALE//PROG:(chân số 30) dùng để đưa tín hiệu chốt địa chỉ (ALE) khi có nhớ ngoài hay điều khiển ghi chương trình /PROG. + /PSEN :(chân số 29) dùng để đưa tín hiệu điều khiển đọc bộ nhớ chương trình ROM ngoài. + /WR hay P3.6(chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài. +/RD hay P3.6:(chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài. c/ Nhóm các tín hiệu địa chỉ ,dữ liệu. + Cổng vào ra địa chỉ/ dữ liệu P0 hay P0.0- P0.7:(chân số 39 - 32) dùng để trao đổi tin về dữ liệu (D0 – D7) vào /ra song song hoặc đưa ra các địa chỉ thấp (A0 – A7) theo chế độ dồn kênh (kết hợp với tín hiệu chốt địa chỉ ALE). + Cổng vào ra địa chỉ/dữ liệu P2 hay P2.0 – P2.7 :(chân số 21 - 28) dùng để trao đổi tin song song về dữ liệu (D0 –D7) hoặc đưa ra các địa chỉ cao(A8 –A15). + Cổng vào ra dữ liệu P1 hay P1.0- P1.7:(chân số 1- 8)dùng để trao đổi tin song song về dữ liệu (D0 – D7). + Cổng vào ra P3 hay P3.0 – P3.7 với: P3.0 : (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD. P3.1:(chân số 11) đưa tín hiệu truyền tin nối tiếp TXD P3.2 :(chân số 12) nhận tín hiệu ngắt ngoài 0 /INT0 /INT0 hay P3.2 : tín hiệu vào gây ngắt 0 của VDK 8051 /INT1 hay P3.3 :(chân số 13)tín hiệu vào gây ngắt 1 của VDK 8051. T0 hay P3.4 :(chân số 14) tín hiệu vào đếm cho Timer0/Counter0. T1 hay P3.5 :(chân số 15) tín hiệu vào đếm cho Timer1/Counter1. /WR hay P3.6:(chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài. /RD hay P3.7 :(chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài. T2 hay P1.0 :(chân số 1) tín hiệu vào đếm cho Timer2/Counter2. T2EX :(chân số 2) tín hiệu vào gây ngắt ngoài 2. Ngoài các tín hiệu chuyên dùng trên, cổng vào/ra P3 này còn dùng để trao đổi tin về dữ liệu D7- D0. 2.4/ Bộ ghi dịch 2.4.1/ Giới thiệu về bộ ghi dịch. Bộ ghi dịch còn được gọi là thanh ghi dịch, nó co khả năng ghi và dịch thông tin(dữ liệu) có thể sang trái hoặc sang phải. Bộ ghi dịch được cấu tạo từ một dãy phần tử nhớ đơn bit(triger) mắc liên tiếp với nhau và một số cửa logic cơ bản hỗ trợ. Mỗi trigger có khả năng nhớ 1 bit dữ liệu muốn mạch nhớ nhiều bit phải sử dụng nhiều triger, các bit dữ liệu được lưu trữ trong triger có khả năng dich về hai phía nhờ có xung clock tác động. Muốn ghi và truyền một từ nhị phân n bit thì cần n phần tử nhớ(n triger). Trong các bộ ghi dịch thường dùng các triger đồng bộ như triger RST, triger JK, triger D. Thông thường người ta hay dùng các triger D hoặc các triger khác nhưng mắc theo kiểu triger D để tạo thành các bộ ghi . Có hai cách ghi: Ghi song song: các bit của từ nhị phân được ghi đồng thời cùng một lúc vào bộ ghi. Ghi nối tiếp: các bit của từ nhị phân được đưa vào bộ ghi một cách tuần tự theo thứ tự của từ nhị phân. Bộ ghi song song(n bit): là bộ ghi có n nối vào, khi có xung điều khiển ghi đưa vào nối vào CLK, dữ liệu được nạp vào bộ nhớ song song và cho nối ra song song. Bộ ghi nối tiếp (n bit): là bộ ghi chỉ có một nối vào,nó có thể ghi dịch trái,dịch phải và cho nối ra nối tiếp và song song. Khi muốn ghi thì phải đưa các bit thông tin nối tiếp về thời gian truyền lần lượt vào nối vào nối tiếp theo sự điều khiển đồng bộ của các xung nhịp. Cứ sau mỗi xung nhịp trạng thái của triger lại được xác lập theo thông tin lối vào D của nó. Bộ ghi nối tiếp dịch phải có các nối ra song song và ra nối tiếp:Có nối ra của triger trước lại được nối với nối vào D của triger sau, nên sau mỗi lần có xung nhịp tác động, triger sau lại nhận giá trị của triger đứng trước nó. Đầu vào nối tiếp là đầu vào triger đầu tiên, đầu ra nối tiếp lấy ở triger cuối cùng, đầu ra song song là các đầu ra của các triger. Bộ ghi cho tín hiệu nối ra ở dạng song song hay nối tiếp phụ thuộc vào sự điều khiển tín hiệu ra. Bộ triger nối tiếp dịch trái có các nối ra song song và nối ra nối tiếp: Có nối ra của triger sau được nối vào đầu vào triger đứng trước nó, nên sau mỗi lần có xung nhịp tác động triger trước lại nhận giá trị của triger đứng sau nó. Đầu vào nối tiếp là đầu vào triger cuối cùng, đầu ra nối tiếp là đầu ra của triger đầu tiên, đầu ra song song là đầu ra của các triger trong bộ ghi dịch. Với sự tác động đầu vào điều khiển sẽ cho dạng đầu ra là song song hoặc nối tiếp. Bộ ghi vừa ghi nối tiếp dịch phải, vừa ghi nối tiếp dịch trái sẽ phụ thuộc vào xung điều khiển chọn kiểu ghi dịch. Và sự hoạt động giống với hai kiểu ghi dịch trái, phải như trên. Ngoài ra còn có bộ ghi dịch vừa ghi nối tiếp dịch phải, vừa ghi song song và bộ ghi nối tiếp thông tin có thể lưu trữ… Trên thực tế thì các bộ ghi dịch đã được tích hợp sẵn trong các IC.Và một số vi mạch thường gặp là: + 7495: 4 bit, vào song song hoặc nối tiếp, ra song song hoặc nối tiếp. + 74174: 6 bit, vào song song ra song song có đầu xóa. +74178: 4 bit , vào song song hoặc nối tiếp ra song song. + 74165: 8 bit, vào song song ra nối tiếp. + 74164: 8 bit , vào nối tiếp ra song song có đầu xóa + 74194: 4 bit dịch trai dịch phải vào song song ra song song… 2.4.2/ Tìm hiểu về IC 74164: Trong phạm vi này sẽ nghiên cứu về IC 74164 dùng để tạo bit dịch điều khiển quét ma trận led. IC74164 là một thanh ghi dịch 8 bit vào nối tiếp ra song song ( serial in- paralell out). Dữ liệu nối tiếp được nhập vào thông qua cổng AND hai ngõ vào, việc nhập này đồng bộ với sườn lên của xung clock. Chân clear của IC74164 tác đông không đồng bộ với xung clock, khi chân này được tác động(tích cực ở mức thấp) thì bộ ghi dịch sẽ bị xóa hay toàn bộ đầu ra của bộ ghi dịch được xóa về 0 ( trạng thái ban đầu) . Khi dữ liệu được đưa tới đầu vào của bộ ghi dịch cùng với xung clock được tác động thì dữ liệu được dịch từng bit một,sau mỗi xung dữ liệu được lấy ra trên các đầu ra song song của IC74164. Về mặt chế tạo IC74164 được chế tạo hoàn toàn tương thích với các IC thuộc họ TTL . Sơ đồ logic cấu tạo và giản đồ thời gian của IC 74164: Sau đây là sơ đồ chân và bảng trạng thái giữa đầu vào/ra của IC74164: Với: H : mức cao L : mức thấp X : mức cấm ↑ : sườn dương của xung clock (chuyển từ mức thấp lên mức cao) QA…QD là các đầu vào dữ liệu QE…QH là các đầu ra dữ liệu /MR : là chân clear của bộ ghi dịch(tích cực ở mức thấp) CP : là chân clock (tác động bằng sườn dương) Hình dạng thực tế: IC 74164 có 14 chân có sơ đồ như hình vẽ trên. Trong đó Chân 1, 2 là đầu vào(input serial), đây là 2 đầu vào của một cổng AND 2 đầu vào. Dữ liệu muốn đến được FF đầu tiên để bắt đầu quá trình ghi dịch thì phải qua cổng AND 2 đầu vào này. Chân 3,4,5,6,10,11,12,13 là 8 đầu ra, các đầu ra này có thể lấy ra cùng một lúc hoặc từng đầu ra tùy mục đích người sử dụng. Chân 7 được nối mass Chân 14 nối VCC. Cụ thể nguồn cấp là 5V với sai lệch ± 5% Chân 9 là chân xóa (clear) hay reset(tích cực ở mức thấp). Khi chân này ở mức logic cao thì IC 74164 hoạt động bình thường (ghi dịch) chỉ khi chân này tích cực ở mức thấp thì trạng thái của IC sẽ bị xóa ngay lập tức nghĩa là các đầu ra sẽ được xóa về 0. Việc reset này có thể thực hiện ở bất cứ thời điểm nào khi bộ ghi dịch đang hoạt động nghĩa là nó tác đông độc lập không đồng bộ với xung clock, với bất kỳ trạng thái nào của xung clock ta đều có thể thực hiện được việc reset này. Chân 8 là chân cấp xung clock cho IC hoạt động, dữ liệu ở 2 đầu A và B được đưa tới đầu ra(đồng thời dữ liệu ở các đầu ra dịch phải 1 bit) đồng bộ với xung đưa vào chân này. IC 74164 sẽ thự hiện việc ghi dịch mỗi khi có xung clock tác động. 2.5/ Giới thiệu về các IC đệm: Trong các mạch hiển thị bằng ma trận đèn led có kích thước lớn thì bộ đệm dòng đóng vai trò rất quan trọng. Bởi vì ngõ ra của các vi mạch số hay bộ phận điều khiển không đáp ứng được ngõ vào của các mạch đèn(không cung cấp đủ dòng cho ma trận led sáng đều). Do đó ta cần tính toán sử dụng các mạch đệm dòng cho mạch hiển thị.Tùy thuộc vào công suất của mạch hiển thị mà ta sử dụng các mạch đệm dòng với các phần tử : SCR, transistor, opto transistor, opto triac, IC 74AC245N,ULN2803… Với bảng ma trận led (16 hàng x 64 cột) tương đối lớn như vậy nên để cho mạch hiển thị hoạt động tốt thì ta phải sử dụng các mạch đệm dòng. Ở đây ta sử dụng mạch đêm dòng cho hàng gồm : transistor C2383 kết hợp với IC đệm dòng 74AC245N. Mạch đệm dòng cho tín hiệu quét cột ta sử dụng ULN2383, cụ thể sẽ được nói ở phần sau. Sau đây là lý thuyết tổng quan về các IC đệm: 2.5.1/ Transistor C2383: 2.5.1.1/ Khái quát chung về Transistor. - cấu tạo: Transistor có cấu tạo gồm các miền bán dẫn p và n xen kẽ nhau, tùy theo trình tự sắp xếp các miền p và n mà ta có hai loại cấu trúc điển hình là pnp và npn như hình vẽ: Để cấu tạo ra các cấu trúc này người ta áp dụng những phương pháp công nghệ khác nhau như: phương pháp hợp kim, phương pháp khuêch tán, phương pháp epitaxi… Miền bán dẫn thứ nhất của transistor là miền emiter với đặc điểm là miền có tạp chất lớn nhất, điện cực nối với miền này gọi là cực emiter. Miền thứ hai là miền bazo với nồng độ tạp chất nhỏ nhất và độ dày của nó nhỏ cỡ micromet, điện cực nối với miền này gọi là cực bazo. Miền còn lại là miền colecter với nồng độ tạp chất trung bình và điện cực tương ứng là colecter. Tiếp giáp p-n giữa miền emiter và bazo gọi là tiếp giáp emiter(JE) , tiếp giáp p-n giữa miền bazo và miền colecter gọi là tiếp giáp colecter(JC). Về ký hiệu transistor thì cần chú ý là mũi tên đặt ở giữa cực emiter và bazo có chiều từ bán dẫn p sang bán dẫn n. Nguyên lý làm việc: để transistor làm việc, người ta phải đưa điện áp một chiều tới các điện cực của nó, gọi là phân cực cho transistor. Đối với chế độ khuêch đại thì JE phân cực thuận và JC phân cực ngược. Để phân tích nguyên lý làm việc ta lấy transistor pnp làm ví dụ. Do JE phân cực thuận các hạt đa số (lỗ trống) từ miền E phun qua JE tạo nên dòng emiter(IE). Chúng tới vùng bazo trở thành hạt thiểu số và tiếp tục khuêch tán sâu vào vùng bazo hướng tới JC. Trên đường khuêch tán một phần nhỏ bị tái hợp với hạt đa số của bazo tạo nên dòng điện cực bazo(IB). Do cấu tạo miền bazo mỏng nên gần như toàn bộ các hạt khuêch tán tới được bờ của JC và bị trường gia tốc (do JC phân cực ngược) cuốn qua tới được miền colecter tạo nên dòng điện colecter(IC). Qua việc phân tích trên rút ra được hệ thức cơ bản về các dòng điện trong transistor(hệ thuecs gần đúng do bỏ qua dòng ngược của JC): IE = IB + IC Để đánh giá mức hao hụt dòng khuêch tán trong vùng bazo người ta định nghĩa hệ số truyền đạt dòng điện α của transistor. α = IC/IE hệ số α xác định chất lượng của transistor và có giá trị càng gần 1 với các transistor loại tốt. để đánh giá tác dụng điều khiển của dòng điện IB tới dòng colecter(IC) người ta định nghĩa hệ số khuêch đại dòng điện β của transistor: β = IC/IB β thường có giá trị trong khoảng vài chục đến vài trăm. Từ các biểu thức trên ta có thể suy ra vài hệ thức hay được sử dụng đối với transistor: IE = IB(1 +β) Và α = β/(1 +β) Các cách mắc transistor : Khi sử dụng về nguyên tắc có thể lấy 2 trong số 3 cực của transistor là đầu vào và cực thứ 3 còn lại cùng với một cực đầu vào làm đầu ra. Như vậy có 6 cách mắc khác nhau nhưng dù mắc thế nào cũng cần có một cực chung cho cả đầu vào và đầu ra.Trong số 6 cách ấy chỉ có 3 cách là transistor có thể khuêch đại công suất đó là mắc emiter chung(EC), chung colector(CC), chung bazo(BC). Hình vẽ: + mạch EC: + mạch BC: + mạch CC: */ Mét sè th«ng sè kü thuËt cã ý nghÜa giíi h¹n cÇn ph¶i biÕt khi sö dông: + §é khuÕch ®¹i dßng ®iÖn b: - §é khuÕch ®¹i dßng ®iÖn b thËt ra kh«ng ph¶i lµ mét h»ng sè mµ cã thÓ thay ®æi theo IC. - Khi dßng ®iÖn IC nhá th× b thÊp, dßng ®iÖn IC t¨ng th× b t¨ng ®Õn gi¸ trÞ cùc ®¹i bmax, nÕu tiÕp tôc t¨ng IC ®Õn møc b·o hoµ th× b gi¶m. +§iÖn ¸p giíi h¹n: §iÖn ¸p ®¸nh thñng BV (Breakdown Voltage) lµ ®iÖn ¸p ng­îc tèi ®a ®Æt vµo gi÷a c¸c cÆp cùc, nÕu qu¸ ®iÖn ¸p nµy th× BJT sÏ bÞ háng. Cã 3 lo¹i ®iÖn ¸p giíi h¹n: - BVCE0 : ®iÖn ¸p ®¸nh thñng gi÷a C vµ E khi cùc B hë. - BVCB0 : ®iÖn ¸p ®¸nh thñng gi÷a C vµ B khi cùc E hë. - BVCB0 : ®iÖn ¸p ®¸nh thñng gi÷a E vµ B khi cùc C hë. + Dßng ®iÖn giíi h¹n: - Dßng ®iÖn qua BJT ph¶i ®­îc giíi h¹n ë mét møc cho phÐp, nÕu qu¸ trÞ sè nµy BJT sÏ bÞ háng. - Ta cã : ICmax lµ dßng ®iÖn tèi ®a ë cùc C vµ IBmax lµ dßng ®iÖn tèi ®a ë cùc B. + C«ng suÊt giíi h¹n: - Khi cã dßng ®iÖn qua BJT sÏ sinh ra mét c«ng suÊt nhiÖt lµm nãng BJT, c«ng suÊt sinh ra ®­îc tÝnh theo c«ng thøc : PT = IC . VCE. - Mçi BJT ®Òu cã mét c«ng suÊt giíi h¹n gäi lµ c«ng suÊt tiªu t¸n tèi ®a PDmax (Dissolution). NÕu c«ng suÊt sinh ra trªn BJT lín h¬n c«ng suÊt PDmax th× BJT sÏ bÞ háng. +TÇn sè c¾t (thiÕt ®o¹n): TÇn sè thiÕt ®o¹n (fcut-off) lµ tÇn sè mµ BJT cã ®é khuÕch ®¹i c«ng suÊt lµ 1. VD: Transistor 2SC458 cã c¸c th«ng sè kü thuËt nh­ sau: Beta = 230; BVCE0 = 30V; BVCB0 = 30V; BVEB0 = 6V; PDmax = 200mW Fcut-off = 230MHz IC max = 100mA; lo¹i NPN chÊt Si. 2.5.1.2/Giới thiệu về transistor C2383: Transistor 2SC2383 hay gäi lµ (C2383) thuộc loại transistor ngược cña h·ng TOSHIBA ®­îc sö dông nhiÒu trong ti vi mµu th­êng sö dông ë ®Çu ra cña khèi tiÕng(©m thanh). Transistor 2SC2383 cßn ®­îc sö dông trong c¸c mạch ®Öm dßng nh­ c¸c m¹ch ®Ìn giao th«ng, ®iÒu khiÓn ®éng c¬ hay m¹ch quang b¸o. Hình dạng thực tế và một số thông số của C2383: */ Mét sè th«ng sè cña transistor C2383: */D¶i lµm viÖc ë nhiÖt ®é 250C. */ Dạng đặc tuyến VA: 2.6/ Giới thiệu về IC74HC245. IC74HC245 là IC đệm dòng đảm bảo cấp đủ dòng cho ma trân led sáng đều, thực hiện khuêch đại dòng (tín hiệu điều khiển ) trước khi đưa ra khối hiển thị. Một số thông số cần quan tâm: - Dòng đánh thủng: IQH =24 mA -Nguồn dòng IQH = 15 mA -Điện áp chịu đựng : 5V Sơ đồ kết nối sơ đồ chân Bảng trạng thái: Với : H là mức cao L là mức thấp X là trạng thái cấm Sơ đồ logic: Có tới 7 kênh riêng biệt Nguồn áp: 7V Điện áp vào DIR hoặc G : 7V A hoặc B : 5V Trong điều kiện làm việc bình thường thì dải nhiệt độ làm việc của IC74245 nằm trong khoảng từ 0oC đến 70oC. Dải nhiệt độ chịu đựng từ : - 65oC đến 150oC. Các thông số hoạt động: Đặc tính điện: Đặc tính chuyển mạch ( VCC =5V và Ta=250C): 2.7/ Giới thiệu về IC ULN2803. ULN 2803 là một vi mạch đệm, bản chất cấu tạo là các mảng darlington chịu được dòng điện lớn và điện áp cao trong đó có chứa 7 cặp darlington cực góp hở với cực phát chung. Mỗi kênh trong số 7 kênh đều có thể chịu được dòng điện lớn trong một khoảng thời gian dài lên tới 500 mA với biên độ đỉnh lên tới 600 mA. Mỗi kênh có một diode chặn- diode này có thể sử dụng trong trường hợp tải có tính cảm ứng, ví dụ như các rơle… ứng dụng của ULN2803 được sử dụng trong các mạch đệm điều khiển động cơ một chiều ,động cơ bước, khối hiển thị ma trận led… sau đây là sơ đồ khối của vi mạch đệm ULN 2803. Theo sơ đồ ta thấy với mỗi bộ đệm có một diode kết nối theo kiểu anot được kết nối với lối ra còn catot được nối chung với catot của các diode còn lại. Lối ra của vi mạch là các cực góp hở, tải được nối giữa nguồn nuôi và lối ra của vi mạch đệm. Nguồn nuôi là nguồn điện áp dương bất kỳ nhỏ hơn 50V, chẳng hạn tải là động cơ bước thì nguồn nuôi là 12V, tải là hệ thống hiển thị ma trận led tì nguồn nuôi là 5V… dòng qua tải phải được tinhd toán sao cho dòng chảy lâu dài nhỏ hơn 500 mA và dòng đỉnh nhỏ hơn 600 mA tính trên mỗi mạch. Hình dạng thực tế sơ đồ chân kết nối Sơ đồ cục bộ một mảng darlington +/ Một số thông số kỹ thuật: Dòng điện vào và hàm điện áp ra Đặc tính điện ở 25oC: Đặc tính Ký hiệu Kiểm tra điều kiện Giới hạn Min Typ Max Đơn vị Dòng điện dò đầu ra ICEX VCE = 50V, TA = 250C _ <1 50 A VCE = 50V, TA = 700C _ <1 100 A Điện áp bão hòa trên Colecter-Emiter VCE(SAT) IC = 100mA, IB = 250mA _ 0,9 1.1 V IC = 200mA, IB = 350A _ 1,1 1,3 V IC = 350mA, IB = 500A _ 1,3 1,6 V Dòng điện vào IIN(ON) VIN = 3,85V _ 0,93 1,35 mA IIN(OFF IC = 500A, TA = 700C 50 65 _ A Điện áp vào VIN(ON) VCE = 2,0V, IC = 200mA _ _ 2,4 V VCE = 2,0V, IC = 250mA _ _ 2,7 V VCE = 2,0V, IC = 300mA _ _ 3,0 V Điện dung đầu vào CIN _ 1,5 2,5 pF Mở trễ tPLH 0,5 EIN ®Õn 0,5 EOUT _ 0,25 1 s Ngắt trễ tPHL 0,5 EIN ®Õn 0,5 EOUT _ 0,25 1 s Dòng điện dò trên diode IR VR = 50V , TA = 250C _ _ 50 A VR = 50V , TA = 700C _ _ 100 A Điện áp dò trên diode VF IF = 350 mA _ 1,7 2,0 V Giới hạn lớn nhất: Điện áp ra VCE = 50V Điện áp vào VIN = 30V Dòng điện đầu ra lien tục : IC = 500 mA Dòng điện đầu vào lien tục : IIN = 25 mA Công suất tiêu tán trên mỗi cặp darlington: P = 1 w Dải nhiệt độ làm việc (TA) từ : - 20oC đến 85oC Dải nhiệt độ chịu đựng (TS) từ: - 55oC đến 150oC Chương 3: Thiết kế sơ đồ nguyên lý của mạch quang báo Để tiện lợi cho quá trình thiết kế và kiểm tra mạch. Sơ đồ nguyên lý của mạch được chia làm 4 khối : 1/ Khối nguồn 2/ Khối điều khiển và đệm dòng 3/ Khối quét và hiển thị Sau đây ta sẽ nghiên cứu sơ đồ chi tiết của các khối, chức năng và nhiệm vụ các khối: 3.1/ Khối nguồn. Ta có sơ đồ nguyên lý: Từ sơ đồ trên ta thấy khi cấp nguồn 220V xoay chiều cho khối nguồn tại các chốt JP1 và JP2 ở bên phía sơ cấp của máy biến áp ,sau khi qua biến áp bên cuộn thứ cấp ta lấy ra điện áp xoay chiều 15V – 2.5A. Tiếp tục qua cầu chỉnh lưu ta lấy ra điện áp một chiều 15VDC, qua IC 7812 ta được điện áp 12VDC. Để lấy ra điện áp 5VDC ta mắc thêm IC7805 như hình vẽ , điện áp 5VDC đuợc lấy ra trên chân 3(VO) của IC7805. Chức năng và nhiệm vụ: Khối nguồn có nhiệm vụ rất quan trọng đó là cung cấp năng lượng hoạt động cho toàn hệ thống mạch quang báo. Điện áp cung cấp cho các khối điều khiển và đệm hàng, khối quét và hiển thị là 5VDC. Khi thiết kế phải tính toán cung cấp đủ dòng cho các khối hoạt động để đảm bảo cho bảng ma trận led sáng đều đáp ứng yêu cầu kỹ thuật và thẩm mỹ. 3.2/ khối điều khiển và đệm dòng. + Sơ đồ nguyên lý phần cứng: + Chức năng và nhiệm vụ: Khối điều khiển dùng IC 89C51 với thuật toán điều khiển được lập trình theo ý tưởng của nhà thiết kế với cổng P0 và P2 dùng để xuất dữ liệu hàng hiển thị cho ma trận led. Cổng P3 với các chân P3.2 là chân dùng để chọn chương trình sẽ được hiển thị trên ma trận Led. Cổng P1 với chân P1.0 có tác dụng xuất ra xung Clock cấp cho khối quét cột dùng IC 74164. Chân P1.1 có tác dụng xuất ra bit dữ liệu cho đầu vào bộ ghi dịch của khối quét cột. Khối đệm dòng gồm các IC 74HC245 và các Transistor C2383 được mắc như trên sơ đồ có chức năng khuếch đại dòng điện, đảm bảo cung cấp đủ dòng cho khối hiển thị và khối quét cột hoạt động ổn định. 3.3/ Khối quét cột và hiển thị. + Sơ đồ nguyên lý phần cứng khối quét cột: + Chức năng và nhiệm vụ: Khối quét cột dung IC 74164 kết hợp với vi mạch đệm ULN2803. IC 74164 với đầu vào xung Clock là chân 8 được lấy từ chân P1.0 của IC vi điều khiển 89C51 và đầu vào dữ liệu dịch là chân 1,2 được lấy từ chân P1.1 của AT89C51. Với Bit dịch được nạp vào, sau mỗi xung Clock dữ liệu được dịch đi từ trái sang phải và được xuất ra các chân đầu ra để tích cực cho cột Led của bảng Led ma trận. Tại mỗi thời điểm chỉ có một cột được tích cực.Vi mạch đệm ULN2803 có tác dụng khuếch đại tín hiệu đầu ra từ bộ ghi dịch đảm bảo cung cấp đủ dòng cho bảng ma trận Led hoạt động. + Sơ đồ nguyên lý phần cứng khối hiển thị: Mạch hiển thị gồm các Led đơn được kết nối với nhau như sau: Các chân Anot trong từng hàng được nối với nhau, các chân Catot trong từng côt được nối với nhau tạo thành bảng ma trận Led gồm 16 hàng và 64 cột có tác dụng hiển thị theo ý tưởng cùa người thiết kế. Chương 4: Thiết kế sơ đồ Board 4.1/ Sơ đồ Board khối điều khiển và đệm dòng. ` 4.2/ sơ đồ board khối ghi dịch: Chương 5 : Chương trình điều khiển 5.1/ Lưu đồ thuật toán. 5.1.1/Lưu đồ giải thuật lập trình cho vi điều khiển AT89C51. 5.1.2/ Lưu đồ thuật toán điều khiển từ xa. Đo mức tín hiệu Tín hiệu mức thấp Đo mức tín hiệu Đo mức tín hiệu Tín hiệu mức thấp Đo mức tín hiệu Đặt cờ nhớ C = 0 Quay phải có nhớ A Đặt cờ nhớ C = 1 Quay phải có nhớ A Quay phải A Tín hiệu mức thấp N Y N Y Tín hiệu mức cao N Y Tạo trễ 750ms - 950ms Y N Y N C = 1 END BEGIN 5.2/ Mã nguồn chương trình điều khiển. $include(reg51.inc) cseg bodem equ r5 ; bodem=r5 contro equ r3 ; contro=r3 diachi equ 66h ; diachi=66h ;=============================== org 0000h start: mov sp,#30h ;2us mov bodem,#00h ;1us mov contro,#00h ;1us mov diachi,#0h ;2us st: mov p0,#00h ;2us mov p2,#00h ;2us clr p1.0 ;1us thiet lap che do tac clr p1.1 k0: jb p3.2,st ;1us dong suon duong k1: mov r2,#30 ;1us so lan quet cho mot anh k2: setb p1.1 ;1us , thiet lap bit dich ;=========================== lap: mov a,contro ;1us add a,bodem ;1us mov diachi,a ;1us , diachi = contro + bodem mov tmod,#01h ;2us , thiet lap che do 1 cua timer 0 setb p1.0 ;1us , tich cuc cot 1 ;-------- xuat du lieu------- mov a,diachi ;1us mov dptr,#mahang1 ;2us movc a,@a+dptr ;2us mov p0,a ;1us , xuat ma hang1 mov a,diachi ;1us mov dptr,#mahang2 ;2us movc a,@a+dptr ;2us mov p2,a ;1us , xuat ma hang 2 ;------------dich ---------- mov tl0,#0a0h ;2us mov th0,#0ffh ;2us setb tr0 ;1us w2: jnb tf0,w2 ;1us clr p1.1 ;1us , xoa bit dich clr tr0 ;1us ;------------------------ mov tl0,#0a0h ;2us mov th0,#0ffh ;2us setb tr0 ;1us clr p1.0 ;1us w4: jnb tf0,w4 ;10us clr tf0 ;1us clr tr0 ;1us ;-------------------------------- mov p0,#00h ;2us, chong bong ma nop ;1us nop ;1us nop ;1us nop ;1us mov p2,#00h ;2us, chong bong ma ;------------------------------- cjne r5,#16,lap ;2us mov r5,#00h ;1us djnz r2,k2 ;2us , lam lai 20 lan inc contro ;1us , tang dia bat dau len 1 mov a,contro ;1us cjne a,#255,k1 ; so sanh vi tri contro voi vi tri cuoi cung jmp start ; tro ve lam lai tu dau mahang1: db 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h db 0f8h,0f8h,00h,00h,00h,00h,00h,00h ;l db 0fah,0fah,19h,19h,1ah,1ah,18h,00h ;e db 00h,00h,00h,00h,00h,00h,00h,00h db 18h,18h,18h,0f8h,0f8h,18h,18h,18h ;t db 0f8h,0f8h,08h,08h,08h,0f8h,,0f0h,00h ; r db 0f8h,0f8h,00h,00h,00h,00h,0f8h,0f8h ;u db 0f8h,0f8h,60h,0c0h,80h,00h,0f8h,0f8h ;n db 0f0h,0f8h,18h,18h,18h,18h,78h,70h ;g db 00h,00h,00h,00h,00h,00h,00h,00h db 0f8h,0f8h,00h,00h,00h,00h,0f8h,0f8h ;h db 18h,18h,18h,0f8h,0f8h,18h,18h,18h ;i db 0fah,0fah,19h,19h,1ah,1ah,1ah,01h ;e db 0f8h,0f8h,00h,00h,00h,00h,0f8h,0f8h ;u mahang2: db 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,00h,00h,00h,00h,00h db 0ffh,0ffh,0c0h,0c0h,0c0h,0c0h,0c0h,0c0h ;l db 0ffh,0ffh,0c3h,0c3h,0c3h,0c3h,0c3h,00h ;e db 00h,00h,00h,00h,00h,00h,00h,00h db 00h,00h,00h,0ffh,0ffh,00h,00h,00h ;t db 0ffh,0ffh,07h,1dh,39h,61h,0c0h,00h ;r db 7fh,0ffh,0c0h,0c0h,0c0h,0c0h,0ffh,7fh ;u db 0ffh,0ffh,00h,00h,01h,03h,0ffh,0ffh ;n db 7fh,0ffh,0c0h,0c0h,0c0h,0c8h,0f8h,78h ;g db 00h,00h,00h,00h,00h,00h,00h,00h db 0ffh,0ffh,03h,03h,03h,03h,0ffh,0ffh ;h db 0c0h,0c0h,0c0h,0ffh,0ffh,0c0h,0c0h,0c0h ;i db 0ffh,0ffh,0c3h,0c3h,0c3h,0c3h,0c3h,00h ;e db 7fh,0ffh,0c0h,0c0h,0c0h,0c0h,0ffh,7fh ;u end

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

  • docThiết kế và ứng dụng mạch quang báo dùng vi điều khiển.doc