ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ Thiết Kế Hệ Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy , thuyết minh ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy , bộ điều khiển lập trình Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy , Ngôn ngữ lập trình Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy , Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy
Phần I:Giới Thiệu Linh Kiện Sử Dụng
- Vi Xử Lí AT89C51
1. Các đặc điểm của hệ Vi Xử Lý 89C51 :
- Là IC có tích hợp trên đó hệ vi xử lý
- Có 40 chân.
- 4KB ROM trong , có thể ghi xoá được 1000 lần
- Dải tần số hoạt động từ 0MHz đến 24Mhz
- 128x8 bit RAM trong .
- 4 cổng vào ra 8 bit
- 2 bộ định thời 16 bit
- Có 6 nguyên nhân ngắt
- Có thể lập trình được qua cổng nối tiếp
- 210 bit được địa chỉ hoá
- Giao Tiếp nối tiếp
2. Cơ bản về cấu tạo của AT89C51:
- Cấu Tạo Chân của AT89C51 :
- GND(chân 20)
Chân nối với 0v
- potr 0(chân 32 – chân 29)
port 0 là port xuất nhập 8 bit hai chiều. Port 0 còn được cấu hình làm bus địa
chỉ( byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và
bộ nhớ chương trình ngoài. Port 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 ( các điện trở kéo lên
bên ngoài được cần đến trong khi kiểm tra chương trình).
- Port 1( chân 1- 8)
port 1 là port xuất nhập 8 bit hai chiều. Port1 cũng nhận byte địa chỉ thấp trong
thời gian lập trình cho Flash.
- Port 2 ( chân 21 – 28)
Port 2 là port xuất nhập 8 bit hai chiều. Port 2 tạo ra các byte cao của bus địa
chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoà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. Trong thời gian truy
xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 8 bit, port 2 phát các nội dung
của các thanh ghi đặc biệt, port 2 cũng nhận các bits địa chỉ cao và vài tín hiệu
điều khiển trong thời gian lập trình cho Flash và kiểm tra chương trình.
- Port 3 ( chân 10- 17)
Port 3 là port xuất nhập 8 bit hai chiều, port 3 cũng còn làm các chức năng
khác của AT89C51. các chức năng này được nêu như sau:
Chân |
Tên |
Chức năng |
P3.0 |
RxD |
Ngõ vào port nối tiếp |
P3.1 |
TxD |
Ngõ ra port nối tiếp |
P3.2 |
INT0 |
Ngõ vào ngắt ngoài 0 |
P3.3 |
INT1 |
Ngõ vào ngắt ngoài 1 |
P3.4 |
T0 |
Ngõ vào bên ngoài của bộ định thời 1 |
P3.5 |
T1 |
Ngõ vào bên ngoài của bộ định thời 0 |
P3.6 |
WR |
Điều khiển ghi bộ nhớ dữ liệu ngoài |
P3.7 |
RD |
Điều khiển đọc bộ nhớ dữ liệu ngoài |
Port 3 cũng nhận một vài tín hiêu điều khiển cho việc lập trình Flash và kiểm tra
chương trình.
- RST ( chân 9)
Ngõ vào reset. Mức cao trên chân này trong hai chu kỳ máy trong khi bộ dao động
đang hoạt động sẽ reset AT89C51
.
- ALE/PROG( chân 30)
ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi xuất bộ nhớ ngoài.
Chân này cũng làm ngõ vào chân lập trình (PROG) trong thời gian lạp trình cho
Flash.
Khi hoạt động bình thường xung ngõ ra luôn có tần số không đổi là 1/6 tần số của
mạch dao động, có thể được dùng cho các mục đích định thời bên ngoài.
Khi cần, hoạt động chân ALE có thể được vô hiệu hoá bằng cách set bit 0 của
thanh ghi chức năng đặc biệt có địa chỉ 8Eh. Khi bit này được set, ALE chỉ tích
cực trong thời gian thực hiện lệnh MOVX hoặc MOVC. Ngược lại chân này sẽ
được kéo lên cao. Việc set bit không cho phép hoạt động chôt byte thấp của địa chỉ
sẽ không có tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình
ngoài.
- PSEN(chân 29)
PSEN (program Store Enable) là xung điều khiển truy xuất chương trình ngoài. Khi
AT89C51 đang thực thi chương trình từ bộ nhớ chương trình ngoài, PSEN được kích
hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động PSEN sẽ bị bỏ qua mỗi khi truy
cập bộ nhớ dữ liệu ngoài.
- EA vpp(chân 31)
Là chân cho phép truy xuất bộ nhớ chương trình ngoài ( địa chỉ từ 0000h tới ffffh)
EA = 0 cho phép truy xuát bộ nhớ chương trình ngoài, ngược lại EA = 1 sẽ thực thi
chương trình bên trong chip
Tuy nhiên, lưu ý rằng nếu bít khoá 1 được lập trình EA được chốt bên trong khi reset
- XTAL1& XTAL2
Là hai ngõ vào ra của hai bộ khuyếch đại đảo của mạch dao động, được cấu hình để
dùng như một bộ tạo dao động trên chip
................................................
1.Khối nguồn :sử dụng nguồn máy tính để đảm bảo khả năng ổn định cao
2.Khối VDK 89C51 :bao gồm các linh kiện kèm với VDK như dao động TA ,tụ
,reset
3.Khối chọn chip :do 74LS139 đảm nhận ,nó sẽ nhận tín hiệu từ VDK để chọn 1
trong hai IC 74154 phục vụ cho giảI mã
4. Khối giải mã : gồm 2 IC 74154 giải nã địa chỉ 16 đầu ra sẽ chọn 1 tron 32 cột của
khối hiển thị để VDK xuất dữ liệu ra (hiên thị )
5 Khối hiển thi :gồm 4 ma trận 8*8 mức thành 8 hàng và 32 cột sẽ hiển thị chữ mà
ta muốn
6 .Khối khuếch đại : để đảm bảo cho đền sáng bình thường ,phải cung đủ dòng
cho nó ,dòng ra từ các chân của các IC ,VDK nói chung đều nhỏ vi vạy phải
khuếch đại chúng trước khi đưa qua đèn việc này đảm nhận bởi các Transitor
PHẦN 3:
SƠ ĐỒ NGUYÊN LÍ VÀ NGUYÊN LÍ HOẠT ĐỘNG :
I.Sơ đồ nguyên lí :
thực hiện bằng phần mềm Proteus :
..............................................
II. Mô tả nguyên lí hoạt động :
Tín hiệu chọn chip từ VDK đến 74139 được giảI mã sẽ chọn 1 trong hai Ic 74154
sau đó tín hiệu chọn cột được VDK đưa vào bốn đầu vào của 74154 , sẽ giảI mã để
chọn một cột trong 32 cột
Khi một cột đã được chọn ,dữ liệu từ cổng P0 đén các Bazơ của các đèn khuếch đại
ở đó dòn gđược khuch đại và ra ở Emitơ của đèn ,chảy qua đèn về đất (cột được chọn
Hiển thị động : như đã biết , khi có dòng chảy qua led sẽ sáng ,tùy theo vi trí các led
sáng phối hợp với nhau tạo thành hình ảnh chữ . Nhưng một htời điểm ta không thể
cho bao nhiêu led sáng cũng được vì :
+ Dòng cung rất tốn kém :mỗi led 10 mA có tất cả 32*8=256 led
thì cực đại cần 2,56 A
+Dòng quá lớn sẽ gây hỏng IC do mỗi IC chỉ cho phép dòng vào giới hạn
+phải dùng nhiều VDK phối hợp với nhau rất phức tạp
Mặt khác do đặc điểm thi giác của con người không thể phân biệt sự đứt đoạn của
hình ảnh nếu nó dược quét >= 24 lần /giây .Chính vì vậy việc hiển thị đồng loạt là đIề
không cần thiết ,thay vào đó các cột đèn sẽ luân phiên nhau nhận dữ liệu hiển thi ,và
như vậy việc sử dụng các chân của VDK và việc lập trình sẽ đon giản hơn
*Quá trình truy xuất dữ liệu ở 89C51 :