Nghiên Cứu Ứng Dụng CPU Z80 Để Thiết Kế Hệ Thống Báo Giờ Tự Động

Tài liệu nghiên cứu Ứng dụng cpu z80 thiết kế và thi công hệ thống báo giờ tự động, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Người đăng

Ẩn danh
112
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

1. GIỚI THIỆU ĐỀ TÀI

1.1. Mục tiêu của đề tài

1.2. Khả năng của hệ thống báo giờ tự động

1.3. Một số qui ước

1.4. Phương hướng giải quyết

1.4.1. Giải pháp phần cứng

1.4.2. Giải pháp phần mềm

1.5. Nguyên lý chung của hệ thống báo giờ tự động

2. NỘI DUNG

2.1. Giới thiệu các dạng mạch đã có trong nước

2.1.1. Đề tài “Thiết Kế Và Thi Công Máy Báo Tiết Cho Trường ĐHSPKT”

2.1.2. Đề tài “Thiết Kế Và Thi Công Mạch Đồng Hồ Báo Giờ”

2.1.3. Ưu nhược điểm của hệ thống báo giờ tự động dùng EPROM so với hệ thống báo giờ tự động dùng vi xử lí Z80

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

2.2.1. Tổng quát phần cứng hệ thống

2.2.2. Bộ nhớ hệ thống và giải mã địa chỉ

2.2.2.1. Bộ nhớ hệ thống
2.2.2.2. Mạch giải mã địa chỉ

2.2.3. Khảo sát tính chất ngắt NMI

2.2.4. Cấu tạo và nguyên tắc hoạt động các khối mạch

2.2.4.1. Mạch tạo xung đồng hồ
2.2.4.2. Mạch định thời
2.2.4.3. Mạch bàn phím (Keypro)
2.2.4.4. Mạch kiểm soát ngắt
2.2.4.5. Mạch hiển thị (Display)
2.2.4.6. Mạch điều khiển báo hiệu
2.2.4.7. Mạch cung cấp điện
2.2.4.8. Sơ đồ chi mạch điện hệ thống

2.3. Thiết kế phần mềm

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

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

2.3.3. Chức năng tạo thời gian thực

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

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

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

2.3.7. Các chương trình con

2.3.7.1. Chương trình con hiển thị (tên là Display)
2.3.7.2. Chương trình xử lí bàn phím (tên là Keypro)
2.3.7.3. Chương trình báo lỗi (tên là ERROR)

2.3.8. Tổ chức dữ liệu

2.3.9. Thời gian thực

2.3.10. Phân chia vùng nhớ

2.3.11. Các chương trình

2.3.11.1. Chương trình MAIN
2.3.11.2. Chương trình RTP (Real Time Program)
2.3.11.3. Chương trình Settime
2.3.11.4. Chương trình Hottime
2.3.11.5. Chương trình Skiptime
2.3.11.6. Chương trình con Display
2.3.11.7. Chương trình con Keypro
2.3.11.8. Chương trình con ERROR

2.4. Thi công

3. KẾT LUẬN VÀ KIẾN NGHỊ

3.1. Kết quả thực nghiệm

3.2. Mô tả hệ thống và hướng dẫn sử dụng

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

3.2.2. Chức năng về Hottime

3.2.3. Chức năng về Skiptime

3.3. Kết luận và hướng phát triển của đề tài

3.4. Kiến nghị

PHỤ LỤC TÀI LIỆU THAM KHẢO

Tóm tắt

I. Toàn Cảnh Ứng Dụng CPU Z80 Trong Hệ Thống Báo Giờ Tự Động

Trong bối cảnh tự động hóa ngày càng thâm nhập vào đời sống và sản xuất, việc ứng dụng kỹ thuật vi xử lý để tạo ra các hệ thống thông minh đã trở thành một xu hướng tất yếu. Đề tài Ứng Dụng CPU Z80 Trong Thiết Kế Hệ Thống Báo Giờ Tự Động là một minh chứng tiêu biểu cho hướng đi này, đặc biệt trong giai đoạn chuyển giao công nghệ cuối thế kỷ 20. Mục tiêu cốt lõi của dự án, như được trình bày trong luận văn tốt nghiệp của Phan Thanh Tài (2000), là thay thế hoàn toàn con người trong nhiệm vụ báo giờ tại các môi trường như trường học, nhà xưởng, yêu cầu độ chính xác và tính lặp lại cao. Vi xử lý Z80, một bộ vi xử lý 8-bit huyền thoại của hãng Zilog, được chọn làm trái tim của hệ thống nhờ vào kiến trúc mạnh mẽ, tập lệnh phong phú và khả năng truy xuất bộ nhớ lên đến 64KB. Việc sử dụng Z80 không chỉ là một giải pháp kỹ thuật mà còn là một bước tiến quan trọng so với các mạch logic số hay các hệ thống dùng EPROM cố định trước đó. Hệ thống này không chỉ tạo ra thời gian thực một cách chính xác mà còn cung cấp các tính năng tùy biến mạnh mẽ, cho phép người dùng tương tác để thiết lập các mốc thời gian báo hiệu đột xuất hoặc tạm thời vô hiệu hóa các mốc có sẵn. Toàn bộ hoạt động của hệ thống nhúng Z80 này là sự kết hợp chặt chẽ giữa phần cứng được thiết kế tối ưu và phần mềm điều khiển được lập trình assembly Z80 một cách tỉ mỉ. Sự thành công của đề tài đã mở ra một hướng tiếp cận hiệu quả cho các đồ án vi xử lý sau này, khẳng định tiềm năng to lớn của việc tích hợp các bộ vi xử lý cổ điển vào việc giải quyết các bài toán tự động hóa trong thực tiễn, từ đó tạo ra những sản phẩm có giá trị ứng dụng cao.

1.1. Lịch sử và vai trò của vi xử lý Z80 trong hệ thống nhúng

Zilog Z80 ra đời vào năm 1976 và nhanh chóng trở thành một trong những bộ vi xử lý 8-bit phổ biến nhất, là nền tảng cho vô số máy tính cá nhân và hệ thống nhúng Z80 trong suốt những năm 80 và 90. Sức mạnh của Z80 nằm ở tập lệnh mở rộng, tương thích ngược với Intel 8080 nhưng bổ sung thêm nhiều lệnh mạnh mẽ, hai bộ thanh ghi đa dụng có thể hoán đổi, và các chế độ ngắt linh hoạt. Những đặc tính này làm cho việc lập trình assembly Z80 trở nên hiệu quả hơn, cho phép các nhà phát triển tạo ra các chương trình điều khiển phức tạp với tài nguyên phần cứng hạn chế. Trong các ứng dụng điều khiển thời gian thực như mạch báo giờ kỹ thuật số, Z80 chứng tỏ được sự ổn định và đáng tin cậy.

1.2. Phân tích mục tiêu và khả năng của hệ thống báo giờ tự động

Mục tiêu chính của đề tài là xây dựng một hệ thống có khả năng thay thế con người một cách tự động và chính xác. Các khả năng cụ thể của hệ thống bao gồm: tạo và hiển thị thời gian thực (thứ, giờ, phút, giây); tự động báo hiệu tại các thời điểm được lập trình sẵn trong ROM (RESTIME); cho phép người dùng thêm các mốc báo hiệu đột xuất (HOTTIME) và cấm báo hiệu tại một số thời điểm nhất định (SKIPTIME) thông qua bàn phím. Hệ thống cũng được thiết kế để duy trì hoạt động khi mất điện lưới nhờ accu dự phòng, đảm bảo tính liên tục của thời gian. Đây là một bước tiến lớn, mang lại sự linh hoạt vượt trội cho người vận hành.

II. Thách Thức Khi Thiết Kế Hệ Thống Báo Giờ Bằng Vi Xử Lý

Việc thiết kế mạch điện tử dựa trên vi xử lý Z80 đặt ra nhiều thách thức đáng kể, đặc biệt khi so sánh với các phương pháp truyền thống hoặc các vi điều khiển tích hợp hiện đại. Một trong những khó khăn lớn nhất là việc phải xây dựng toàn bộ hệ thống từ các linh kiện điện tử rời rạc. Không giống như Arduino hay PIC nơi CPU, RAM, ROM và các ngoại vi được tích hợp trên một con chip duy nhất, hệ thống Z80 đòi hỏi phải thiết kế các mạch riêng biệt cho bộ nhớ (ROM, RAM), giải mã địa chỉ, tạo xung clock, và giao tiếp I/O. Quá trình giao tiếp Z80 với bộ nhớ và các thiết bị ngoại vi là một bài toán phức tạp, yêu cầu kiến thức sâu về giải mã địa chỉ và timing của bus. Luận văn gốc đã chỉ ra những hạn chế của các mạch báo giờ thế hệ trước sử dụng EPROM. Các hệ thống này, tuy đơn giản, nhưng lại thiếu tính linh hoạt; mọi thay đổi về lịch báo giờ đều yêu cầu phải lập trình lại và nạp lại EPROM, một quy trình tốn thời gian và không thân thiện với người dùng cuối. Thách thức của đề tài Ứng Dụng CPU Z80 Trong Thiết Kế Hệ Thống Báo Giờ Tự Động là phải vượt qua được những nhược điểm này, tạo ra một hệ thống không chỉ mạnh mẽ về chức năng mà còn dễ dàng tùy chỉnh và vận hành. Việc lựa chọn và tích hợp các IC hỗ trợ như 8279 để quét phím và điều khiển LED 7 đoạn cũng là một phần quan trọng trong việc giải quyết bài toán giao tiếp người-máy một cách hiệu quả.

2.1. So sánh giải pháp Z80 với mạch báo giờ dùng EPROM cố định

Các hệ thống báo giờ trước đây thường dùng EPROM để lưu trữ một chuỗi bit định thời. Địa chỉ của EPROM được tăng tuần tự bởi một bộ đếm, và dữ liệu ở ngõ ra sẽ điều khiển chuông báo. Nhược điểm của phương pháp này là cố định và cứng nhắc. Hệ thống dùng vi xử lý Z80 mang lại ưu thế vượt trội: hiển thị được cả thứ và giây; cho phép điều chỉnh thời gian độc lập (tăng/giảm); thêm/xóa các mốc báo hiệu đột xuất (Hottime/Skiptime) trực tiếp qua bàn phím mà không cần can thiệp phần cứng. Quyết định báo hiệu được điều khiển bằng phần mềm, cho phép tạo ra các kiểu chuông đa dạng, mang lại tính linh hoạt cao hơn hẳn.

2.2. Vấn đề giải mã địa chỉ và quản lý không gian bộ nhớ Z80

CPU Z80 có 16 đường địa chỉ, cho phép quản lý 64KB không gian nhớ. Trong dự án này, không gian nhớ được ánh xạ (memory-mapped) cho cả bộ nhớ và các thiết bị I/O. Thách thức nằm ở việc thiết kế mạch giải mã địa chỉ Z80 một cách hiệu quả để phân vùng cho ROM (chứa chương trình), RAM (lưu biến và stack), mạch hiển thị, bàn phím và mạch điều khiển chuông. Tác giả đã sử dụng IC 74LS138 để giải mã 3 đường địa chỉ cao (A12-A14), tạo ra các tín hiệu chọn chip (Chip Select) riêng biệt cho từng thành phần. Việc thiết kế PCB phải đảm bảo các đường tín hiệu bus không bị nhiễu để hệ thống hoạt động ổn định.

III. Hướng Dẫn Thiết Kế Phần Cứng Cho Hệ Thống Báo Giờ Dùng Z80

Phần cứng là nền tảng vật lý quyết định sự ổn định và hiệu năng của toàn bộ hệ thống báo giờ tự động. Quá trình thiết kế mạch điện tử cho dự án này được xây dựng xung quanh vi xử lý Z80, kết hợp với các vi mạch phụ trợ để thực hiện các chức năng chuyên biệt. Sơ đồ khối tổng quát của hệ thống bao gồm: Khối xử lý trung tâm (CPU Z80), Khối bộ nhớ (ROM 2732 và RAM 6116), Khối tạo xung nhịp và định thời, Khối giao tiếp người dùng (bàn phím và mạch hiển thị LED 7 đoạn dùng IC 8279), Khối kiểm soát ngắt, và Khối điều khiển báo hiệu. Một trong những yếu tố then chốt là mạch tạo tín hiệu định thời 1Hz, được lấy từ một mạch đồng hồ Gimiko chuyên dụng, để đưa vào chân ngắt không che được NMI (Non-Maskable Interrupt) của Z80. Tín hiệu này đảm bảo việc cập nhật thời gian thực được ưu tiên tuyệt đối và có độ chính xác cao. Mạch kiểm soát ngắt INT mode 0 cho phép người dùng chọn các chức năng như Settime, Hottime, Skiptime. Việc thiết kế PCB đòi hỏi sự tính toán cẩn thận để giảm thiểu nhiễu trên các đường bus địa chỉ và dữ liệu. Toàn bộ sơ đồ nguyên lý mạch được thiết kế theo phương pháp ánh xạ bộ nhớ (memory-mapped I/O), nơi các thiết bị ngoại vi được truy xuất như các ô nhớ, giúp đơn giản hóa việc lập trình assembly Z80.

3.1. Sơ đồ nguyên lý mạch và các khối chức năng cốt lõi

Sơ đồ nguyên lý mạch là bản thiết kế chi tiết thể hiện sự kết nối giữa các linh kiện điện tử. Khối trung tâm là Zilog Z80 và các bus. Khối bộ nhớ gồm IC ROM 2732 (4KB) chứa firmware và RAM tĩnh 6116 (2KB) cho vùng đệm và stack. Khối hiển thị sử dụng IC 8279 để giảm tải cho CPU trong việc quét LED và đọc phím. Khối định thời tạo xung 1Hz cho ngắt NMI. Khối điều khiển báo hiệu dùng một IC chốt 74LS373 và opto-triac để cách ly mạch điều khiển với chuông điện xoay chiều, đảm bảo an toàn. Mỗi khối đều có vai trò rõ ràng và được kết nối với nhau thông qua bus hệ thống.

3.2. Mạch định thời và cơ chế xử lý ngắt NMI INT của Z80

Độ chính xác của hệ thống phụ thuộc hoàn toàn vào mạch định thời. Tác giả đã sử dụng một bo mạch dao động từ đồng hồ GIMIKO để tạo ra tín hiệu 1Hz ổn định. Tín hiệu này được đưa vào chân ngắt NMI của Z80. NMI là ngắt có độ ưu tiên cao nhất, không thể bị vô hiệu hóa bằng phần mềm, đảm bảo chương trình cập nhật thời gian (RTP - Real Time Program) luôn được thực thi mỗi giây. Trong khi đó, ngắt INT được sử dụng cho các tương tác của người dùng. Một mạch logic bên ngoài cho phép người dùng chọn chức năng (Settime, Hottime, Skiptime) và tạo ra một vector ngắt tương ứng để CPU thực thi chương trình phục vụ phù hợp.

IV. Bí Quyết Lập Trình Assembly Z80 Cho Hệ Thống Thời Gian Thực

Phần mềm là linh hồn của hệ thống nhúng Z80, quyết định toàn bộ logic hoạt động và tính năng của thiết bị. Việc lập trình assembly Z80 cho một ứng dụng thời gian thực như hệ thống báo giờ đòi hỏi sự tối ưu và chính xác trong từng dòng lệnh. Cấu trúc phần mềm của dự án được tổ chức một cách khoa học, bao gồm chương trình chính (MAIN) và các chương trình con phục vụ ngắt cũng như các tác vụ phụ trợ. Chương trình MAIN chịu trách nhiệm khởi tạo hệ thống, sau đó đi vào một vòng lặp vô tận để liên tục so sánh thời gian thực với các bảng thời gian báo hiệu (RESTIME, HOTTIME) và bảng cấm báo hiệu (SKIPTIME). Quyết định có phát chuông hay không được đưa ra dựa trên kết quả so sánh này. Chương trình phục vụ ngắt NMI, có tên là RTP (Real Time Program), là thành phần quan trọng nhất, được thực thi mỗi giây để cập nhật các biến thời gian (giây, phút, giờ, thứ). Các chương trình phục vụ ngắt INT (SETTIME, HOTTIME, SKIPTIME) cho phép người dùng tương tác với hệ thống. Ngoài ra, các chương trình con như DISPLAY (xử lý hiển thị lên LED 7 đoạn) và KEYPRO (đọc và xử lý bàn phím) được thiết kế để tái sử dụng, giúp cấu trúc mã nguồn trở nên gọn gàng và dễ bảo trì. Toàn bộ phần mềm được viết bằng hợp ngữ Z80, hợp dịch bằng M80 và L80, sau đó nạp vào IC ROM 2732.

4.1. Cấu trúc phần mềm và lưu đồ giải thuật của chương trình MAIN

Chương trình MAIN bắt đầu tại địa chỉ 0000h. Nhiệm vụ đầu tiên là khởi tạo con trỏ ngăn xếp (Stack Pointer), reset mạch báo hiệu, và tạo các bảng Hottime, Skiptime rỗng trong RAM. Sau khi khởi tạo, chương trình vào vòng lặp chính. Mỗi phút, nó sẽ duyệt qua bảng Restime và Hottime. Nếu tìm thấy một mốc thời gian trùng với thời gian thực, nó sẽ tiếp tục kiểm tra bảng Skiptime. Nếu thời điểm đó không bị cấm, chương trình sẽ gọi thủ tục phát chuông với mã chuông tương ứng. Lưu đồ giải thuật được thiết kế chặt chẽ để đảm bảo không bỏ sót bất kỳ điều kiện nào, mang lại hoạt động đáng tin cậy.

4.2. Kỹ thuật tạo thời gian thực bằng chương trình phục vụ ngắt RTP

Chương trình RTP (Real Time Program) được đặt tại địa chỉ vector ngắt NMI (0066h). Mỗi khi có tín hiệu 1Hz tác động, Z80 sẽ tạm dừng công việc hiện tại và nhảy đến thực thi RTP. Chương trình này thực hiện các bước: tăng biến giây lên 1. Nếu giây bằng 60, reset giây về 0 và tăng phút. Tương tự cho phút, giờ và thứ. Sau khi cập nhật, RTP sẽ gọi chương trình con DISPLAY để hiển thị thời gian mới lên LED 7 đoạn. Kỹ thuật này đảm bảo việc đếm thời gian được thực hiện một cách chính xác và độc lập với các tác vụ khác của hệ thống.

V. Kết Quả Và Ứng Dụng Thực Tiễn Của Hệ Thống Báo Giờ Z80

Sản phẩm cuối cùng của đề tài Ứng Dụng CPU Z80 Trong Thiết Kế Hệ Thống Báo Giờ Tự Động là một hệ thống hoàn chỉnh, hoạt động ổn định và đáp ứng đầy đủ các yêu cầu thiết kế đã đề ra. Thông qua thực nghiệm, hệ thống đã chứng minh được khả năng tạo thời gian thực chính xác, báo hiệu đúng giờ theo lịch trình cố định và linh hoạt theo các thiết lập của người dùng. Giao diện người dùng, mặc dù đơn giản với 5 phím chức năng và 7 LED 7 đoạn, nhưng được tổ chức hợp lý, cho phép thực hiện các thao tác phức tạp như xem, xóa, đặt mới các mốc Hottime và Skiptime một cách trực quan. Chức năng báo lỗi khi người dùng thao tác sai (ví dụ đặt quá 10 Hottime) cũng là một điểm cộng, tăng tính thân thiện và an toàn cho hệ thống. So với các giải pháp trước đó, ưu điểm vượt trội của hệ thống này là tính linh hoạt. Người quản lý có thể dễ dàng thay đổi lịch báo giờ cho các sự kiện đột xuất mà không cần can thiệp vào phần cứng hay lập trình lại ROM. Mạch báo giờ kỹ thuật số này hoàn toàn có thể được ứng dụng rộng rãi tại các trường học để báo giờ vào lớp, ra chơi, tan học; tại các nhà máy để báo giờ bắt đầu ca, nghỉ giữa giờ và kết thúc ca làm việc. Đây là một đồ án vi xử lý mang tính thực tiễn cao, không chỉ thể hiện năng lực thiết kế của sinh viên mà còn tạo ra một sản phẩm hữu ích cho xã hội.

5.1. Hướng dẫn sử dụng các chức năng cốt lõi Settime Hottime Skiptime

Hệ thống cung cấp 3 chế độ hoạt động chính, được lựa chọn qua các phím cứng. Chế độ SETTIME cho phép điều chỉnh thời gian hệ thống. Chế độ HOTTIME cho phép người dùng xem danh sách, xóa hoặc thêm mới tối đa 10 thời điểm báo hiệu đột xuất trong ngày. Tương tự, chế độ SKIPTIME cho phép thêm 10 thời điểm cấm báo hiệu. Các thao tác tăng/giảm giá trị giờ, phút, thứ được thực hiện bằng các tổ hợp phím, ví dụ như giữ phím 'Ins' và nhấn '+' để tăng giờ. Thiết kế này, dù sử dụng ít phím, vẫn đáp ứng đầy đủ các nhu cầu vận hành.

5.2. Đánh giá hiệu năng và so sánh với vi điều khiển hiện đại

Vào thời điểm năm 2000, hệ thống báo giờ dùng Zilog Z80 là một giải pháp hiệu quả và mạnh mẽ. Tuy nhiên, so với các vi điều khiển hiện đại như Arduino (ATmega) hay ESP32, việc thiết kế một hệ thống Z80 phức tạp và tốn nhiều linh kiện hơn. Các vi điều khiển ngày nay đã tích hợp sẵn module thời gian thực RTC (như IC DS1307 hoặc IC DS3231), bộ nhớ Flash, RAM và nhiều ngoại vi khác trên một chip duy nhất, giúp đơn giản hóa đáng kể việc thiết kế phần cứng. Tuy vậy, việc nghiên cứu và thực thi một dự án Z80 mang lại kiến thức nền tảng vô giá về kiến trúc máy tính, quản lý bộ nhớ và lập trình cấp thấp.

VI. Kết Luận Và Hướng Phát Triển Cho Đồ Án Vi Xử Lý Z80 Này

Đề tài Ứng Dụng CPU Z80 Trong Thiết Kế Hệ Thống Báo Giờ Tự Động đã đạt được thành công toàn diện, không chỉ hoàn thành mục tiêu đề ra mà còn mở ra nhiều hướng phát triển tiềm năng. Hệ thống đã chứng tỏ được tính đúng đắn của việc lựa chọn vi xử lý Z80 làm nền tảng, tạo ra một sản phẩm có tính ổn định, chính xác và linh hoạt cao. Việc kết hợp hài hòa giữa thiết kế mạch điện tửlập trình assembly Z80 đã tạo nên một giải pháp mạnh mẽ, vượt trội so với các phương pháp truyền thống. Luận văn đã để lại một tài liệu học thuật giá trị, một đồ án vi xử lý mẫu mực cho các thế hệ sinh viên ngành điện tử. Hướng phát triển trong tương lai cho hệ thống là rất rộng mở. Tác giả đã đề xuất những cải tiến đáng giá như tích hợp khả năng phân biệt ngày, tháng, năm, cho phép đặt lịch cấm báo hiệu theo tuần hoặc tháng. Đặc biệt, việc nâng cấp khối báo hiệu để có thể phát ra các đoạn nhạc hay giọng nói sẽ làm tăng giá trị sử dụng của sản phẩm một cách đáng kể. Điều này có thể thực hiện bằng cách tích hợp các IC ghi âm ISD như ISD1820 hoặc các chip tổng hợp giọng nói chuyên dụng, kết hợp với một mạch khuếch đại âm thanh phù hợp. Những cải tiến này sẽ biến hệ thống từ một chiếc chuông báo đơn thuần thành một đồng hồ nói thông minh, đáp ứng nhu cầu ngày càng đa dạng của thị trường.

6.1. Tổng kết ưu nhược điểm và kết quả thực nghiệm của dự án

Ưu điểm lớn nhất của hệ thống là tính linh hoạt và khả năng tùy biến cao do được điều khiển hoàn toàn bằng phần mềm. Hệ thống hoạt động ổn định và chính xác. Nhược điểm chính là thiết kế phần cứng phức tạp, sử dụng nhiều IC rời so với các giải pháp vi điều khiển tích hợp hiện đại. Quá trình thực nghiệm cho thấy hệ thống hoạt động đúng như thiết kế, các chức năng Settime, Hottime và Skiptime đều đáp ứng tốt, chứng tỏ sự tương thích hoàn toàn giữa phần cứng và phần mềm.

6.2. Kiến nghị cải tiến và tiềm năng thương mại hóa sản phẩm

Để nâng cao giá trị sản phẩm, tác giả kiến nghị cải tiến phần mềm để quản lý cả ngày/tháng/năm, cho phép lập lịch báo hiệu phức tạp hơn. Hướng đi hấp dẫn nhất là tích hợp khả năng phát âm thanh. Việc sử dụng IC ghi âm ISD để phát các thông báo bằng giọng nói (ví dụ: 'Đã đến giờ vào lớp') sẽ làm sản phẩm trở nên thân thiện và hữu ích hơn, đặc biệt trong môi trường học đường. Với những cải tiến này, hệ thống hoàn toàn có tiềm năng để được thương mại hóa, trở thành một sản phẩm thiết thực phục vụ nhu cầu đời sống và sản xuất.

10/07/2025
Ứng dụng cpu z80 thiết kế và thi công hệ thống báo giờ tự động

Trích đoạn nội dung tài liệu

Lời mở đầu Mục luc Trang Phân L: GIỚI THIỆU ĐỀ TAL 1- Mục tiêu của đÊ tài. 1 II- Khả năng cúa hệ thống báo giờ tự động. 1 1II- Một số qui ước. 2 IV- Phuong hướng giải quyết 2 4.1- Giải pháp phần cứng 2 4.

Gidi pháp phần mềm 2 V- Nguyện lý chung của hệ thống báo giờ tự động 3 Phần HỆ: NỘI DỤNG L- Giới thiệu các dạng mạch đã có trong nước.1-Để tài “Phiết Kế Và Thi Công Máy Báo Tiết Cho 'Trường ĐHSPKT 4 1.2- Để tài “Thiết Kế Và Thi Công Mạch Đông Hồ Báo Giờ”.3-Ưu nhược điểm của hệ thống báo giờ tự động dùng, “EPROM” so với hệ thống báo giờ tự động dùng vi xử lí Z80. 10 II- Thiết kế phần cứng.1- Tổng quát phần cứng hệ thống "1 2.2- Bộ nhớ hệ thống và giải mã địa chỉ 14 2.1- Bộ nhớ hệ thống.2- Mạch giải mã địa chỉ 16 2.3- Khảo sát tính chất ngắt NMI 20 2.4- Cấu tạo và nguyên tất hoạt động các khối mạch 21 2.1- Mạch lo xung đồng hồ 21 2.2- Mạch định thời 22 20ệ thống báo giờ tự động.3- Mạch bàn phím (Keypro) 23 2.4- Mạch kiểm soát ngắt 25 2.5- Mạch hiển thị (Display) 28 2.6- Mạch điều khiển báo hiệu ` 32 2.7- Mạch cung cấp điện 35 2.5- Sơ đô chị mạch điện hệ thống. 36 HII- Thiết kế phan mém 38 ống quát phần mềm hệ thong 38 3.1- Chức nắng báo hiệu tự động 38 3.2- Chức nãng tạo thời gian thực 38 3. Chức nâng điều chính thời gian thực 39 3.4: Chức năng về Hottime (Xem- Xóa - Dat) 39 11.5 Chức năng vẻ Skipimc (Xem - Xóa- Đặ) — 39 1.6- Các chương trình con 39 « Chương trình con hiển thị (tên là Display) 39 œ Chương trình xử lí bàn phím (tên là Keypro) 39 © Chương trình báo lỗi (tên là ERROR) ' 39 3.2- Tổ chúc dữ liệu 40 321- Thời gian thực 40 3.7- Phân chia vùng nhớ 44 3.3- Các chương trình 44 3.1- Chương trình MAIN 44 3.2- Chương trình RTP (Real Time Program) 49 3.3- Chương trình Settime 51 3.4- Chương trinh Hottime 33 26ệ thống báo giờ tự động Mage lye 3.5- Chương Trình Skipime 57 3.6- Chương trình con Display 59 3.7- Chương trình con Keypro 62 3.8- Chương trình con ERROR 64 IV- Thi công 67 Phân III : KẾT LUẬN VÀ KIẾN NGHỊ 1- Kết quả thực nghiệm 70 I.

M6 td he thong va hướng dẫn sử dụng 70 2.1- Chức năng điểu chỉnh thời gian thye (Settime) 7 2.2- Chức nang vé Houime 7 2.3: Chức năng vẻ Skiptime 72 HE: Kết luận và hướng phát triển của đề tải 73 IV Kiến nghị 14 Phụ lực Tài liệu tham kháo 2fệ thống báo giờ tự động. PHANI Gici Thiéu Dé Tai ©) We thing bdo gid ty động Gibi thigu dé tai 1- MỤC TIÊU CỦA ĐỀ TÀI: Việc báo hiệu thời gian trong trường học, trong phân xưởng sản xuất hay ở các xí nghiệp. tuy rất đơn giản nhưng đòi hỏi phải có người quản lý theo dõi thường xuyên và báo hiệu chính xác. Để để phòng cháy nổ cho các cơ quan, kho tàng.

cần phải được trang bị các thiết bị phát hiện hỏa hoạn. Việc phát hiện sớm các vụ hỏa hoạn sẽ hạn chế được những thiệt hại về tính mạng con người cũng như của cdi val chat. Mục tiêu của để tài là thiết kến ột Hệ Thống có những khả năng sau : _ Tạo ra thời gian thực. _ Tự động báo hiệu tại những thời điểm đã được qui định ( Gồm những thời điểm được đặt rước ưong ROM và những thời điểm do người sử dụng tự đặt vào HỆ Thống qua bàn phim).

Việe báo hiệu có thể được thực hiện băng nhiều cách khác nhau. thám do các thiết bị phát hiện héa hoan (Sensors) va phát tín hiệu báo đồng khẩn cáp khí có hóa hoạn xảy ra Trong Khuôn khó của luận ván tốt nghiệp, người viết chỉ thiết kế Hệ Thống thực hiện việc tạo thời gian thực và tự động báo hiệu tại những thời điểm đã được qui định. Hệ Thống có tên gọi * Hệ Thống Báo Giờ Tự Động” được thiết kế nhầm mục đích thay thế người quản lý tự động báo hiệu tại các thời điểm trong ngầy một cách chính xác. H-K NĂNG CỦA HỆ THỐNG BÁO GIỜ TỰ ĐỘNG : Với tên gọi " Hệ Thống Báo Giờ Tự Động" Hệ Thống có những khả năng Sau : _ Cho phép theo dõi thời gian thực (Gồm thứ, giờ, phút và giây) và điều chỉnh thời gian thực.

_ Tự động báo hiệu tại những thời điểm cố định hằng ngày (Những thời điểm này được đặt sẵn theo yêu cầu nơi sử dụng). _ Cho phép người sử dụng đặt vài thời điểm báo hiệu đột xuất trong ngày. _ Người sử dụng có thể cấm báo hiệu tại những thời điểm nào đó trong ngày. _ Cho phép xem lại hay xóa mất bất kì thời điểm nào do người sử dụng sử dụng tự đặt vào Hệ Thống.

_ Tiếng chuông báo hiệu đa dạng : số hồi chuông, độ dài hồi chuông được thay đổi nhằm thể hiện mục đích mỗi thời điểm báo hiệu. _ Hệ Thống vẫn làm việc khi mất điện lưới (nhưng sẽ không báo hiệu ). Zệ thống báo giờ tự động Giới thiệu đề tài " _ Hệ Thống có đèn chỉ thị yêu cầu đặt lại thời gian thực khi việc tạo thời gian thực bị gián đoạn. _ Hệ Thống có khả năng phát hiện ra lỗi và sẽ gởi thông báo lỗi đến người sử dụng qua led biển thị.

III- MỘT SỐ QUI ƯỚC : Để ngắn gọn trong trình bày, người viết xin qui ước các thuật ngữ sau đây: _ Điều chỉnh thời gian thực: là thay đổi thời điểm hiện tại, gọi là SETTIME "thời điểm báo hiệu thường trực : là những thời điểm báo hiệu cố định hàng ngày, chẳng hạn như giờ học trong trường học, gọi là RESTIME. “thời điểm báo hiệu tức thời: là những thời điểm do người sư dụng tự đặt vào Hệ Thống để báo hiệu đột xuất, gọi là HOI'PIME,. - ‘Thai điểm cấm báo hiệu: là những thời điểm do Sử dụng tự đặt vào để cấm báo hiểu tại bắt kì một thời điểm nào trong ngày, gọi là SKIPTIME. IV-PHƯỚNG HƯỚNG GIẢI QUYẾT: Để Hệ Thông có những tính nắng manh mẽ, dé dang trong sử dụng, người viết dùng kỹ thuật vị xử lý để thiết kế Hệ Thống.

Hoạt đóng của Hệ Thống là sự Kết hợp chặt chẽ giữa phản cứng va phan mém.1-Giải pháp phân cứng: Hệ Thống được thiết kế dựa trên bộ vi xử lí (uP Micro processor) Z80 cia hãng Zilog. Hệ Thống có : _ Bộ nhớ ROM và RAM phục vụ hoạt động của Hệ Thống. _ Tín hiệu định thời để phục vụ việc tạo thời gian thực bằng phần mềm. _ Bàn phím để người sử dụng giao tiếp với Hệ Thống.

_ Mạch kiểm soát các vectơ ngắt 7N? mode 0 dùng cho việc phục vụ các chức năng: Settime, Hottime và Skiptime. —_ 7 led 7 đoạn để hiển thị thời gian (Thứ, giờ, phút và giây). _ Mạch điều khiển chuông điện để báo hiệu. _ Mạch nguôn cấp điện có accu dự phòng khi mất điện lưới.

Giải pháp phần mém: Phần mềm Hệ Thống được thiết kế dựa trên cấu tạo phần cứng Hệ Thống được tổ chức như sau: _ Một IC ROM chứa phần mềm Hệ Thống và bảng Restime. 2fộ thống báo giờ tự động. Gibi thigu dé tai j _ Một IC RAM được dùng làm ving dém, Stack, bing Hottime, bang Skiptime. _ Chương trình ra quyết định báo hiệu và điều khiển báo hiệu.

_ Chương trình phục vụ ngắt NMJ dé đếm thời gian thực. _ Các chương trình phục vụ các ngắt IV? mode 0 để thực hiện các chức nang: Seuime, Hottime va Skiptime. _ Xử lý bàn phím và hiển thị để người sử dụng giao tiếp với Hệ Thống. Trèn đây là giải pháp kỹ thuật mà người viết chọn để thiết kế Hệ Thống.

V- NGUYÊN LÝ CHUNG CỦA HỆ THỐNG BÁO GIỜ TỰ ĐÔNG: Bộ vi xử lý (0P) Z80 là một ki 8 bit, có khá năng truy xuất 64KB bộ nhớ, có nhiều kiểu ngất. Tân số xung clock tối đa 2. Tập lệnh gồm 1SK lệnh rong quá trình hoạt động của HỆ Thống, cứ mỗi giây tín hiệu định thời tác đồng vào ngất V1 đc gọi chương trình tạo thời gian thực và mỗi giây thời gian thực được hiện 0 tên đến led 7 đoạn Chương tình phan mém thưởng xuyến thực biện quá trình so sánh thời gian thực với từng Restime, Hotirae và Skipdme để ra quyết định báo hiệu. Khi có tín hiệu gọi ngắt /V/, tùy vào địa chỉ ngắt mode 0, các chức năng như : Xem, xóa, đặt Houime, xem-xóa-đát Skiptime va Settime sẽ được chương trình tương ứng phục vụ.

Khi đó, thông qua bàn phím và đèn hiển thị người sử dụng sẽ thực hiện các chức năng đã chọn. Nhìn chung: Người viết thấy yêu cầu phần cứng ngoài bộ vi xử lí và bộ nhớ (ROM và RAM) cần phải có mạch hiển thị, bàn phím, mạch kiểm soát ngắt mode 0, mạch điều khiển báo hiệu, mạch tạo xung đồng hồ và định thời. 'Về phần mềm, ngoài việc khởi động Hệ Thống cần phải thực hiện các nhiệm vụ sau : tạo thời gian thực, quyết định việc báo hiệu và điều khiển báo hiệu. Phục vụ người sử dụng điểu chỉnh thời gian thực, thực hiện các chức năng vé Hottime va Skiptime.

Điều khiển mạch hiển thị để hiển thị các thông tin cần thiết như thời gian thực, các Hotime và Skiptime, tạo thông báo lỗi. Xử lí bàn phím để nhận lệnh từ người sử dụng. ©) OG thing bio git te ding PHẨN NOI DUNG 20ệ thống bio git Uy động Gibi thigu ede dang. mach dé 06 trong nude 4 I- GIỚI THIÊU CÁC DẠNG MẠCH ĐÃ CÓ TRONG NƯỚC.

Trước đây đã có một vài Hệ Thống báo Giờ Tự Động được thiết kế và thi công. Tuy nhiên, do chúng được thiết kế bằng cách dùng “Errom” nên đã vấp phải một vài hạn chế về tính năng trong sử dụng cũng như việc tính toán phức tạp trong kết nối phần cứng. Sau đây, người viết sẽ giới thiệu hai dạng mạch dùng *“Erom” điển hình.1_ Đề tài : “Thiết Kế Và Thi Công Máy Báo Tiết Cho Trường ĐHSPKT. ” Gvhd: Trần Minh Chánh.

, Svth ; Nguyễn Đình Mạnh Chiến Trần Thị Bạch Ngọc. Sơ đồ khối chỉ tiết mạch : HA 40 Sop > vi 3 BHÓWASEM + NGUON DAO ĐÓNG CHỈ THỊ 12V.SV CHINA Trinh bay sơ đô khối : _ Khối đao động : tạo tần số chuẩn 1Hz làm tần số cơ sở để mạch hoạt động và tạo xung điều khiển mạch báo giây. _ Khối chia 30 : tạo tần số 1/30 Hz tức 1⁄2 giây là tần số để mạch đếm thay đổi địa chỉ bộ nhớ. _ Khối đếm : Là mạch đếm lên làm tăng dần địa chỉ bộ nhớ sau mỗi xung 1⁄2 giây.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Chắc chắn rồi, với vai trò là một chuyên gia SEO, tôi sẽ tóm tắt và kết nối các tài liệu một cách tối ưu.


Tài liệu "Ứng Dụng CPU Z80 Trong Thiết Kế Hệ Thống Báo Giờ Tự Động" là một hướng dẫn kỹ thuật chuyên sâu, mang đến cái nhìn toàn diện về việc sử dụng vi xử lý Z80 huyền thoại để xây dựng một ứng dụng thực tiễn. Độc giả không chỉ học được cách thiết kế phần cứng và lập trình Assembly cho Z80 mà còn nắm vững nguyên lý hoạt động của một hệ thống nhúng từ cơ bản đến hoàn chỉnh. Đây là nguồn kiến thức vô giá cho sinh viên và những người đam mê điện tử muốn xây dựng nền tảng vững chắc về vi điều khiển.

Từ nền tảng cốt lõi này, bạn có thể dễ dàng khám phá các chủ đề liên quan để làm chủ hoàn toàn quá trình thiết kế. Để một hệ thống vi xử lý hoạt động, bộ nhớ chương trình là không thể thiếu, và tài liệu Thiết kế và thi công card ghi đọc eprom sẽ cung cấp kiến thức chuyên sâu về cách nạp và quản lý mã nguồn cho hệ thống của bạn. Khi đã thành thạo các nguyên lý cơ bản, hãy nâng tầm hiểu biết bằng cách tìm hiểu cách các hệ thống tự động hóa được tích hợp trong một môi trường hiện đại và phức tạp hơn qua đồ án Đồ án cơ sở 4 xây dựng mô hình hệ thống nhà thông minh smarthome. Mỗi liên kết là một cơ hội để bạn đào sâu và mở rộng kiến thức, giúp bạn tiến xa hơn trên con đường chinh phục lĩnh vực điện tử tự động hóa.