BAOCAO_ THIET KE BANG QUANG CAO
Trang 1Trờng đại học bách khoa hà nội
Khoa Điện Tử Viễn Thông
Trang 2Chủ đề:
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
- 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:
Hình : Sơ đồ chân của 89C51
Trang 3Hình2 : Sơ đồ khối của 89C51
Trang 43 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:
Trang 5Chân Tên Chức năng
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)
Trang 6PSEN (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, nhng 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, lu ý 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
3 Tổ chức bộ nhớ của 89C51:
Trang 7Không được địa chỉ hóa từng bit8C Không được địa chỉ hóa từng bit8B Không được địa chỉ hóa từng bit8
A Không được địa chỉ hóa từng bit 89 Không được địa chỉ hóa từng bit88 8F8
8D 8C 8B 8A 898887 Không được địa chỉ hóa từng bit
83 Không được địa chỉ hóa từng bit82 Không được địa chỉ hóa từng bit81 Không được địa chỉ hóa từng bit80 87868
5 84 83 82 81 80
THANH GHI CHỨC NĂNG ĐẶC BIỆT
Trang 8các đầu ra khác đều đặt ở mức cao.
Dựa vào bảng chân lý dới đây ta có thể xác định đợc trạng thái đầu ra tại từng thời điểm, cụ thể ta có thể xem qua sơ đồ logic
Trang 9
III Giải mã địa chỉ 74LS139 :
Là vi mạch giải mã 16 chân , gồm hai khối giải mã riêng rẽ ,dùng 74139 sẽ có ít đầu vào hơn so với 74138 dới đây la sơ đồ chân linh kiện
Trang 10Sử dụng ma trận led 8x8 với các hàng cột đợc kết nối với nhau ,trong trừong hợp bài làm ,có bốn ma trận led đợc kết nối để tạo thành 8 hàng và 32 cột ma trận 1588AB là ma trận loại catot
Trang 11
Phần ii Sơ đồ khối và chức năng các khối
Nguồn
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
Hiển thị
Trang 12Tí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
Trang 13Hiể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ữ Nhng 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 :
Trang 15III Mã chơng trình :
*Mô tả chơng trình :chơng trình đợc thực hiện bằng phần mềm Reads51 các chữ mã hóa dựa trên bảng sau
cổng p2 quản lí việc chọn chip và dữ liệu đầu vào của 74154 ,cổng p0 quản lí việc xuất dữ liệu ,dữ liệu trớc khi đua ra đợc đẩy vào các thanh ram của bank 0
Trang 19Thời gian trễ của delay2:
0ffffh-0ff37h=200d khoảng trễ sẽ là 0 2ms
Để tạo chữ chạy ta chọn các bộ định thời để tạo trễ sao cho 1 chuỗi ( 50 cột: 10 kí tự ) được quét ít nhất 24 lần trong 1s sau đó trễ 1 rồi dịch sang vị trí tiếp (đặt thời gian quét 1 lần chuỗi là T1=1/ 24
Trong một lần quét chuỗi mỗi cột sẽ được quét trong T1/ ( 50x2 ) do giữa mỗi lần quét có một khoảng nghỉ
Như vậy khoảng trễ của một lần quét cột là 1/2400 khoảng 0 4ms ( 370 chu kì máy )
Một lần quét chuỗi khoảng 40ms ( 38000 chu kì máy )
Tuy nhiên khi tính đến trễ gây ra bởi bản thân các lệnh thì ta được kết quả như phần mã