51
 TRƯỜNG ĐẠI HC KTHUT CÔNG NGHIP KHOA ĐIN TỬ BMÔN: KTHUT MÁY TÍNH ĐỒ ÁN MÔN HC MÔN HC HTHNG NHÚNG  Nhóm sinh viên : Trn Quang Hp Nguyn Viết Hin Nguyn Văn Hng Lp : K43ĐĐK Giáo viên hướng dn : Ths.Nguyn Văn Huy

Bao Cao Do an He Thong Nhung

Embed Size (px)

Citation preview

Page 1: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 1/51

 

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 : Trần Quang Hợp

Nguyễn Viết Hiền

Nguyễn Văn Hồng

Lớp : K43ĐĐK 

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

Page 2: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 2/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

Thái Nguyên – 2011

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

………………………………………………………………………

………………………………………………………………………

………………………………………………………………………

………………………………………………………………………

………………………………………………………………………

Thái Nguyên, Ngày Tháng Năm 2011  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 2011  Giáo Viên chấm

(Ký ghi rõ họ tên)

  Đồ án Hệ Thống Nhúng Trang 2

Page 3: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 3/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

 MỤC LỤC 

MỤC LỤC .........................................................................................................3

LỜI NÓI ĐẦU ..................................................................................................5

CHƯƠNG 1 . PHÂN TÍCH BÀI TOÁN ..........................................................61.1.Khảo sát và phân tích bài toán ......................................................... 6 1.1.1.Cách hiển thị thời gian ......................................................................6

1.1.2.Mục đích ............................................................................................7

1.1.3.Các công nghệ chip ứng dụng trong thiết kế thời gian thực có mặt 

trên thị trường .......................................................................................................8

1.2. Lựa chọn giải pháp .......................................................................... 91.2.1.Giải pháp công nghệ .........................................................................9

1.2.2 .Giải pháp thiết kế .............................................................................9

1.2.3.Các yêu cầu ......................................................................................91.2.4.Giới hạn cho hệ thống .......................................................................9

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

2.1. Sơ đồ tổng quát ..............................................................................10

2.2. Sơ đồ Call graph ............................................................................11

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

2.4. Sơ đồ thuật toán .............................................................................12

2.5.Các module trong hệ thống ............................................................142.5.1.Khối nguồn ......................................................................................14

2.5.2.Khối điều khiển trung tâm ...............................................................14

2.5.3.Khối tạo thời gian thực ....................................................................15

2.5.4.Khối hiển thị.................................................................................... 16

2.5.5.Khối giao tiếp phím bấm .................................................................16

2.6.Lựa chọn linh kiện ..........................................................................16 2.6.1.Vi điều khiển AT89C51 ....................................................................16

2.6.2.IC thời gian thực DS1307 .................................................................23

2.6.3. LCD 16x2 .......................................................................................31

2.6.4.IC ổn áp 7805 ..................................................................................34

2.6.5. Tụ điện ..........................................................................................35

  Đồ án Hệ Thống Nhúng Trang 3

Page 4: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 4/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

2.6.6.Điện trở ...........................................................................................36

2.6.7.Nút bấm button ...............................................................................36

2.6.8.Biến trở ...........................................................................................36

2.6.9.Thạch anh .......................................................................................37

2.6.10.Pin CMOS 3V .................................................................................37

CHƯƠNG 3. XÂY DỰNG HỆ THỐNG ........................................................38

3.1.Thiết kế phần cứng ..........................................................................38

3.2.Thiết kế phần mềm ..........................................................................40

3.3.Kết quả mô phỏng ........................................................................... 50

3.4.Mạch thi công thực tế .....................................................................50

  KẾT LUẬN ............................................................................................51

 Danh mục tài liệu tham khảo ................................................................51

  Đồ án Hệ Thống Nhúng Trang 4

Page 5: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 5/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

 Lời nói đầu

Ngày nay, các hệ thống nhúng trở nên phổ biến và đóng vai tròquan trọng trong đời sống con người. Ví dụ quanh ta có rất nhiều sản

 phẩm nhúng như lò vi sóng, nồi cơm điện, điều hòa, điện thoại di động, ôtô, máy bay, tàu thủy, các đầu đo, cơ cấu chấp hành thông minh, robot v.v... ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi 

trong cuộc sống của chúng ta.

Qua môn học hệ thống nhúng, chúng em đã hiểu thêm về các hệ thống nhúng trong thực tế, về đặc điểm, tính ưu việt cũng như tính ứng dụng của chúng đối với con người. Với mong muốn làm rõ các kiến thứcđã học và giới thiệu các ứng dụng cơ bản của hệ thống nhúng, nhómchúng em đưa ra mô hình thiết kế đồng hồ thời gian thực – một sản phẩmrất quen thuộc và cần thiết trong đời sống.

 Do thời gian thực hiện và kiến thức còn hạn chế nên còn nhiều sai sót trong quá trình thực hiện đề tài, rất mong được sự bổ sung đóng gópcủa các thầy cô và các bạn.

Chúng em xin chân thành cảm ơn các thầy cô trong khoa điện tử -bộ môn kỹ thuật máy tính, cảm ơn thầy Ths. Nguyễn Văn Huy đã tận tìnhhướng dẫn và giúp đỡ chúng em thực hoàn thành đề tài này.

Trân trọng và chân thành cám ơn!Nhóm thực hiện đề tài:

Trần Quang HợpNguyễn Viết HiềnNguyễn Văn Hồng 

  Đồ án Hệ Thống Nhúng Trang 5

Page 6: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 6/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

CHƯƠNG 1 . PHÂN TÍCH BÀI TOÁN

1.1.Khảo sát và phân tích bài toánĐồng hồ là một công cụ để đo đạc những mốc thời gian nhỏ hơn một

ngày; đối lập với lịch, là một công cụ để đo thời gian dài hơn một ngày. Những loại đồng hồ dùng trong kĩ thuật thường có độ chính xác rất cao và cấutạo rất phức tạp. Trong khi đó, người ta có thể tạo ra những loại đồng hồ nhỏđể dễ dàng mang theo bên mình (gọi là đồng hồ đeo tay). Những loại đồng hồhiện đại (từ thế kỉ 14 trở đi) thường thể hiện ba thông tin: giờ, phút, giây.

1.1.1.Cách hiển thị thời gian

Đồng hồ cơ: Đồng hồ cơ thể hiện thời gian sử dụng các góc. Mặt đồng hồ có

những con số từ 1 đến 12 và sử dụng kim để chỉ giờ và cả phút. Từmột số đến một con số kế cận là 5 phút (đối với kim phút), 1 giờ (đốivới kim giờ) hay 5 giây (đối với kim giây).

Một loại đồng hồ cơ khác được sử dụng là đồng hồ mặt trời. Nó hoạtđộng nhờ theo dọi thường xuyên ánh sáng Mặt Trời, và người ta theodõi bằng cách nhìn bóng của chúng.

Đồng hồ điện tử:

Đồng hồ điện tử sử dụng hệ thống số để thể hiện thời gian. Thôngthường có 2 cách thể hiện:• 24 giờ để đếm giờ từ 00-23• 12 giờ với kí hiệu AM / PM (chủ yếu ở Mĩ)

 Những đồng hồ điện tử sử dụng màn hình LCD hay LED, ống catode để thể hiện hình ảnh những con số. Khi những đồng hồ điện tử thay

 pin, chúng thường "quên" dữ liệu về thời gian trước đó.Đồng hồ âm thanh:

Để tiện lợi hơn, có một số đồng hồ sử dụng âm thanh để bào hiệu giờ.

Âm thanh có thể được sử dụng như ngôn ngữ tự nhiên ("Bây giờ làmười sáu giờ ba mươi phút) hay một mã (số tiếng chuông báo hiệu sốgiờ).

Đồng hồ chữ: Loại đồng hồ này hiện thời gian ở dạng chữ. Nếu như ở đồng hồ điện

tử chúng ta đọc được những con số 12:35 thì ở đồng hồ chữ, chúng tacó thể đọc được "Mười hai giờ ba mươi lăm phút". Một số loại đồnghồ khác sử dụng cơ chế gần đúng khiến người sử dụng cảm thấy dễchịu hơn khi sử dụng đồng hồ (ví dụ "Khoảng mười hai giờ rưỡi").

  Đồ án Hệ Thống Nhúng Trang 6 

Page 7: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 7/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp1.1.2.Mục đích

Đồng hồ treo tường được dùng trong nhà và văn phòng, đồng hồ đeotay được mang trên tay, và những loại đồng hồ lớn được đặt ở nhữngnơi công cộng (nhà thờ hay bến xe). Hầu hết những máy tính và điện

thoại di động đều có góc dưới màn hình hiển thị giờ. Tuy nhiên, đồng hồ không phải lúc nào cũng được sử dụng để hiển

thị thời gian. Nó còn có thể sử dụng để điều khiển một vật theo thờigian. Ví dụ như đồng hồ chuông có thể được dùng làm chuông báotiết học. Nó có thể được gọi chính xác hơn là một hệ thống đếm giờ.

Máy tính sử dụng những tín hiệu đồng hồ để đồng bộ quá trình xử lý(mặc dầu có một số nghiên cứu về bộ xử lí không đồng bộ). Máy tínhlưu trữ thời gian để báo hiệu hay chỉ là để hiển thị thời gian. Bêntrong máy tính có một đồng hồ được nuôi bằng pin. Máy tính vẫn có

thể hoạt động ngay cả khi đồng hồ trong máy bị chết nhưng khi khởiđộng máy lại, đồng hồ của máy tính sẽ được khởi động lại. Thời gian là một khái niệm cơ bản trong môn vật lý. Do đó, chế tạo

dụng cụ đo thời gian chính xác có ý nghĩa quan trọng trong các thínghiệm.

 Đồng hồ điện tử 

 Đồng hồ điện tử trên một lò vi sóng 

  Đồ án Hệ Thống Nhúng Trang 7 

Page 8: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 8/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp1.1.3.Các công nghệ chip ứng dụng trong thiết kế thời gian thực có mặttrên thị trường

Do yêu cầu về thời gian thực nên chúng ta sẽ không xét tới các mạchđiện thiết kế đồng hồ sử dụng các mạch điện tương tự và các IC số thông

thường, chúng ta sẽ xét tới việc sử dụng IC thời gian thực, vi điều khiển, cáchthức hiển thị thời gian thực.

IC thời gian thực:

Hiện nay trên thị trường có 2 loại IC thời gian thực phồ biến làDS1307 và DS12887.

Các IC này đều có chức năng chạy thời gian thực và lưu giờ khi mấtđiện, với DS1307 cần có thêm nguồn nuôi là một pin cmos 3V, vớiDS12887 có sẵn pin tích hợp ở bên trong.

Thực hiện giao tiếp với vi điều khiển để hiện thị thời gian và cài đặtgiờ… Trên cơ sở đó thì chúng ta có thể sử dụng cả 2 loại IC này, nhưng với

nhóm em thì việc lựa chọn sẽ là DS1307 vì nó cũng thực hiện đượcyêu cầu mà giá thành thì rẻ hơn.

Vi điều khiển:

Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạchđồng hồ này như vi điều khiển pic, avr, 8051…

Các loại vi điều khiển pic hay avr có nhiều ưu điểm hơn so với 8051như hỗ trợ kết nối ngoại vi tốt hơn, tốc độ xử lý nhanh hơn, lập trìnhđơn giản hơn. Nhưng giá thành thì lại cao hơn nhiều so với 8051 màtrong mạch này chúng em sử dụng AT89C51. Việc sử dụng quá tốnkém cho 1 mạch là không cần thiết trong khi đó một chip cũng có thểlàm được điều này mà giá thành rẻ hơn thì đó là lựa chọn tối ưu hơn.

Hiển thị:Chúng ta có 2 cách hiển thị đó là : sử dụng led 7 thanh và sử dụng lcd.

Led 7 thanh :• Ưu điểm: hiển thị rõ ràng và thu hút được sự chú ý vì có thể

nhìn ở xa.•  Nhược điểm: mạch điện phức tạp cần thêm các IC chốt.

LCD 16x2:• Ưu điểm: hiển thị dễ dàng, có thể linh động hơn trong việc hiển

thị thời gian,kết nối đơn giản mạch điện không phức tạp…•  Nhược điểm: không thu hút được sự chú ý bằng led 7 thanh,giá

thành cao…

Xét trên điều kiện để làm mạch này thì số led 7 thanh tương đối nhiềuvà cần thêm các IC chốt do đó về giá cả thì sẽ tương đương với một

  Đồ án Hệ Thống Nhúng Trang 8

Page 9: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 9/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

LCD 16x2. Thêm nữa khi sử dụng LCD chúng ta sẽ không phải mắc phức tạp. Với đồng hồ để sử dụng cho cá nhân này thì chúng ta có thểcần dùng LCD là đủ.

1.2. Lựa chọn giải pháp

1.2.1.Giải pháp công nghệQua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng đồng

hồ dựa trên IC thời gian thực. Đọc giờ từ IC thời gian thực, hiển thị thời gianliên tục và có thể cài đặt được giờ, lưu giờ khi mất điện và sai lệch thời gianlà ít nhất (theo quảng cáo của nhà sản xuất : với một pin lithium 48mAh hoặclớn hơn sẽ lưu giờ cho DS1307 khoảng hơn 10 năm khi không có nguồn điệncung cấp cho mạch ở điều kiện +25°C ).

1.2.2 .Giải pháp thiết kếViệc lựa chọn giải pháp thường được xem xét trên nhiều phương diện

nhưng quan trọng là giải pháp có khả thi không? Có phù hợp với với thực tếvà thỏa mãn yêu cầu về kinh tế?

Đồng hồ thời gian thực với bộ não điều khiển là AT89C51 và các linhkiện khác: LCD hiển thị, IC ổn áp7805, IC thời gian thực DS1307.

• AT89C51 có các ưu điểm: tính năng và tốc độ đáp ứng được yêu cầu kĩ thuật trong ứng dụng không đòi hỏi cao;giá thành thấp hơn họ vi điềukhiển khác; có hỗ trợ lập trình điều khiển bằng cả hợp ngữ và C...

• IC DS1307 là IC chuyên dụng, cho khả năng chính xác về thời gian.• LCD hiển thị một cách rõ ràng, linh động.• IC ổn áp 7805 được sử dụng rộng rãi trong các bộ nguồn.

Vì vậy giải pháp thiết kế đồng hồ thời gian thực dùng các linh kiệntrên có nhiều ưu thế hơn so với những giải pháp khác. Đồng thời đảm bảođược yêu cầu về kinh tế.

Trong thực tế hiện nay lịch vạn niên là một sản phẩm tương tự đồnghồ thời gian thực và rất gần gũi với mọi người.

1.2.3.Các yêu cầu

Với sản phẩm đồng hồ thời gian thực đòi hỏi các yêu cầu:• Hiển thị đúng thời gian:ngày, tháng, năm, giờ, phút, giây.• Điều chỉnh và thay đổi được thời gian.• Đảm bảo đúng về thời gian sau khi mất điện.• Khả năng thực thi:Thời gian đáp ứng, độ chính xác…• Đảm bảo về kích thước và trọng lượng cho phép.• Độ an toàn, khả năng chống lại sự phá hoại hay xâm nhập…

1.2.4.Giới hạn cho hệ thống

• Sử dụng nguồn điện 5V.

  Đồ án Hệ Thống Nhúng Trang 9

Page 10: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 10/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

• Làm việc liên tục.• Kích thước phù hợp với người sử dụng.• Hệ thống nhỏ gọn.• Hệ thống lưu được thời gian khi mất nguồn cấp (có nguồn dự trữ).•  Nguồn nuôi (pin CMOS) cho IC thời gian thực đảm bảo.• Làm việc trong điều kiện môi trường bình thường.

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

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

Khối Nguồn: cung cấp nguồn cho hệ thống.• Khối Thời gian thực: lưu trữ thời gian thực, thời gian cài đặt.• Khối Xử lý: Dùng vi điều khiển AT89C51 để lấy dữ liệu từ khối thời

gian thực, lưu trữ và đưa ra khối hiển thị và nhận tín hiệu từ khối giaotiếp.

• Khối Hiển thị: lấy tín hiệu ra từ vi điều khiển, thực hiện giao tiếp với viđiều khiển để hiển thị giờ và ngày.

• Khối giao tiếp: là khối bàn phím, thực hiện cài đặt giờ để vi điều khiểnlưu dữ liệu vào trong khối thời gian thực.

  Đồ án Hệ Thống Nhúng Trang 10

Khối Xử

lý Khối giao tiếp

 phím bấm

Khối hiển

thịKhốithời

gian

thực

Khối nguồn

Page 11: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 11/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

2.2. Sơ đồ Call graph

2.3. Sơ đồ đặc tả

  Đồ án Hệ Thống Nhúng Trang 11

Chương

trình điều

khiểnchínhModule xử

lý thời gian

thực

Module xử

lý chương

trình

IC thời gian

thực Bàn phím Hiển thị

Cài

đặt

Xử lý

Thời gian

trongRTC

Có ngắt &

ấn phím

Kiểm tra

ngắt ngoài 0

Đọc

Ghi

Hiể

nthị

Page 12: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 12/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

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

  Đồ án Hệ Thống Nhúng Trang 12

Bắt

đầu

Kiểm tra dữ liệu thời

gian trong rtc

Xử lý dữ liệu từ rtc

Đặt thời gianmặc định

S

Đ

Có ngắt ngoài

0

S

Cài đặt + hiển thị thời

gian cài đặt trên LCD

Đ

Cập nhật thời gian

vào RTC

Khởi tạo LCD

(1)

(2)

Hiển thị giờ bình

thường LCD

Page 13: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 13/51

Page 14: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 14/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

2.5.Các module trong hệ thống

2.5.1.Khối nguồn

Đây là module dùng để tạo ra nguồn điện áp chuẩn +5V. Sử dụngIC7805.

Đầu vào là điện áp xoay chiều sau khi được biến đổi qua máy biến áp,đưa vào bộ Diode cầu để cho ra dòng điện một chiều ( lúc này điện ápnằm trong khoảng từ 7->10V). Sau khi đi qua IC ổn áp 7805 sẽ tạo ranguồn điện áp chuẩn +5V cung cấp cho mạch.

2.5.2.Khối điều khiển trung tâm

Khối điều khiển trung tâm sử dụng vi điều khiển AT89C51, qua chươngtrình đã lập trình được nạp cho chip, vi điều khiển sẽ điều khiển việcđọc, ghi thời gian thực, hiển thị thời gian lên khối hiển thị là LCD.

Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz choVĐK hoạt động. Hai đầu này được nối vào 2chân XTAL1 và XTAL2của VĐK.

Bộ RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu. Khi nútReset được ấn điện áp +5V từ nguồn được nối vào chân Reset của viđiều khiển được chạy thẳng xuống đất lúc này điện áp tại chân vi điều

khiển thay đổi đột ngột về 0, VĐK nhận biết được sự thay đổi này vàkhởi động lại trạng thái ban đầu cho hệ thống. 

  Đồ án Hệ Thống Nhúng Trang 14

Page 15: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 15/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

2.5.3.Khối tạo thời gian thực

DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cậpnhật thời gian và ngày tháng với 56 bytes SRAM. Địa chỉ và dữ liệu đượctruyền nối tiếp 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ềuchỉ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.

Để không phải điều chình lại thời gian vào những lúc bị mất nguồn, có thểnối thêm 1pin 3V vào chân số 3 của IC DS1307 (sao cho chân(+) của pinnối vào IC và chân (–) của pin nối xuống đất). Hai chân 1 và 2 củaDS1307 được nối vào bộ dao động thạch anh có tần số 32,768KHz để tạodao động cho IC hoạt động.

  Đồ án Hệ Thống Nhúng Trang 15

Page 16: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 16/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp2.5.4.Khối hiển thị

Sử dụng LCD 16x2, hiển thị thời gian linh hoạt, hiển thị được nhiều kýtự, giúp cho việc quan sát thời gian khi đồng hồ chạy bình thường cũngnhư lúc cài đặt trực quan và linh hoạt hơn.

2.5.5.Khối giao tiếp phím bấm

Gồm 3 nút ấn, hoạt động tương tự nút Reset. Khi ấn nút thì các chân viđiều khiển được nối với phím bấm đưa điện áp xuống đất lúc này điện áptại các chân vi điều khiển bằng 0 làm cho vi điều khiển nhận biết được sựthay đổi này và thực hiện lệnh cần điều khiển. Nút thứ ba có tác dụngthiết đặt chế độ cho vi điều khiển làm việc.

2.6.Lựa chọn linh kiện

2.6.1.Vi điều khiển AT89C51

• Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàntương tự như nhau. Ở đây giới thiệu IC AT89C51 là một họ IC vi điềukhiển do hãng Intel của Mỹ sản xuất. Chúng có các đặc điểm chungnhư sau:

+ 4K Bytes Flash rom.

+ 128 Bytes Ram.+ 4 port 8 bit.

  Đồ án Hệ Thống Nhúng Trang 16 

Page 17: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 17/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

+ 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ớicông nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel, và tươngthích với họ MCS-51TM về chân ra và tập lệnh.

• AT89C51 có các đặc trưng cơ bản như sau: 4 K byte Flash, 128 byteRAM, 32 đường xuất nhập, hai bộ định thời/đếm 16-bit, một cấu trúcngắt hai mức ưu tiên và 5 nguyên nhân ngắt, một  port  nối tiếp songcô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ảmxuố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ạchdao động cung cấp xung clock nhằm vô hiệu hoá các hoạt động kháccủa chip cho đến khi có reset cứng tiếp theo.

 Hình ảnh AT89C51

  Đồ án Hệ Thống Nhúng Trang 17 

Page 18: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 18/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

Sơ đồ khối của AT89C51

2.6.1.1. Mô tả các chân

  Đồ án Hệ Thống Nhúng Trang 18

Page 19: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 19/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

Sơ đồ các chân

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):  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ìnhngoà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ệungoà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 thanhghi chức năng đặc biệt P2.  Port 2 cũng nhận các bít địa chỉ cao và vài

  Đồ án Hệ Thống Nhúng Trang 19

Page 20: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 20/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

tín hiệu điều khiển trong thời gian lập trình cho Flash và kiểm trachươ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ăng3.0 RxD Ngõ vào Port nối tiếp3.1 TxD Ngõ ra Port nối tiếp3.2 INT0  Ngõ vào ngắt ngoài 03.3 INT1  Ngõ vào ngắt ngoài 13.4 T0 Ngõ vào bên ngoài của bộ định thời 13.5 T1 Ngõ vào bên ngoài của bộ định thời 03.6 WR Điều khiển ghi bộ nhớ dữ liệu ngoài3.7 RD Điều khiển đọc bộ nhớ dữ liệu ngoài

 Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash vàkiểm tra chương trình.

• RST (9):  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.

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

ALE/PROG

(30):

ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truyxuất bộ nhớ ngoài. Chân này cũng làm ngõ vào xung 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 ALE luôn có tần số không đổilà 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 xungALE 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ủathanh ghi chức năng đặc biệt có địa chỉ 8Eh. Khi bit này được  set , ALE

  Đồ án Hệ Thống Nhúng Trang 20

Page 21: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 21/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

chỉ tích cực trong thời gan thực hiện lệnh MOVX hoặc MOVC. Ngượclạ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ềukhiển đang ở chế độ thực thi chương trình ngoài.

• PSEN  (29): PSEN (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, 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 (31):   EA (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). 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 bit khoá 1 (lock-bit 1) được lập trình, EA 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ìnhFlash (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ênngoài do tín hiệu này phải qua một flip-flop chia hai trước khi đếnmạch tạo xung clock  bên trong, tuy nhiên các chi tiết kỹ thuật về thờigian mức thấp và mức cao, điện áp cực tiểu và cực đại cần phải đượcxem xét.

2.6.1.2. Các chế độ đặc biệt2.6.1.2.1.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

  Đồ án Hệ Thống Nhúng Trang 21

Page 22: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 22/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

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

Ta cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi một reset cứng, chipvi điều khiển sẽ tiếp tục bình thường việc thực thi chương trình từ nơichương trình bị tạm dừng, trong vòng 2 chu kỳ máy trước khi giải thuậtreset mềm nắm quyề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ácghi không mong muốn đến một chân  port khi chế độ nghỉ kết thúc bằngreset, 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.

2.6.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ácthanh ghi chức năng đặc biệt vẫn duy trì các giá trị của chúng cho đến khichế độ 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ônglà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ườngvà phải kéo dài trạng thái tích cực của chân reset  đủ lâu để cho phépmạ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ìnhALE PSEN PORT 0

PORT1

PORT2

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

 Nguồngiả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

  Đồ án Hệ Thống Nhúng Trang 22

Page 23: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 23/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp2.6.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ânEA đượ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 EA 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 LB31 U U U Không có đặc trưng khóa chương trình2 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ìmnạp lệnh từ bộ nhớ nội, EA được lấy mẫuvà được chốt khi reset , hơn nữa việc lập

trình trên Flash bị cấm3 P P U Như chế độ 2, cấm thêm việc kiểm tra

chương trình4 P P P Như chế độ 3, cấm thêm việc thực thichương trình ngoài

2.6.2.IC thời gian thực DS1307

2.6.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ậtthời gian và ngày tháng .- SRAM : 56 bytes.- Đị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 bytes dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1

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

  Đồ án Hệ Thống Nhúng Trang 23

Page 24: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 24/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

+ Khi xử lý dữ liệu từ DS1307, họ đã tự chuyển cho ta về dạngsố BCD, ví dụ như ta đọc được dữ liệu từ địa chỉ 0x04 (tương ứng vớiDay- ngày trong tháng) và tại 0x05 (tháng) là 0x15, 0x11.

+ 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 busnố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ácthanh ghi sẽ được truy cập liên tục đến khi chỉ thị stop đươc thực thi.

 IC thời gian thực DS1307 

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

Vcc: nối với nguồn , GND: đất

X1,X2: nối với thạch anh 32,768 kHzVbat: đầu vào pin 3V

  Đồ án Hệ Thống Nhúng Trang 24

Page 25: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 25/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

SDA: chuỗi data , SCL: dãy xung clock SQW/OUT: xung vuông/đầu ra driver 

DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cậpnhậ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 qua 2 đường bus 2 chiều. Nó cung cấp thông tinvề 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ớichỉ 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 truycậ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: 

* Mô tả hoạt động của các chân: 

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ànchỉnh và dữ liệu có thể đọc và viết. Khi pin 3 V được nối tới thiết bị nàyvà 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

  Đồ án Hệ Thống Nhúng Trang 25

Page 26: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 26/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

thấp. Khi Vcc nhỏ hơn Vbat thì RAM và timekeeper sẽ được ngắt tớinguồ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ệntrở kéo trong khi hoạt động.

SQW/OUT(square wave/output driver) - khi được kích hoạt thì bitSQWE đượ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ánghở 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ạchtạo dao động ngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF .

Cũng có DS1307 với bộ tạo dao động trong tần số 32,768kHz, với cấuhình này thì chân X1 sẽ được nối vào tín hiệu dao động trong còn chânX2 thì để hở.

2.6.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 bytethanh ghi thích hợp. Thời gian và ngày tháng được thiết lập cũng thôngqua các byte thanh ghi này bằng cách viết vào đó những giá trị thíchhợp. Nội dung của các thanh ghi dưới dạng mã BCD (binary coded

  Đồ án Hệ Thống Nhúng Trang 26 

Page 27: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 27/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

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.Chú ý: 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 thanhghi 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).

Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thìdòng thời gian được truyền tới một thanh ghi thứ 2, thông tin thời giansẽ được đọc từ thanh ghi thứ cấp này, trong khi đó đồng hồ vẫn tiếp tụcchạy. Trong DS1307 có một thanh ghi điều khiển để điều khiển hoạtđộng của chân SQW/OUT :

OUT(output control): bit này điều khiển mức ra của chân SQW/OUTkhi đầu ra xung vuông là disable. Nếu SQWE = 0 thì mức logic ở chânSQW/OUT sẽ là 1 nếu OUT=1 và OUT = 0 nếu OUT = 0 .

SQWE(square wave enable): bit này được thiết lập 1 sẽ enable đầu racủa bộ tạo dao động. Tần số của đầu ra sóng vuông phụ thuộc vào giá

trị của RS1 và RS0.

  Đồ án Hệ Thống Nhúng Trang 27 

Page 28: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 28/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

DS1307 hỗ trợ bus 2 dây 2 chiều và giao thức truyền dữ liệu, thiết bị gửidữ liệu lên bus được gọi là bộ phát và thiết bị nhận gọi là bộ thu, thiết bịđiều khiển quá trình này gọi là master, thiết bị nhận sự điều khiển củamaster gọi là slave. Các bus nhận sự điều khiển của master, là thiết bị

 phát ra chuỗi xung clock(SCL),master sẽ điều khiển sự truy cập bus, tạora các chỉ thị START và STOP.

2.6.2.4.Sự truyền nhận dữ liệu trên chuỗi bus 2 dây :Tuỳ thuộc vào bit R/ w mà 2 loại truyền dữ liệu sẽ được thực thi:

Truyền dữ liệu từ master truyền và slave nhận: Master sẽ truyền byteđầu tiên là địa chỉ của slave. Tiếp sau đó là các byte dữ liệu, slave sẽ gửilại bit thông báo đã nhận được (bit acknowledge) sau mỗi byte dữ liệunhận được, dữ liệu sẽ truyền từ bit có giá trị nhất (MSB).

Truyền dữ liệu từ slave và master nhận: byte đầu tiên (địa chỉ của slave)được truyền tới slave bởi master. Sau đó slave sẽ gửi lại master bit

acknowledge, tiếp theo đó slave sẽ gửi các byte dữ liệu tới master.Master sẽ gửi cho slave các bit acknowledge sau mỗi byte nhận được trừ byte cuối cùng, sau khi nhận được byte cuối cùng thì bit acknowledge sẽkhông được gửi. Master phát ra tất cả các chuỗi xung clock và các chỉthị START và STOP. sự truyền sẽ kết thúc với chỉ thị STOP hoặc chỉ thịquay vòng START. Khi chỉ thị START quay vòng thì sự truyền chuỗidữ liệu tiếp theo được thực thi và các bus vẫn chưa được giải phóng. Dữliệu truyền luôn bắt đầu bằng bit MSB.

 DS1307 có thể hoạt động ở 2 chế độ sau:

Chế độ slave nhận( chế độ DS1307 ghi): chuỗi dữ liệu và chuỗi xungclock sẽ được nhận thông qua SDA và SCL. Sau mỗi byte được nhậnthì 1 bit acknowledge sẽ được truyền, các điều kiện START và STOPsẽ được nhận dạng khi bắt đầu và kết thúc một truyền 1 chuỗi, nhậndạng địa chỉ được thực hiện bởi phần cứng sau khi chấp nhận địa chỉcủa slave và bit chiều. Byte địa chỉ là byte đầu tiên nhận được sau khiđiều kiện START được phát ra từ master. Byte địa chỉ có chứa 7 bitđịa chỉ của DS1307, là 1101000, tiếp theo đó là bit chiều (R/ w) cho

 phép ghi khi nó bằng 0, sau khi nhận và giải mã byte địa chỉ thì thiết bịsẽ phát đi 1 tín hiệu acknowledge lên đường SDA. Sau khi DS1307

  Đồ án Hệ Thống Nhúng Trang 28

Page 29: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 29/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

nhận dạng được địa chỉ và bit ghi thì master sẽ gửi một địa chỉ thanhghi tới DS1307, tạo ra một con trỏ thanh ghi trên DS1307 và master sẽtruyền từng byte dữ liệu cho DS1307 sau mỗi bit acknowledge nhậnđược, sau đó master sẽ truyền điều kiện STOP khi việc ghi hoàn thành.

Chế độ slave phát ( chế độ DS1307 đọc): byte đầu tiên slave nhậnđược tương tự như chế độ slave ghi. Tuy nhiên trong chế độ này thì bit

chiều lại chỉ chiều truyền ngược lại. Chuỗi dữ liệu được phát đi trênSDA bởi DS 1307 trong khi chuỗi xung clock vào chân SCL. Các điềukiện START và STOP được nhận dạng khi bắt đầu hoặc kết thúc truyềnmột chuỗi. byte địa chỉ nhận được đầu tiên khi master phát đi điều kiệnSTART. Byte địa chỉ chứa 7 bit địa chỉ của slave và 1 bit chiều cho

 phép đọc là 1. Sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ nhận 1 bit acknowledge trên đường SDA. Sau đó DS1307 bắt đầu gửi dữ liệutới địa chỉ con trỏ thanh ghi thông qua con trỏ thanh ghi. Nếu con trỏthanh ghi không được viết vào trước khi chế độ đọc được thiết lập thì

địa chỉ đầu tiên được đọc sẽ là địa chỉ cuối cùng chứa trong con trỏthanh ghi . DS1307 sẽ nhận được một tín hiệu Not Acknowledge khi kếtthúc quá trình đọc. Đọc dữ liệu - chế độ slave phát.

• Thời gian thực hiện việc đọc, ghi dữ liệu của DS1307: sơ đồ đồng bộ:

  Đồ án Hệ Thống Nhúng Trang 29

Page 30: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 30/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

  Đồ án Hệ Thống Nhúng Trang 30

Page 31: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 31/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

2.6.3. LCD 16x2 Giống như led 7 thanh, LCD là một thiết bị ngoại vi dùng để giao tiếp

với người dùng, so với led 7 thanh thì LCD có ưu điểm là hiển thị đượctất cả các kí tự trong bảng mã ascci, trong khi đó led 7 thanh chỉ hiển thịđược một số kí tự, nhưng LCD lại có nhược điểm là giá thành cao vàkhoảng cách nhìn gần.

 Hình ảnh LCD 16x2

Chức năng của các chân LCD :

Chân Kí Hiệu Mức Logic I/O Chức Năng

  Đồ án Hệ Thống Nhúng Trang 31

Page 32: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 32/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

1 Vss - - Nguồn (GND)

2 Vcc - - Nguồn (+5V)

3 Vee - - Chỉnh độ tương phản

4 RS 0/1 I 0=Nhập lệnh

1=Nhập dữ liệu

5 R/W 0/1 I 0=Ghi dữ liệu

1=Đọc dữ liệu

6 E 1,1 0 I Tín hiệu cho phép7 DB0 0/1 I/O Bít dữ liệu 0

8 DB1 0/1 I/O Bít dữ liệu 1

9 DB2 0/1 I/O Bít dữ liệu 2

10 DB3 0/1 I/O Bít dữ liệu 3

11 DB4 0/1 I/O Bít dữ liệu 4

12 DB5 0/1 I/O Bít dữ liệu 5

13 DB6 0/1 I/O Bít dữ liệu 6

14 DB7 0/1 I/O Bít dữ liệu 7

15 Lamp- - - Đèn LCD

16 Lamp+ - - Đèn LCD

Các chân Vcc, Vss và Vee:Chân Vcc cấp dương nguồn 5V, chân Vss nối đất, chân Vee được dùngđể điều khiển độ tương phản của màn hình LCD. RS ( Register select):

Khi ở mức thấp, chỉ thị được truyền đến LCD như xoá màn hình ,vị trícon trỏ ….Khi ở mức cao, kí tự được truyền đến LCD. R/W (Read/Write):

Dùng để xác định hướng của dữ liệu được truyền giữa LCD và vi điềukhiển. Khi nó ở mức thấp dữ liệu được ghi đến LCD và khi ở mức cao,

  Đồ án Hệ Thống Nhúng Trang 32

Page 33: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 33/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

dữ liệu được đọc từ LCD. Nếu chúng ta chỉ cần ghi dữ liệu lên LCD thìchúng ta có thể nối chân này xuống GND để tiết kiệm chân. E (Enable):

Cho phép ta truy cập/xuất đến LCD thông qua chân RS và R/W. Khi chân

E ở mức cao (1) LCD sẽ kiểm tra trạng thái của 2 chân RS và R/W vàđáp ứng cho phù hợp. Khi dữ liệu được cấp đến chân dữ liệu thì mộtxung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữliệu trên các chân dữ liêu. Xung này phải rộng tối thiểu là 450ns. Còn khichân E ở mức thấp (0), LCD sẽ bị vô hiệu hoá hoặc bỏ qua tín hiệu của 2chân RS và R/W. Các chân D0 - D7:

Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọcnội dung của các thanh ghi trong LCD. Các kí tự được truyền theo mã

tương ứng trong bảng mã ascii. Cũng có các mã lệnh mà có thể được gửiđến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháycon trỏ. LCD có 2 chế độ giao tiếp:

Chế độ 4 bit (chỉ dùng 4 chân D4 đến D7 để truyền dữ liệu) và chế độ 8 bit (dùng cả 8 chân dữ liệu từ D0 đến D7), ở chế độ 4 bit, khi truyền 1 byte, chúng ta sẽ truyền nửa cao của byte trước, sau đó mới truyền nửathấp của byte.

Trước khi truyền các kí tự ra màn hình LCD ta cần thiết lập cho LCD

như chọn chế độ 4 bit hoặc 8 bit, 1 dòng hay 2 dòng ,bật/tắt con trỏ…Dưới đây là bảng tập lệnh của LCD :

Bảng Tập Lệnh Của LCD

Mã (Hex) Lệnh đến thanh ghi của LCD

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

2 Trở về đầu dòng

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

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

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

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

  Đồ án Hệ Thống Nhúng Trang 33

Page 34: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 34/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

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

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

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

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

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

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

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

18 Dịch toàn bộ vị trí hiển thị sang trái1C Dịch toàn bộ vị trí hiển thị sang phải

80 Ép con trỏ về đầu dòng thứ nhất

C0 Ép con trỏ về đầu dòng thứ hai

38 Hai dòng và ma trận 5x7

Để đọc thanh ghi lệnh,ta phải đặt RS=0 và R/W =1 và xung cao xuốngthấp cho bít E. Sau khi đọc thanh ghi lệnh,nếu bit D7(cờ bận ) ở mức caothì LCD bận, không có thông tin hay lệnh nào được xuất đến nó. KhiD7=0 mới có thể gửi lệnh hay dữ liệu đến LCD. Chúng ta nên kiểm tra

 bit cờ bận trước khi ghi thông tin lên LCD.

2.6.4.IC ổn áp 7805

Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao, sửdụng IC ổn áp thường được người thiết kế sử dụng vì mạch điện khá đơngiản. Các loại ổn áp thường được sử dụng là IC 78xx, với xx là điện ápcần ổn áp. Ví dụ 7805 ổn áp 5V, 7812 ổn áp 12V. Việc dùng các loại ICổn áp 78xx tương tự nhau, dưới đây là minh họa cho IC ổn áp 7805:

  Đồ án Hệ Thống Nhúng Trang 34

Page 35: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 35/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

Sơ đồ phía dưới IC 7805 có 3 chân:* Chân số 1 là chân IN.* Chân số 2 là chân GND.* Chân số 3 là chân OUT. 

 Ngõ ra OUT luôn ổn định ở 5V dù điện áp từ nguồn cung cấp thay đổi.Mạch này dùng để bảo vệ những mạch điện chỉ hoạt động ở điện áp 5V(các loại IC thường hoạt động ở điện áp này). Nếu nguồn điện có sự cốđột ngột: điện áp tăng cao thì mạch điện vẫn hoạt động ổn định nhờ có IC7805 vẫn giữ được điện áp ở ngõ ra OUT 5V không đổi.

Mạch trên lấy nguồn một chiều từ một máy biến áp với điện áp từ 7Vđến 9V để đưa vào ngõ IN. Khi kết nối mạch điện, do nhiều nguyênnhân, người dùng dễ nhầm lẫn cực tính của nguồn cung cấp khi đấu nốivào mạch, trong trường hợp này rất dễ ảnh hưởng đến các linh kiện trên

 board mạch. Vì lí do đó một diode được lắp thêm vào mạch, diode đảm bảo cực tính của nguồn cấp cho mạch theo một chiều duy nhất, và nguờidùng cũng không cần quan tâm đến cực tính của nguồn khi nối vào ngõIN nữa.

2.6.5. Tụ điện Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các

mạch điện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu,mạch truyền tín hiệu xoay chiều, mạch tạo dao động.Trong mạch này tasẽ sử dụng một tụ hóa cho khối reset, và hai tụ gốm cho khối dao động.

  Đồ án Hệ Thống Nhúng Trang 35

Page 36: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 36/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

Tụ gốm Tụ hóa

2.6.6.Điện trở 

Trong thiết bị điện tử điện trở là một linh kiện quan trọng, chúng đượclàm từ hợp chất cacbon và kim loại tuỳ theo tỷ lệ pha trộn mà người ta

tạo ra được các loại điện trở có trị số khác nhau.

 Hình dạng của điện trở trong thiết bị điện tử.

2.6.7.Nút bấm button Trong mạch này ta sử dụng 3 nút bấm để điều khiển menu, tăng , giảm

cho việc cài đặt giờ , ngày, tháng, năm.

 Nút bấm

2.6.8.Biến trở 

Trong mạch ta sẽ sử dụng một biến trở 10k để điểu chỉnh độ tương phảncủa LCD.

  Đồ án Hệ Thống Nhúng Trang 36 

Page 37: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 37/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

 Biến trở 

2.6.9.Thạch anh

Trong mạch ta sẽ sử dụng hai thạch anh, một loại 12Mhz để tạo dao động

cho AT89C51, một loại 32,768 Mhz để tạo dao động cho DS1307.

Thạch anh 12 Mhz Thạch anh 32,768 Mhz

2.6.10.Pin CMOS 3V

Ta sẽ sử dụng một đế và pin CMOS 3V để làm nguồn nuôi cho DS1307để nó có thể lưu được giờ khi mất điện nguồn cung cấp cho mạch.

 Pin CMOS 

  Đồ án Hệ Thống Nhúng Trang 37 

Page 38: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 38/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

CHƯƠNG 3. XÂY DỰNG HỆ THỐNG

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

• Hệ thống sẽ gồm 5 khối như đã phân tích ở chương hai, ta sẽ có sơ đồnguyên lý như sau:

• Trên cơ sở sơ đồ nguyên lý, vẽ mạch in trên Orcad và có kết quả như sau:

  Đồ án Hệ Thống Nhúng Trang 38

Page 39: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 39/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

Mạch vẽ trên orcad 

Mạch in một lớp

  Đồ án Hệ Thống Nhúng Trang 39

Page 40: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 40/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp3.2.Thiết kế phần mềm

Phần mềm cần thực hiện các chức năng chính như sau : Hiển thị thời gian bình thường: khi khởi tạo, vi điều khiển kiểm tra xem

trong IC thời gian thực đã có thời gian hay chưa, nếu chưa có thời gian

cài đặt trước đó thì hiển thị giá trị thời gian mặc định mà ta thiết lập sẵn;còn bình thường đã có thời gian cài đặt trước đó vi điều khiển đọc dữ liệuthời gian từ IC thời gian thực, xử lý và hiển thị kết quả lên màn hìnhLCD.

Cài đặt thời gian: khi xuất hiện ngắt ngoài 0, vi điều khiển bắt đầu thựchiện cài đặt ngày giờ. Trên LCD, theo lần xuất hiện ngắt ngoài 0 mà lầnlượt vị trí con trỏ của nó sẽ nhảy tới giá trị thời gian lần lượt là giờ, phút,giây, ngày, tháng, năm; tùy vào yêu cầu cài đặt mà tăng giảm giá trị thờigian sau đó ghi dữ liệu vào IC thời gian thực; kèm theo một cờ vào thanh

ghi ram đầu tiên để nhận biết là đã được cài đặt thời gian.Chương trình

#include <AT89X51.H>#include <intrins.h>

// DINH NGHIA 1 SO CONG#define sda P1_1

#define scl P1_0#define rs P3_7#define rw P3_6#define en P3_5#define menu P3_2#define tang P3_1#define giam P3_0#define congLCD P2#define D7 P2_7

unsigned char *rtc[]={"0","1","2","3","4","5","6","7","8","9"}unsigned char *day[]={"CNhat","Thu 2","Thu 3","Thu 4","Thu

5","Thu 6","Thu 7"};unsigned char giatrikhoitao_rtc[8];

 /******************************************************/   // CAC CHUONG TRINH CON GIAO TIEP VOI LCD // 

void busy(){ D7=1;

rs=0; rw=1;while(D7!=0) {en=0; en=1;

}

  Đồ án Hệ Thống Nhúng Trang 40

Page 41: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 41/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

} void ghilenhLCD(unsigned char x)

{ busy();

congLCD=x;  // gia tri xrs=0;  // chon thanh ghi lenhrw=0;  // ghi len lcd en=1;  // cho phep muc caoen=0; //xung cao xuong thap

} void khoitaoLCD(void)

{ ghilenhLCD(0X38);  // hai dong va ma tran 5x7 

ghilenhLCD(0X0C); //bat man hinh , bat con t roghilenhLCD(0X01); //xoa man hinhghilenhLCD(0X06);//dich hien thi sang phai(tang con tro sang 

 phai)}

 void ghi_kytu(unsigned char value)

{ busy();congLCD=value;rs=1; rw=0;en=1; en=0; }

 void ghi_chuoi(unsigned char *string)

{ unsigned char i;for(i=0;string[i]!='\0';i++)ghi_kytu(string[i]); }

 void ghiso(unsigned char a){ unsigned char i;

i=a/10; ghi_chuoi(rtc[i]);i=a%10; ghi_chuoi(rtc[i]); }

 void hienthi_dulieu_rtc(unsigned char x)

{ unsigned char temp;temp = x/16;  //chuyen luon so sang decimaghi_chuoi(rtc[temp]);temp = x%16;ghi_chuoi(rtc[temp]); }

 /*********************************************************** // CAC CHUONG TRINH CON GIAO TIEP VOI RTC 

  Đồ án Hệ Thống Nhúng Trang 41

Page 42: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 42/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

 // ca 2 dk start va stop dc tao ra boi thiet bi chuvoid start_rtc(void) //dk start: 1 su cdoi tthai tu cao xuong thap tren

duong sda trong khi duong scl dang o muc cao{scl=1; sda=1;

_nop_();_nop_();sda=0; scl=0; }

void stop_rtc(void) //dk stop: 1 su cdoi trang thai tu muc thap len caotren duong sda trong khi duong slc dang o muc cao

{ sda=0; scl=1;_nop_();_nop_();

sda=1; }

void gui_rtc(unsigned char x){ unsigned char i;for(i=0;i<8;i++){

sda=(x&0x80)? 1:0; //dua bit du lieu ra chan SDAscl=1;

 _nop_();_nop_();scl=0;

x<<=1; //bit co trong so lon hon dc truyen truoc}

scl=1;//nhan bit ACK tu SLAVER  _nop_();_nop_();scl=0; }

 unsigned char nhan_rtc(void){ unsigned char Data,i;

for(i=0;i<8;i++) // nhan vao 8 bit { scl=1;

Data<<=1;Data=Data|sda;

scl=0; }sda=1;scl=1; //master nhan/gui bit du lieu(sda) khi scl o muc cao

 _nop_();scl=0;

 _nop_(); //du lieu(sda) thay doi khi scl muc thapreturn Data; //tra gia tri cho ham

unsigned char docdulieu(unsigned char diachi){ unsigned char Data;

  Đồ án Hệ Thống Nhúng Trang 42

Page 43: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 43/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

start_rtc();gui_rtc(0xd0);gui_rtc(diachi);  //bat dau doc du lieu tu thanh ghi co dia chi

0x00 

start_rtc();gui_rtc(0xd1);Data=nhan_rtc();stop_rtc();//Stop I2Creturn Data; }

void ghidulieu(void){ unsigned char t;

for(t=0;t<9;t++){start_rtc();

gui_rtc(0xd0);gui_rtc(t);gui_rtc(giatrikhoitao_rtc[t]);stop_rtc();}

} / ***************************************************************/ 

  // HIEN THI GIO , NGAY THANG TREN LCD // void hienthi_rtc(void){ ghilenhLCD(0xca); // ep con tro den vi tri thu 11 dong thu 2

hienthi_dulieu_rtc(docdulieu(0)); //hien thi giayghilenhLCD(0xc7);  // ep con tro den vi tri thu 8 dong thu 2hienthi_dulieu_rtc(docdulieu(1)); // hien thi phut ghi_kytu(':');ghilenhLCD(0xc4); / / ep con tro den vi tri thu 5 dong thu 2hienthi_dulieu_rtc(docdulieu(2)); //hien thi gioghi_kytu(':');ghilenhLCD(0x80); //ep con tro den dau dong thu 1

ghi_chuoi(day[docdulieu(3)-1]); ghi_kytu(','); //hien thi thughilenhLCD(0x86); //ep con tro den vi tri thu 7 dong thu 1hienthi_dulieu_rtc(docdulieu(4)); //hien thi ngayghi_kytu('-'); hienthi_dulieu_rtc(docdulieu(5)); //hien thi thang ghi_chuoi("-20"); hienthi_dulieu_rtc(docdulieu(6)); //nam}

 / **************************************************************/ // TAO THOI GIAN TRE DUNG TIMER 0 //  

void delay(long time)//tre time ms{ while(time--){

  Đồ án Hệ Thống Nhúng Trang 43

Page 44: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 44/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

TMOD=0x01; // che do 16 bit khong tu nap laiTH0=0xFC;TL0=0x67;

//6*(65536- FC67+1)*(1/12000)=1000us =1msTR0=1;

while(TF0!=1){};TF0=0; TR0=0;}}

 / ***************************************************************/ 

 // CHUONG TRINH CON THUC HIEN VIEC CAI DAT NGAY GIO, THANG  NAM // 

  unsigned char bcd_dec(unsigned char bcd)

{return((bcd/16)*10+(bcd%16)); //vd bcd=66 -> dec =42}unsigned char dec_bcd(unsigned char dec)

{return((dec/10)*16+(dec%10)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// void caidat_rtc(){ unsigned char giay,phut,gio,thu,ngay,thang,nam;

giay = bcd_dec(docdulieu(0)&0x7f);  // de bit 7 (bit clock halt)cua thanh ghi giay = 0 => ko bi treo)

 phut = bcd_dec(docdulieu(1));gio = bcd_dec(docdulieu(2)& 0x3f); //che do 24 hthu = bcd_dec(docdulieu(3));ngay = bcd_dec(docdulieu(4));thang = bcd_dec(docdulieu(5));nam = bcd_dec(docdulieu(6));

 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//  // CAI DAT GIOghilenhLCD(1);ghi_chuoi("CHINH GIO:");

ghilenhLCD(0x0e);ghilenhLCD(0xc4);ghiso(gio); ghi_kytu(':');ghiso(phut);ghi_kytu(':'); ghiso(giay);/////////////////////////////////////////ghilenhLCD(0xC5);while(menu==0);

caidatgio:while(tang!=0 && giam!=0 && menu!=0);if(tang==0) {gio++;

if(gio==24) gio=0;

ghilenhLCD(0xC4);ghiso(gio);

  Đồ án Hệ Thống Nhúng Trang 44

Page 45: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 45/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

ghilenhLCD(0xC5);delay(300);goto caidatgio; }

if(giam==0) {gio--;

if(gio==0xff)gio=23;ghilenhLCD(0xC4);ghiso(gio);ghilenhLCD(0xC5);delay(300);goto caidatgio;}

/////////////////////////////////////////////////// while(menu==0);ghilenhLCD(0xC8);

caidatphut: while(tang!=0 && giam!=0 && menu!=0);if(tang==0) {phut++;if(phut==60) phut=0;ghilenhLCD(0xC7);ghiso(phut);ghilenhLCD(0x10);delay(300);goto caidatphut;}

if(giam==0){phut--;if(phut==0xff)phut=59;ghilenhLCD(0xC7);ghiso(phut);ghilenhLCD(0x10);delay(300);goto caidatphut; }

/////////////////////////////////////////////////// while(menu==0);ghilenhLCD(0xCB);

  caidatgiay: while(tang!=0 && giam!=0 && menu!=0);

if(tang==0) {giay++;if(giay==60) giay=0;ghilenhLCD(0xCA);ghiso(giay);ghilenhLCD(0xCB);delay(100);goto caidatgiay; }

if(giam==0) {giay--;if(giay==0xff) giay=59;

ghilenhLCD(0xCA);ghiso(giay);

  Đồ án Hệ Thống Nhúng Trang 45

Page 46: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 46/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

ghilenhLCD(0xCB);delay(100);goto caidatgiay; }

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

 // CAI DAT NGAY - THANG - NAM while(menu==0);ghilenhLCD(1);ghi_chuoi("CHINH NGAY :");ghilenhLCD(0xc4);

ghiso(ngay); ghi_kytu('-'); ghiso(thang);ghi_chuoi("-20"); ghiso(nam);

/////////////////////////////////////////////////// ghilenhLCD(0xc5);

  caidatngay:while (tang!=0 && giam!=0 && menu!=0);if(tang==0){ ngay++;if(ngay==32) ngay=1;

ghilenhLCD(0xC4);ghiso(ngay);ghilenhLCD(0x10);delay(300);goto caidatngay; }

if(giam==0) {ngay--;if(ngay==0) ngay=31;ghilenhLCD(0xC4);ghiso(ngay);

ghilenhLCD(0x10);delay(300);goto caidatngay; }

//////////////////////////////////////////////////// while(menu==0);ghilenhLCD(0xC8);

  caidatthang:while(tang!=0 && giam!=0 && menu!=0);

if(tang==0) { thang++;if(thang==13) thang=1;ghilenhLCD(0xC7);ghiso(thang);ghilenhLCD(0x10);delay(300);goto caidatthang; }

if(giam==0){ thang--;if(thang==0) thang=12;

ghilenhLCD(0xC7);ghiso(thang);

  Đồ án Hệ Thống Nhúng Trang 46 

Page 47: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 47/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

ghilenhLCD(0x10);delay(300);goto caidatthang; }

//////////////////////////////////////////////////////// 

while(menu==0);ghilenhLCD(0xCD);  caidatnam:while(tang!=0 && giam!=0 && menu!=0);

if(tang==0){ nam++;

if(nam==100) nam=0;ghilenhLCD(0xCC);ghiso(nam);ghilenhLCD(0xCE);

delay(300);goto caidatnam; }if(giam==0)

{ nam--;if(nam==0) nam=99;ghilenhLCD(0xCC);

ghiso(nam);ghilenhLCD(0xCE);delay(300);goto caidatnam; }

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//// CAI DAT THU 

while(menu==0);ghilenhLCD(1);ghi_chuoi("CHINH THU :");ghilenhLCD(0xc4);ghi_chuoi(day[thu-1]);

caidatthu:while(tang!=0 && giam!=0 && menu!=0);if(tang==0)

{ thu++;if(thu==8) thu=1;ghilenhLCD(0xC4);ghi_chuoi(day[thu-1]);delay(300);goto caidatthu; }

if(giam==0){ thu--;

if(thu==0) thu=7;

ghilenhLCD(0xC4);ghi_chuoi(day[thu-1]);

  Đồ án Hệ Thống Nhúng Trang 47 

Page 48: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 48/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

delay(300);goto caidatthu; }

while(menu==0);  // ket thuc cai dat 

ghilenhLCD(1);  //thi thuc hien xoa man hinhghilenhLCD(0x0C);  //bat hien thi tat con tro//CAP NHAT THOI GIAN VAO RTCgiatrikhoitao_rtc[0] = dec_bcd(giay);giatrikhoitao_rtc[1] = dec_bcd(phut);giatrikhoitao_rtc[2] = dec_bcd(gio);giatrikhoitao_rtc[3] = dec_bcd(thu);giatrikhoitao_rtc[4] = dec_bcd(ngay);giatrikhoitao_rtc[5] = dec_bcd(thang);

giatrikhoitao_rtc[6] = dec_bcd(nam);giatrikhoitao_rtc[7] = 0x00;giatrikhoitao_rtc[8] = 'c';  //ghi vao vi tri dau tien cua ram1 co

 flag 

ghidulieu();ghilenhLCD(1);

}/**********************************************************/

  // CHUONG TRINH CON KIEM TRA DU LIEU TU DS1307 KHI KHOI   DONG // 

void kiemtra_rtc(void){

unsigned char temp;start_rtc(); gui_rtc(0xd0);gui_rtc(0x08);  //doc du lieu tu vi tri ram dau tienstart_rtc(); gui_rtc(0xd1);

temp=nhan_rtc() ; //con tro dang tro toi dia chi 0x08 chua dulieu flag (co?`) xem da cai dat hay chua

stop_rtc();if(temp!='c') // neu gia tri thu 8 nhan duoc khac voi co 'c' cap

nhat khi cai dat gio thi tuc la lan dau duoc khoi tao,ta se chon gia tri ghi vao ban dau theo y minh

{ giatrikhoitao_rtc[0]=0x50;giatrikhoitao_rtc[1]=0x59;giatrikhoitao_rtc[2]=0x09;giatrikhoitao_rtc[3]=0x04;giatrikhoitao_rtc[4]=0x04;

giatrikhoitao_rtc[5]=0x05;giatrikhoitao_rtc[6]=0x11;

  Đồ án Hệ Thống Nhúng Trang 48

Page 49: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 49/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

giatrikhoitao_rtc[7]=0x00;giatrikhoitao_rtc[8]='c';ghidulieu();}

}

 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// void doccacdulieu(void){ int i;for(i=0;i<=6;i++){docdulieu(i);} }

 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// // CHUONG TRINH CHINH // bit co=0;void caidatco() interrupt 0  //ngat ngoai 0 thi co =1

{co=1; }void main()

{ khoitaoLCD();ghilenhLCD(1);ghilenhLCD(0x80);ghi_chuoi("GVHD: THAY HUY");ghilenhLCD(0xc0);ghi_chuoi("SV:HOP-HIEN-HONG");

ghilenhLCD(1);kiemtra_rtc();IE=0x81;// EA_ET2.ES.ET1.EX1.ET0.EX0 cho phep ngat ngoai

0doccacdulieu();while(1){ doccacdulieu();

hienthi_rtc();if(co==1) //co =1 ngat 0 xay ra => cai dat gio{ caidat_rtc();co=0; }

}}

  Đồ án Hệ Thống Nhúng Trang 49

Page 50: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 50/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

3.3.Kết quả mô phỏng

3.4.Mạch thi công thực tế

  Đồ án Hệ Thống Nhúng Trang 50

Page 51: Bao Cao Do an He Thong Nhung

5/11/2018 Bao Cao Do an He Thong Nhung - slidepdf.com

http://slidepdf.com/reader/full/bao-cao-do-an-he-thong-nhung 51/51

 

  Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công  Nghiệp

KẾT LUẬN

Sau một thời gian tìm hiểu, dưới sự hướng dẫn nhiệt tình của thầy

Ths.Nguyễn Văn Huy, nhóm chúng em đã hoàn thành đề tài “Thiết kế đồnghồ thời gian thực “ hiển thị trên LCD.

Đồng hồ hiển thị được thứ, ngày, tháng, năm, giờ, phút, giây, có thể cài

đặt được thời gian thông qua giao tiếp phím ấn.

Qua đó chúng em được củng cố kiến thức đã học, kết hợp được với

thực tiễn, phục vụ cho công việc tương lai rất nhiều.

Chúng em đã cố gắng hết sức để thực hiện đề tài một cách hoàn thiện

và nhanh nhất có thể, nhưng do trình độ còn hạn chế nên còn nhiều thiếu sót,đề tài mới dừng lại ở việc làm một chiếc đồng hồ hiển thị thời gian đơn giản.

Cũng với đề tài này, trong tương lai chúng em sẽ phát triển nó ở mức

cao hơn, có thể kết hợp chúng với các thiết bị khác để sử dụng trong thực tiễn

cuộc sống như đồng hồ kèm đo nhiệt độ, hẹn giờ, chuông báo, lịch làm việc

cá nhân hay tập thể,…

 Danh mục tài liệu tham khảo

• Bài giảng vi xử lý–vi điều khiển – Đại học Kỹ Thuật Công Nghiệp

• Bài giảng Hệ thống Nhúng – Đại học Kỹ Thuật Công Nghiệp

• Giáo trình họ vi điều khiển 8051 – Tống Văn Ôn

• Hướng dẫn sử dụng kit 8051 – BKIT HARDWARE CLUB

• Programing Embedded Systems II – Michael J.Pont – Unisversity

of Leicester 

Các trang web tham khảo:

• http://www.keil.com/forum/

• http://vagam.dieukhien.net/

• http://vidieukhien.net/

• http://www.8051projects.net/

http://www.hocavr.com/index.php/app/textlcd• http://www.hocavr.com/index.php/app/ds1307

  Đồ án Hệ Thống Nhúng Trang 51