trƯỜng ĐẠi hỌc kỸ thuẬt cÔng...

60
ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA ĐIỆN TỬ Bộ môn: KỸ THUẬT MÁY TÍNH ĐỒ ÁN MÔN HỌC MÔN HỌC HỆ THỐNG NHÚNG Nhóm sinh viên : Chu Anh Nguyễn Trần Đức Hoàng Nguyễn Thị Nhung Lớp : K43ĐĐK Giáo viên hướng dẫn : Nguyễn Văn Huy Bộ môn Kỹ thuật máy tính 1

Upload: others

Post on 08-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

KHOA ĐIỆN TỬBộ môn: KỸ THUẬT MÁY TÍNH

ĐỒ ÁN MÔN HỌC

MÔN HỌC

HỆ THỐNG NHÚNG

Nhóm sinh viên : Chu Anh Nguyễn

Trần Đức Hoàng

Nguyễn Thị Nhung

Lớp : K43ĐĐK

Giáo viên hướng dẫn : Nguyễn Văn Huy

Thái Nguyên – 2011

Bộ môn Kỹ thuật máy tính 1

Page 2: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Nhận xét của giáo viên hướng dẫn

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

Thái Nguyên, Ngày Tháng Năm 20. . . Giáo Viên hướng dẫn (Ký ghi rõ họ tên)

Nhận xét của giáo viên chấm

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

................................................................................................................................................................................................................................

Thái Nguyên, Ngày Tháng Năm 20. . . Giáo Viên hướng dẫn (Ký ghi rõ họ tên)

LỜI MỞ ĐẦU

Bộ môn Kỹ thuật máy tính 2

Page 3: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

- Ngành điện tử ngày càng phát triển, đã dần thay thế các thiết bị thô sơ,

bằng các thiết bị điện tử có độ tự động rất cao, tiết kiệm công sức cho con người.

Hiện nay với sự phát triển của vi điều khiển thì chỉ cần động tác nhẹ nhàng các

thiết bị đã được điều khiển một cách nhanh chống

- Người ta thường nói: “Học đi đôi với hành, vì thế để tạo nền tảng, tăng

thêm hiểu biết cũng như đi vào thực tế em đã lựa chọn đề tài “Chuông Báo Tiết

Học”.

- Trong quá trình thực hiện đề tài này, chúng em đã rất cố gắng,

nhưng có lẽ do vốn kiến thức cũng như những nguyên nhân chủ quan khác mà đề

tài chắc chắn sẽ không tránh khỏi thiếu sót. Chúng em rất mong sự đóng góp ý

kiến, phê bình và hướng dẫn thêm của thầy cô và các bạn đọc.

Sinh viên thực hiện

Chu Anh Nguyễn

Trần Đức Hoàng

Nguyễn Thị Nhung

Bộ môn Kỹ thuật máy tính 3

Page 4: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

MỤC LỤC

MỤC LỤC........................................................................................................Trang

A. PHẦN MỞ ĐẦU...............................................................................................6

1. Đặt vấn đề....................................................................................................6

2. lý do chọn đề tài...........................................................................................6

3. giới hạn của đề tài.......................................................................................6

3. 1. Phân tích.................................................................................................6

3. 2. Xây dựng phương án.............................................................................7

3. 3. Phạm vi của đồ án và phương hướng mở rộng...................................7

B. PHẦN NỘI DUNG...........................................................................................8

CHƯƠNG I : SƠ ĐỒ KHỐI..................................................................................8

1. Sơ đồ tổng quát............................................................................................8

2. Chức năng các khối.....................................................................................8

2. 1 Khối nguồn................................................................................................8

2. 2. Chức năng của khối RTC......................................................................8

2. 3. Chức năng của khối điều chỉnh.............................................................9

2. 4. Khối âm thanh........................................................................................9

2. 5. Khối hiển thị...........................................................................................9

2. 6. khối xử lý (vi điều khiển 89c51)............................................................9

CHƯƠNG II: THIẾT KẾ HỆ THỐNG..............................................................10

1. Sơ đồ callgraph..........................................................................................10

2. Sơ đồ đặc tả................................................................................................11

3. các linh kiện sử dụng trong mạch............................................................11

3. 1 giới thiệu cấu trúc của vi điều khiển MCS-51.....................................11

3. 1. 1. Mô tả các chân..............................................................................14

3. 1. 2 Các chế độ đặc biệt.........................................................................17

3. 1. 3 Các bít khoá bộ nhớ chương trình................................................19

3. 1. 4 . Tóm tắt tập lệnh của AT89c51....................................................20

3. 2. Tìm hiểu IC thời gian thực DS1307....................................................20

Bộ môn Kỹ thuật máy tính 4

Page 5: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

3. 2. 1 Giới thiệu chung về DS1307..........................................................21

3. 2. 2 Cơ chế hoạt động và chức năng của DS1307...............................21

3. 2. 3 Sơ đồ địa chỉ RAM và RTC...........................................................24

3. 3 Giới thiệu LCD.......................................................................................25

3. 3. 1 Chức năng các chân của Module LCD 16x2................................26

3. 3. 2 các bit viết tắt trong mã lệnh.........................................................37

3. 3. 3 Mã Hex LCD..................................................................................30

CHƯƠNG III : THIẾT KẾ MẠCH...................................................................31

1. Sơ đồ nguyên lý.........................................................................................31

2. Khối nguồn.................................................................................................32

3. Khối hiển thị LCD.....................................................................................32

4. Khối xử lý AT89C51.................................................................................33

5. Khối thời gian thực...................................................................................34

6. khối thao tác.............................................................................................35

7. Khối chấp hành.........................................................................................35

8. Sơ đồ thuật toán........................................................................................36

Chương IV :Thi công mạch..................................................................................37

1. Sơ đồ mạch in............................................................................................37

2. Sơ đồ bố trí linh kiện.................................................................................37

Chương V : Thiết kế phần mềm.........................................................................38

1. Các phần mềm dùng trông đồ án............................................................38

2. Chương trình cho vi điều khiển...............................................................38

C. KẾT LUẬN.....................................................................................................40

1. Kết luận......................................................................................................40

2. Tài liệu tham khảo....................................................................................40

Bộ môn Kỹ thuật máy tính 5

Page 6: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

A. PHẦN MỞ ĐẦU

1.Đặt vấn đề

- Hiện nay với sự phát triển của vi điều khiển. Các hệ thống cần thiết đều

được hoạt động một cách tự động. Đơn giản như hệ thống chuông hẹn giờ, hệ

thống báo động, báo giờ trường học, báo giờ công sở...

Vấn đề báo tiết học là vấn đề cần thiết ở bất cứ trường học nào, giúp thầy cô điều

chỉnh được thời gian dạy học của mình. Sẽ mất thời gian khi ta phải canh thời gian

cho tiết học. Chính vì thế chúng em thiết kế mạch chuông báo tiết học tự động cho

các trường học

2. Lý do chọn đề tài

- Đây là vấn đề thực tế, được ứng dụng nhiều trong các trường học.

Nhằm để củng cố kiến tức lập trình vi xử lý vừa mới học và rèn luyện khả

học hỏi nên em đã chọn đề tài này

3. Giới hạn của đề tài

3.1. Phân tích

- Trước tiên chúng ta phải xác định rõ mục đích và yêu cầu của bài toán

Mục đích:

- Hệ thống báo chuông tại các thời điểm vào, ra của tiết học của trường.

+ Hệ thống có khả năng chỉnh lại giờ.

+ Thời gian kéo dài chuông vào tiết và nghỉ giải lao là khác nhau.

+ Hệ thống chuông được dùng đi dây điện đồng bộ 220V

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ế 2 thành phần cơ bản:

-Hệ thống điều khiển và đồng hồ số

-Mạch đi dây và chuông báo

Bộ môn Kỹ thuật máy tính 6

Page 7: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

3.2. Xây dựng phương án

- Sau khi nghiên cứu thực tế các thời điểm vào ra của các tiết học trường

học, chúng ta có những nhận xét sau.

- Mỗi ngày có 2 buổi học mỗi buổi kéo dài 6 tiết. Thời gian của mỗi tiết là

45 phút. Thời gian nghỉ giải lao là 5 phút. Sau tiết thứ 3 của mỗi buổi nghỉ giải lao

10 phút từ đó ta xây dựng được thời khóa biểu như sau:

Tiết Vào Ra Tiết Vào Ra

1 6h45 7h30 7 12h30 13h15

2 7h35 8h20 8 13h20 14h05

3 8h25 9h10 9 14h10 14h55

4 9h20 10h05 10 15h05 15h50

5 10h10 10h55 11 15h55 16h40

6 11h00 11h45 12 16h45 17h30

- Thời gian báo:

+ Thời gian báo là 10 giây đối với những tiết bắt đầu, ra tiết thứ 3 vào tiết

thứ tư của mỗi buổi, kết thúc của mỗi buổi

+ Còn lại thời gian báo cho các thời điểm khác là 5 giây

- Cách báo: sử dụng chuông điện 220V

- Phạm vi báo: Tất cả khu vực trong trường bằng cách xây dựng hệ thống

chuông đến từng khu nhà, từng giảng đường.

3.3. Phạm vi của đồ án và phương hướng mở rộng

- Vì đồ án môn học nên chúng em mới chỉ xây dựng mô phỏng và thiết kế hệ

thống trong phạm vi hẹp. cố định một thời khóa biểu

- Phương hướng mở rộng đồ án môn học thành đồ án tốt nghiệp:

+ Thiết kế hệ thống chuông báo cho thời khóa biểu 2 mùa mùa đông

và mùa hè. Trong đó giờ mùa hè buổi sáng vào sớm hơn 15 phút, buổi chiều vào

Bộ môn Kỹ thuật máy tính 7

Page 8: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

muộn hơn 30 phút so với giờ mùa đông và thêm thời kháo biểu buổi tối cho các

trường học theo hệ thống tín chỉ.

+ 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ím máy tính có thể lập trình thời khóa biểu theo ý muốn và giờ giấc của

từng trường cũng như nơi làm việc

+ Xây dựng Hệ thống chuông báo không dây sử dụng bộ thu phát

sóng

B. PHẦN NỘI DUNG

CHƯƠNG I : SƠ ĐỒ KHỐI

1. Sơ đồ tổng quát

-Sơ đồ khối tổng quát

Hình 1: Sơ đồ khối tổng quát

2. Chức năng các khối

2. 1 Khối nguồn

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

2. 2. Chức năng của khối RTC

- Khối này thực chất là một chíp thời gian thực (Real Time Clock), được

sử dụng với ý nghĩa thời gian tuyệt đối mà con người đang sử dụng. Nó có pin cấp

riêng, như vậy nếu như mất nguồn điện thì RTC vẫn có thể hoạt động bình thường

và chính xác theo thời gian đã được thiết lập ban đầu. Trong sơ đồ này nó sẽ đảm

Bộ môn Kỹ thuật máy tính 8

Vi XỬ LÝAT89C51

Hiển ThịLCD 16x2

Nút nhấn

Thời Gian ThựcDS1307

Khối nguồnalam

Page 9: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

nhiệm chức năng cấp time chính xác cho vi điều khiển xử lý các công việc mà

người sử dụng yêu cầu.

2. 3. Chức năng của khối điều chỉnh

-Chức năng của khối này là sử dụng ngắt của 89c51 để 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ồ thời gian

thực RTC. Tác động bởi các phím bấm (BUTTON).

2. 4. Khối âm thanh

-Khối này gồm có transistor thông dòng cho loa kêu khi có mức điện áp

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

2. 5. 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ị .

2. 6. khối xử lý (vi điều khiển 89c51)

-Vi điều khiển 89C51 là trung tâm xử lý các thông tin của mạch.

Cụ thể là :

AT89C51 đảm nhiệm việc đọc thời gian từ DS1307,

chuyển đổi dữ liệu qua lại giữa RTC với LCD để có thể hiển

thị lên LCD, đồng thời cập nhật time từ DS1307

Điều khiển LCD

Kiểm tra phím bấm

Điều khiển loa

- Nói tóm lại là, VĐK làm nhiệm vụ đọc time trên DS1307 sau đó nó

kiểm tra xem ngắt được tác động hay không? nếu có thì điều chỉnh time, hiển thị

time lên LCD, kiểm tra xem giờ hiện tại có bằng giờ báo chuông hay không? nếu

có thì gọi chương trình điều khiển chuông kêu !

Bộ môn Kỹ thuật máy tính 9

Page 10: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

CHƯƠNG II: THIẾT KẾ HỆ THỐNG

1. Sơ đồ callgraph

Hình 2: Sơ đồ Callgraph

2. Sơ đồ đặc tả

Bộ môn Kỹ thuật máy tính 10

Chương Trình Điều Khiển

Module Xử Lý Điều Chỉnh

Module xử lý chương trình

Nút Ấn Chấp Hành Hiển Thị

Page 11: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Hình 3: Sơ đồ Đặc tả

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

3. 1 Giới thiệu cấu trúc của vi điều khiển MCS-51

-Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương

tự như nhau. Ở đây giới thiệu IC8951 là một họ IC vi điều khiển do hãng Intel của

Mỹ sản xuất. Chúng có các đặc điểm chung như sau:

+ 4K Bytes Flash rom

+ 128 Bytes Ram

+ 4 port 8 bit

+ 2 bộ định thời 16 bit

+ Có port nối tiếp

+ Có thể mở rộng bộ nhớ chương trình ngoài 64 K Byte

+ Bộ xử lý bit

- AT89C51 là một bộ vi xử lý 8 bit, loại CMOS, có tốc độ cao và công suất

thấp với bộ nhớ Flash có thể lập trình được. Nó được sản xuất với công nghệ bộ

nhớ không bay hơi mật độ cao của hãng Atmel, và tương thích với họ MCS-51TM

về chân ra và tập lệnh.

Bộ môn Kỹ thuật máy tính 11

KIỂM TRA THỜI GIAN

Hiển ThịBật/Tắt Chuông

Điều ChỉnhKiểm Tra thời gian

thực

Gửi dữ liệu

Điều khiển

Tác động

Gửi thông tin

Gửi thông tin

Page 12: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

- AT89C51 có các đặc trưng cơ bản như sau: 4 K byte Flash, 128 byte

RAM, 32 đường xuất nhập, hai bộ định thời/đếm 16-bit, một cấu trúc ngắt hai

mức ưu tiên và 5 nguyên nhân ngắt, một port nối tiếp song công, mạch dao động

và tạo xung clock trên chip.

- AT89C51 được thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống

0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm. Chế độ

nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp

và hệ thống ngắt tiếp tục hoạt động.

- Chế độ nguồn giảm duy trì nội dung của RAM

nhưng không cho mạch dao động cung cấp xung clock

nhằm vô hiệu hoá các hoạt động khác của chip cho đến

khi có reset cứng tiếp theo.

Hình 4: Hình dạng IC AT89C51

Bộ môn Kỹ thuật máy tính 12

U1

AT89C51

9

1819

202930

31

40

12345678

2122232425262728

1011121314151617

3938373635343332

RST

XTAL2XTAL1

GNDPSEN

ALE/PROGEA/VPP

VCC

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P2.0/A8P2.1/A9

P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INT0P3.3/INT1

P3.4/T0P3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

Page 13: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Hình 5: Sơ đồ khối của AT89C51

Bộ môn Kỹ thuật máy tính 13

Page 14: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

3. 1. 1. Mô tả các chân

Hình 6: Sơ đồ các chân

Như vậy AT89C51 có tất cả 40 chân với các chức năng như sau:

- Vcc (40)

Chân cung cấp điện (5V)

- GND (20)

Chân nối đất (0V)

- Port 0 (32-39:

Bộ môn Kỹ thuật máy tính 14

Page 15: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

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 0 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(1-8): Port 1 là port xuất nhập 8-bit hai chiều. Port 1 cũng nhận byte

địa chỉ thấp trong thời gian lập trình cho Flash.

- Port 2 (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 thanh ghi chức năng đặc biệt P2. Port 2 cũng nhận các bít đị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 (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 liệt kê 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 Ngõ vào ngắt ngoài 0

P3. 3 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 Điều khiển ghi bộ nhớ dữ liệu ngoài

P3. 7 Đ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 (9)

Bộ môn Kỹ thuật máy tính 15

Page 16: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Ngõ vào reset. Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao

động đang hoat động sẽ reset AT89C51.

Hình 7: Mạch reset tác động bằng tay và tự động reset khi khởi động máy

- ALE/ (30)

ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy xuất bộ

nhớ ngoài. Chân này cũng làm ngõ vào xung lập trình ( ) trong thời gian lập

trình cho Flash.

Khi hoạt động bình thường, xung ngõ ra ALE 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ụch đích định thời từ

bên ngoài vµ tạo xung clock. Tuy nhiên, lưu ý là một xung ALE sẽ bị bỏ qua trong

mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngoài.

Khi cần, hoạt động 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 gan 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.

- (29) : (Program Store Enable) là xung điều khiển truy xuất bộ

nhớ chương trình ngoài. Khi AT89C52 đang thực thi chương trình từ bộ nhớ

chương trình ngoài, được kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt

động sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài.

- /Vpp (31): (External Access Enable) là chân cho phép truy xuất bộ

nhớ chương trình ngoài (bắt đầu từ địa chỉ từ 0000H đến FFFFH).

Bộ môn Kỹ thuật máy tính 16

RST

Page 17: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

= 0 cho phép truy xuất bộ nhớ chương trình ngoài, ngỵc l¹i =1 sẽ thực

thi chương trình bên trong chip

Tuy nhiên, lưu ý rằng nếu bit khoá 1 (lock-bit 1) được lập trình, sẽ được

chốt bên trong khi reset.

Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash

(khi đó ®iƯn áp lập trình 12V được chọn).

- XTAL1 và XTAL2

XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại đảo của mạch

dao động, được cấu hình để dùng như một bộ dao động trên chip.

Hình 8: Xung clock

Không có yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngoài do

tín hiệu này phải qua một flip-flop chia hai trước khi đến mạch tạo xung clock bên

trong, tuy nhiên các chi tiết kỹ thuật về thời gian mức thấp và mức cao, điện áp

cực tiểu và cực đại cần phải được xem xét.

3. 1. 2 Các chế độ đặc biệt

3. 1. 2. 1Chế độ nghỉ

1. 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ội dung của RAM trên chip và của tất cả các thanh ghi chức năng đặc biệt

Bộ môn Kỹ thuật máy tính 17

Page 18: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

vẫn không đổi trong khi thời gian tồn tại chế độ này. Chế độ nghỉ có thể

được kết thúc bởi một ngắt bất kỳ nào được phép hoặc bằng cách reset

cứng.

2. 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 mềm nẵm quyền điều khiển.

3. Ở 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.

3. 1. 2. 2 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 ghi chức

năng đặc biệt vẫn duy trì các giá trị của chúng cho đến khi chế độ nguồn giảm kết

thúc. Chỉ có một cách ra khỏi chế độ nguồn giảm, đó là reset cứng. 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ài trạng thái tích cực của chân

reset đủ lâu để cho phép mạch dao động hoạt động trở 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ỉ va chế độ nguồn

giảm được cho trong bảng sau:

Chế độ

Bộ nhớ

Chương

trình

ALE PSENPORT

OPORT 1 PORT 2 PORT 3

Nghỉ Bên trong 1 1 Dữ liệu Dữ liệu Dữ liệu Dữ liệu

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

Bộ môn Kỹ thuật máy tính 18

Page 19: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Nguồn

giảm

Bên trong 0 0 Dữ liệu Dữ liệu Dữ liệu Dữ liệu

Bên ngoài 0 0 Thả nổi Dữ liệu Dữ liệu Dữ liệu

3. 1. 3 Các bít khoá bộ nhớ chương trình

- Trên chip có ba bit khoá, các bít này có thể không cho phép lập trình hoặc

cho phép lập trình, các bit này cho ta thêm một số đặc trưng nữa của AT89C51

như sau. Khi bit khoá 1 LB1 được lập trình, mức logic ở chân được lấy

mẫu và được chốt trong khi reset. Nếu việc cấp nguồn cho chip không có

công dụng reset, mạch chốt được khởi động bằng một giá trị ngẫu nhiên và giá

trị này được duy 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.

Các bit khóa chương trình Loại bảo vệ

Chế

độ

LB1 LB2 LB3

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ạp lệ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 Flash bị cấm

3 P P U Như chế độ 2, cấm thêm việc kiểm tra chương

trình

4 P P P Như chế độ 3, cấm thêm việc thực thi chương

trình ngoài

3. 1. 4 . Tóm tắt tập lệnh của AT89c51- Tập lệnh Mcs-51 có 255 lệnh gồm 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte.

3. 1. 4. 1 Các chế độ định địa chỉ:

Địa chỉ thanh ghi, Địa chỉ trực tiếp, Địa chỉ gián tiếp, Địa chỉ tức thời, Địa chỉ

tương đối, Địa chỉ tuyệt đối, Địa chỉ dài

Bộ môn Kỹ thuật máy tính 19

Page 20: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

3. 1. 4. 2 Các nhóm lệnh của Mcs-C51:

Nhóm lệnh số học:

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

PUSH direct; cất vào stack

POP direc; 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

JMP addr; lệnh nhảy

CJNE A, direct, rel; so sánh và nhảy

Bộ môn Kỹ thuật máy tính 20

Page 21: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

3. 2. Tìm hiểu IC thời gian thực DS1307

3. 2. 1 Giới thiệu chung về DS1307

-IC thời gian thực là họ vi điều khiển của hãng dalat

DS1307 có một số đặc trưng cơ bản sau

  - DS1307 là IC thời gian thực với nguồn cung cấp nhỏ dùng để cập nhật thời

gian và ngày tháng

- SRAM: 56bytes

-Địa chỉ và dữ liệu được truyền nối tiệp qua 2 đường bus 2 chiều

- DS1307 có môt mạch cảm biến điện áp dùng để dò các điện áp lỗi và tự

động đóng ngắt với nguồn pin cung cấp 3v

+ DS1307 có 7 byte dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1 byte điểu

khiển, và 56 byte lưu trữ (dành cho người sủ dụng)

+ Khi xử lý dữ liệu từ DS1307, họ đã tự chuyển cho ta về dạng số

BCD, ví dụ như ta đọc đựoc dữ liệu từ địa chỉ 0x04 (tương ứng với Day- ngày

trong tháng) và tại 0x05 (tháng) là 0x15, 0x11 như thế có nghĩa là lúc đó là ngày

15-11 chứ ko phải là ngày 21 tháng 17

+ Lưu ý đến vai trò của chân SQW/OUT. Đây là chân cho xung ra

của DS1307 có 4 chế độ 1Hz, 4. 096HZ, 8. 192Hz, 32. 768Hz... các chế độ này

đuợc quy định bởi các bít của thanh ghi Control Register (địa chỉ 0x07)

+ Địa chỉ của DS1307là 0xD0

- Cơ chế hoạt động: DS1307 hoạt động với vai trò slave trên đường bus nối

tiếp. Việc truy cập được thi hành với chỉ thị start và một mã thiết bị nhất định

Bộ môn Kỹ thuật máy tính 21

Page 22: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

được cung cấp bởi địa chỉ các thanh ghi. tiếp theo đó các thanh ghi sẽ được truy

cập liên tụcđến khi chỉ thị stop đươc thực thi

3. 2. 2 Cơ chế hoạt động và chức năng của DS1307

- Vcc: nối với nguồn

- X1, X2: nối với thạch anh 32, 768 kHz

- Vbat: đầu vào pin 3V

- GND: đất

- SDA: chuỗi data

- SCL: dãy xung clock

- SQW/OUT: xung vuông/đầu ra driver

Hình 9: Sơ đồ DS1307

•  DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cập nhật thời

gian và ngày tháng với 56 bytes SRAM. Địa chỉ và dữ liệu được truyền nối tiếp

Bộ môn Kỹ thuật máy tính 22

Page 23: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

qua 2 đường bus 2 chiều. Nó cung cấp thông tin về giờ, phút, giây, thứ, ngày,

tháng, năm. Ngày cuối tháng sẽ tự động được điều chỉnh với các tháng nhỏ hơn 31

ngày, bao gồm cả việc tự động nhảy năm. Đồng hồ có thể hoạt động ở dạng 24h

hoặc 12h với chỉ thị AM/PM. DS1307 có một mạch cảm biến điện áp dùng để dò

các điện áp lỗi và tự động đóng ngắt với nguồn pin cung cấp.

•  DS 1307 hoạt động với vai trò slave trên đường bus nối tiếp. Việc truy cập được

thi hành với chỉ thị START và một mã thiết bị nhất định được cung cấp bởi địa chỉ

các thanh ghi. Tiếp theo đó các thanh ghi sẽ được truy cập liên tục đến khi chỉ thị

STOP được thực thi.

Sơ đồ khối của DS1307:

Hình 10:Mô tả hoạt động của các chân:

Bộ môn Kỹ thuật máy tính 23

Page 24: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

•  Vcc, GND: nguồn một chiều được cung cấp tới các chân này. Vcc là đầu vào

5V. Khi 5V được cung cấp thì thiết bị có thể truy cập hoàn chỉnh và dữ liệu có thể

đọc và viết.

Khi pin 3 V được nối tới thiết bị này và Vcc nhỏ hơn 1, 25Vbat thì quá trình đọc

và viết không được thực thi, tuy nhiên chức năng timekeeping không bị ảnh

hưởng bởi điện áp vào thấp. Khi Vcc nhỏ hơn Vbat thì RAM và timekeeper sẽ

được ngắt tới nguồn cung cấp trong (thường là nguồn 1 chiều 3V)

•  Vbat: Đầu vào pin cho bất kỳ một chuẩn pin 3V . Điện áp pin phải được giữ

trong khoảng từ 2, 5 đến 3V để đảm bảo cho sự hoạt động của thiết bị.

•  SCL (serial clock input): SCL được sử dụng để đồng bộ sự chuyển dữ liệu trên

đường dây nối tiếp.

•  SDA (serial data input/out): là chân vào ra cho 2 đường dây nối tiếp. Chân SDA

thiết kế theo kiểu cực máng hở, đòi hỏi phải có một điện trở kéo trong khi hoạt

động.

•  SQW/OUT (square wave/output driver)- khi được kích hoạt thì bit SQWE được

thiết lập 1 chân SQW/OUT phát đi 1 trong 4 tần số (1Hz, 4kHz, 8kHz, 32kHz).

Chân này cũng được thiết kế theo kiểu cực máng hở vì vậy nó cũng cần có

một điện trở kéo trong. Chân này sẽ hoạt động khi cả Vcc và Vbat được

cấp.

•  X1, X2: được nối với một thạch anh tần số 32, 768kHz. Là một mạch tạo

dao động ngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF

Bộ môn Kỹ thuật máy tính 24

Page 25: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

•  Cũng có DS1307 với bộ tạo dao động trong tần số 32, 768kHz, với cấu

hình này thì chân X1 sẽ được nối vào tín hiệu dao động trong còn chân X2

thì để hở

3. 2. 3 Sơ đồ địa chỉ RAM và RTC

•  Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte

thanh ghi thích hợp. Thời gian và ngày tháng được thiết lập cũng thông qua

các byte thanh ghi này bằng cách viết vào đó những giá trị thích hợp. Nội

dung của các thanh ghi dưới dạng mã BCD (binary coded decreaseimal).

Bit 7 của thanh ghi seconds là bit clock halt (CH), khi bit này được thiết lập

1 thì dao động disable, khi nó được xoá về 0 thì dao động được enable.

Bộ môn Kỹ thuật máy tính 25

Page 26: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Chú ý l: enable dao động trong suốt quá trình cấu hình thiết lập (CH=0).

Thanh ghi. thời gian thực được mô tả như sau:

•  DS1307 có thể chạy ở chế độ 24h cũng như 12h. Bit thứ 6 của thanh ghi

hours là bit chọn chế độ 24h hoặc 12h. khi bit này ở mức cao thì chế độ 12h

được chọn. ở chế độ 12h thì bit 5 là bit AM/PM với mức cao là là PM. Ở

chế độ 24h thì bit 5 là bit chỉ 20h (từ 20h đến 23h).

3. 3 Giới thiệu LCD

-LCD được giới thiệu ở đây 14 chân (hình dưới). Chức năng các chân được

cho trong bảng dưới:

Bộ môn Kỹ thuật máy tính 26

Page 27: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

3. 3. 1 Chức năng các chân của Module LCD 16x2

Chân

số

hiệu

Mức

logic

I/O Chức năng

1 Vss - - Nguồn cung cấp (GND)

2 Vdd - - Nguồn cung cấp (+5V)

3 Vee - I Điện áp để điều chỉnh độ tương phản

4 RS 0/1 I Lựa chọn thanh ghi

0= thanh ghi lệnh

1=thanh ghi dữ liệu

5 R/W 0/1 I 0=ghi vào LCD module

1=đọc từ LCD module

6 E 1, 1=>0 I Tín hiệu cho phép

7 DB1 0/1 I/O Data bus line 0 (LSB)

8 DB2 0/1 I/O Data bus line1

9 DB3 0/1 I/O Data bus line2

10 DB4 0/1 I/O Data bus line3

11 DB5 0/1 I/O Data bus line4

12 DB6 0/1 I/O Data bus line5

13 DB7 0/1 I/O Data bus line6

14 DB8 0/1 I/O Data bus line7 (MSB)

15 Vcc - - Nguồn cung cấp

16 GND - - mass

Bộ môn Kỹ thuật máy tính 27

Page 28: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

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ếu muốn gởi

1 mã lệnh đến LCD thì chân RS phải được reset về 0. Ngược lại, khi 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 5.

Hình 11: 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ó duy nhấ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ạm gọi là

wait_LCD để chờ cho đến khi LCD rảnh. Có 2 cách để viết chương trình

wait_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ều

Bộ môn Kỹ thuật máy tính 28

Page 29: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

khiể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àm chậm quá

trình thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị. Trong bài này tôi hướng dẫn

bạn cách tổng quát là cách 1, để sử dụng cách 2 bạn chỉ cần một thay đổi nhỏ trong

chương trình wait_LCD (sẽ trình bày chi tiết sau) và kết nối chân R/W của LCD

xuống GND.

       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ừ LCD

chú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ếu D7 = 1 (cờ bận bằng 1) c nghĩa

LCD đang bận các công việc bên trong và sẽ không nhận thông tin, nếu D7 = 0 sẵn

sàng nhận thông tin mới. Trong mọi trường hợp cần kiểm tra cờ bận trước khi ghi

bất kì dữ liệu nào lên LCD.

Các thanh ghi

-Thanh ghi IR: Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng.

Chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR.

Bộ môn Kỹ thuật máy tính 29

Page 30: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Ví dụ:

Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110

- Thanh ghi DR: Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng

RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng

RAM nà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ập RS=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

thanh ghi IR, thông tin được nối trực tiếp cho 2 vùng RAM (việc chọn lựa vùng

RAM tươ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)

3. 3. 2 Các bit viết tắt trong mã lệnh

Tên bit Mô tả

I/D 0=không dịch chuyển vị

trí con trỏ

1=dịch chuyển vị trí con trỏ

S =0 không dịch chuyển

hiển thị

=1 dịch chuyển hiển thị

D 0=tắt hiển thị =1 bật hiển thị

C 0=tắt con trỏ =1 bật con trỏ

B 0=con trỏ không nhấp

nháy

=1 con trỏ nhấp nháy

S/C 0=di chuyển con trỏ =1 dịch chuyển hiển thị

R/L 0= dịch trái =1 dịch phải

DL 0=chế độ 4bit dữ liệu =1 chế độ 8bit dữ liệu

N 0=1 dòng 1= 2 dòng

Bộ môn Kỹ thuật máy tính 30

Page 31: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

F 0= font 5x7 1= font 5x10

BF 0= không bận 1= đang bận

3. 3. 3 Mã Hex LCD

*Module này không chiếm khối Digital, để chọn module này ta chỉ cần click

chọn trong mục Misc Digital

Module LCD được nối tới Port 2.

Các hàm API:

Bộ môn Kỹ thuật máy tính 31

Page 32: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

void LCD_Start(void); void LCD_Init(void); void LCD_Position(BYTE bRow,

BYTE bCol); void LCD_PrString(CHAR * sRamString);

void LCD_PrCString(const char * sRomString);

void LCD_PrHexByte(BYTE bValue); void LCD_PrHexInt(INT iValue);

CHƯƠNG III : THIẾT KẾ MẠCH

1. Sơ đồ nguyên lý

-sơ đồ nguyên lý cụ thể như sau:

Bộ môn Kỹ thuật máy tính 32

Page 33: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

XTAL218

XTAL119

ALE30

EA31

PSEN29

RST9

P0.0/AD0 39

P0.1/AD1 38

P0.2/AD2 37

P0.3/AD3 36

P0.4/AD4 35

P0.5/AD5 34

P0.6/AD6 33

P0.7/AD7 32

P2.7/A15 28

P2.0/A8 21

P2.1/A9 22

P2.2/A10 23

P2.3/A11 24

P2.4/A12 25

P2.5/A13 26

P2.6/A14 27

P1.01

P1.12

P1.23

P1.34

P1.45

P1.56

P1.67

P1.78

P3.0/RXD 10

P3.1/TXD 11

P3.2/INT0 12

P3.3/INT1 13

P3.4/T0 14

P3.7/RD 17P3.6/WR 16P3.5/T1 15

U1

80C51

VBAT3

X1 1

X2 2

SCL6

SDA5

SOUT7

U2

DS1307

49%+5VDC

D7

14D

613

D5

12D

411

D3

10D

29

D1

8D

07

E6

RW5

RS

4

VSS

1

VD

D2

VEE

3

+5VDC

2 3 4 5 6 7 81

R1(2)V=0.0199005

R1

10

B1

12V

DE TAI : THIET KE MACH CHUONG BAO LOP HOC

KHOI TAO DAO DONG

GIAO TIEP PHIM BAM

INC

_KEY

TIM

E_K

EY

DEC

_KEY

SPEAKER

KHOI HIEN THI

RL112V

LS1SPEAKER

+220V

Q1BC547

+12V

Chu ANh Nguyen

Tran Duc Hoang

Nguyen Thi Nhung

Nhom SV :

D1DIODE

Bộ môn Kỹ thuật máy tính 33

Page 34: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

- Khi đã đảm bảo cấp nguồn cho các mạch ổn định, mạch sẽ hoạt đông

như sau:

Ban đầu khi khởi động nó sẽ thực hiện việc đọc dữ liêu treeb DS1307 và hiển thị

ngày giờ hiện tại lên LCD.

Kế tiếp nếu có ngắt gọi đến tức tác động vào phím KEY_TIME để điều chỉnh thời

gian (Tăng-INC_KEY button, Giảm-DEC_KEY button) cho RTC, khi đó vi điều

khiển sẽ điều khiển việc tăng hay giảm time (ngày, tháng, năm, thứ, giờ, phút),

theo ý muốn của người sử dụng bằng cách nhấn phím INC_KEY hoặc phím

DEC_KEY. Set xong thì LCD sẽ trở về màn hình lúc trước và hiển thị thời gian

theo time đa cài đặt và hoạt động.

- Trong quá trình time hiện tại được hiển thị trên LCD mà ta thấy thì vi

điều khiển luôn thực hiển kiểm tra (lặp lại việc kiểm tra) time hiện tại xem xem có

trùng với mốc thời gian vào tiết học hay kết thúc tiết học hay không? Nếu có, thì

nhảy tới chương trình báo chuông và đổ chuông báo, thời gian chuông dài hay

ngắn có thể thay đổi trên code, là do người lập trình thiết lập, thiết lập mốc thời

gian theo ý muốn. Tức là, cứ thỏa mãn điều kiện time hiện tại bằng với time hẹn

trước sẽ có chuông reo.

- Sau khi đã thiết kế sơ đồ khối của từng khối chúng ta bắt đầu đi thiết kế sơ

đồ nguyên lý cho từng khối như sau:

2. Khối nguồn

- Nguồn cung cấp cho toàn mạch là +5v dc. Do đó mạch nguồn chỉ cần sử

dụng vi mạch ổn áp 7805 với dòng 0. 5 A. Mạch được thiết kế như sau

Bộ môn Kỹ thuật máy tính 34

Page 35: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

C 11 0 0 u F

D 1

L E D p o we r

- +

D 2

d io d e c a u

V C C

U 4

L M 7 8 0 5

1

2

3V I N

GN

D V O U T

J 1

c o n n e c t o r

123

S 2

c o n g t a c

R 22 2 0

- Đối Với role ta sử dụng nguồn nuôi riêng 12 V. Có thể điều chế theo nhiều

cách khác nhau.

- Đối vớ chuông ta sử dụng nguồn 220 mắc riêng rẽ

* Chi chú ý nguồn nuôi cho mạch điều khiển cần giữ sự ổn định vì vậy ta sử

dụng ổn áp LM7805 cho nó.

3. Khối hiển thị LCD

- LCD 16x2 và giao tiếp với vi điều khiển:

VEE của LCD được nối với biến trở và nguồn 5V để diều chỉnh độ sáng của

LCD

- Hiển thị time 1 ngày của RTC lên LCD

+ 3 chân điều khiển (RS, RW, E )

+ Đường dữ liệu D0 đến D7

+ Chân điều khiển độ sáng tối của LCD chân VEE ta sử dụng 1 biến trở để

điều chỉnh thích hợp

Bộ môn Kỹ thuật máy tính 35

Page 36: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn HuyU 3L C D

VS

S1

VD

D2

VE

E3

RS

4

RW

5

E6

D0

7

D1

8

D2

9

D3

10

D4

11

D5

12

D6

13

D7

14

A15

K165 v R 7

R E S I S TO R V A R R 85 v

Bộ môn Kỹ thuật máy tính 36

Page 37: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

4. Khối xử lý AT89C51

- Sử dụng ic số là một bất lợi cho quá trình thiết kế từ việc thiết kế, kết nối

cho tới chọn linh kiện và khắc phục nhiễu.

Một lựa chọn để khắc phục nhược điễm của ic số là dùng bộ vi điều khiển

AT89C51 với dòng điện tiêu thụ thấp và có thể lập trình được. Vi điều khiển sử

dụng thạnh anh dao động la 12Mhz. Nút ấn kết hợp với tụ C để thực hiện reset

Bộ môn Kỹ thuật máy tính 37

Page 38: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Y 1

C R Y S TA L

LO

R 1

C 2

C A PC 3

0

C 1

C A P

1 4

2 3

U 1

A T8 9 C 5 1

9

1 81 9

2 93 0

3 1

12345678

2 12 22 32 42 52 62 72 8

1 01 11 21 31 41 51 61 7

3 93 83 73 63 53 43 33 2

R S T

XTA L 2XTA L 1

P S E NA L E / P R O G

E A / V P P

P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7

P 2 . 0 / A 8P 2 . 1 / A 9

P 2 . 2 / A 1 0P 2 . 3 / A 1 1P 2 . 4 / A 1 2P 2 . 5 / A 1 3P 2 . 6 / A 1 4P 2 . 7 / A 1 5

P 3 . 0 / R XDP 3 . 1 / TXD

P 3 . 2 / IN T0P 3 . 3 / IN T1

P 3 . 4 / T0P 3 . 5 / T1

P 3 . 6 / W RP 3 . 7 / R D

P 0 . 0 / A D 0P 0 . 1 / A D 1P 0 . 2 / A D 2P 0 . 3 / A D 3P 0 . 4 / A D 4P 0 . 5 / A D 5P 0 . 6 / A D 6P 0 . 7 / A D 7

5. Khối thời gian thực

-Ta chọn ic DS 1307 vì đây là ic chạy thời gian thực, có độ chính xác rất

cao, và đặt biệt là dữ liệu thời gian củng không bị mất khi chúng ta bi mất nguồn

hoặc cúp điện. Nên đồng hồ ta chạy vẫn chính xác ngay cả khi mất điện. Được

nuôi bằng nguồn nuôi pin 3V

Bộ môn Kỹ thuật máy tính 38

Page 39: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Y 1

U 5 D S 1 3 0 7

4

G N D7S Q W / O U T

S D A5

X11

X22

S C L6

V B A T3

V C C8

R 5R 4

5 v

B T13 V

6. khối thao tác

-Sử dụng nút nhấn để tạo tín hiệu vào để điều chỉnh thời gian. Nút nhấn

được kết nối vối module giao tiếp để tiết kiệm chân và dơn giản khi thực hiện, và 1

chân nút nhấn treo xuống mass để tạo sự thay đổi tín hiệu khi nhấn nút.

t a n g

m e n um e n u

g ia md e c _ k e y

in c _ k e y

7. Khối chấp hành

- Có nhiều phương án để điều khiển cơ cấu chấp hành, ở đây chúng ta sử

dụng Transistor A1015 để điều khiển relay 12V/10A . Điện trở R =10K để phân

cực và hạn dòng cho Transistor

Bộ môn Kỹ thuật máy tính 39

Page 40: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

- Diode 2N4148 dùng để bảo vệ Transistor khi trong mạch xuất hiện áp

ngược từ cuộn dây sinh ra. Relay dùng để điều khiển chuông điện

Bộ môn Kỹ thuật máy tính 40

Page 41: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

8. Sơ đồ thuật toán

Hình 12: Sơ đồ thuật toán

Bộ môn Kỹ thuật máy tính 41

Tác Động Phím Bám

Set phút

Set giờ

Set ngay, tháng, năm, thứ

Up =?

Tăng ô nhớ lên 1

Đặt gt cho RTC

Down=?

Giảm gt ô nhớ 1

Đặt gt cho RTC

Đổ Chuông

Bắt Đầu

Lấy data từ RTC

Hiển thị lên LCD

Kiểm tra time =time đổ chuông

No

yes

yes

No

YesNo

Yes

Yes

No

Page 42: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Chương IV :Thi công mạch

1. Sơ đồ mạch in

2. Sơ đồ bố trí linh kiện

Bộ môn Kỹ thuật máy tính 42

Page 43: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Chương V : Thiết kế phần mềm

1. Các phần mềm dùng trong đồ án

Lap_trinh_Pic_CCS PCWH v4. 023

Keil 4

Proterus 7. 7 SP2

ORCAD 10. 5

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

#include "ports. h"

#include "lcd. h"

#include "rtc. h"

/*===================================================*/

/*= DE TAI : Thiet ke he thong chuong bao lop hoc =*/

/*= GVHD : Thay Nguyen Van Huy =*/

Bộ môn Kỹ thuật máy tính 43

Page 44: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

/*= Nhóm Thuc Hien : =*/

/*= 1. Chu Anh Nguyen =*/

/*= 2. Tran Duc Hoang =*/

/*= 3. Nguyen Thi Nhung =*/

/*=-------------------------------------------------=*/

/*===================================================*/

/*=======Khai bao bien ========*/

bit flag=0, aon=0, aoff=0;

void main()

{

alarm_port=0;

LCD_INI(); //khoi tao cho LCD

rtc_check();//kiêm tra RTC

disp_intro();//hien thi time len LCD

ENABLE_INT//cho phep ngat

wrt_cmd(0x1);//xoa man hinh LCD

wrt_cmd(0x1);

start_rtc();//dieu kien START cho RTC

send_adr(0xd0);//dia chi ghi cho RTC

send_adr(0x00);//gui dia chi bat dau

start_rtc();

send_adr(0xd1);//gui dia chi doc RTC

recv_data();//nhan du lieu tu vi dieu khien

while(1)

{

start_rtc();

send_adr(0xd0);

Bộ môn Kỹ thuật máy tính 44

Page 45: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

send_adr(0x00);

start_rtc();

send_adr(0xd1);

recv_data();

disp_rtc();

if(_testbit_(flag)) //kiem tra co ngat

{

DISABLE_INT //cam ngat

rtc_set(); //goi chuong trinh set cho rtc

ENABLE_INT //cho phep ngat

flag=0; //xoa co ngat

}

aon=1;//dieu kien de luon so sanh time hen voi time hien tai

if(aon)

check_alarm(); // kiem tra

if(aoff) //bao chuong

ring_alarm();

}

}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

****chuong trinh phuc vu ngat ngoai 0 ****

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

void set_flag() interrupt 0 //chuong trinh ngat cho rtc_set

{

flag=1;

}

/*========== THE END ================*/

C. KẾT LUẬN

1. Kết luận

Bộ môn Kỹ thuật máy tính 45

Page 46: TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆPi.vietnamdoc.net/data/file/2015/Thang07/09/chuong_bao_tu... · Web view• DS1307 là một IC thời gian thực với nguồn cung

ĐAMH Hệ Thống Nhúng GVHD Nguyễn Văn Huy

Chúng em đã cố gắng hoàn thành đề tài đúng thời gian quy định. Trong đề tài,

em đã thực hiện được những công việc sau:

- Giới thiệu và phân tích sơ đồ khối

- Giới thiệu họ vi điều khiển MCS-51 và IC DS 1307

- Thiết kế và thi công mạch

Mặc dù đã có nhiều cố gắng trong quá trình thực hiện đồ án nhưng không đạt

được kết quả như mong muốn. Vì vậy với kiến thức vừa học em xin cố gắn tìm

nguyên nhân và cách khắc phục.

2. Tài liệu tham khảo

Cấu trúc-lập trình –Ghép nối và ứng dụng vi điều khiển_TS Nguyễn Mạnh Giang Giáo trình 8051_DKSGiáo trình họ vi điều khiển 8051_Tống Văn On Vi điều khiển với lập trình C_Ngô Diên Tập

Trang web tham khảo :http://www . keil . com/forum/8186/ http://vagam . dieukhien . net/ http://vidieukhien . net/

http://www . 8051projects . net/forum-t7082-0 . html

Bộ môn Kỹ thuật máy tính 46