Sơ Đồ Khối Mạch Điều Khiển Báo Hiệu.




MẠCH CHỐT 8 BIT

ATA BUS


BDR


Có thể bạn quan tâm!

Xem toàn bộ 105 trang tài liệu này.

D

THIẾT BỊ BÁO HIỆU

(chuông, còi)

Q7



Hình 17: SƠ ĐỒ KHỐI MẠCH ĐIỀU KHIỂN BÁO HIỆU.


VALID ADDRESS

DATA









CLOCK


A0-A15 MERQ BDR


D0-D7



Hình 18: CHU KÌ P XUẤT DỮ LIỆU BÁO HIỆU.

Dữ liệu báo hiệu gồm 8 bit từ D0 đến D7 của byte báo hiệu, ví dụ chọn bit D7 để điều khiển thiết bị báo hiệu. Khi ngõ ra Q7 của mạch chốt ở mức cao sẽ làm thiết bị báo hiệu hoạt động. Ngược lại, thiết bị báo hiệu sẽ không hoạt động khi Q7 ở mức thấp.

D7

BDR

Q7

0

1 0

KHÔNG BÁO

1

BÁO HIỆU

0

HIỆU


Hình 19: QUÁ TRÌNH ĐIỀU KHIỂN BÁO HIỆU.

Thông qua tín hiệu điều khiển BDR kết hợp với dữ liệu báo hiệu. Chương trình Hệ Thống có thể thay đổi được thời gian Q7 giữ ở mức cao.


Như vậy, chương trình phần mềm hoàn toàn có thể kiểm soát số hồi chuông cũng như độ dài hồi chuông báo hiệu. Mạch điều khiển báo hiệu có cấu tạo như sau:



Hình 20: SƠ ĐỒ CHI TIẾT MẠCH BÁO HIỆU.

IC 74LS373 được dùng làm mạch chốt 8 bit, ngõ vào của 74LS373 được nối với Data bus. Bảng sự thật của 74LS373 như sau:



OC

G

DATA

Q

L

H

H

H

L

H

L

L

L

L

X

QO



Bảng 6: BẢNG SỰ THẬT CỦA 74LS373

Tín hiệu điều khiển BDR được cho qua mạch đảo để phù hợp với mức tác động của chân G IC 74LS373. Ngõ ra Q7 sẽ điều khiển 1 Opto triac (hoặc relay) đóng mạch cho chuông điện. Với cấu tạo như trên, Hệ Thống sẽ được cách li về điện với thiết bị báo hiệu, để đảm bảo an toàn cho người sử dụng.

Ngoài ra, với 8 ngõ ra Q0…Q7 của IC 74LS373, chương trình phần mềm có thể điều khiển các thiết bị báo hiệu để phát ra âm thanh báo hiệu có những tần số khác nhau, tăng tính đa dạng trong cách thức báo hiệu.


2.4.7_Mạch cung cấp điện:

Khi hệä thống bị mất điện, việc đếm thời gian thực sẽ bị gián đoạn, các thời điểm Hottime và Skiptime trong bộ nhớ sẽ bị mất. Do đó, Hệ Thống phải được cấp điện liên tục để việc báo hiệu thực hiện chính xác.

Để thỏûa mãn yêu cầu trên, Hệ Thống được trang bị 1 accu dự phòng cho trường hợp mất điện lưới. Cấu tạo của mạch cấp điện sẽ có mạch ổn áp và mạch nạp accu. Việc nạp accu sẽ bắt đầu khi điện thế accu xuống thấp hơn mức qui định và ngưng nạp accu khi accu được nạp đủ điện.

Mạch cấp điện có cấu tạo như sau:


Hình 21 SƠ ĐỒ CHI TIẾT MẠCH CẤP ĐIỆN IC 7805 làm nhiệm vụ ổn áp cung cấp 1

Hình 21: SƠ ĐỒ CHI TIẾT MẠCH CẤP ĐIỆN

IC 7805 làm nhiệm vụ ổn áp cung cấp điện thế 5V ổn định cho Hệ Thống. Transistor H1061 và zener có Vz = 14v tạo thành mạch ổn áp nạp điện cho accu 12v. Điện thế nạp cho accu:

VA = Vz – (0,7 +0,7)=12,6V

Bình thường, IC ổn áp 7805 nhận điện từ mạch cầu nắn điện biến đổi ra 5V cung cấp cho Hệ Thống. Khi đó, điện thế tại điểm B lớn hơn tại điểm A (VB > VA) nên accu và mạch nạp accu được tách khỏi 7805.

Khi điện thế accu thấp hơn mức qui định (12,6V), transistor H1061 dẫn điện và accu được nạp điện, trong quá trình nạp điện, điện thế accu đươcï nâng cao dần. Khi accu đã được nạp đầy, điện thế accu có khuynh hướng vượt quá 12,6 V. điều này làm cho transistor H1061 ngưng dẫn, việc nạp accu sẽ dừng lại tránh hiện tượng nạp quá no gây hỏng accu. Điện thế accu duy trì ở 12,6V.

Khi điện lưới cung cấp bị gián đoạn (VA > VB) accu sẽ cấp điện cho Hệ Thống hoạt động, khi có điện trở lại, nếu điện thế accu xuống thấp hơn 12,6V, mạch nạp accu sẽ hoạt động và quá trình nạp diễn ra như trình bày ở trên.


III- THIẾT KẾ PHẦN MỀM.

3.1- Tổng quát phần mềm hệ thống.

Phần mềm được thiết kế nhằm tạo cho Hệ Thống Báo Giờ Tự Động có 5 chức năng như sau:

Chức năng tự động báo hiệu.

Chức năng tạo thời gian thực và hiển thị thời gian thực.

Chức năng điều chỉnh thời gian thực.

Chức năng về Hottime gồm : Xem, xóa và đặt mới.

Chức năng về Skiptime gồm : Xem, xóa và đặt mới.

Mỗi chức năng nêu trên được một chương trình thực hiện. Do đó, phần mềm Hệ Thống gồm 5 chương trình thực hiện 5 chức năng chính của Hệ Thống và 3 chương trình con phục vụ chung cho các chương trình.

3.1.1- Chức năng báo hiệu tự động :

Điều kiện để báo hiệu: khi có 1 Restime hay Hottime bằng với thời gian thực và không có Skiptime nào bằng với thời gian thực thì tiến hành việc báo hiệu.

Việc báo hiệu phải được thực hiện tự động. Do đó, chương trình đảm nhận việc báo hiệu tự động sẽ được đặt ở địa chỉ 0000h trong vùng nhớ. Tên chương trình này được đặt là MAIN.

Đây là chương trình điều khiển chính của Hệ Thống. Ngoài việc thực hiện chức năng báo hiệu tự động, chương trình MAIN phải giúp khởi động Hệ Thống.

Khi Hệ Thống vừa được cấp điện, chương trình MAIN sẽ khởi động Hệ Thống. Sau đó, 1 vòng lặp sẽ thực hiện quá trình so sánh thời gian thực với các thời điểm báo hiệu (Restime, Hottime), các thời điểm cấm báo hiệu (Skiptime) và thứ trong tuần để quyết định việc báo hiệu hay không đối với từng thời điểm hiện tại. Nếu cần báo hiệu, chương trính MAIN sẽ điều khiển mạch báo hiệu …

3.1.2- Chức năng tạo thời gian thực:

Tín hiệu định thời gọi ngắt NMI có tần số 1Hz, nên thời gian thực được tạo ra bởi chương trình phục vụ ngắt NMI đặt tại địa chỉ 0066h có tên là RTP (Real Time Program).

Khi được gọi, chương trình RTP sẽ tăng thời gian thực thêm 1 giây và hiển thị thời gian thực.


3.1.3- Chức năng điều chỉnh thời gian thực:

Việc điều chỉnh thời gian thực do người sử dụng quyết định thực hiện thông qua thiết bị gọi ngắt INT .

Chương trình Settime được đặt ở địa chỉ 08h sẽ đáp ứng ngắt INT mode 0 để phục vụ chức năng điều chỉnh thời gian thực cho người sử dụng.

Bằng bàn phím và đèn hiển thị, người sử dụng dễ dàng điều chỉnh thời gian thực.

3.1.4- Chức năng về Hottime: ( Xem - Xóa - Đặt)

Các chức năng về Hottime được thực hiện bởi chương trình Hottime. Chương trình Hottime sẽ đáp ứng ngắt INT mode 0 ở địa chỉ 18h.

Khi người sử dụng quyết định thực hiện chức năng về Hottime nhờ thiết bị gọi ngắt, chương trình sẽ được thi hành. Thông qua bàn phím và đèn hiển thị, người sử dụng có thể thực hiện một trong các chức năng xem, xóa và đặt Hottime.

3.1.5- Chức năng về Skiptime: (Xem - Xóa - Đặt)

Tương tự như chức năng về Hottime, chương trình Skiptime được đặt ở địa chỉ 28h sẽ đáp ứng ngắt INT mode 0.

Chương trình Skiptime được thi hành theo yêu cầu của người sử dụng và nhận sự điều khiển từ bàn phím.

3.1.6- Các chương trình con:

Chương trình con hiển thị (tên là DISPLAY):

Thực hiện việc biến đổi dữ liệu giờ và phút từ mã HEX sang BCD. Sau đó thực hiện việc so sánh từ 0 - 9 rồi viết sang 8279 để hiển thị các thông tin về thời gian.

Chương trình xử lý bàn phím (tên là KEYPRO)

Nhận phím được ấn để phục vụ việc lựa chọn Thứ - Giờ - Phút.

Chương trình báo lỗi (tên là ERROR):

Gởi thông báo lỗi đến người sử dụng thông qua đèn hiển thị.

Phần mềm Hệ Thống được viết bằng ngôn ngữ ASSEMBLY cho Z80, hợp dịch bằng M80 và L80. Phần mềm Hệ Thống được nạp vào 1 vi mạch ROM 2732 có địa chỉ từ 0000h đến 0FFFh.


Bảng sau đây trình bày tóm tắt tên và địa chỉ các chương trình phần mềm.


TÊN CHƯƠNGTRÌNH

ĐỊA CHỈ

NHIỆM VỤ

MAIN

0000h

Tự động báo hiệu

RTP

0066h

Tạo thời gian thực và hiển thị thời gian thực

SETTIME

0008h

Điều chỉnh thời gian thực

HOTTIME

0018h

Xem, xóa và đặt Hottime

SKIPTIME

0028h

Xem, xóa và đặt Skiptime

DISPLAY

Không xác định

Biến đổi HEXBCD và xuất ra mạch hiển thị

KEYPRO

Không xác định

Đọc dữ liệu bàn phím và xử lý phím ấn

ERROR

Không xác định

Báo lỗi



Bảng 7: TÓM TẮT CHƯƠNG TRÌNH PHẦN MỀM

3.2- Tổ chức dữ liệu:

Dữ liệu là một thành phần rất quan trọng của phần mềm, cấu trúc của nó quyết định giải thuật xử lý dữ liệu, dữ liệu có cấu trúc phù hợp làm cho giải thuật đơn giản và chặt chẽ hơn.

Dữ liệu của phần mềm Hệ Thống Báo Giờ chủ yếu là thời gian (Thứ-Giờ- Phút-Giây) dưới dạng số HEX có cấu trúc như sau:

3.2.1- Thời gian thực:

Gồm 4 byte cho Thứ, Giờ, Phút và Giây được đặt trong vùng nhớ RAM có địa chỉ là:


DATE

EQU

1004H; Byte cứa thứ thực

HOUR

EQU

1005H; Byte chứa Giờ thực

MIN

EQU

1006H; Byte chứa Phút thực

SEC

EQU

1007H; Byte chứa Giây thực

Thời gian thực được chương trình RTP hay chương trình Settime cập nhật.


3.2.2- Restime:

Các Restime được đặt liên tiếp nhau trong một vi mạch ROM 2732 tạo thành bảng Restime. Do đó, bảng Restime có cấu trúc là một danh sách tuần tự (còn gọi là danh sách đặc). Địa chỉ đầu bảng Restime là 0FA0h. Cuối bảng Restime là byte EORT (End Of Restime). EORT có giá trị là 0FFH dùng để báo kết thúc bảng Restime.

Mỗi Restime chiếm 3 byte, mỗi byte cho Giờ, Phút và Mã chuông. Cấu trúc bảng Restime vẽ bởi hình như sau:


0FFFh

0FA0h + 3(N -1)+4



0FA0h + 3(N -1)+3

EORT (0FFh)

End Of Restime

0FA0h + 3(N -1)+2

Mã chuông N


0FA0h + 3(N -1)+1

Phút Restime N


0FA0h + 3(N -1)

Giờ Restime N



..........


0FA5h

Mã chuông 2


0FA4h

Phút Restime 2


0FA3h

Giờ Restime 2


0FA2h

Mã chuông 1


0FA1h

Phút Restime 1


0FA0h

Giờ Restime 1




Hình 22: CẤU TRÚC BẢNG RESTIME

3.2.3-Hottime

Với cấu trúc tương tự như bảng Restime, bảng Hottime gồm 32 byte được đặt trong vùng nhớ RAM từ địa chỉ 1008h đến địa chỉ 1027h.

Mỗi Hottime gồm 3 byte (Giờ, Phút và Mã chuông ). Bảng Hottime chứa tối đa được 10 Hottime, 2 byte cuối của bảng Hottime luôn có giá trị là 0FEh. Byte EOHT (End Of Hottime) là mã kết thúc bảng Hottime. Cấu trúc bảng Hottime như sau:


1027h

0FEh

Dùng cho xóa Hottime

1026h

EOHT (0FEh)

END Of Hottime

1025h

Mã chuông


1024h

Phút Hottime 10


1023h

Giờ Hottime 10



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


100Ah

Mã chuông 1


1009h

Phút Hottime 1


1008h

Giờ Hottime 1



Hình23 : CẤU TRÚC BẢNG HOTTIME

Hottime là loại dữ liệu động. Khi khởi động Hệ Thống phải tạo bảng Hottime gồm 10 Hottime rỗng, Hottime rỗng có giá trị là 0FEh.

Hottime được thiết kế cho mục đích báo hiệu đột xuất. Mỗi Hottime chỉ có tác dụng cho một lần báo hiệu, do đó Hottime sẽ bị xóa sau khi báo hiệu.

3.2.4- Skiptime:

Cấu trúc bảng Hottime cũng là danh sách tuần tự gồm 22 byte trong vùng nhớ RAM từ địa chỉ 1028h đến địa chỉ 103Dh.

Mỗi Skiptime gồm 2 byte, một byte cho Giờ và một byte cho Phút. Bảng Skiptime chứa tối đa 10 Skiptime, 2 byte cuối của bảng Skiptime cũng có giá trị 0FEh dùng làm EOST (End Of Skiptime). EOST là mã báo kết thúc bảng Skiptime. Cấu trúc bảng Skiptime như ở hình sau:

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 08/09/2023