0
Tải bản đầy đủ (.pdf) (188 trang)

ACCECPT INT IORQ 1 SW

Một phần của tài liệu LUẬN VĂN TỐ T NGHIỆP ỨNG DỤNG CPU Z80 THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO GIỜ TỰ ĐỘNG (Trang 29 -36 )

ACCECPT INT IORQ M1 SW SW

Hình 13:SƠĐỒ KHỐI MẠCH KIỂM SỐT NGẮT.

Mạch tạo vectơ ngắt là mạch đếm modulo 4 đồng bộ, sẽ tạo ra 4 vectơ ngắt (vectơ ngắt gồm 8 bit cĩ dạng 11ttt111). Mỗi vectơ ngắt tạo ra tương ứng với 1 chức năng của Hệ Thống. Hiện tại Hệ Thống chỉ sử dụng 3 vectơ ngắt, các vectơ ngắt cịn lại dành cho các yêu cầu mở rộng chức năng khi cần. Bảng 5 trình bày các vectơ ngắt và chức năng của chúng: VECTƠ NGẮT ĐỊA CHỈ NGẮT CHỨC NĂNG CHỐT 8 BIT 3 TRẠNG THÁI TẠO VECTƠ NGẮT MẠCH GỌI NGẮT GIẢI MÃ VÀ CHỈ THỊ

11001111 11011111 11101111 11111111 0008h 0018h 0028h 0038h Setime Phục vụ hotime Phục vụ Skiptime Chưa sử dụng Bảng 5: CHỨC NĂNG VÀ ĐỊA CHỈ CÁC VECTƠ NGẮT.

Khi cĩ tín hiệu gọi ngắt, P sẽ phát ra 2 tín hiệu IORQM1 đểđọc vectơ ngắt đang hiện diện trên đệm 8 bit và thực hiện chương trình phục vụ ngắt tương ứng với vectơ ngắt đĩ. Mạch giải mã và chỉ thị sẽ làm sáng led tương ứng với vectơ ngắt được chọn. Người sử dụng sẽ dùng switch “select” để lựa chọn vectơ ngắt và ấn switch “accept” để gọi ngắt INT.

Khi ở chức năng Setime, mạch kiểm sốt ngắt sẽ tạo ra tín hiệu điều khiển dừng việc đếm thời gian thực. Tín hiệu này sẽ điều khiển việc cho hoặc cấm tín hiệu Timer tác động vào ngắt NMI. Khi khởi động hoặc trước đĩ bị mất điện, Hệ Thống sẽ tựđộng đặt ở chế độ Setime và ngừng việc đếm thời gian thực, lúc đĩ mạch tạo vectơ ngắt tự động tạo ra vectơ ngắt 11001111 và tín hiệu ngừng đếm thời gian. Cơng việc trên nhằm tránh cho Hệ Thống báo giờ sai, đồng thời người sử dụng sẽ biết được cần phải đặt lại thời gian khi nhìn thấy đèn chỉ thị chức năng Setime sáng lên.

Hệ thống báo giờ tự động

Hình 14:SƠĐỒ CHI TIẾT MẠCH KIỂM SỐT NGẮT.

IC 74LS245 được dùng làm đệm 8 bit 3 trạng thái, IC 74LS112 làm mạch đếm modulo 4, được đặt ở chếđộ tựđộng reset khi mới cấp điện. IC 4093 làm nhiệm vụ giải mã và thúc các led chỉ thị. IC 74LS123 làm nhiệm vụ giới hạn xung gọi ngắt

INT. Các switch ấn đều được chống dội. Các chân Q1, Q2 của IC 74LS112 kết hợp với các chân A1, A2, A3, A4, A5, A6,A7, A8 được nối lên mức cao của IC 74LS245 để tạo thành các vectơ ngắt. P dùng tín hiệu IORQM1 tác động vào chân G của 74LS245 đểđọc nội dung vectơ ngắt.

2.4.5_Mạch hiển thị (Display).

Mạch hiển thị cĩ nhiệm vụ thơng báo thời gian thực và cho phép người sử dụng theo dõi được cơng việc đang thực hiện khi dùng bàn phím. Nội dung hiển thị là các con số chỉ thời gian (thứ, giờ, phút, giây). Đèn hiển thị gồm 7 led 7 đoạn, một led hiển thị thứ, hai led hiển thị giờ, hai led hiển thị phút và 2 led hiển thị giây.

Do đặc điểm của Hệ Thống là phần quét hiển thị cần phải được thực hiện độc lập với vi xử lí nên người viết sử dụng IC chuyên quét phím và hiển thị. Đĩ là IC 8279 để hiển thị. Cấu trúc phần cứng 8279 Hình 15:SƠĐỒ CHÂN CHỨC NĂNG IC 8279 Tên các chân : TÊN DB7 – DB0 CLK RESET CS\ RD\ WR\ Ao IRQ Sl0 - SL3 RL0 – RL3 SHIFT CNTL/STB OUT A3 – 0 OUT B3 – 0 BD I/O I/O I I I I I I O O I I I O O O CHỨC NĂNG Data bus Clock input Reset input Chip Select Read input Write input Address

Interrupt request input Scan lines Return lines

Shift input Control/Strobe input

Display (A) output Display (B) output Blank Display output

Hệ thống báo giờ tự động

Cấu trúc phần mềm của 8279

 IC 8279 cĩ 1 đường địa chỉ A0 cho chức năng lựa chọn như sau:

 A0 = 02 : 8279 xem dữ liệu từ vi xử lí gởi tới 8279 là dữ liệu để hiển thị.

 A0 = 12 :8279 xem dữ liệu từ vi xử lí gởi đến là dữ liệu của lệnh điều khiển 8279.

 Các lệnh điều khiển của 8279:

 Keyboarb/display mode set: + Mã

0 0 0 D D K K K

+ Trong đĩ hai bit DD dùng để thiết lập mode hiển thị, 3 bit KKK dùng để thiết lập mode quét bàn phím. + Hai bit DD: DD = 00 : hiển thị 8 kí tự – lối vào trái DD = 01 : hiển thị 16 kí tự - lối vào trái DD = 10 : hiển thị 8 kí tự - lối vào phải DD = 11 : hiển thị 16 kí tự – lối vào phải + Ba bit KKK

000 : encode scan keyboard – 2 key lockout 001 : decode scan keyboard – 2 key lockout 010 : encode scan keyboard – N key lockout 011 : decode scan keyboard – N key lockout 100 : encode scan sensor matrix

101 : dencode scan sensor matrix 110 : strobe input, encode display scan 111 : strobe input, decode display scan

 Program clock: + Mã

0 0 1 P P P P P

+ Lệnh này cĩ chức chia tần số xung clock ở ngõ vào clk ở chân số 3, các bit PPPPP dùng để xác định số chia nằm trong từ 2 đến 30, tần số hoạt động của mạch quét hiển thị và chống dội của 8279 thường là 100KHz. Nếu tần số ngõ vào là

2MHz thì phải chia cho 20 để được 100 KHz. Khi đĩ các bit PPPPP cĩ giá trị là 10100

 Read FIFO /sensor RAM. + Mã

0 1 0 AI X A A A

+ 8279 cĩ 8 byte RAM bên trong để chứa mã của phím ấn hay mã của các sensors, để truy xuất từng byte mã của phím ấn hay của sesors ta cĩ thể điều chỉnh các bit AAA tương ứng. Bộ nhớ này thuộc kiểu FIFO.

+ AI (automatically increment) : ở mức 1 cĩ chức năng làm con trỏ tự động tăng lên byte kế tiếp để sẵn sàng cho việc đọc dữ liệu. Nếu AI = 0 con trỏ sẽ khơng thay đổi.

 Read display RAM: + Mã

0 1 1 AI A A A A

+ 8279 cĩ 16 byte RAM bên trong do con trỏ 4 bit AAAA quản lý. 16 byte Ram này dùng để chứa dữ liệu hiển thị do vi xử lí gởi đến, đểđọc dữ liệu ơ nhớ nào trong vùng nhớ Ram ta cĩ thểđiều chỉnh các bit AAAA tương ứng.

Bộ nhớ này thuộc kiểu FIFO

+ AI (automatically increment): ở mức 1 cĩ chức năng làm con trỏ tự động tăng lên byte kế tiếp để sẵn sàng đọc byte dữ liệu. Nếu AI = 0 con trỏ sẽ khơng thay đổi.

 End interrupt + Mã

1 1 1 E 0 0 0 0

+ Bit E = 1 sẽ xĩa ngắt IRQ về mức 0

 Lệnh write display RAM. + Mã

1 0 0 AI A A A A

+ 8279 cĩ 16 byte Ram bên trong do con trỏ 4 bit AAAA quản lý 16 byte Ram này dùng để chứa dữ liệu hiển thị do vi xử lí gởi tới. Để gởi dữ liệu đến byte Ram tứ mấy trong 16 byte Ram ta cĩ thểđiều chỉnh các bit AAAA tương ứng

Hệ thống báo giờ tự động

+ AI (automatically increment): ở mức 1 cĩ chức năng làm con trỏ tư động tăng lên byte kế để sẵn sàng nhận dữ liệu. Nếu AI = 0 con trỏ sẽ khơng thay đổi do đĩ byte dữ liệu sau sẽđè lên byte dữ liệu trước đĩ.

Hình 16:SƠĐỒ CHI TIẾT MẠCH HIỂN THỊ. Cách khởi tạo 8279 được trình bày ở phần thiết kế phần mềm.

2.4.6_Mạch điều khiển báo hiệu:

Khi đến thời điểm báo hiệu, Hệ Thống phát ra tín hiệu điều khiển thiết bị báo hiệu hoạt động. Việc báo hiệu được thể hiện bằng đèn chớp tắt hay tiếng cịi, chuơng điện. Cách thức báo hiệu như : số hồi chuơng và độ dài các hồi chuơng do phần mềm Hệ Thống qui định. Cách thức báo hiệu cĩ thể thay đổi bằng cách thay đổi byte mã chuơng trong chương trình phần mềm. Các thiết bị báo hiệu cĩ thể được cấp điện từ nguồn điện khác với nguồn điện của Hệ Thống.

Mạch điều khiển báo hiệu cĩ địa chỉ từ 3000h đến 3FFFh. P sẽ xuất tín hiệu báo hiệu ra mạch điều khiển báo hiệu bằng lệnh ghi dữ liệu vào 1 byte nhớ bất kì trong vùng nhớ 3000h đến 3FFFh, P dùng tín hiệu BDR để điều khiển việc báo hiệu. Mạch điều khiển báo hiệu cĩ sơđồ khối như hình 17.

DATA BUS

Q7

BDR

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

CLOCK

Một phần của tài liệu LUẬN VĂN TỐ T NGHIỆP ỨNG DỤNG CPU Z80 THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO GIỜ TỰ ĐỘNG (Trang 29 -36 )

×