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óm chúng em đưa ra mô hình thiết kế đồng hồ thời gian thực – một sản phẩm rấ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óp củ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ình hướng dẫn và giúp đỡ chúng em thực hoàn thành đề tài này.
50 trang |
Chia sẻ: oanhnt | Lượt xem: 4373 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Mô hình thiết kế đồng hồ thời gian thực, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
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)
MỤC LỤC
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óm chúng em đưa ra mô hình thiết kế đồng hồ thời gian thực – một sản phẩm rấ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óp củ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ình hướ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ợp
Nguyễn Viết Hiền
Nguyễn Văn Hồng
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ấu tạ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ờ (đối vớ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 theo dõ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ông thườ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 ta có thể đọc được "Mười hai giờ ba mươi lăm phút". Một số loại đồng hồ 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").
1.1.2.Mục đích
Đồng hồ treo tường được dùng trong nhà và văn phòng, đồng hồ đeo tay được mang trên tay, và những loại đồng hồ lớn được đặt ở những nơ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ời gian. Ví dụ như đồng hồ chuông có thể được dùng làm chuông báo tiế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ính lưu trữ thời gian để báo hiệu hay chỉ là để hiển thị thời gian. Bên trong 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
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
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ách thứ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ới DS12887 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 đặt giờ…
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 được yê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 8051 như 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ốn ké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ều và cần thêm các IC chốt do đó về giá cả thì sẽ tương đương với một 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 gian liê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 gian là ít nhất (theo quảng cáo của nhà sản xuất : với một pin lithium 48mAh hoặc lớn hơn sẽ lưu giờ cho DS1307 khoảng hơn 10 năm khi không có nguồn điện cung 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 linh kiệ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ều khiể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ện trê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ự đồng hồ 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.
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 Xử lý
Khối giao tiếp phím bấm
Khối hiển thị
Khối thời gian thực
Khối nguồn
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 giao tiế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ển lưu dữ liệu vào trong khối thời gian thực.
2.2. Sơ đồ Call graph
Chương trình điều khiển chính
Module 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ị
2.3. Sơ đồ đặc tả
Cài đặt
Xử lý
Thời gian trong RTC
Có ngắt & ấn phím
Kiểm tra ngắt ngoài 0
Đọc
Ghi
Hiển thị
2.4. Sơ đồ thuật toán
Bắt đầu
Kiểm tra dữ liệu thời gian trong rtc
Có
Xử lý dữ liệu từ rtc
Đặt thời gian mặ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
con trỏ LCD tại vị trí giờ
menu =0
tăng =0
giảm =0
giờ+1
giờ-1
S
Đ
Đ
S
Khối cài đặt +hiển thị thời gian cài đặt trên LCD:
:
Đ
(1)
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại vị trí phút
menu =0
tăng =0
giảm =0
phút+1
phút-1
S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại vị trí giấy
menu =0
tăng =0
giảm =0
giây+1
giây-1
S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại vị trí ngày
menu =0
tăng =0
giảm =0
ngày+1
ngày-1
S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại vị trí tháng
menu =0
tăng =0
giảm =0
tháng+1
tháng-1
S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại vị trí năm
menu =0
tăng =0
giảm =0
năm+1
năm-1
S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
con trỏ LCD tại vị trí thứ
menu =0
tăng =0
giảm =0
thứ+1
thứ-1
S
Đ
Đ
S
Kiểm tra tăng
Kiểm tra giảm
(2)
Đ
Đ
Đ
Đ
Đ
Đ
Thay đổi giờ
Thay đổi phút
Thay đổi giây
Thay đổi ngày
Thay đổi tháng
Thay đổi năm
Thay đổi thứ
S
S
S
S
S
S
S
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ụng IC7805.
Đầ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 áp nằm trong khoảng từ 7->10V). Sau khi đi qua IC ổn áp 7805 sẽ tạo ra nguồ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ương trì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 cho VĐK hoạt động. Hai đầu này được nối vào 2chân XTAL1 và XTAL2 củ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út Reset đượ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.
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ậ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 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.
Để 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 pin nối vào IC và chân (–) của pin nối xuống đất). Hai chân 1 và 2 của DS1307 được nối vào bộ dao động thạch anh có tần số 32,768KHz để tạo dao động cho IC hoạt động.
2.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ũng như 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 áp tạ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ụng thiế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àn tương tự như nhau. Ở đây giới thiệu IC AT89C51 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.
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 ảnh AT89C51
Sơ đồ khối của AT89C51
2.6.1.1. Mô tả các chân
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ì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
3.0
RxD
Ngõ vào Port nối tiếp
3.1
TxD
Ngõ ra Port nối tiếp
3.2
Ngõ vào ngắt ngoài 0
3.3
Ngõ vào ngắt ngoài 1
3.4
T0
Ngõ vào bên ngoài của bộ định thời 1
3.5
T1
Ngõ vào bên ngoài của bộ định thời 0
3.6
Điều khiển ghi bộ nhớ dữ liệu ngoài
3.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):
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.
RST
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).
= 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.
2.6.1.2. Các chế độ đặc biệt
2.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 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 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, 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.
Ở chế