1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Kỹ thuật >

CHƯƠNG II: HIỆN THỰC HÓA ĐỀ TÀI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (596.22 KB, 53 trang )


14



cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồm cả lệnh

nhân và lệnh chia.

AT89S52 là một vi điều khiển CMOS 8 bit hiệu năng cao, cơng suất

thấp với :

+ 8Kbyte EPROM có thể xóa và lập trình nhanh lên đến 10000

chu kỳ ghi/xóa.

+ 256 bytes RAM

+ Tần số hoạt động 0 Hz đến 33 Mhz

+ Sử dụng nguồn DC 4.0V – 5.5V

+ 3 bộ Timer/Couter 16 bit

+ 32 cổng vào ra….

AT89S52 có tất cả 40 chân. Trong số 40 chân có 32 chân dành cho 4

cổng P0, P1, P2 và P3, mỗi cổng có 8 chân. Các chân còn lại dành cho

nguồn Vcc,đất GND, các chân dao động XTAL1, XTAL2, RST khởi

động lại, cho phép chốt địa chỉ ALE, truy cập được địa chỉ ngoài EA,

cho phép cất chương trình PSEN.

AT89S52 được nâng cấp và phát triển dựa trên nền tảng của các vi

điều khiển trước đó( 89C51,89C52,89S51…) nên mọi câu lệnh,

chương trình chạy được trên các vi điều khiển trước cũng sẽ chạy được

trên 89S52. Ngồi ra các dòng 89S của Atmel có thêm một timer 2 và

khả năng nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi.

( các chân sử dụng nạp chương trình MOSI, MISO, SCK, RST)

b. Màn hình LCD 16x2



15



Mơ tả chân của LCD

Chân số

1

2

3

4



Ký hiệu

VSS

VCC

VEE

RS



I/O

I



5



R/W



I



6

7

8

9

10

11

12

13

14



E

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7



I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O



Chức năng

Đất ( GND)

Nguồn cung cấp (+5v)

Nguồn điều khiển tương phản

RS= 0: chọn thanh ghi lệnh

RS=1: chọn thanh ghi dữ liệu

R/W =0 : ghi dữ liệu vào LCD

R/W =1đọc từ LCD module

Tín hiệu cho phép

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit

Bus dữ liệu 8 bit



Mã lệnh LCD

16

Mã(Hexa)

1

2

4

6

5

7

8

A

C

E

F

10

14

18

1C

80

C0

38



Lệnh đến thanh ghi của LCD

Xóa màn hình hiển thị

Trở về đầu dòng

Giả con trỏ ( dịch con trỏ sang trái)

Tăng con trỏ (dịch con trỏ sang phải)

Dịch hiển thị sang phải

Dịch hiển thị sang trái

Tắt con trỏ, tắt hiển thị

Tắt hiển thị, bật con trỏ

Bật hiển thị, tắt con trỏ

Bật hiển thị ,nhấp nháy con trỏ

Tắt con trỏ, nhấp nháy con trỏ

Dịch vị trí con trỏ sang trái

Dịch vị trí con trỏ sang phải

Dịch toàn bộ hiển thị sang trái

Dịch toàn bộ hiển thị sang phải

Đưa con trỏ về đầu dòng thứ nhất

Đưa con trỏ về đầu dòng thứ hai

Hai dòng và ma trận 5 *7



c. Mạch tạo dao động

Gồm 1 thạch anh 12Mhz, 2 tụ C1 và C2 như nhau và có giá trị điện

dung 22pF. Sơ đồ ghép nối với AT89S52 như hình vẽ



d. Mạch RESET

Gồm 1 tụ C1 có giá trị 10uF, 1 điện trở R có giá trị 10K, và một nút

bấm.



17



2. Thiết kế phần cứng

a. Sơ đồ khối



Chức năng của từng khối :

- Khối nguồn : cung cấp nguồn DC 5V cho toàn bộ hệ thống hoạt

động

- Khối xử lý trung tâm : sử dụng chip AT89S52

Xử lý mọi cơng việc của hệ thống, đọc tín hiệu từ khối Reset, bàn

phím, đưa dữ liệu ra khối hiển thị.

Lưu trữ dữ liệu của hệ thống.

- Khối tạo dao động : tạo dao động cho IC AT89S52 hoạt động



18



- Khối Reset : Reset lại hệ thống về trạng thái ban đầu

- Khối bàn phím : thay đổi dữ liệu

- Khối hiển thị: hiện thị dữ liệu

b. Xây dựng phần mềm (chương trình nguồn)

Chương trình nguồn được viết bằng ngơn ngữ Assembly, là chương

trình điều khiển hoạt động của IC AT89S52.

Chương trình chi tiết được in cuối phục lục

c. Thiết kế và hiện thực hóa phần cứng

Sử dụng phần mềm Altium Designer để thiết kế phần cứng gồm có :

+ Thiết kế sơ đồ nguyên lý

+ Thiết kế mạch in

+ Dựng mơ hình 3D mạch thực trên máy tính



Sơ đồ nguyên lý :



19



Tác dụng và nguyên lý hoạt động của các khối trong sơ đồ nguyên lý:

+ Khối nguồn (POWER DC 5V) : Cung cấp nguồn một chiều 5V

cho toàn bộ mạch hoạt động.

+ Khối tạo dao động (DAO ĐỘNG 12 MHz) : tạo dao động có tần

số 12MHz đưa đến IC

+ Khối RESET ( RESET ) : Reset lại toàn bộ mạch trở về trạng thái

ban đầu. AT89S52 được reset bằng cách giữ chân RST ở mức cao

tối thiểu là 2 chu kỳ máy, khi mạch RESET được cấp nguồn, tụ

hóa 10uF được nạp và xả qua điện trở 10k xuống đất nên chân

RST của IC vẫn giữ mức thấp, khi nhấn phím RESET chân RST

đưa lên mức cao và IC được reset về trạng thái ban đầu.

+ Khối bàn phím ( PHÍM NHẤN ): thay đổi thời gian.

Các phím được nối với các chân tương ứng của IC chân 13 đến

chân 17. Bình thường các chân này đều ở mức tích cực cao, khi

được đưa xuống mức tích cực thấp thơng qua phím bấm thì sẽ

thực hiện chức năng như trong chương trình nguồn đã lập trình.

+ Khối xử lý trung tâm(VI ĐIỀU KHIỂN) : sử dụng vi điều khiển

AT89S52 điều khiển mọi hoạt động của mạch. Khi được cấp

nguồn IC sẽ hoạt động, nhận tín hiệu điều khiển từ khối bàn

phím, điều khiển hoạt động của LCD và đưa dữ liệu lên hiển thị

trên LCD qua cổng P0.

+ Khối hiển thị( LCD 16x2 ): hiển thị dữ liệu từ AT89S52 gửi đến.



20



Sơ đồ mạch in:



21



Cách sử dụng mạch thực tế:

Sau khi cấp nguồn, mạch sẽ hoạt động, sử dụng 5 phím nhấn

SELECT/NEXT, BACK, OK, UP, DOWN để thay đổi các giá trị

thời gian theo ý mình mong muốn.

Khi mạch đang hoạt động bình thường nếu phím SELECT/NEXT

chưa được nhấn thì các phím còn lại khơng có tác dụng khi nhấn.

Để bắt đầu quá trình thay đổi thời gian ta thực hiện như sau:

- Nhấn phím SLECT/NEXT khi đó sẽ vào chương trình thay đổi thời

gian, màn hình LCD ban đầu sẽ hiển thị giờ, phút, giây và giá trị giờ

sẽ nhấp nháy, nghĩa là giá trị giờ đang được chọn để thay đổi. Nhấn

phím UP để tăng giờ và phím DOWN để giảm giờ đi một đơn vị.

Nếu nhấn giữ phím UP hoặc DOWN thì giá trị tăng giảm nhanh

hơn.

Để thay đổi phút ta nhấn phím SLECT/NEXT một lần nữa lúc này

giá trị phút trên màn hình LCD sẽ nhấp nháy và ta cũng sử dụng 2

phím UP và DOWN để tăng hoặc giảm phút…

Muốn quay lại thay đổi giá trị giờ thì ta nhấn phím BACK khi này

giá trị giờ sẽ được chọn và nhấp nháy.

Cứ như vậy khi ta nhấn phím SELECT/NEXT thì từng giá trị được

chọn để thay đổi sẽ nhấp nháy và phím BACK để quay lại giá trị

được chọn lúc trước.

Sau khi hồn thành việc thay đổi thời gian, nhấn phím OK để xác

nhận kết thúc quá trình thay đổi thời gian.



3. Kết quả trên mạch mô phỏng và mạch thực tế

a. Kết quả mơ phỏng trên máy tính

Sử dụng phần mềm Protus để mơ phỏng:



22



Q trình mơ phỏng trên Protus đều đúng với lý thuyết, đảm bảo về

mặt thời gian và chức năng của đề tài yêu cầu.

b. Kết quả trên mạch thực tế

Mạch hoạt động ổn định đảm bảo đúng về lý thuyết, thời gian và

chức năng của đề tài yêu cầu.

c. So sánh giữa mô phỏng và thực tế

Mạch mô phỏng và mạch thực tế hoạt đông tương đối chính xác.

Mạch thực tế hoạt động đúng, chuẩn với thời gian thực, còn mạch mơ

phỏng hoạt động ổn định nhưng xử lý chậm hơn thời gian thực tế.

Sử dụng máy mơ phỏng Oscilloscope trong protus để kiểm tra q

trình tạo thời gian 1s trên mạch mô phỏng, kết quả cho ra thời gian tạo

được 1s tương đối chính xác. Như vậy có thể nói mạch thực tế và mơ

phỏng hoạt động không sai, nhưng do phần mềm nên mạch mô phỏng

hoạt động chậm hơn so với thời gian thực tế.



23



d. Ưu nhược điểm của thiết kế và hướng đi của đề tài

- Ưu điểm :

Đơn giản, dễ thực hiện, dễ sử dụng cũng như sửa chữa và

thay thế linh kiện.

- Nhược điểm :

Không giữ được thời gian thực khi cắt nguồn DC 5V.

- Hướng đi của đề tài:

Phát triển lên thành những ứng dụng liên quan đến thời gian

như : đồng hồ bấm giây, đồng hồ đếm ngược, đồng hồ hẹn giờ, lịch

van niên, âm lịch . . .



CHƯƠNG III: KẾT LUẬN

Qua đồ án môn học đã giúp chúng em nâng cao được về kỹ năng lập trình,

thiết kế, trình bày báo cáo, làm, sửa chữa và kiểm tra những vấn đề cơ bản trên



24



mạch thực tế. Cơ bản sử dụng thành thạo các phần mềm liên quan đến đề tài cần

sử dụng như :

-



Phần mềm viết chương trình nguồn : Notepad++

Phần mềm biên dịch chương trình : Keil uVision4

Phần mềm mô phỏng

: Protus

Phần mềm thiết kế phần cứng

: Altium Designer



Đối với đề tài : chúng em đã xây dựng được lưu đồ thuật tốn, chương trình

nguồn, hiển thị đồng hồ số lên màn hình LCD theo đúng yêu cầu của đề tài.

Bên cạnh những việc đã làm được thì vẫn còn một vài việc chưa làm cho đề tài

được tối ưu như : Khi mạch hoạt động bình thường, nếu ngắt nguồn DC 5V ra

khỏi mạch thì mạch khơng giữ được thời gian thực đang chạy.

Hướng phát triển tiếp theo của đề tài :

- Giải quyết vấn đề đang còn tồn tại.

- Xây dựng các ứng dụng có liên quan đến thời gian, có thể ứng dụng

được trong thực tế.



Phục lục

Chương trình nguồn:

;==================== PROGRAM ===========================

;============= KHAI BAO CAC CHAN TIN HIEU ===============

RS

EQU

P2.0 ; CHAN DK LCD

RW

EQU

P2.2 ; CHAN DK LCD

EN

EQU

P2.4 ; CHAN DK LCD

DATABUS

EQU

P0

; CHAN DL LCD

SELECT

EQU

P3.3 ; KICH HOAT NGAT NGOAI



Xem Thêm
Tải bản đầy đủ (.docx) (53 trang)

×