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

báo cáo mạch đếm giờ

43 325 0

Đ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 43
Dung lượng 1,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực tế trong quá trình thi thực hành hay thi vấn đáp, quá trình coi thi vàquản lý thời gian thi còn gặp nhiều khó khăn do đó để khắc phục cũng như cảitiến vấn dề này thi việc ứng dụng t

Trang 1

MỤC LỤC MỤC LỤC 1 A PHẦN MỞ ĐẦU 3 1 Đặt vấn đề 3 2 Phân tích đề tài 3 3 Phạm vi của đề tài và phương hướng mở rộng 3 B PHẦN NỘI DUNG 5 CHƯƠNG 1: KHẢO SÁT QUY TRÌNH THI THỰC HÀNH VÀ THI VẤN ĐÁP TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT - HẬU CẦN CAND 5 1.1 Khảo sát quy trình thi 5 1.1.1 Đối tượng điều tra 5 1.1.2 Thống kê mô tả đối tượng điều tra 5 a Khảo sát khoa điện tử viễn thông ( K3 ) 5 b Khảo sát khoa công nghệ thông tin ( K2 )5 c Khảo sát bộ môn tiếng anh ( B4 ) 6 d Khảo sát khoa mật mã và an ninh thông tin ( K1 ) 6 e Khảo sát khoa văn thư lưu trữ ( K4 ) 6 1.2 Kết quả khảo sát6 1.3 Xây dựng phương án 8 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 9 2.1 Sơ đồ tổng quát 9 2.1.1 Sơ đồ khối 9 2.1.2 Chức năng các khối 9 2.2 Các linh kiện sử dụng trong mạch 9 2.2.1 Giới thiệu về vi điều khiển AT89C52 9 a Sơ đồ khối của AT89C52 10

b Mô tả các chân 11

c Các chế độ đặc biệt 13

d Các bít khoá bộ nhớ chương trình 14

e Tóm tắt tập lệnh của AT89c51 15

Trang 2

2.2.2 Giới thiệu LCD 16 a Chức năng các chân của Module LCD 16x2 17

b Mã lệnh của LCD HD4480 19

c Các bit viết tắt trong mã lệnh 23

d Mã Hex LCD 23 CHƯƠNG 3: THIẾT KẾ MẠCH 25

3.1 Thuật toán 25

3.2 Sơ đồ chi tiết các khối 26

3.2.1 Khối nguồn26

3.2.2 Khối hiển thị LCD 27

3.2.3 Khối xử lý AT89C52 28

3.2.4 Khối thao tác 28

3.2.5 Khối chấp hành 29

3.3 Sơ đồ nguyên lý 29

4.1 Các phần mềm dùng trong đề tài 32

4.2 Chương trình cho vi điều khiển 32

D TÀI LIỆU THAM KHẢO 43

Trang 3

Hiện nay đã có rất nhiều ứng dụng khoa học được triển khai trong học tập vàgiảng dạy tuy nhiên còn nhiều hạn chế do hầu hết những thiết bị đã được triểnkhai hầu hết là các sản phẩm của thị trường chi phí cao và thiếu tính chủ độngtrong sửa chữa và lắp đặt triển khai Do đó thiết kế thiệt bị tính giờ phục vụ thithực hành trong các trường đại học là một ứng dụng thiết thực với chi phí thấphơn, đồng thời với vai trò là một trường kỹ thuật có sẵn linh kiện và các công cụthực hành, có thể chủ động trong chế tạo phục vụ nhu cầu lắp đặt và sử dụng Thực tế trong quá trình thi thực hành hay thi vấn đáp, quá trình coi thi vàquản lý thời gian thi còn gặp nhiều khó khăn do đó để khắc phục cũng như cảitiến vấn dề này thi việc ứng dụng thiết bị báo giờ tự động thông minh sẽ giảiquyết những vấn đề đặt ra và nâng cao chất lượng các cuộc thi.

- Thiết bị có khả năng chỉnh lại giờ

- Thiết bị có khả năng dừng tạm thời

Yêu cầu:

- Hệ thống làm việc ổn định

- Có khả năng đưa vào ứng dụng trong thực tế

Với thực tế bài toán này chúng ta phải thiết kế 3 thành phần cơ bản:

- Hệ thống điều khiển

- Màn hình hiển thị và đèn báo (chuông báo)

- Hệ thống bàn phím

3 Phạm vi của đề tài và phương hướng mở rộng

Do thời gian đề tài có hạn, kiến thức chuyên ngành và điều kiện cơ sở vật chất

phục vụ cho việc nghiên cứu còn hạn chế nên đề tài thiết kế thiết bị tính giờ phục

Trang 4

vụ thi thực hành và kiểm tra vấn đáp của chúng tôi chỉ nghiên cứu và phục vụcho các giờ kiểm tra thực hành và thi vấn đáp trong Trường Đại học Kỹ thuật -Hậu cần CAND

Phương hướng mở rộng của đề tài:

- Hiện tại, đề tài chỉ được nghiên cứu để áp dụng trong Trường Đại Học KỹThuật - Hậu Cần CAND Đề tài sẽ được nghiên cứu thêm để áp dụng cho tất cảcác trường đại học, cao đẳng, trung cấp có các môn thi vấn đáp và thực hànhtrong phạm vi cả nước

- Thiết kế Module điều chỉnh bằng quét phím ma trận hoặc giao tiếp bàn phímmáy tính có thể lập trình thời gian theo ý muốn của từng khoa, từng trường

- Xây dựng hệ thống đèn báo kèm theo chuông báo không dây sử dụng bộ thuphát sóng

Trang 5

B PHẦN NỘI DUNG

CHƯƠNG 1 KHẢO SÁT QUY TRÌNH THI THỰC HÀNH VÀ THI VẤN

ĐÁP TẠI TRƯỜNG ĐẠI HỌC KT - HC CAND.

1.1 Khảo sát quy trình thi

1.1.1 Đối tượng điều tra

Các học phần, các môn học của các khoa: K2( Khoa Công Nghệ ThôngTin), K3( Khoa Điện Tử Viên Thông), K1( Khoa Mật Mã Và An ninh ThôngTin), K4 ( Khoa Thư Lưu Trữ) và các bộ môn: B4( Bộ Môn Tiếng Anh)

1.1.2 Thống kê mô tả đối tượng điều tra

a Khảo sát khoa điện tử viễn thông ( K3 )

Khoa K3 tổ chức thi thực hành và vấn đáp các học phần: vật liệu và linh kiệnđiện tử, kỹ thuật vi xử lý, multimedia, hệ thống viễn thông, hệ thống thông tinquang, hệ thống bộ đàm, hệ thống thông tin di động… tại phòng thực hành tạinhà 301, 302, 303 nhà D

Quy trình thi do khoa K3 được tổ chức theo kế hoạch như sau:

Một phần thi kéo dài trong 30 Phút bao gồm:

- Phần bốc đề: Học viên bốc thăm hoặc giáo viên chấm thi lựa chọn ngẫu nhiên

1 trong số đề thi được đưa ra

- Phần chuẩn bị của học viên theo nội dung đề thi cho trước: thời gian 10 phút

- Phần trả lời câu hỏi( Thực hành hoặc trả lời theo yêu cầu của giáo viên chấmthi): thời gian 20 phút

- Kết thúc phần thi

b Khảo sát khoa công nghệ thông tin ( K2 )

Khoa K2 tổ chức thi thực hành với máy tính tại các phòng máy 402 nhàD6,402,403 nhà D4 gồm các học phần: hệ điều hành, thực tập cơ sở, lập trìnhweb, thiết kế và đánh giá hiệu năng mạng máy tính, bảo trì hệ thống máy tính…Một phần thi kéo dài trong 30 đến 40 phút tùy theo thi thực hành hoặc thi hếthọc phần bao gồm:

- Phần bốc đề của học viên

- Phần chuẩn bị của học viên: Thời gian 20 đến 30 phút

- Phần chấm điểm và đặt câu hỏi thêm của giáo viên chấm thi: Thời gian 10phút

(Lưu ý: Trong thời gian làm bài có thể xảy ra sự cố thì dừng thời gian làm bài đểsửa chữa máy tính bị lỗi )

Trang 6

- Kết thúc phần thi

c Khảo sát bộ môn bộ môn tiếng anh ( B4 )

Các học phần thi thực hành bao gồm: tiếng anh II, tiếng anh chuyên ngành I,tiếng anh chuyên ngành II

Một phần thi thực hành sẽ được tiến hành trong thời gian 35 phút bao gồm:

- Học viên bốc đề: Học viên bốc ngẫu nhiên trong số đề thi được đưa ra

- Học viên về vị trí chuẩn bị câu trả lời: thời gian 15 phút

- Giáo viên gọi học viên lên làm bài thi

- Học viên trả lời theo topic đã bốc( Giáo viên hỏi thêm câu hỏi theo topic củahọc viên đã bốc): Thời gian 20 phút

- Kết thúc bài thi

d Khảo sát khoa mật mã và an ninh thông tin ( K1 )

Các học phần thi thực hành: tin học văn phòng, máy mã thoại, vv

Một phần thi thực hành trên phòng mật mã bao gồm quy trình như sau:

- Giáo viên phát đề cho học viên

- Học viên làm bài theo yêu cầu của đề thi yêu cầu: Thời gian 20 phút

- Giáo viên chấm thi chấm bài trong thời gian học viên thục hành

- Kết thúc phần thi

e Khảo sát khoa văn thư lưu trữ ( K4 )

Khoa K4 tổ chức thi thực hành trên máy tính với các học phần: kỹ thuật soạnthảo văn bản trên máy tính, nghiệp vụ lưu trữ, quản trị văn phòng vv, tính thờigian theo quy trình như sau:

- Giáo viên phát đề cho từng học viên hoặc học viên bốc đề thi

- Học viên làm bài thi: thời gian kiểm tra là 20 phút, thời gian thi hết học phần

Ghi chú

Trang 7

bị có sự cố thí sinhtạm dừng thời gianthi.

Phần chuẩn bị 10 phútPhần làm bài thi 20 phútKết thúc bài thi

Trong thời gian thimáy tính bị lỗi họcviên dừng bài thi đểgiáo viên sửa lỗimáy, tiếp tục bài thisau khi máy hoạtđộng bình thườngtrở lại

Phần làm bài thi 20-30

phútPhần chấm thi và

trả lời câu hỏi thêmcủa giáo viên 10 phút

Học viên về vị tríchuẩn bị câu trả

Giáo viên gọi họcviên lên làm bàithi

Học viên trả lờitheo topic đã bốc(Trả lời câu hỏithêm của giáoviên)

20 phút

Giáo viên phát đềcho từng học viênhoặc học viên bốc

đ ề thi

Trang 8

Thời gian kiểm tra

là 20 phút, thời gianthi hết học phần là

30 phút

Học viên làm bàithi

20 phút

Học viên rời khỏi

vị trí làm bài, giáoviên chấm bài thi

20 phút

Trong quá trình thithiết bị gặp sự cốhọc viên tạm dừngphần thi, sau khi sửachữa, học viên tiếptục làm bài

Học viên làm bàitheo yêu cầu của

đề thi kết hợp giáoviên chấm bài thicủa học viên trongkhi làm bài

CHƯƠNG 2 THIẾT KẾ HỆ THỐNG 2.1 Sơ đồ tổng quát

2.1.1 Sơ đồ khối:

Khối nguồn Thông

báo

Trang 9

Hình 2.2.1: Sơ đồ khối

2.1.2 Chức năng các khối

- Khối nguồn: Cung cấp nguồn nuôi tất cả linh kiện trong mạch.

- Khối điều chỉnh: Chức năng của khối này là sử dụng ngắt của 89C52 để

yêu cầu việc điều chỉnh time theo ý của người sử dụng, cài đặt time ban đầu chođồng hồ Tác động bởi các phím bấm (BUTTON)

- Khối đèn báo: Khối này gồm có 1 LED, đèn sáng khi có mức điện áp thay

đổi liên tục ở chân ra của vi điều khiển

- Khối hiển thị: Khối này thực chất là LCD 16x2 để hiển thị time và các

thông tin mà lập trình viên cần hiển thị

- Khối xử lý (vi điều khiển AT89C52): Vi điều khiển 89C52 là trung tâm xử

lý các thông tin của mạch Cụ thể là :

AT89C52 đảm nhiệm việc đọc thời gian, chuyển đổi dữ liệu qua lại giữa RTCvới LCD để có thể hiển thị lên LCD

Điều khiển LCD

Kiểm tra phím bấm

Điều khiển đèn LED

2.2 Các linh kiện sử dụng trong mạch

2.2.1 Giới thiệu về AT89C52

AT89C52 là họ IC vi điều khiển do hãng Atmel sản xuất Các sản phẩmAT89C52 thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte và cáctoán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất

dữ liệu nhanh trên RAM nội Tập lệnh cung cấp một bảng tiện dụng của nhữnglệnh số học 8 bit gồm cả lệnh nhân và lệnh chia Nó cung cấp những hổ trợ mởrộng trên chip dùng cho những biến một bit như là kiểu dữ liệu riêng biệt chophép quản lý và kiểm tra bit trực tiếp trong hệ thống điều khiển

AT89C52 cung cấp những đặc tính chuẩn như: 8Kbyte bộ nhớ chỉ đọc cóthể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3 TIMER/

Trang 10

COUNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bánsong công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP

Các đặc điểm của chip AT89C52 được tóm tắt như sau:

- 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xoá

- Tần số hoạt động từ: 0Hz đến 24 MHz

- bộ Timer/counter 16 Bit

- 128 Byte RAM nội

- 4 Port xuất /nhập I/O 8 bit

- Giao tiếp nối tiếp

- 64 KB vùng nhớ mã ngoài

- 64 KB vùng nhớ dữ liệu ngoại

- 4 bit cho hoạt động nhân hoặc chia

a Sơ đồ khối của AT89C52

b Mô tả chân AT89C52

Sơ đồ chân AT89C52

Mặc dù các thành viên của họ 89C52 (ví dụ 8751, 89S52, 80C51, DS5000)đều có các kiểu đóng vỏ khác nhau, chẳn (Quad Flat Pakage) và dạng chip không

có chân đỡ LCC (Leadless Chip Carrier) thì chúng đều có 40 chân cho các chức

Trang 11

năng khác nhau như vào ra I/O, đọc RD giới hạn như hai hàng chân DIP (DualIn

- LinePakage), dạng vỏ dẹt vuông QPF, ghi WR, địa chỉ, dữ liệu và ngắt Cầnphải lưu ý một số hãng cung cấp một phiên bản 89C52 có 20 chân với số cổngvào ra ít hơn cho các ứng dụng yêu cầu thấp hơn Tuy nhiên vì hầu hết các nhàphát triển sử dụng chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta chỉ tậptrung mô tả phiên bản này

Hình 2.2.1.b1 Sơ đồ AT89C52

Chức năng của các chân AT 89C52

- Port 0: từ chân 32 đến chân 39 (P0.0 ÷ P0.7) Port 0 có 2 chức năng: trong

các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường

IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ vàbus dữ liệu

- Port 1: từ chân 1 đến chân 9 (P1.0 ÷ P1.7) Port 1 là port IO dùng cho giao

tiếp với thiết bị bên ngoài nếu cần

- Port 2: từ chân 21 đến chân 28 (P2.0 ÷ P2.7) Port 2 là một port có tác dụng

kép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với cácthiết bị dùng bộ nhớ mở rộng

- Port 3: từ chân 10 đến chân 17 (P3.0 ÷ P3.7) Port 3 là port có tác dụng kép.

Các chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệđến các đặc tính đặc biệt của AT89C52 như ở bảng sau:

P3.0 RXD Ngõ vào dữ liệu nối tiếp

P3.1 TXD Ngõ xuất dữ liệu nối tiếp

Trang 12

P3.2 INT0 Ngõ vào ngắt cứng thứ 0

P3.3 INT1 Ngõ vào ngắt cứng thứ 1

P3.6 WR Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

P3.7 RD Tín hiệu đọc bộ nhớ dữ liệu ngoài

- PSEN (Program store enable): PSEN là tín hiệu ngõ ra có tác dụng cho phép

đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE của Epromcho phép đọc các byte mã lệnh PSEN ở mức thấp trong thời gian AT89C52 lấylệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu, đượcchốt vào thanh ghi lệnh bên trong AT89C52 để giải mã lệnh Khi AT89C52 thihành chương trình trong ROM nội, PSEN ở mức cao

- ALE (Address Latch Enable): Khi AT89C52 truy xuất bộ nhớ bên ngoài, Port

0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đường dữ liệu và địachỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợpcác đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt Tín hiệu ở chân ALE

là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốtđịa chỉ hoàn toàn tự động

- EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên mức

1 hoặc mức 0 Nếu ở mức1, AT89C52 thi hành chương trình từ ROM nội Nếu ởmức 0, AT89C52 thi hành chương trình từ bộ nhớ mở rộng Chân EA được lấylàm chân cấp nguồn 21V khi lập trình cho Eprom trong AT89C52

- RST (Reset): Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy,

các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống.Khi cấp điện mạch phải tự động reset Các giá trị tụ và điện trở được chọn là:R1=10Ω, R2=220Ω, C=10 µF được mô tả trong hình 2.2.1-b2

Trang 13

Hình 2.2.1-b2 - Sơ đồ chân RST

- Các ngõ vào bộ dao động X1, X2: Bộ tạo dao động được tích hợp bên trong

89C52 Khi sử dụng 89C52, người ta chỉ cần nối thêm thạch anh và các tụ Tần

số thạch anh tùy thuộc vào mục đích của người sử dụng, giá trị tụ thường được chọn là 33p

Hình 2.2.1- b3 Ngõ vào bộ dao động

c Các chế độ đặc biệt

Chế độ nghỉ

Trong chế độ nghỉ, CPU tự đi vào trạng thái ngủ trong khi tất cả các ngoại

vi bên trong chip vẫn tích cực Chế độ này được điều khiển bởi phần mềm Nộidung của RAM trên chip và của tất cả các thanh ghi chức năng đặc biệt vẫnkhông đổi trong khi thời gian tồn tại chế độ này Chế độ nghỉ có thể được kếtthúc bởi một ngắt bất kỳ nào được phép hoặc bằng cách reset cứng

Ta cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi một reset cứng, chip viđiều khiển sẽ tiếp tục bình thường việc thực thi chương trình từ nơi chương trình

bị tạm dừng, trong vòng 2 chu kỳ máy trước khi giải thuật reset phần mềm nắmquyền điều khiển

Ở chế độ nghỉ, phần cứng trên chip cẫm truy xuất RAM nội nhưng cho

phép truy xuất các chân của các port Để tránh khả năng có một thao tác ghi không mong muốn đến một chân port khi chế độ nghỉ kết thúc bằng reset, lệnh

tiếp theo yêu cầu chế độ nghỉ không nên là lệnh ghi đến chân port hoặc đến bộnhớ ngoài

Chế độ nguồn giảm

Trong chế độ này, mạch dao động ngừng hoạt động và lệnh yêu cầu chế độnguồn giảm là lệnh sau cùng được thực thi RAM trên chip và các thanh ghichức năng đặc biệt vẫn duy trì các giá trị của chúng cho đến khi chế độ nguồngiảm kết thúc Chỉ có một cách ra khỏi chế độ nguồn giảm, đó là reset cứng

Trang 14

Việc reset sẽ xác định lại các thanh ghi chức năng đặc biệt nhưng không

làm thay đổi RAM trên chip Việc reset không nên xảy ra (chân reset ở mức tích

cực) trước khi Vcc được khôi phục lại mức điện áp bình thường và phải kéo dàitrạng thái tích cực của chân reset đủ lâu để cho phép mạch dao động hoạt độngtrở lại và đạt trạng thái ổn định

Trạng thái của các chân trong thời gian tồn tại chế độ nghỉ và chế độ nguồngiảm được cho trong bảng sau:

Chế độ

Bộ nhớ Chương trình

AL E

PSE N

PORT O

PORT 1

PORT 2

PORT 3

Nghỉ Bên trong 1 1 Dữ liệu Dữ liệu Dữ liệu Dữ liệuNghỉ Bên ngoài 1 1 Thả nổi Dữ liệu Dữ liệu Dữ liệuNguồn

và được chốt trong khi reset Nếu việc cấp nguồn cho chip không có công dụngreset, mạch chốt được khởi động bằng một giá trị ngẫu nhiên và giá trị này đượcduy trì cho đến khi có tác động reset Điều cần thiết là giá trị được chốt của phải phù hợp vơi mức logic hiện hành ở chân này

1 U U U Không có đặc trưng khóa chương trình

2 P U U Các lệnh MOVC được thực thi từ bộ nhớ

chương trình ngoài không được phép tìm nạplệnh từ bộ nhớ nội, được lấy mẫu và được

chốt khi reset, hơn nữa việc lập trình trên

Trang 15

ADD A,soure: cộng toán hạng vào A

SUBB A,soure: trừ bớt A bởi toán hạng nguồn

INC A: tăng giá trị A lên 1

DEC A: giảm A xuống 1

MUL AB: nhân A với B

DIV AB: chia A bởi B

DA ; hiệu đính

Nhóm lệnh logic

ANL A,soure : lệnh nhân logic

ORL A,soure : lệnh cộng logic

XRL A,soure : lệnh xor logic

RL A : quay trái

RR A : quay phải

CLR A : xóa A

Nhóm lệnh di chuyển dữ liệu:

MOV A,soure : di chuyển toán hạng nguồn đến đích

MOVC A,@A+DPTR: di chuyển từ bộ nhớ chương trình

MOVX A,@Ri: di chuyển từ bộ nhớ dữ liệu

Trang 16

PUSH direct: cất vào stack

POP direct: lấy ra stack

XCH A,soure : trao đổi các byte

XCHD A,@Ri: trao đổi các digit thấp

Nhóm lệnh rẽ nhánh:

ACALL addr: gọi chương trình con

RET: quay chương trình con

RETI: quay về từ chương trình phục vụ ngắt

Trang 17

0= thanh ghi lệnh1=thanh ghi dữ liệu

1=đọc từ LCD module

Các chân điều khiển việc đọc và ghi LCD bao gồm RS, R/W và EN

- RS (chân số 3): Chân lựa chọn thanh ghi (Select Register), chân này cho phép

lựa chọn 1 trong 2 thanh ghi IR hoặc DR để làm việc Vì cả 2 thanh ghi này đềuđược kết nối với các chân Data của LCD nên cần 1 bit để lựa chọn giữa chúng.Nếu RS=0, thanh ghi IR được chọn và nếu RS=1 thanh ghi DR được chọn.Chúng ta đều biết thanh ghi IR là thanh ghi chứa mã lệnh cho LCD, vì thế nếumuốn gởi 1 mã lệnh đến LCD thì chân RS phải được reset về 0 Ngược lại, khi

Trang 18

muốn ghi mã ASCII của ký tự cần hiển thị lên LCD thì chúng ta sẽ set RS=1 đểchọn thanh ghi DR Hoạt động của chân RS được mô tả trong hình 2.2.2.a

Hình 2.2.2a: Hoạt động của chân RS.

- R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi Nếu R/W=0 thì dữ liệu

sẽ được ghi từ bộ điều khiển ngoài (vi điều khiển AVR chẳng hạn) vào LCD.Nếu R/W = 1 thì dữ liệu sẽ được đọc từ LCD ra ngoài Tuy nhiên, chỉ có duynhất 1 trường hợp mà dữ liệu có thể đọc từ LCD ra, đó là đọc trạng thái LCD đểbiết LCD có đang bận hay không (cờ Busy Flag - BF) Do LCD là một thiết bịhoạt động tương đối chậm (so với vi điều khiển), vì thế một cờ BF được dùng đểbáo LCD đang bận, nếu BF=1 thì chúng ta phải chờ cho LCD xử lí xong nhiệm

vụ hiện tại, đến khi nào BF=0 một thao tác mới sẽ được gán cho LCD Vì thế,khi làm việc với Text LCD chúng ta nhất thiết phải có một chương trình con tạmgọi là wait_LCD để chờ cho đến khi LCD rảnh Có 2 cách để viết chương trìnhwait_LCD Cách 1 là đọc bit BF về kiểm tra và chờ BF=0, cách này đòi hỏi lệnhđọc từ LCD về bộ điều khiển ngoài, do đó chân R/W cần được nối với bộ điềukhiển ngoài Cách 2 là viết một hàm delay một khoảng thời gian cố định nào đó(tốt nhất là trên 1ms) Ưu điểm của cách 2 là sự đơn giản vì không cần đọc LCD,

do đó chân R/W không cần sử dụng và luôn được nối với GND Tuy nhiên,nhược điểm của cách 2 là khoảng thời gian delay cố định nếu quá lớn sẽ làmchậm quá trình thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị

- EN (chân số 5): Chân cho phép LCD hoạt động (Enable), chân này cần được

kết nối với bộ điều khiển để cho phép thao tác LCD Để đọc và ghi data từ LCDchúng ta cần tạo một “xung cạnh xuống” trên chân EN, nói theo cách khác,muốn ghi dữ liệu vào LCD trước hết cần đảm bảo rằng chân EN=0, tiếp đến xuất

dữ liệu đến các chân D0÷7, sau đó set chân EN lên 1 và cuối cùng là xóa EN về

0 để tạo 1 xung cạnh xuống

Để hiển thị chữ cái và con số, mã ASCII của các chữ cái từ A đến Z, a đến z vàcác con số từ 0 ÷ 9 được gửi tới các chân D0 ÷ D7 khi RS = 1 Các mã lệnhđược gửi tới LCD để xóa màn hình hoặc đưa con trỏ về đầu dòng…( được liệt kêtrên bảng trên) thông các chân D0 ÷ D7 Có thế sử dụng RS = 0 để kiểm tra bit

cờ bận xem LCD đã sẵn sàng nhận thông tin chưa Khi R/W = 1 và RS = 0: NếuD7 = 1 ( cờ bận bằng 1) - LCD đang bận các công việc bên trong và sẽ không

Trang 19

- Thanh ghi DR: Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAMDDRAM hoặc CGRAM ( ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAMnày gửi ra cho MPU (ở chế độ đọc)

- Cờ báo bận BF: (Busy Flag) Khi đang thực thi các hoạt động bên trong, LCD bỏqua mọi giao tiếp với bên ngoài và bật cờ BF( thông qua chân DB7 khi có thiết lậpRS=0, R/W=1) lên để cho biết nó đang “bận”

- Bộ đếm địa chỉ AC: (Address Counter) Khi một địa chỉ lệnh được nạp vào thanhghi IR, thông tin được nối trực tiếp cho 2 vùng RAM (việc chọn lựa vùng RAMtương tác đã được bao hàm trong mã lệnh) Sau khi ghi vào (đọc từ) RAM, bộ đếm

AC tự động tăng lên (giảm đi) 1 đơn vị Bộ nhớ LCD Vùng RAM hiển thịDDRAM: (Display Data RAM)

R S

R/

W

D B0

D B1

D B2

D B3

D B4

D B5

D B6

D B7

Xóa màn

hình

Xóa màn hình đưa con trỏ về

vị trí đầu

1.64ms

Đưa con

trỏ về vị

Đưa con trỏ về vị trí đầu 1.64ms

Trang 20

Thiết lập hướng dịch chuyển con trỏ(I/

D), dịch hiển thị(S)

bật tắt chế

độ nhấp nháy con trỏ

Trang 21

và địa chỉ của

CGRAM hoặc DDRAM(

tùy vào lệnh trướcđó)

- Định vị trí con trỏ cho DDRAM: di chuyển con trỏ đến một vị trí tùy ý trongDDRAM và vì thế có thể được dùng để chọn vị trí cần hiển thị trên LCD Đểthực hiện lệnh này cần reset RS=0 Bit MSB của mã lệnh (D7) phải bằng 1, 7 bitcòn lại của mã lệnh chính là địa chỉ DDRAM muốn di chuyển đến Ví dụ chúng

ta muốn di chuyển con trỏ đến vị trí thứ 3 trên dòng 2 của LCD (địa chỉ 42)chúng ta cần ghi mã lệnh 0xAA vì 0xAA=10101010 (binary) trong đó bit MSBbằng 1, bảy bit còn lại là 0101010 = 42 địa chỉ của ô nhớ muốn đến

- Ghi dữ liệu vào CGRAM hoặc DDRAM: vì đây không phải là lệnh ghiinstruction mà là 1 lệnh ghi dữ liệu nên chân RS cần được set lên 1 trước khi ghilệnh vào LCD Lệnh này cho phép ghi mã ASCII của một ký tự cần hiển thị vàothanh ghi DDRAM Trường hợp ghi vào CGRAM không được khảo sát

Ngày đăng: 20/06/2016, 10:48

HÌNH ẢNH LIÊN QUAN

2.1.1. Sơ đồ khối: - báo cáo   mạch đếm giờ
2.1.1. Sơ đồ khối: (Trang 7)
Hình 2.2.1-b2 - Sơ đồ chân RST - báo cáo   mạch đếm giờ
Hình 2.2.1 b2 - Sơ đồ chân RST (Trang 11)
Hình 2.2.2  Màn hình hiển thị LCD - báo cáo   mạch đếm giờ
Hình 2.2.2 Màn hình hiển thị LCD (Trang 15)
Hình 3.1: Sơ đồ thuật toán - báo cáo   mạch đếm giờ
Hình 3.1 Sơ đồ thuật toán (Trang 24)
Hình 3.2.1b.  Mạch nguồn ổn áp 7805 - báo cáo   mạch đếm giờ
Hình 3.2.1b. Mạch nguồn ổn áp 7805 (Trang 25)
Hình 3.2.2b  Khối hiển thị LCD - báo cáo   mạch đếm giờ
Hình 3.2.2b Khối hiển thị LCD (Trang 26)
Hình 3.2.5 Sơ đồ khối chấp hành - báo cáo   mạch đếm giờ
Hình 3.2.5 Sơ đồ khối chấp hành (Trang 28)
Hình 3.3. Sơ đồ nguyên lý - báo cáo   mạch đếm giờ
Hình 3.3. Sơ đồ nguyên lý (Trang 29)

TỪ KHÓA LIÊN QUAN

w