Để thực hiện được quét hàng và quét cột thì ma trận LED được thiết kế như sau: Các LED trên cùng một cột sẽ được nối các chân âm và các LED trên cùng một hàng sẽ được nối với các chan dư
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI
KHOA ĐIỆN - ĐIỆN TỬ
BÀI TẬP LỚN
VI XỬ LÝ
Đề tài: Thiết kế mạch quảng cáo sử dụng vi điều khiển AT89C51
HÀ NỘI
Trang 2MỤC LỤC
1 GIỚI THIỆU CHUNG VỀ MẠCH QUẢNG CÁO 2
2 THIẾT KẾ MẠCH 2
3 SƠ ĐỒ MẠCH NGUYÊN LÝ 6
4 SƠ ĐỒ MẠCH IN 7
5 PHẦN CỨNG 9
6 PHẦN MỀM 14
6.1 Lưu đồ thuật toán 14
6.2 Lập trình trên chip AT89C51 14
7 KẾT QUẢ MÔ PHỎNG 18
Trang 31 GIỚI THIỆU CHUNG VỀ MẠCH QUẢNG CÁO
Ngày nay cùng với sự phát triển của khoa học kỹ thuật nhất là trong lĩnh vực điện tử-tin học- viễn thông, việc đưa thông tin quảng cáo đến với người tiêu dùng đến với xã hội trỏ nên dễ dàng và nhanh chóng.Thông qua nhiều hình thức quảng cáo khác nhau mà các doanh nghiệp giới thiệu sản phẩm của minh đến mọi người
Trong nhiều hình thức đa dạng của thông tin quảng cáo như: báo, đài, ti vi, tờ rơi, áp phích Thì việc dùng bảng thông tin điện tử là met cách đơn giản và hiệu quả để quảng cáo.Chũng ta bắt gặp nhiều bảng thông tin như vậy trong thực tế,
nó đã được ứng dụng rộng rãi trong nhiều lĩnh vực.Việc tìm hiểu và thiết kế bảng thông tin như vậy chính là mạch quang báo dùng vi điều khiển
2 THIẾT KẾ MẠCH
Sơ đồ khối hệ thống
Trang 4+ Khối dao động: Tạo xung nhịp cho Vi điều khiển.Sử dụng thạch anh tần số
12MHz
+ Khối điều khiển trung tâm: Gồm vi điều khiển có nhiệm vụ xuất tín hiệu + Điều khiển LED matrix: Nhận tín hiệu từ Vi điều khiển, từ đó đưa ra tín hiệu
cho phép cột LED nào trên bảng LED matrix được phép sáng Tại mỗi thời điểm chỉ có 1 cột LED đươc phép sang.Tín hiệu sau đó được đưa qua bộ giải mã cột dùng IC 74HC595- Ghi dịch 8bit vào nối tiếp ra song song
Để thực hiện được quét hàng và quét cột thì ma trận LED được thiết kế như sau: Các LED trên cùng một cột sẽ được nối các chân âm và các LED trên cùng một hàng sẽ được nối với các chan dương như hình vẽ
Ta có thể mô phỏng một ma trận Led đơn giản 4x4 như sau:
Trạng thái của một LED sẽ được quyết định bởi tín hiệu điện áp đi vào đồng thờ
i cả 2 chân Ví dụ để LED sáng thì điện áp 5V phải đưa vào chân dương và chân
âm phải được nối đất, LED sẽ tắt khi không có điện áp đưa vào chân dương Với đề tài này, sử dụng loại ma trận LED 8x8 để hiển thị
Ta có sơ đồ nguyên lý của Ma trận LED 8x8:
Trang 5Để ma trận có thể hiển thị chữ, ví dụ ADIDAS như sau:
Led thứ nhất Led thứ hai led thứ ba
Thực hiện quét dòng và cột:
-chọn cột 1, đưa điện áp cột 1 về 0
-sau đó chọn và quét lần lượt các hàng 1, 2, 3, 4, 5, 6, 7, 8 như sau:
Đèn 1 tắt điện áp đưa vào hàng là 0v
Trang 6Đèn 2 tắt điện áp đưa vào hàng là 0v
Đèn 3 sáng điện áp đưa vào hàng là 5v
Đèn 4sáng điện áp đưa vào hàng là 5v
Đèn 5 sáng điện áp đưa vào hàng là 5v
Đèn 6sáng điện áp đưa vào hàng là 5v
Đèn 7 sáng điện áp đưa vào hàng là 5v
Đèn 8 sáng điện áp đưa vào hàng là 5v
chọn cột 2 nối đất,sau đó quét lần lượt các hàng 1,2,3,4,5,6,7,8 như sau:
Đèn 1 tắt điện áp đưa vào hàng là 0v
Đèn 2 sáng điện áp đưa vào hàng là 5v
Đèn 3 tắt điện áp đưa vào hàng là 0v
Đèn 4 sáng điện áp đưa vào hàng là 5v
Đèn 5 tắt điện áp đưa vào hàng là 0v
Đèn 6 tắt điện áp đưa vào hàng là 0v
Đèn 7 tắt điện áp đưa vào hàng là 0v
Đèn 8 tắt điện áp đưa vào hàng là 0v
tiếp tục quét với các cột từ 3 đến 8 bằng cách như trên sau đó chuyển sang quét đèn led thứ hai và thứ ba một cách tương tự.để mắt người nhận biết được toàn
bộ hình ảnh của ma trận ta phải quét nhiều lần Do mắt người không phân biệt được sự thay đổi ảnh nếu ảnh đó được quét với tốc độ 24 hình/s khi đó thì ảnh sẽ chạy liên tục và không bị giật
Trang 73 SƠ ĐỒ MẠCH NGUYÊN LÝ
Sơ đồ nguyên lý mạch
Trang 84 SƠ ĐỒ MẠCH IN
Sơ đồ mạch in 2 lớp
Trang 105 PHẦN CỨNG
* Các linh kiện dử dụng trong mạch nguyên lý
- Chip AT89C51
- IC dịch 74HC595
- Điện trở 10K
- Tụ điện 33pF, 1uF
* Giới thiệu về các linh kiện dùng trong mạch
Chip AT89C51
Đây là nơi lưu giữ chương trình điều khiển chính và dữ liệu cho các mạch giải mã hàng và cột AT89C51 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao, công suất nguồntiêu thụ thấp và có 4Kbyte bộ nhớ ROM Flash xoá được/lập trình được Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao AT89C51 có các đặc trưng chuẩn sau: 4Kbyte Flash, 128 byte RAM, 32 đường xuất nhập, hai bộ định thời/đếm 16 bit, một cấu trúc ngắt hai mức ưu tiên và 5 nguyên nhân ngắt, một port nối tiếp song công, mạch tạo dao động và tạo xung Clock trên Chip Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, Port nối tiếp và hệ thống ngắt hoạt động
Mô tả các chân của IC 8951:
Vcc: Chân cung cấp điện
GND: Chân nối đất
Trang 11Port 0: Port 0 là port xuất nhập 8 bit 2 chiều cực D hở Port 0 còn được cấu hình làm bus địa chỉ (byte thấp) và làm bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chươngtrình ngoài Port 0 cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình
Port 1: Port 1 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong Khi các logic 1 được ghi lên các chân của port 1, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi làm nhiệm vụ là các port nhập, các chân của port 1 đang được kéo xuống mức thấpdo tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong
Port 2: Port 2 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong Khi các logic 1 được ghi lên các chân của port 2, các chân này được sử dụng như là các ngõ vào Khi làm nhiệm vụ port nhập, các chân của port 2 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trìnhngoài, và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit
Port 3: Là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong Khi các logic 1 được ghi lên các chân của port 3, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi làm nhiệm vụ port nhập, các chân của port 3 đang được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên
Trang 12trong Port 3 còn được sử dụng làm các chức năng khác của AT89C51.
Trang 13IC 74HC595
Chức năng của IC:
-Vào dữ liệu 8 bit
- Đầu ra 8 bit nối tiếp và 8 bit song song
- Thanh ghi lưu trữ với đầu ra 3 trạng thái
- Tần số dịch 100MHz
- Mô tả chân :
VCC và GND: Chân cấp nguồn cho IC.Điện áp nguồn cấp trong khoảng 2V-5,5V
Q0-Q7 : 8 đầu ra dữ liệu song song, chân Q7’ là chân dữ liệu nối tiếp
MR là chân Reset IC, tích cực mức thấp (0) Khi đưa ra mức 0 vào chân
IC này thì IC sẽ thực hiện Reset, tất cả đầu ra đều về 0
SHCP là chân nhận xung đòng hồ của thanh ghi dịch
STCP là chân nhận xung đòng hồ cho thanh ghi lưu trữ
OE: chân cho phép xuất dữ liệu ra, tích cực mức thấp Khi hoạt động chân này ở mức 0 Khi đưa chân OE lên mức 1 các đầu ra sẽ ở trạng thái trở kháng cao
Ds: là chân nhận dữ liệu nối tiếp
Trang 14Hoạt động của IC
Dữ liệu sau khi được đưa vào chân Ds của IC, bit dưc liệu đó sẽ được dịch với
sườn dương của xung nhịp, từ mức thấp-lên-cao( LOW-TO-HIGH) đưa tới chân SHCP, dữ liệu vào tại mỗi thanh ghi sẽ được đưa sang thanh ghi lưu trữ khi có một sườn dương của xung nhịp đi vào chân STCP Xung đồng hồ tại chân SHCP phải xuất hiện trước xung nhịp vào chân STCP Mỗi xung clock đưa vào chân SHCP tương ứng với một bit dữ liệu đưa vào tại chân Ds, 8 xung ứng với 8 bit
dữ liệu đưa vào, chúng ta lưu trong thanh ghi lưu trữ Khi một tín hiệu tích cực mức 0 đưa vào chân OE thì 8 bit dữ liệu này sẽ được đưa ra 8 đầu ra song song Khi có 8 bit dữ liệu tiếp theo được dịch vào thì 8 bit dữ liệu trước đó sẽ lần lượt được dịch ra nối tiếp nhau qua chân Q7’
Trong chế độ hoạt động bình thường của IC, các chân MR sẽ được nối với dương nguồn, chân OE sẽ nối với đất
Khi ghép nối các IC 74hc595 nối tiếp nhau thành mạng IC thì các chân SHCP và STCP cảu tất cả các IC sữ được nối chung với nhau và nối với nguồn xung nhịp, chân Ds của IC đầu sẽ nối với chân vào dữ liệu( từ các IC khác ) ,còn các IC sau
đó thì được mắc nối tiếp nhau, chân DS của ic này nối với chân Q7’ của IC trước đó
Trang 15
6 PHẦN MỀM
6.1 Lưu đồ thuật toán
6.2 Lập trình trên chip AT89C51
Code lập trình bằng ngôn ngữ C viết trên phần mềm Keil C:
// ****************BAI TAP LON VI XU LY **********************// // Nhom 11 Lop KT Thong Tin va Truyen Thong //
Trang 16#include <REGX52.H>
#include <string.h>
#include <font.h>
//Ten cua 3 chan Dieu Khien IC 74HC595
sbit SDA = P2^0; //Dau vao du lieu noi tiep
sbit SCL = P2^1; // Chan vao xung Clock
sbit STR = P2^2; // Chan chot du lieu
sfr DataPort = 0x90;
// -
// -
unsigned char *String_input=" Nguyen Van Tai Nong Van Quynh Pham Dang Tuyen Lop KT Thong Tin & Truyen Thong_K52 ";
// thay doi chu chay bat ky o day !!
unsigned int Pos=0,lengh_STR; //khai bao bien
unsigned char Tic=0;
#define With_of_font 6
void main ()
{
unsigned char Temp_code;
unsigned int j;
TMOD=0x01; // Dung Timer 0 che do 1
TH0=TL0=-100;
TR0=1;
ET0=1;
lengh_STR = strlen(String_input)*6; // Lay do dai chuoi ki tu
Trang 17EA=1;
while(1){
SDA=1;
for(j=Pos;j<32+Pos;j++ ){
Temp_code=code_Tab[ String_input[(j%lengh_STR)/With_of_font] -32][j%With_of_font]; //tim ma chu cua LED trong bang code
//thu tuc de xuat du lieu ra tu IC
STR=1;
DataPort = Temp_code; // xuat du lieu ra port cua IC
SDA=0;
}
}
}
void INT_Timer0()interrupt 1{ // ham ngat dieu khien toc do chay cua chu
tren man hinh
Tic++;
if(Tic==1){
Tic=0;
Pos++;
if(Pos>=lengh_STR)
Pos=0;
}
Trang 18}
// -end -//
Trang 197 KẾT QUẢ MÔ PHỎNG