Cỏc thanh ghi điều khiển

Một phần của tài liệu thiết kế mạch thí nghiệm dùng vi điều khiển 80c51 phối ghép với các thiết bị ngoại vi - lcd, adc0809 (Trang 49 - 52)

I. ĐỒNG HỒ THỜI GIAN THỰC

I.4Cỏc thanh ghi điều khiển

Thanh ghi A

- UIP (Update In Progess) cú trạng thỏi cú thể quan sỏt được. Khi UIP = 1, sự thay đổi cập nhật xảy ra, khi UIP = 0 sự thay đổi cập nhật khụng xảy ra cho đến hết khoảng thời gian 244às .Thụng tin thời gian, lịch, bỏo thức trong RAM sẵn sàng cho truy cập khi UIP = 0. UIP chỉ được đọc và khụng bị ảnh hưởng bởi Reset. Nếu bit SET (trong thanh ghi B) =1 sẽ ngăn khụng cho thay đổi và xoỏ trạng thỏi của bit UIP.

- DV0, DV1, DV2: 3 bit này được sử dụng để bật/tắt bộ dao động và reset sự đếm lựi.

DV2 DV1 DV0

0 1 0 Bật bộ dao động và cho phộp đồng hồ thời gian thực giữ thời gian.

Sau thời gian 500ms mới cú sự cập nhật.

X 1 1 Cho phộp bộ dao động nhưng giữ sự kiện đếm ngược trong lúc reset

- RS3, RS2, RS1, RS0 : 4 bit này dựng để chọn 1 trong 13 tap của bộ chia 15 trạng thỏi, hoặc dựng để cấm bộ chia. Tap được chọn cú thể được sử dụng để phỏt ra súng vuụng và/hoặc 1 ngắt định kỳ. Người dựng cú thể làm theo 1 trong cỏc cỏch sau:

1. Cho phộp bằng bit PIE.

2. Cho phộp đầu ra SQW bằng bit SQWE. 3. Cho phộp cả 2 cựng thời gian và trị số. 4. Cho phộp từng cỏi 1.

- SET: Khi bit SET = 0 chức năng thay đổi cập nhật hoạt động bỡnh thường, đếm từng giõy 1. Khi SET = 1 chức năng thay đổi cập nhật bị cấm, chương trỡnh cú thể cài đặt thời gian, lịch mà khụng cần cú sự cập nhật xảy ra ở giữa quỏ trỡnh cài đặt. Quỏ trỡnh đọc cũng được thực thi tương tự. Bit SET cú thể đọc/ghi, nú khụng bị ảnh hưởng bởi Reset hay cỏc lệnh trong DS12887.

- PIE (Periodic Interrupt Enable): Bit cho phộp ngắt định kỳ, bit này cú thể đọc/ghi, nú cho phộp PF (Periodic Interrupt Flag) trong thanh ghi C đặt chõn xuống thấp. Khi PIE = 1, ngắt định kỳ được phỏt ra bởi mức thấp của với cỏc trị số được biểu thị bởi RS3 → RS0 của thanh ghi A. Khi PIE = 0, đầu ra sẽ bị khoỏ, nhưng PF vẫn được set. PIE khụng bị ảnh hưởng bởi cỏc lệnh trong của DS12887, nhưng nú sẽ bị xoỏ về 0 khi Reset.

- AIE (Alarm Interrupt Enable): bit này cú thể đọc/ghi. Khi AIE = 1, cho phộp AF (Alarm Flag) trong thanh ghi C xỏc định . Một ngắt cảnh bỏo xảy ra từng giõy khi 3 bytes thời gian bằng 3 bytes cảnh bỏo với mó cảnh bỏo 11xx.xxxx. Khi AIE = 0, AF khụng khởi động tớn hiệu . AIE bị xoỏ bởi reset, cỏc lệnh trong DS12887 khụng làm ảnh hưởng đến bit AIE.

- UIE (Update Ended Interrupt Enable): bit cú thể đọc/ghi. Bit này cho phộp UF (Update End Flag) trong thanh ghi C xỏc định . Khi chõn

xuống thấp hoặc bit SET lờn cao sẽ xoỏ bit UIE.

- SQWE (Square Wave Enable). Khi SQWE = 1, 1 tớn hiệu súng vuụng với tần số được chọn bởi cỏc bit RS 3 → RS 0, sẽ xuất hiện ở đầu ra SQW. Khi SQWE = 0 , SQW sẽ giữ ở mức thấp. Trạng thỏi của SQWE bị xoỏ bởi , SQWE cú thể đọc/ghi.

- DM (Dat Mode): bit này dựng để chọn thụng tin về thời gian, lịch được định dạng là mó nhị phõn hay mó BCD. DM được set bởi phần mềm và cú thể đọc nếu cần. DM = 1: mó nhị phõn , DM= 0 : mó BCD.

- 24/12 : bit điều khiển định dạng byte giờ. Khi bit này = 1 chế độ 24giờ, khi bit = 0 chế độ 12giờ. Bit này cú thể đọc/ghi, và khụng bị ảnh hưởng bởi

.

- DSE (Daylight Saving Enable): bit cú thể đọc/ghi. Bit này dựng để cho phộp 2 cập nhật đặc biệt. Khi DSE được set = 1: vào Chủ nhật đầu tiờn của thỏng 4 khi thời gian tiến đến 1:59:59am được tăng lờn thành 3:00:00am. Vào chủ nhật cuối cựng của thỏng 10 khi thời gian tiến đến 1:59:59am thỡ được thay

đổi thành 1:00:00am. Khi DSE = 0 sẽ khụng cú sự thay đổi trờn. Bit này khụng bị ảnh hưởng bởi cỏc lệnh trong hay .

Thanh ghi C

- IRQF (Interrupt Request Flag) sẽ được set lờn 1 khi cú 1 trong cỏc sự kiện sau xảy ra:

PF = PIE = 1 AF = AIE = 1 UF = UIE = 1

IRQF = PF.PIE + AF.AIE + UF.UIE

Khi IRQF =1 thỡ = 0. Tất cả cỏc bit cờ bị xoỏ khi thanh ghi C được được bởi phần mềm (chương trỡnh), hay khi xuống thấp.

- PF (Periodic Interrupt Flag) là bit chỉ đọc, nú sẽ set =1 khi 1 cạnh được chọn trong Tap của bộ chia. PF được set =1 hoàn toàn độc lập với trạng thỏi của bit PIE. Khi PF = PIE = 1, tớn hiệu tớch cực và sẽ set bit IRQF. PF được xoỏ bởi hay cú sự đọc thụng tin thanh ghi C của chương trỡnh.

- AF (Alarm Interrupt Flag): Khi AF = 1 sẽ cho biết rằng thời gian hiện tại đó bằng thời gian cảnh bỏo, nếu AIE cũng bằng = 1 thỡ chõn sẽ xuống thấp và IRQF =1. AF được xoỏ bởi hay cú sự đọc thụng tin thanh ghi C của chương trỡnh.

- UF (Update Ended Interrupt Flag) : bit này được set sau mỗi chu kỳ cập nhật. Khi UIE =1 thỡ UF = 1 làm cho IRQF = 1 → được chọn.

- Bit 0 → bit 3: khụng sử dụng.

- VRT (Valid RAM and Time): bit này khụng cho phộp ghi, và khi đọc thỡ phải luụn cú giỏ trị 1. Nếu lỳc nào cũng cú giỏ trị 0, thỡ điều đú cho biết nguồn nuụi của RTC đó cạn, và kết quả dữ liệu của đồng hồ thời gian thực và RAM rất cú thể khụng cũn chớnh xỏc. (adsbygoogle = window.adsbygoogle || []).push({});

- Bit 0 → bit 6 : khụng sử dụng. Luụn cú giỏ trị bằng 0 khi đọc, khụng cho phộp ghi.

Một phần của tài liệu thiết kế mạch thí nghiệm dùng vi điều khiển 80c51 phối ghép với các thiết bị ngoại vi - lcd, adc0809 (Trang 49 - 52)