1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy

18 963 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 714 KB

Nội dung

• 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.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

KHOA ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO

BÀI TẬP VXL

GV Hướng Dẫn : Thầy Phạm Ngọc Nam

Nhóm Sinh viên: Trần Văn Thông

Nguyễn Thị Thanh Thuý Nguyễn Công Chiến Đào Xuân Vũ

Nguyễn Vũ

Lớp : ĐT09-K47

HÀ NỘI 11/2005

Trang 2

Chủ đề:

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

I 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:

Trang 3

Hình : Sơ đồ chân của 89C51

Hình2 : Sơ đồ khối của 89C51

Trang 4

3 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

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 5

Chân Tên Chức năng

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ẽ

Trang 6

đượ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

Trang 7

3 Tổ chức bộ nhớ của 89C51:

II.

Bộ phân kênh 74LS154

7F

RAM ĐA DỤNG

30

2F 7F 7E 7D 7C 7B 7A 79 78

2E 77 76 75 74 73 72 71 70

2D 6F 6E 6D 6C 6B 6A 69 68

2C 67 66 65 64 63 62 61 60

2B 5F 5E 5D 5C 5B 5A 59 58

2A 57 56 55 54 53 52 51 50

29 4F 4E 4D 4C 4B 4A 49 48

28 47 46 45 44 43 42 41 40

27 3F 3E 3D 3C 3B 3A 39 38

26 37 36 35 34 33 32 31 30

25 2F 2E 2D 2C 2B 2A 29 28

24 27 26 25 24 23 22 21 20

23 1F 1E 1D 1C 1B 1A 19 18

22 17 16 15 14 13 12 11 10

21 0F 0E 0D 0C 0B 0A 09 08

20 07 06 05 04 03 02 01 00

1F

BANK 3

18

17

BANK 2

10

0F

BANK 1

08

07

Bank thanh ghi 0 ( mặc định cho R0-R7)

00

CẤU TRÚC RAM NỘI

F0 F7 F6 F5 F4 F3 F2 F1 F0 E0 E7 E6 E5 E4 E3 E2 E1 E0 D0 D7 D6 6D 6C 6B 6A 69 68 B8 - - - BC BB B

A B9 B8 B0 B7 B6 B5 B4 B3 B2 B1 B0 A8 AF AE A

D

A C

A B

A A A9 A8 A0 A7 A6 A5 A4 A3 A2 A1 A0

99 Không có địa chỉ hóa từng bit

98 9F 9E 9D 9C 9B 9A 99 98

90 97 96 95 94 93 92 91 90 8D Không được địa chỉ hóa từng bit

8C Không được địa chỉ hóa từng bit 8B Không được địa chỉ hóa từng bit 8A Không được địa chỉ hóa từng bit

89 Không được địa chỉ hóa từng bit

88 8F 8

E 8D 8C 8B 8A 89 88

87 Không được địa chỉ hóa từng bit

83 Không được địa chỉ hóa từng bit

82 Không được địa chỉ hóa từng bit

81 Không được địa chỉ hóa từng bit

80 87 86 8

5

84 83 82 81 80

THANH GHI CHỨC NĂNG ĐẶC BIỆT

Trang 8

Là một bộ giải mã phân kênh tích cực mức thấp,

với bốn ngõ vào và 16 ngõ ra, sơ đồ sắp xếp chân

như trên hình top view

Dựa vào bốn bit đầu vào A,B,C,D đưa ra đầu ra

16 bit ở mức thấp

Mỗi khi có một đầu ra trong 16 đầu ra được

chọn thì chỉ có đầu ra được chọn ở mức thấp còn

cá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

Bảng sự thật :

Trang 10

IV Ma trận LED 1588AB :

Sử 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

Hiển thị

Trang 12

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

Trang 13

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 :

Trang 15

III 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

Code:

#include <sfr51.inc>

org 0h

MOV tmod,#01

MOV p2,#10100000B;dia chi bat dau cua chuoi tu ngoai cung ben phai

lap1:

MOV R7,#24;so lan quet chuoi

lap:

ACALL chuoi

MOV A,p2

SUBB A,#64

MOV p2,A

DJNZ R7,lap

DEC p2

CLR p2.7

LJMP lap1

Trang 16

MOV tl0,#09Bh ;nap gia tri can tre MOV th0,#0ffh

SETB tr0

here2:

JNB tf0,here2

CLR tr0

CLR tf0

RET

goi: ;dua du lieu tu ram ra cong P0

INC p2

MOV p0,R0

acall delay2

INC p2

MOV p0,R1

acall delay2

INC p2

MOV p0,R2

acall delay2

INC p2

MOV p0,R3

acall delay2

INC p2

MOV p0,R4

acall delay2

INC p2

MOV p0,R5

acall delay2

INC p2

MOV p0,R6

acall delay2

RET

napd:

MOV R0,#01001001B

MOV R1,#01111111B

MOV R2,#01111111B

MOV R3,#01001001B

MOV R4,#01100011B

MOV R5,#00111110B

MOV R6,#00011100B

RET

napi:

MOV R0,#01000100B

MOV R1,#01111101B

MOV R2,#01111101B

MOV R3,#01000000B

MOV R4,#00111000B

MOV R5,#01111110B

MOV R6,#11010101B

RET

nape:

MOV R0,#11010101B

Trang 17

MOV R1,#01011110B MOV R2,#00011000B MOV R3,#00000000B MOV R4,#01111100B MOV R5,#01111100B MOV R6,#00000100B RET

napn:

MOV R0,#00000100B MOV R1,#01111100B MOV R2,#01111000B MOV R3,#00000011B MOV R4,#01000001B MOV R5,#01111111B MOV R6,#01111111B RET

napt:

MOV R0,#01000001B MOV R1,#00000011B MOV R2,#00111100B MOV R3,#01111100B MOV R4,#01000101B MOV R5,#01000011B MOV R6,#01111100B RET

napu:

MOV R0,#01111100B MOV R1,#00000110B MOV R2,#00000000B MOV R3,#00000110B MOV R4,#01001111B MOV R5,#01001001B MOV R6,#00101001B RET

nap9:

MOV R0,#00111111B MOV R1,#00011110B MOV R2,#01000001B MOV R3,#01111111B MOV R4,#01111111B MOV R5,#00001000B MOV R6,#00011100B RET

napk:

MOV R0,#01110111B MOV R1,#01100011B MOV R2,#00011000B MOV R3,#00011100B MOV R4,#01010110B MOV R5,#01111111B MOV R6,#01111111B RET

nap4:

MOV R0,#01010000B MOV R1,#00000011B

Trang 18

MOV R2,#00000011B

MOV R3,#01110001B

MOV R4,#01111001B

MOV R5,#00001111B

MOV R6,#00000111B

RET

ACALL napd

ACALL goi

ACALL napi

ACALL goi

ACALL nape

ACALL goi

ACALL napn

ACALL goi

ACALL napt

ACALL goi

ACALL napu

ACALL goi

ACALL nap9

ACALL goi

ACALL napk

ACALL goi

ACALL nap4

ACALL goi

inc p2

mov p0,#0B

RET

END

Thờ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ã

Ngày đăng: 30/04/2013, 20:56

HÌNH ẢNH LIÊN QUAN

SƠ ĐỒ NGUYÊN LÍ VÀ NGUYÊN LÍ HOẠT ĐỘNG : - Thiết kế bảng quảng cáo, hiển thị một dòng chữ chạy
SƠ ĐỒ NGUYÊN LÍ VÀ NGUYÊN LÍ HOẠT ĐỘNG : (Trang 13)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w