Điều khiển từ xa bằng điện thoại và Thiết kế mạch điều khiển xa bằng điện thoại

I. ĐẶT VẤN ĐỀ : Với sự phát triển mạnh mẽ của Khoa học Kĩ thuật trong những thập niên gần đây, ngành Bưu chính Viễn thông đã tạo ra bước ngoặc quan trọng trong lĩnh vực thông tin để đáp ứng nhu cầu của con người. Hiện nay, hệ thống thông tin qua mạng điện thoại đã được tồn cầu hóa, trở nên gần gũi và quen thuộc với con người. Nhờ hệ thống thông tin này mà con người đã không bị hạn chế về khoảng cách liên lạc. Trong lĩnh vực thông tin đã đáp ứng được nhu cầu cần thông tin của con người. Vậy trong lĩnh vực điều khiển tự động thì sao? Con người còn bị hạn chế rất nhiều về khoảng cách trong lĩnh vực này. Thật vậy, trong việc điều khiển có nhiều cách như : điều khiển bằng tia hồng ngoại, điều khiển bằng vô tuyến nhưng các cách ấy đều phụ thuộc vào khoảng cách, chỉ có tác dụng trong phạm vi điều khiển gần mà thôi! Với sự phát triển của KHKT, với mức độ nhu cầu của con người ngày càng cao, đòi hỏi con người phải điều khiển được 1 thiết bị điện nào đó mà không bị hạn chế về khoảng cách điều khiển. Từ đó nhóm sinh viên thực hiện hình thành nên ý tưởng đề tài phải thiết kế 1 hệ thống dùng ngay chính đường truyền có sẵn của mạng thông tin qua điện thoại để điều khiển. Đề tài này đã được các anh chị khóa trước nghiên cứu và thiết kế rất có khả thi như : “Điều khiển thiết bị điện từ xa bằng điện thoại” dùng vi điều khiển của Phạm Minh Huy – Võ Đình Vĩnh Định (6A95KĐĐ). “Thiết kế mạch điều khiển xa bằng điện thoại” dùng IC số của Đinh Hồng Trí – Nguyễn Đại Thắng (94TCKĐĐ). Với kết quả khả quan trong việc nghiên cứu và thiết kế đề tài của các khóa trước đã chắc chắn rằng việc sử dụng điện thoại để điều khiển là một vấn đề hồn tồn có thể được, nó sẽ có tính khả thi trong tương lai, phù hợp với xu thế mới của nhân loại. Đó cũng chính là vấn đề mà nhóm sinh viên tực hiện đề tài đang quan tâm. II. TẦM QUAN TRỌNG CỦA ĐỀ TÀI : Với những kết quả thu được trong việc sử dụng điện thoại điều khiển thiết bị của các khóa trước đã chứng minh đề tài là 1 vấn đề có thật, có trong thực tế, là 1 thựctại khách quan chứ không phải là điều không tưởng. Ưu điểm của việc dùng đường truyền của điện thoại để điều khiển thiết bị là phạm vi điều khiển rộng, không bị hạn chế về khoảng cách điều khiển, hễ ở đâu có điện thoại là có thể điều khiển được thiết bị. Người điều khiển ở nơi mà có thể điều khiển thiết bị ở nhiều nơi khác nhau, thậm chí có thể điều khiển thiết bị ở trong những môi trường nguy hiểm, độc hại mà con người không thể thâm nhập vào để điều khiển thiết bị được hoặc 1 dây chuyền sản xuất thay thế con người. Vì vậy đề tài này là 1 vấn đề không những là 1 thực tại khách quan mà còn có tầm quan trọng thực sự trong hiện tại cũng như trong tương lai. III. GIỚI HẠN VẤN ĐỀ : Với lượng kiến thức được truyền đạt trong suốt khóa học, với khả năng của bản thân và thời gian cho phép để thực hiện đề tài nên nhóm sinh viên thực hiện có những giới hạn cụ thể trong đề tài để phù hợp với khuôn khổ khả năng và điều kiện ngiên cứu như sau : - Dùng vi xử lí 8085 làm hệ thống điều khiển trung tâm. - Hệ thống điều khiển chỉ thực hiện chức năng điều khiển thiết bị. Không thực hiện chức năng báo động như báo trộm, báo cháy hay tự động trả lời điện thoại. - Không sử dụng tiếng nói để báo trạng thái của thiết bị mà sử dụng 2 âm hiệu nhạc. - Chỉ nghiên cứu nguyên lí làm việc của hệ thống tổng đài – máy điện thoại để làm dữ liệu cho việc thiết kế mà không nghiên cứu sâu về cấu tạo cũng như cách thức hoạt động bên trong của tổng đài và máy điện thoại. - Chỉ điều khiển hệ thống bằng điện thoại hữu tuyến. - Bàn phím hiển thị gồm 12 phím số, 3 phím thực hiện chức năng reset, đặt số password và 10 led hiển thị dữ liệu của thiết bị và mã điều khiển. - Dùng IC 74138 giải mã IO/M\ 3 đường thành 8 đường, IC 74245 đệm dữ liệu 2 chiều, IC 74244 đệm dữ liệu 1 chiều, IC 74573 chốt và tách dữ liệu – điạ chỉ. - Điều khiển được tối đa 8 thiết bị điện. - Ngồi chức năng điều khiển tắt – mở thiết bị, hệ thống còn thực hiện được chức năng cài đặt thời gian và reset đồng loạt các thiết bị điện. - Số password dễ dàng cài đặt lại khi có nhu cầu. - Thiết kế bàn phím điều khiển giống như bàn phím điện thoại thuận tiện trong việc thao tác trên phím. - Bộ nhớ hệ thống sử dụng ROM 2764 8Kbyte và RAM 6264 8Kbyte. Với dung lượng bộ nhớ còn dư sẽ thực hiện vào việc thiết kế các chương trình phục vụ các chức năng khác như : báo động, tự động trả lời điện thoại, tự động gọi số máy điện thoại được cài đặt sẵn, . - Phần mềm do sinh viên Trịnh Thị Mỹ Hiền nghiên cứu và thiết kế. Phần cứng do sinh viên Trịnh Quốc Dân nghiên cứu và thực hiện. IV. MỤC ĐÍCH NGHIÊN CỨU : Do thực tiễn hiện nay, con người còn bị hạn chế rất nhiều trong việc điều khiển tự động các thiết bị. Do đó với sự kết hợp giữa sự phát triển của KHKT và của ngành Bưu chính Viễn thông, với sự có sẵn của đường truyền và hơn nữa điện thoại đang là vật dụng cần thiết và quen thuộc của con người nên nhóm sinh viên thực hiện nghiên cứu vấn đề này nhằm đưa ý tưởng dùng điện thoại để điều khiển thiết bị trở thành hiện thực giúp con người phá bỏ được những hạn chế về khoảng cách trong lĩnh vực điều khiển tự động, cũng như phù hợp với xu thế mới trong ngành tự động điều khiển. V. KHẢO SÁT TÀI LIỆU LIÊN HỆ : “Điều khiển từ xa bằng điện thoại” dùng vi điều khiển của sinh viên thực hiện Phạm Minh Duy – Võ Đình Vĩnh Định (6A95KĐĐ). “Thiết kế mạch điều khiển xa bằng điện thoại” dùng IC số của Đinh Hồng Trí – Nguyễn Đại Thắng (94TCKĐĐ) Sau khi nghiên cứu về các đề tài này, nhóm sinh viên thực hiện đã phát hiện ra nhiều thiếu sót và từ đó hình thành nên ý tưởng sẽ phát triển đề tài này thành 1 hệ thống có tính khả thi đáp ứng được nhu cầu của người sử dụng Đề tài này khác các đề tài trước những gì? Các đề tài trước cùng tên được thiết kế như sau : ã Sử dụng vi điều khiển hay IC số. ã Hệ thống điều khiển được 2 thiết bị. ã Mật mã hệ thống chỉ có 2 chữ số, xác suất ngẫu nhiên bấm đúng mật mã cao. ã Trạng thái điều khiển tải chỉ là tắt hay mở mà thôi (không định thời được). ã Báo trạng thái tắt/ mở của thiết bị bằng tiếng nói. ã Chỉ điều khiển thiết bị được khi điều khiển qua mạng điện thoại mà thôi (tức là muốn điều khiển thiết bị bắt buộc phải dùng đến điện thoại) – rất bất tiện khi cần điều khiển tại nơi đặt hệ thống. ã Không hiển thị dữ liệu của thiết bị để quan sát được. ã Không tắt khẩn cấp được các thiết bị cùng một lúc. VI. GIỚI THIỆU ĐỀ TÀI SINH VIÊN KHẢO SÁT : Như đã trình bày ở trên, đề tài “Thiết kế hệ thống điều khiển xa các thiết bị điện có định thời bằng điện thoại hữu tuyến” là 1 đề tài mang tính kế thừa nhưng trong đó nó đã được mở rộng về phạm vi sử dụng và phạm vi điều khiển. Đây là 1 đề tài có tính qui mô khá cao, nó có thể đáp ứng được nhu cầu của người sử dụng và có tính khả thi phù hợp với nền KHKT hiện đại của nước nhà. Đề tài này đã được nhóm sinh viên nghiên cứu, mở rộng và phát triển như sau : ã Hệ thống điều khiển trung tâm dùng vi xử lý 8085. ã Hệ thống điều khiển được 8 thiết bị. ã Mật mã hệ thống có 4 chữ số (nâng cao tính bí mật của hệ thống vì xác suất ngẫu nhiên bấm đúng mã thấp). ã Trạng thái điều khiển thiết bị ngồi chức năng tắt / mở còn có thể định thời gian làm việc cho thiết bị. ã Báo trạng thái của thiết bị bằng âm hiệu nhạc (đảm bảo tính kĩ thuật và tính kinh tế cho hệ thống). ã Ngồi chức năng điều khiển thiết bị qua điện thoại, còn có thể điều khiển thiết bị qua phím nhấn đặt tại hệ thống điều khiển được thiết kế giống như bàn phím của điện thoại. ã Hiển thị được dữ liệu của thiết bị thông qua 10 Led 7 đoạn gồm có : 2 Led : hiển thị số chỉ thiết bị cần quan sát và điều khiển. 4 Led : hiển thị số thời gian cài đặt cho thiết bị, đồng thời hiển thị cho thấy số mật mã khi cần cài đặt lại. 4Led : hiển thị số thời gian làm việc còn lại của thiết bị (đếm lùi). ã Khi cần thiết có thể điều khiển tắt khẩn cấp cùng lúc 8 thiết bị. ã Trong 8 thiết bị được chia ra đơn vị thời gian tính như sau :  3 thiết bị làm việc với thời gian cài đặt được từ (1  < 3) giờ với đơn vị tính là giây.  3 thiết bị làm việc với thời gian cài đặt được từ (1  < 160) giờ với đơn vị tính là phút.  2 thiết bị làm việc với thời gian cài đặt được từ (1  9999) giờ với đơn vị tính là giờ. Tùy theo lượng thời gian cài đặt được và theo đơn vị tính mà người sử dụng cài đặt thiết bị sao cho hợp lí. VII. GIẢI THÍCH THUẬT NGỮ : “Thiết kế hệ thống điều khiển xa các thiết bị điện có định thời bằng điện thoại hữu tuyến”. Thuật ngữ : “có định thời” nói lên được bản chất của hệ thống là có thể ngồi chức năng điều khiển tắt – mở thông thường còn có thể cài đặt thời gian làm việc cho thiết bị điện. Thuật ngữ : “điện thoại hữu tuyến” : do khả năng bản thân, tìnhhình nghiên cứu và điều kiện thử nghiệm nên đề tài này giới hạn chỉ sử dụng điện thoại có dây (hữu tuyến) để điều khiển mà không sử dụng điện thoại di động, điện thoại vô tuyến để điều khiển thiết bị điện.

doc62 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4081 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Điều khiển từ xa bằng điện thoại và Thiết kế mạch điều khiển xa bằng điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ố điện thoại cần gọi. Sau 1 thời gian đổ chuông nhất định, nếu không ai nhấc máy thì mạch sẽ đóng tải giả kết nối thuê bao. Lúc này người điều khiển không nghe thấy âm hiệu hồi chuông thì bắt đầu thực hiện việc điều khiển theo thứ tự như sau : Giai đoạn 1: - bấm mã mở máy (mật mã điều khiển) gồm 4 chữ số do chính người điều khiển quy định trước. Trong giai đoạn này, nếu bấm sai mật mã mạch điều khiển sẽ báo âm hiệu nhạc. Còn nếu bấm đúng mật mã mạch điều khiển sẽ không báo âm hiệu và sẵn sàng nhận lệnh điều khiển. Giai đoạn 2 : - Bấm mã chọn thiết bị cần điều khiển (gồm 8 thiết bị) : số 1 chỉ thiết 1, số 2 chỉ thiết bị 2, …, số 8 chỉ thiết bị 8. Trong giai đoạn này, nếu bấm số 9 thì mạch sẽ tắt khẩn cấp thất cả 8 tải một lúc (trường hợp này chỉ nên sử dụng khi thật cần thiết khẩn cấp). Nếu bấm mã từ 1 ¸ 8 thì khi người điều khiển nhấn chọn thiết bị nào mạch sẽ báo trạng thái hiện thời của thiết bị qua 2 âm hiệu khác nhau tương ứng với trạng thái tắt/mở của thiết bị. Giai đoạn 3 : trong giai đoạn này, sau khi biết được trạng thái hiện thời của thiết bị, người điều khiển sẽ thực hiện việc điều khiển thiết bị như mong muốn theo 1 trong 3 kiểu sau : + Muốn tắt thiết bị : bấm mã 0. + Muốn thiết bị làm việc không định thời gian (tải chỉ tắt khi có lệnh tắt) : bấm mã 00. + Muốn thiết bị làm việc có định thời gian thì bấm số tương ứng với lượng thời gian muốn cài đặt. Sau khi điều khiển xong, người điều khiển gác máy điện thoại thì lúc này không có lệnh điều khiển gởi đến mạch thì sau thời gian khoảng 30 giây mạch sẽ tự động ngắt mạch kết nối thuê bao. Như đã trình bày ở trên, muốn điều khiển thiết bị nào thì thiết bị đó phải nối vào mạch điều khiển. Do đó nảy sinh ra vấn đề là muốn điều khiển thiết bị mà không cần phải dùng đến điện thoại để điều khiển thì sao? Để giải quyết vấn đề này, nhóm sinh viên thực hiện thiết kế đề tài theo hướng như sau Thiết kế hệ thống điều khiển qua điện thoại. Thiết kế hệ thống điều khiển thông qua phím nhấn giống như bàn phím điện thoại đặt tại chỗ mạch điều khiển. Cách điều khiển cũng giống như qua điện thoại. Thiết kế phím nhấn điều khiển tại mỗi thiết bị để tiện trong việc điều khiển thiết bị gồm 3 phím nhấn : On – Off – Tắt khẩn cấp. Nhận và giải mã DTMF Khối vi xử lí trung tâm 8085 và bộ nhớ Khối quét phím, giải mã và hiển thị Khối kết nối thuê bao Khối khuếch đại và báo âm hiệu nhạc Cảm biến tín hiệu chuông Tip Ring Khối không định thời Khối reset thiết bị Khối công suất ngõ ra Khối định thời Khối nguồn SƠ ĐỒ KHỐI : Hình 3.1 : Sơ đồ khối của hệ thống điều khiển NHIỆM VỤ CỦA TỪNG KHỐI : Khối cảm biến chuông : Khối cảm biến chuông được mắc song song với hai đường dây Tip và Ring của thuê bao. Khi tổng đài cấp tín hiệu chuông cho máy điện thọai thuê bao, thì khối này có nhiệm vụ nhận biết tín hiệu chuông. Bình thường khi không có tín hiệu chuông thì ngõ ra ở mức logic cao và khi có tín hiệu chuông thì ngõ ra có mức logic thấp. Các tín hiệu khác như : tín điện thọai, tín hiệu tone, tín hiệu báo bận, hồi chuông không tác động đến khối này. Mặt khác, khối cảm biến chuông phải bảo đảm sự cách ly về điện vì tín hiệu chuông có mức điện áp cao từ 75 Vrms 90 Vrms trong khi ngõ ra của khối phải phù hợp với mức logic 0 là 0V và mức logic 1 là 5V . Khối kết nối thuê bao : Khi tổng đài cấp tín hiệu chuông cho thuê bao, thì khối cảm biến chuông nhận biết được tín hiệu chuông và đưa đến khối xử lý trung tâm. Khối xử lý trung tâm điều khiển khối kết nối thuê bao, lúc này khối kết nối thuê bao có vai trò là đóng tải giả cho thuê bao, để tổng đài cho thông thọai 2 thuê bao với nhau. Khi khối này tác động thì điện trở vòng của thuê bao giảm xuống thấp tạo nên động tác như có người nhấc máy để tổng đài cho thông thọai với nhau. Đồng thời khối này cũng phải bảo đảm được sự truyền tín hiệu thọai từ thuê bao gửi đi hoặc nhận tín hiệu thọai từ phía thuê bao bên kia gửi đến. Khối nhận và giải mã DTMF : Khi tổng đài cho thông thọai giữa hai thuê bao, nếu trên đường dây thuê bao có xuất hiện tín hiệu tone, thì khối này sẽ nhận được và giải mã chúng ra thành 4 bit tương ứng. Tín hiệu tone có 2 dãy tần số : một dãy có tần số từ 697 HZ đến 941 HZ, còn dãy kia có tần số từ 1209 HZ đến 1633 HZ. Cả 2 dãy tần số này đều nằm trong dãy thông thọai. Khi một cặp tần số theo tiêu chuẩn DTMF xuất hiện cố định trên đường dây thuê bao thì khối này có nhiệm vụ giải mã thành 4 bit tương ứng. Đồng thời mức logic của chân điều khiển ngõ ra của khối này phải đưa ra một xung ở mức logic cao để tác động đến khối xử lý trung tâm và 4 bit tương ứng đã giải mã được đưa đến khối giải mã và hiển thị. Khuếch đại âm tần : Tín hiệu âm tần với biên độ tín hiệu bé không đủ sức tải trên đường dây thọai vì vậy chúng được khuếch đại đủ lớn, 1 phần đưa ra loa, 1 phần tải trên đường dây điện thọai để phản hồi về người điều khiển . Khối công suất ra : Khi nhận được lệnh tắt – mở – định thời của khối xử lý trung tâm, thì khối công suất sẽ kết nối tải. Khối công suất có nhiệm vụ khuếch đại và chuyển đổi mức điều khiển có dòng nhỏ thành tín hiệu điều khiển có dòng điện lớn hơn để đóng ngắt được relay và kết nối tải. Khối quét phím, giải mã và hiển thị : Khối này có nhiệm vụ quét phím, giải mã và hiển thị khi có phím bị tác động. Đồng thời khi khối vi xử lí trung tâm có tín hiệu tác động thì khối này kết hợp với khối vi xử lý trung tâm giải mã và hiển thị dữ liệu điều khiển. Khối định thời : Khối này có nhiệm vụ nhận lệnh điều khiển thiết bị làm việc có định được thời gian. Khối không định thời : Khối này có nhiệm vụ nhận lệnh điều khiển thiết bị làm việc không định thời gian. Khối reset thiết bị : Khối này nhận lệnh điều khiển tắt từng thiết bị hoặc tắt khẩn cấp đồng loạt 8 thiết bị. Khối nguồn : Khối nguồn đảm nhận nhiệm vụ cung cấp điện áp cho tồn mạch. Trong đó : nguồn +5V cung cấp cho các IC và relay đóng thuê bao. Nguồn +12V cung cấp cho 8 relay 12VDC điều khiển thiết bị điện. GIẢI THÍCH MỐI QUAN HỆ GIỮA CÁC KHỐI : Khi người điều khiển từ xa gọi số máy của điện thoại ở nơi cần điều khiển thì tổng đài cấp tín hiệu chuông cho thuê bao nếu thuê bao đó không bận. Mạch điều khiển được mắc song song vào đường dây của thuê bao. Lúc này, khối cảm biến chuông phát hiện tín hiệu này và ngõ ra thay đổi mức logic từ cao xuống thấp. Sự thay đổi mức logic này tác động vào bộ đếm tín hiệu chuông. Sau khi khối cảm biến tín hiệu chuông nhận đủ số lần chuông qui định sẽ tác động vào khối kết nối thuê bao. Khối kết nối thuê bao sẽ đóng tải giả vào đường dây điện thoại. lúc này tổng đài ngưng cấp tín hiệu chuông và kết nối thông thoại cho 2 thuê bao. Khi đã thông thoại, người điều khiển nhấn đúng mã password thì hệ thống sẽ sẵn sàng nhận lệnh điều khiển. Nếu nhấn sai mã password thì khối tạo âm hiệu sẽ phát ra âm hiệu nhạc để báo rằng mã password bị sai. Sau khi người điều khiển bấm đúng mật mã, người điều khiển sẽ bấm mã chọn thiết bị muốn điều khiển. Lúc này khối nhận và giải mã DTMF sẽ giải mã số bấm thành mã nhị phân 4 bit gởi vào khối vi xử lý trung tâm. Khối vi xử lý nhận mã thiết bị, đọc cơ sở dữ liệu của thiết bị đó và điều khiển khối báo nhạc báo trạng thái hiện thời của thiết bị nhằm mục đích gợi nhớ cho người điều khiển. Khi biết được trạng thái của thiết bị người điều khiển sẽ nhấn lệnh tắt – mở - định thời gian làm việc. Tùy theo mã lệnh điều khiển mà các khối : định thời, không định thời, reset thiết bị sẽ nhận lệnh và thực hiện việc điều khiển khối khối công suất đóng ngắt relay. Đồng thời lệnh điều khiển đượt khối quét phím giải mã và hiển thị dữ liệu lên 10 led 7 đoạn. Việc nhận dạng phím nào bị nhấn được khối giải mã DTMF quyết định. Khi người điều khiển nhấn 1 phím, một cặp tần số DTMF truyền trên đường dây điện thoại. Tần số này nằm trên dãy thông của tín hiệu thoại, một tần số cao và một tần số thấp nên không thể trùng lấp với tín hiệu người nói. Khi giải mã DTMF và hiển thị số được nhấn, 4 bit được giải mã đưa vào khối vi xử lý trung tâm để xử lí. Khi không nhấn phím (tức là không còn tín hiệu điều khiển), bộ đếm trong khối cảm biến chuông sẽ thực hiện việc đếm thời gian. Sau khi đếm đủ số thời gian qui định khối kết nối thuê bao thực hiện việc giải tỏa thuê bao. Người điều khiển có thể gác máy bất cứ lúc nào muốn ngừng điều khiển, mạch sẽ tự động ngắt kết nối thuê bao sau một khoảng thời gian nhất định để giải tỏa thuê bao. CHƯƠNG VI : TÍNH TỐN – THIẾT KẾ MẠCH PHẦN CỨNG SƠ ĐỒ MẠCH CPU – GIAO TIẾP ĐƯỜNG TRUYỀN – BÀN PHÍM HIỂN THỊ: KHỐI CẢM BIẾN CHUÔNG : Sơ đồ mạch : xem hình trang bên 1.2. Nguyên lí hoạt động : Khi tổng đài cấp chuông cho thuê bao. Tín hiệu chuông có các thông số 75Vrms ¸ 90Vrms, f = 25 Hz, 3 giây có 4 giây không. Tín hiệu này qua tụ C1, tụ C1 có nhiệm vụ ngăn dòng DC chỉ cho tín hiệu chuông đi qua. Đồng thời C1 tạo ra sụt áp AC làm giảm biên độ tín hiệu chuông. Sau đó tín hiệu chuông qua cầu diode để chỉnh lưu tồn kì. Mục đích của cầu diode không những tạo ngõ ra của cầu diode tín hiệu điện áp có cực tính nhất định mà còn tăng đôi tần số gợn sóng, nhấp nhô của tín hiệu, như vậy tần số gợn sóng sau khi qua cầu diode là 50Hz. Khi tần số lớn hơn thì việc triệt tiêu độ nhấp nhô của tín hiệu dễ hơn. tụ C2 dùng lọc bớt độ nhấp nhô này. tín hiệu đi qua diode Zener, qua R1 phân cực thuận cho diode OPTRON. DZ có tác dụng chống nhiễu, nếu nhiễu có mức điện áp nhỏ hơn điện áp ngưỡng Vz thì Dz không dẫn, không cấp dòng cho diode phát quang của Optron. Khi diode optron phân cực thuận, diode này phát sáng kích vào chân B của BJT quang làm cho BJT quang dẫn bão hòa, làm điện áp cực E của BJT quang lên mức [1], mức logic này được qua 2 mạch tích phân và vi phân kết hợp với 2 cổng đảo để điều khiển bộ đếm (4518) đếm số lần đổ chuông. Hình : mạch nhận tín hiệu chuông 1.3. Thiết kế và tính tốn : Tính tóan : Tín hiệu chuông của tổng đài cấp cho thuê bao có điện áp hiệu dụng khỏang 75Vrms đến 90Vrms , tần số 25 HZ . Chọn dòng qua optron là Ioptron = 4mA ,sụt áp trên led optron khỏang 1,1V Chọn C1 là tụ không cực tính có thông số C1 = 0,47 F /250 V Ơû tần số của tín hiệu chuông ,tụ C1 có trở kháng : Z (c) = == 13,6 K Như vậy ,điện áp trên tụ C1 là : V(c1) = Ic1 * Iopto = 113,6 K *4mA =54.4V Chọn điện áp tín hiệu chuông là 75 Vrms Điện áp qua diode cầu là : Vdiode cầu = 75 –Vc1 –VD =75 –54,4 –1,1 = 19,5V Chọn diode zener có Vz = 15 V Tính điện trở R20 : R20 = == 850 Chọn R20 = 1K Tụ C6 ,C7 là tụ lọc cầu diode, chọn C6 = C7 =10F / 50 V Chú ý : điện áp chịu đựng của C1 phải chọn sao cho lớn hơn 2 lần điện áp đỉnh của tín hiệu chuông, tức là : Vc > 2 *90250V Chọn cầu có diode có dòng chịu đựng 1A. Ta chọn optron là 4N35 có các thông số : IF = 10mA ( dòng điện qua diode bên trong optron coupler) VCEO = 30V Hệ số truyền đạt 100%. Mạch điện ngõ ra dùng transistor Hiệu điện thế cách điện VDC =3350V Điện thế của diode bên trong optron là 1,5V tại IF =10mA VCE = 0,3V tại dòng ngõ ra là Ic =5mA KHỐI KẾT NỐI THUÊ BAO : 2.1. Sơ đồ mạch : 2.2. Nguyên lí hoạt động : Diode cầu được mắc song song vào 2 đường dây Tip – Ring. Trên đường dây này không những có tín hiệu âm thoại AC mà còn có hiệu điện thế DC , do đó diode cầu này không có chức năng chỉnh lưu mà có tác dụng chống đảo cực. Khi relay đóng mạch xuất hiện dòng chảy qua diode cầu nhưng chỉ có 2 diode được phân cực thuận nên dẫn. Khối tạo trở kháng giống như 1 thuê bao nhấc máy gồm T12, R11, R12, C5 được mắc như hình vẽ tạo thành 1 nguồn dòng để lấy dòng đổ vào mạch giống như của một thuê bao của bưu điện. T12 có nhiệm vụ thay thế 1 thuê bao trên lĩnh vực trở kháng. Điện trở DC của một máy điện thoại là » 300W, điện trở xoay chiều tại tần số f = 1 KHz là 700W ± 30%. Tổng trở vào của mạch phải phù hợp với các thông số trên tụ C5 nhằm lọc xoay chiều. Nên về mặt xoay chiều xem như T12 hở mạch. Tín hiệu AC không ảnh hưởng đến trở kháng DC của mạch. 2.3. Thiết kế và tính tốn : Chọn T12 là C2383 có các thông số : Pc= 900mW IC = 1A = 60 320 Dòng thông thọai của tổng đài cấp đến mạch có dòng từ 20mA 100mA .Điện trở vòng qua mạch tải giả khỏang 1501500. Ta chọn : = 60 Dòng DC của tổng đài cấp :IDC =20mA Chọn tổng trở DC của tải là:9V Điện áp do sụt áp của cầu diode là 1V. Chọn VCE =6V R4 ==100 dòng IB ====0,3333mA R11 ===16,2K Chọn R11 =18K Tụ C5 triệt tiêu tín hiệu thọai được chọn sao cho: ZC4 << << với =2=300HZ là tần số thấp nhất của tín hiệu thọai ,thay vào ta được : C5 >> C5 >>=0,09 Chọn C5 =10/50V. KHỐI NHẬN VÀ GIẢI MÃ DTMF : 3.1. Sơ đồ mạch : 3.2. Nguyên lí hoạt động : Điện áp tại ngõ vào ST/GT gọi là điện thế VC. Ban đầu cặp tần số của mã tone được qua bộ lọc tần số (dial tone filter). Bộ này sẽ tách tín hiệu thành hai nhóm. Một nhóm tần số thấp, một nhóm tần số cao. Việc này thực hiện được nhờ bộ lọc thông dãy bậc sáu. Nhóm thứ nhất sẽ lọc thông dãy tần số từ 697HZ đến 941HZ và nhóm thứ hai sẽ lọc thông dãy tần số từ 1209 HZ đến 1633 HZ. Hai nhóm tín hiệu này được biến đổi thành xung vuông bởi bộ dò Zero crossing. Sau khi có được xung vuông, xung này được xác định tần số và kiểm tra chúng có tương ứng với cặp tần số chuẩn DTMF hay không nhờ thuật tóan trung bình phức hợp (complex averaging). Nhờ kỹ thuật này mà mạch sẽ bảo vệ được các tone gây ra từ tín hiệu bên ngòai mà tín hiệu này làm cho sai lệch tần số nhỏ. Khi bộ dò cũng nhận đủ có hai tone thích hợp thì ngõ ra EST sẽ lên mức cao. EST lên mức cao sẽ làm cho VC tăng đến ngưỡng nào đó mà lớn hơn VTST thì sẽ tác động vào ngõ ST/GT làm cặp tone được ghi nhận. Lúc này điện thế tại VC tiếp tục tăng lên. Sau một thời gian trễ nhất định thì ngõ ra STD sẽ chuyển lên mức cao. Lúc này cặp tone đã được ghi nhận và sẵn sàng truy xuất ở ngõ ra nếu ngõ TOE ở mức tích cực cao thì 4 bit mã đã giải mã được sẽ truy xuất ra bên ngòai. Sau một thời gian chuyển trạng thái lên mức cao ngõ STD sẽ chuyển xuống mức thấp và VC giảm xuống, khi VC <VTST thì sẽ điều khiển thanh ghi dò cặp tone mới . Như vậy khi xuất hiện 1 cặp tần số tone trên đườøng dây ,qua tụ C6 đưa vào ngõ vào INthì ngõ ra sẽ xuất hiện dạng nhị phân 4 bit tương ứng . 3.3. Thiết kế và tính tóan mạch nhận và giải mã DTMF : Các thông số của 8870 do nhà sản xuất hướng dẫn. Các giá trị điện trở, tụ điện, thời gian an tòan, bảo vệ được nhà sản xuất đưa ra : R5 =R6=100K R7 =300K C6 =C7=100nF Xtal =3,579545 MHZ Các thông số kỹ thuật của mạch nhận và giải mã DTMF: Iol =2,5mA IoH=0,8mA Illl =0,1 VCC =+5V IDD =3mA, dòng nguồn cung cấp P =15mW KHỐI QUÉT PHÍM, GIẢI MÃ VÀ HIỂN THỊ : 4.1. Sơ đồ mạch :(hình vẽ trang bên) 4.2. Thiết kế : Do yêu cầu của đề tài nên trong đề tài có thiết kế khối này nhằm mục đích có thể điều khiển thiết bị tại chỗ không cần thông qua điện thoại. Trong khối này chủ yếu sử dụng IC 8279 có chức năng quét phím, giải mã và hiển thị led 7 đoạn. Khối này được thiết kế như sau : IC 8279 thực hiện chức năng quét phím và hiển thị. IC 74154 thực hiện chức năng giải mã 4 đường thành 16 đường để mở rộng số lượng phím nhấn. IC 7414 đảo mức logic từ [1] ® [0] đưa vào các chân của led 7đoạn Anode chung. Sử dụng 10 led để hiển thị : 2 Led hiển thị số chỉ thiết bị. 4 Led hiển thị số thời gian cài đặt. Đồng thời hiển thị mã password mới khi thực hiện việc thay đổi mã. 4 Led hiển thị số thời gian còn lại của thiết bị trong quá trình đếm. Bàn phím điều khiển gồm có 15 phím nhấn. Trong đó gồm có : 10 phím số từ [0..9]. 2 phím chức năng *, #. 1 phím reset vi xử lý 8085. 1 phím thay đổi password. 1 phím reset bộ đếm tín hiệu chuông. KHỐI CPU VÀ BỘ NHỚ : 5.1. Sơ đồ nguyên lí : 5.2. Nguyên lí hoạt động : Khi mạch hoạt động, vi xử lý kiểm sốt hệ thống bằng cách quét từ địa chỉ đầu đến địa chỉ cuối trong vùng nhớ 64Kbyte (vì 8085 có 16 đường địa chỉ A0 ¸ A15). Vì vi xử lý không có bộ nhớ trong nên cần phải có bộ nhớ ngồi để lưu trữ những chương trình để vi xử lý hoạt động. vì vi xử lý trung tâm là cầu nối trung gian giữa các thiết bị ngoại vi với nhau cùng chung trên Data Bus. Trong một hệ thống vi xử lý, ngồi các phần tử nhớ (ROM, RAM), vi xử lý còn phải thông tin với các I/O ngoại vi (8253, 74LS573, 8279 ….). để vi xử lý hiểu rằng, nó đang hay cần thông tin với bộ nhớ nào (ROM hay RAM), hoặc với I/O nào và với phần tử nào trong một thiết bị (ô nhớ nào, thanh ghi nào, trạng thái, điều khiển hay thanh ghi dữ liệu). Bắt buộc, vấn đề giải mã địa chỉ phải được thực thi. Theo thiết kế, hệ thống gồm có 10 phần tử I/O ngoại vi và 2 phần tử nhớ (ROM, RAM). Hệ thống sử dụng 2 IC 74138 để thực hiện việc giải mã, trong đó 1 IC dùng giải mã theo bộ nhớ, 1 IC dùng giải mã theo I/O. Vì IC 74138 có chức năng giải mã 3 đường thành 8 đường nên có 8 phần tử ngoại vi được giải mã theo kiểu I/O, 2 phần tử ngoại vi được giải mã theo kiểu bộ nhớ cùng vớ ROM và RAM. Bản đồ giải mã IO/ được trình bày trong bảng sau : Bảng 2 : bảng đồ giải mã kiểu bộ nhớ: KHỐI ĐIỀU KHIỂN THIẾT BỊ : Trong khối này bao gồm các mạch như : định thời, không định thời, reset tải, điều khiển báo âm hiệu, mạch relay điều khiển công suất ngõ ra, mạch tạo xung 60Hz. Sơ đồ nguyên lí cụ thể như sau :(xem hình trang bên) Khối định thời : Trong khối này sử dụng IC 8253 kết nối với vi xử lý 8085 được lập trình cài đặt số đếm cho thiết bị. Mỗi IC có 3 bộ đếm, trong mạch sử dụng 3 IC8253 để cài đặt số đếm điều khiển 8 tải. Tín hiệu ngõ ra của 8253 khi có số đếm là mức [0] (không đếm là mức [1]), ngõ ra này phối hợp với ngõ ra của mạch không định thời qua cổng OR đưa đến ngõ vào D của Flip – Flop D để điều khiển relay đóng mở tải. Khối không định thời : Sử dụng IC 74LS573 nhận lệnh điều khiển từ vi xử lý, chốt và điều khiển tải qua 8 ngõ ra Q0 ¸ Q7. Ngõ ra của 74LS573 kết hợp với ngõ ra của 8253 qua cổng OR để điều khiển thiết bị. Khi ngõ ra ở mức [1] thì ngõ ra này không có tác vụ trong việc điều khiển. Khi ngõ ra ở mức [0] thì ngõ ra này có tác vụ điều khiển thiết bị làm việc không định thời. Khối reset tải : Sử dụng IC74LS573 nhận lệnh điều khiển từ vi xử lý, chốt và tác động vào ngõ RESET của Flip –Flop D. Khi muốn tắt thiết bị nào thì ngõ ra Reset của thiết bị đó ở mức [0]. Còn khi thiết bị đang làm việc thì ngõ ra Reset ở mức [1]. Khi muốn tắt khẩn cấp 8 thiết bị thì 8 ngõ ra của mạch này tác động mức [0] vào 8 ngõ vào RESET của Flip – Flop D Khối điều khiển báo âm hiệu : Sử dụng 1 bộ đếm còn dư của 8253 để điều khiển tắt mở âm hiệu. Mạch điều khiển báo âm hiệu dùng 2 Optron 4N35 nhận tín hiệu từ bộ đếm 8253 và 74LS573 để kích mở âm hiệu từ mạch tạo âm thanh đa hài đợi. Khi vi xử lý nhận biết được trạng thái của thiết bị cần điều khiển thì vi xử lý gởi lệnh để điều khiển đến 2 ngõ vào của 74LS573. IC 74LS573 chốt dữ liệu này và kết hợp với tín hiệu (3 giây) từ 8253 qua cổng NOR để điều khiển mạch tạo âm thanh phát ra âm hiệu tương ứng với trạng thái của thiết bị. Nguyên lý họat động : Mạch khuếch đại dùng 1 transistor mắc theo kiểu EC với tải cực C là 1 biến áp cách ly có hệ số vòng dây 1:1.Transistor được phân cực hạng A với điện trở phân cực dòng R5 .Tín hiệu sau khi chuyển đổi D/A thành tín hiệu âm tần analog đưa tới cực B transistor khuếch đại qua tụ C5 .Ngõ ra mạch khuếch đại là cuộn thứ cấp của biến áp được mắc vào 2 dây thọai và tín hiệu thọai sẽ tải trên đường dây điện thọai để tới người điều khiển . Tính tóan thiết kế : Chọn biến áp cách ly lọai có tỉ số vòng 1:1,điện trở DC sơ cấp = điện trở DC thứ cấp = 300 C5 = 10:tụ liên lạc ; R5 = 22K : điện trở phân cực dòng Mạch tạo xung 60 Hz : Sử dụng IC 5369 chuyên dụng tạo xung 60Hz để cấp cho các bộ đếm trong 8253. Sơ đồ mạch như sau : Các thông số của tụ điện, điện trở được chọn như hình vẽ. Mạch relay điều khiển công suất ngõ ra : Sơ đồ mạch : Nguyên lí hoạt động : Tín hiệu điều khiển từ ngõ ra của 8253 và 74LS573 được đưa đến ngõ vào D của Flip – Flop D. Vì ngõ vào của FF D là mức [0] nên lấy tín hiệu ra ở của FF D để đảo mức logic tác động các Transistor làm đóng ngắt relay. Các tiếp điểm relay được kết nối ra bên ngồi để kết nối thiết bị cần đóng ngắt. Thiết kế và tính tóan mạch khuếch đại và công suất ra: Chọn relay 12V, có điện trở 100, điện áp chịu đựng của tiếp điểm là 220V DC. Chọn T1 ¸ T8 là C1815 có dòng IC khỏang 400mA. Chọn dòng qua led là 10mA. Tính RRA :RRA =220 Chọn RRA =220 Dòng qua relay: Irelay = Tổng dòng IC là IC =50mA+10mA=60mA Điều kiện để transistor bảo hòa là : IB(chọn Tính RRRA: RRRA = Để bảo hòa sâu, ta chọn RRRA =1K KẾT LUẬN – ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN TÓM TẮT NỘI DUNG ĐỀ TÀI : Nội dung đề tài gồm các phần sau : Phần giới thiệu tổng quát về đề tài. Phần thiết kế phần cứng và thiết kế phần mềm. Phần thi công. Qua các phần nêu trên đã cho chúng ta thấy hệ thống điều khiển gồm có 2 phần: phần cứng và phần mềm. Trong đó cấu trúc phần cứng gồm có: Khối giao tiếp với đường truyền : chủ yếu dùng IC MT8870, IC đếm 4518 và OPTO đảm nhận chức năng nhận biết tín hiệu chuông, đóng tải giả và đưa tín hiệu từ đường truyền vào vi xử lý 8085. Khối vi xử lí trung tâm và bộ nhớ: gồm IC 8085, ROM và RAM 8 Kbyte lưu trữ các chương trình để điều khiển tồn bộ hệ thống cũng như làm cầu nối trung gian giữa các khối với nhau, IC 74573 tách dữ liệu – địa chỉ, IC 74138 giải mã IO/M\. Khối định thời điều khiển relay đóng mở tải: khối này dùng IC đếm lập trình được 8253 kết hợp với Flip – Flop D (IC 7474) và relay tạo thành mạch điều khiển tải với thời gian cài đặt tùy ý. Khối đệm dữ liệu và địa chỉ dùng IC 74LS244, 74LS245 và 74LS537. Khối giải mã hiển thị chủ yếu dùng IC 8279, 15 phím nhấn và 10 led 7 đoạn hiển thị. Cấu trúc phần mềm đảm nhận chức năng liên kết tất cả các khối thành một hệ thống tự động thông qua các chương trình được lưu trữ trong ROM 2764 và RAM 6264. Gồm có các chương trình sau : p p p p p p Với thời gian thực hiện đề tài không nhiều nhưng với sự cố gắng nghiên cứu, cùng với sự giúp đỡ tận tình của giáo viên hướng dẫn nên đề tài “Thiết kế hệ thống điều khiển xa các thiết bị điện có định thời bằng điện thoại hữu tuyến” đã thể hiện được gần như đầy đủ các yếu tố cần có trong 1 hệ thống điều khiển thiết bị. Qua phần giới thiệu, thiết kế và thi công đã thể hiện rõ như thế nào là một hệ thống điều khiển bằng điện thoại và hơn nữa tự nó khẳng định được rằng trong tương lai hệ thống này sẽ được đưa vào ứng dụng trong thực tiễn. ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN ĐỀ TÀI : Qua thời gian làm đồ án tốt nghiệp, nhóm sinh viên thực hiện đã hồn thành cả lý thuyết lẫn thi công. Với đề tài này giúp cho nhóm sinh viên thực hiện học được nhiều điều bổ ích và nắm vững hơn về lý thuyết điện tử, nhất là trong lĩnh vực Bưu chính Viễn thông và vi xử lý. Trong thời gian làm đề tài, với sự hạn chế về tài liệu vì vậy đòi hỏi mỗi sinh viên của nhóm phải cố gắng tìm tòi và nhiệt tình trong công việc nghiên cứu và cuối cùng đề tài đã hồn thành 1 cách trọn vẹn. Đó là kết quả của 1 thời gian dài nỗ lực của mỗi sinh viên trong nhóm dưới sự hướng dẫn tận tình của giáo viên hướng dẫn Ts. Trần Thu Hà và Thầy Nguyễn Thanh Bình, cùng với sự giúp đỡ của bạn bè nên đề tài đã hồn thành đúng thời hạn. Với đề tài này , yêu cầu chúng ta phải có cái nhìn tổng quát về nhiều mặt: kiến thức về kỹ thuật số, tương tự, xử lí tín hiệu, lí thuyết mạch, kiến thức phần cứng và phần mềm của vi xử lý 8085, kiến thức về Bưu chính Viễn thông… Nhóm sinh viên thực hiện đã áp dụng nhuần nhuyễn giữa lí thuyết – thực hành và tận dụng được đường truyền có sẵn của mạng Bưu chính Viễn thông để thiết kế phần cứng và phần mềm hợp lí cho việc điều khiển được thiết bị từ xa qua điện thoại. Đề tài “Thiết kế hệ thống điều khiển xa các thiết bị điện có định thời bằng điện thoại hữu tuyến” là sự kết hợp giữa cái cũ và cái mới, giữa các khối riêng lẻ thành 1 hệ thống hồn chỉnh. Trong đồ án đã trình bày khá sâu sắc về linh kiện cũng như cấu trúc và chức năng của mạch. Nội dung đề tài được trình bày đầy đủ, hình thức rõ ràng, từ ngữ thông dụng dễ hiểu. Tuy nhiên trong quá trình thiết kế và thi công vì mạch điện khá phức tạp, thời gian thi công ít nên đề tài đã thể hiện được những ưu điểm và hạn chế như sau : Những ưu điểm : Hệ thống điều khiển được 2 nơi : qua điện thoại và qua phím nhấn đặt tại mạch điều khiển, ngồi ra tại mỗi thiết bị còn có 3 phím ON – OFF – tắt khẩn cấp 8 thiết bị rất thuận tiện trong việc điều khiển. Hệ thống có 10 led 7 đoạn hiển thị dữ liệu của thiết bị thuận lợi trong việc quan sát quá trình làm việc của thiết bị. Mã điều khiển (password) của hệ thống gồm 4 chữ số (đề tài cũ chỉ có 2 chữ số) được cài đặt và thay đổi tùy theo ý thích của người sử dụng, tăng tính bí mật cho hệ thống vì xác suất ngẫu nhiên bấm đúng mật mã thấp. Hệ thống điều khiển được 8 thiết bị (đề tài cũ chỉ có 2 thiết bị). Ngồi chức năng điều khiển tắt mở thiết bị thông thường như các đề tài trước, hệ thống này còn cài đặt được thời gian làm việc cho thiết bị và khi có trường hợp khẩn cấp có thể tắt đồng loạt 8 tải để phòng ngừa các trường hợp đáng tiếc xảy ra. Hệ thống báo trạng thái của thiết bị bằng âm hiệu nhạc (không dùng lời nói), mạch báo đơn giản rất kinh tế, đảm bảo tính kĩ thuật. Sở dĩ hệ thống này không dùng tiếng nói để báo vì: hệ thống chuyển đổi A/D, mạch tạo tiếng nói rất phức tạp. Để báo trạng thái tắt hoặc mở của thiết bị chỉ cần 2 âm hiệu khác nhau tượng trưng cho trạng thái tắt / mở là đạt yêu cầu về mặt kĩ thuật, cũng như rất kinh tế. Còn nếu sử dụng tiếng nói để báo thì xét về mặt kinh tế không đạt yêu cầu vì như thế là quá dư khi chỉ để báo thiết bị tắt hay mở mà thôi. Hạn chế của đề tài: Do tình hình nghiên cứu và khả năng của bản thân còn bị hạn chế trong việc lập trình vi xử lí theo kiểu ngắt nên hệ thống còn nặng về phần cứng: đếm tín hiệu chuông, điều khiển đóng – mở tải giả do phần cứng điều khiển. Đề tài chưa thể hiện được các chức năng điều khiển tự động khác như : tự động trả lời điện thoại, tự động báo cháy, báo trộm…. Đó chính là giới hạn, đồng thời cũng là hướng phát triển của đề tài. Nhóm sinh viên thực hiện rất mong được sự chỉ dẫn của giáo viên hướng dẫn và sự đóng góp sau này của bạn bè nhằm xây dựng nên 1 hệ thống điều khiển mới có tính qui mô cao hơn. Vì đây là 1 hệ thống với chức năng đa dụng, tiện ích, hiện đại, kinh tế không ngồi mục đích nâng cao đời sống tiện ích cho con người. IC 8253 Sơ đồ chân - cấu trúc bên trong và các tín hiệu vào/ ra : Hình 5.13 : Sơ đồ khối của 8253 Mô tả hoạt động: General Sau khi đóng nguồn, trạng thái của 8253 không xác định. Mode, số đếm và ngõ ra của tất cả các bộ đếm đều không xác định. Hoạt động của mỗi bộ đếm được xác định khi lập trình cho nó. Bộ đếm phải được lập trình trước khi sử dụng và những bộ đếm nào không dùng đến thì không lập trình. Programming the 82C53 (Lập trình cho 8253). Các bộ đếm được lập trình bằng cách ghi vào một từ điều khiển và một số đếm. Tất cả từ điều khiển đều ghi vào trong thanh ghi từ điều khiển, thanh ghi từ điều khiển được chọn khi A1A0 = 11 và từ điều khiển sẽ quy định bộ đếm nào được lập trình. Vì vậy, số đếm phải được ghi vào trong bộ đếm chứ không ghi vào thanh ghi từ điều khiển. A1A0 chọn bộ đếm cần ghi và nếu đặt số đếm được xác định bởi từ điều khiển. Write Operations (Hoạt động ghi). Hai điều cần lưu ý khi lập trình cho 8253. Đối với mỗi bộ đếm, từ điều khiển phải được ghi vào trước số đếm. Số đếm phải theo cách đặt trong từ điều khiển : hoặc LBS, hoặc MSB, hoặc LBS trước, MBS sau. Sau khi thanh ghi từ điều khiển và 3 bộ đếm chọn địa chỉ (A1A0) và mỗi từ điều khiển qui định 1 bộ đếm làm việc (SC1 SC0) thì không yêu cầu cấu trúc lập trình phải đúng theo trình tự mà có thể theo một trong bốn cách sau: A1 A0 Control word - Counter 0 A1 A0 LBS of count - Counter 0 0 0 MSB of count - Counter 0 0 0 Control word - Counter 1 1 1 LBS of count - Counter 1 0 0 MBS of count - Counter 1 0 0 Control word - Coutner 2 1 1 LBS of count - Counter 2 1 0 MBS of count - Counter 2 1 0 Số đếm có thể ghi vào bộ đếm bất kỳ lúc nào mà không ảnh hưởng đến kiểu lập trình của bộ đếm. Số đếm chỉ bị ảnh hưởng khi mô tả trong định nghĩa kiểu hoạt động. Số đếm mới phải sau số đếm đã lập trình. Nếu một bộ đếm được lập trình để đọc/ghi 2 byte số đếm thì chương trình sẽ không chuyển đổi việc điều khiển giữa ghi byte thứ nhất và byte thứ 2 lên bộ đếm khác mà chỉ ghi trên cùng một bộ đếm. Vì vậy, số đếm sai có thể được đưa vào bộ đếm. Real Operations (Hoạt động đọc). Có ba phương pháp để đọc bộ đếm: đọc đơn giản, lệnh chốt bộ đếm và lệnh đọc về. Đọc đơn giản : Để đọc một bộ đếm, ngõ vào A1A0 phải được chọn vì ngõ vào xung clock của bộ đếm được chọn phải bị cấm bằng cách dùng chân Gate hoặc mức logic ngõ vào. Khi bộ đếm đang đếm lùi số đếm, nếu đọc số đếm thì kết quả cho ra sẽ không chính xác. Lệnh chốt bộ đếm (Counter latch command) Giống như từ điều khiển lệnh này được ghi vào thanh ghi từ điều khiển được chọn khi A1 A0 = 11 và bit SC1 SC0 lựa chọn 1 trong 3 bộ đếm bit D5D4 = 00 để phân biệt lệnh này. Ngõ ra của bộ đếm được chọn (OL) sẽ chốt số đếm ngay khi nhận lệnh chốt và giữ lại cho đến khi CPU đọc ra (hoặc khi bộ đếm lập trình lại), số đếm tiếp theo sẽ không được chốt tự động khi đó ngõ ra chốt của bộ đếm được chọn lặp lại để cho ra một giá trị đếm khác (CE) . Điều này cho phép đọc nội dung của bộ đếm trong làm việc mà không ảnh hưởng đến tiến trình đếm. Có thể dùng lệnh chốt nhiều lần để chốt nhiều bộ đếm và sẽ không làm ảnh hưởng đến kiểu lập trình của bộ đếm. Nếu một bộ đếm được chốt sau đó tiếp tục trước khi số đếm được đọc ra thì lệnh chốt lần 2 sẽ được bỏ qua và số đếm đọc ra sẽ là số đếm của lệnh chốt đầu tiên. Với cả hai phương pháp số đếm đều được đọc ra sau việc lập trình đặc biệt nếu bộ đếm để đọc/ghi 2 byte số đếm thì 2 byte phải được đọc ra. Hai byte…. Một đặc điểm khác của 82C53 là đọc và ghi trên cùng một bộ đếm có thể được chen vào. Ví dụ : Một bộ đếm được lập trình để đọc/ghi 2 byte thì: Đọc LBS. Ghi LBS mới. Đọc MBS. Ghi MBS mới. Nếu một bộ đếm được lập trình để đọc/ghi 2 byte thì một chương trình không phải chuyển đổi việc điều khiển giữa đọc byte thứ nhất và byte thứ 2 với một chương trình khác mà chỉ đọc trên cùng một bộ đếm và vì vậy một số đếm có thể được đọc ra. Lệnh đọc về (Read - back command) Lệnh này cho phép người sử dụng kiểm tra giá trị đếm, kiểu lập trình trạng thái ngõ ra và cờ đếm không hợp lệ (null count flag) của bộ đếm được chọn. Lệnh được ghi vào thanh ghi từ điều khiển (hình 10) và cho phép chọn bộ đếm tương ứng với các bit D3, D2, D1 = 111. Lệnh đọc về dùng để chốt ngõ ra chốt của nhiều bộ đếm (OL) bằng cách đặt D5 = 0 và chọn bộ đếm cần đọc. Chức năng lệnh này cũng giống như các lệnh chốt bộ đếm khác. Mỗi bộ đếm chốt số đếm cho khi được đọc ra (hoặc được lập trình lại). Bộ đếm đó không tự động được chốt lại giá trị đếm khi đọc như các bộ đếm khác. Nếu dùng lệnh đọc về nhiều lần trên cùng 1 bộ đếm mà không đọc ra số đếm thì số đếm đọc ra sẽ là giá trị ngay khi nhận lệnh đọc về. Lệnh đọc về cũng được dùng để chốt trạng thái thông tin (Status in formation) của bộ đếm được chọn bằng cách đặt D5 = 0 trạng thái được chốt để đọc ra. (Hình 11). Bit D5 đến D0 chức kiểu lập trình giống như kiểu từ điều khiển trước đó. Ngõ ra D7 chức trạng thái hiện thời của ngõ ra. Điều này cho phép người sử dụng “giám sát” được ngõ ra bằng phần mềm và có thể loại bỏ được 1 vài phần cứng khỏi hệ thống. Null Count bit D6 chỉ ra rằng : khi số đếm sau cùng ghi trong thanh ghi bộ đếm thì (Counter Register (CR)) được đưa vào trong Couting Element (CE) thời gian xảy ra phụ thuộc vào kiểu bộ đếm và mô tả mode nhưng cho đến khi số đếm sau cùng được đưa vào trong Couting Element (CE) thì nó không thể đọc ra từ bộ đếm. Nếu số đếm được chốt hay đọc trước thời gian này thì số đếm mới sẽ được ghi vào (hoạt động null count ở hình 12). Nếu lệnh chốt nhiều trạng thái của bộ đếm mà không đọc ra thì chỉ lần chốt đầu tiên bị bỏ qua và trạng thái đọc ra sẽ là trạng thái của bộ đếm ngay khi nhận lệnh. Cà 2 số đếm và trạng thái của bộ đếm được chọn có thể được chốt đồng thời bằng cách đặt và D5D4 = 0, giống như khi đặt 2 lệnh đọc về cùng lúc……… Mode Definition (Định nghĩa kiểu hoạt động). Clk pulse : xung clock tác động bằng cạnh xuống và ngõ vào xung clock cho từng bộ đếm. TRIGGER : xung kích hoạt cạnh trên của ngõ vào gate của từng bộ đếm. COUNTER LOADING : Mode 0 : ngắt khi đếm xong : Mode 0 được dùng tiêu biểu cho việc đếm sự kiện. Sau khi ghi từ điều khiển vào, ngõ ra OUT = 0 cho đến khi bộ đếm đạt tới 0. Ngõ ra sau đó lên 1 trở lại cho đến khi gặp 1 số đếm mới hoặc 1 từ điều khiển cho Mode 0. Gate = 1 cho phép đếm, Gate = 0 không cho phép đếm và Gate không ảnh hưởng đến ngõ ra. Sau khi từ điều khiển và số đếm ghi vào bộ đếm thì số đếm sẽ được chuyển đến bộ đếm ở chu kỳ đồng hồ sau. Xung này không làm giảm số đếm vì vậy khi nạp vào N số đếm thì ngõ ra OUT = 0 trong (N + 1) xung Clock. Nếu nạp vào 2 byte số đếm thì : Byte đầu tiên (LSB), ngõ ra xuống thấp nhưng chưa cho phép đếm. Byte thứ 2 (MSB) cho phép bắt đầu đếm trên chu kỳ xung kế tiếp. Nếu chỉ ghi LSB vào bộ đếm thì sau khi bộ đếm đạt tới 0 sẽ quay vòng lại FFFFH và dừng bộ đếm. Tuy nhiên nếu LSB được gửi đi sau khi bộ đếm đếm lùi từ FFFFH thì MSB được đưa vào bộ đếm để đếm mà không dừng bộ đếm lại. Điều này cho phép trình tự đếm xảy ra đồng bộ bởi phần mềm. Nếu 1 số đếm được ghi vào khi Gate = 0 thì nó sẽ được chuyển đến xung Clock kế tiếp, khi nào Gate = 1 thì ngõ ra OUT = 0. Mode 1 : HARDWARE RETRIGGERABLE ONE – SHOT (đa hài đơn ổn tái kích hoạt). Ban đầu OUT =1, OUT = 0 khi có xung Clock kèm theo 1 xung kích hoạt đơn ổn và giữ mức 0 đến khi bộ đếm về Zero. Sau đó ngõ ra sẽ lên mức 1 trở lại và giữ cho đến khi gặp 1 xung kích hoạt của cửa Gate. Khi nạp vào số đếm N và có xung đơn ổn kích hoạt thì ngõ ra ở mức 0 trong N xung clock. Khi đó nếu có kích hoạt xung đơn ổn tiếp thì ngõ ra vẫn không đổi. Mode 2 : RATE GENERATOR (phát xung). Chức năng của Mode này giống như 1 bộ đếm chia N, nó được sử dụng cho việc phát ra 1 chuỗi xung Clock ngắt quãng. Đầu tiên ngõ ra OUT = 1, khi số đếm giảm đến 1 thì ngõ ra OUT = 0 trong 1 xung. Sau đó OUT = 1 trở lại và bộ đếm lặp lại quá trình đếm. Mode 2 làm việc tuần hồn và trình tự lặp lại không định rõ. Nạp vào số đếm N thì trình tự lặp lại là N chu kỳ xung Clock. Gate = 1 cho phép đếm, Gate = 0 trong suốt 1 xung Clock ngõ ra thì OUT = 1 ngay lập tức. 1 Trigger được tải vào bộ đếm cùng với số đếm trong xung đồng hồ tiếp theo và ngõ ra OUT = 0 trong N xung Clock có Trigger cộng thêm ngõ vào Gate có thể sử dụng đồng bộ với bộ đếm. Sau khi ghi 1 từ điều khiển và 1 số đếm, bộ đếm sẽ được chuyển đến xung Clock kế tiếp. OUT = 0 trong N xung Clock, điều này cũng cho phép bộ đếm đồng bộ với phần mềm. Ghi số đếm trong khi đếm sẽ không làm ảnh hưởng đến trình tự đếm. Nếu 1 Trigger được nhận sau khi ghi số đếm nới nhưng trước khi kết thúc một chu kỳ làm việc thì bộ đếm sẽ được chuyển đi cùng số đếm mới vào chu kỳ đồng hồ sau và tiếp tục đếm lùi từ số đếm mới. Hay số đếm mới sẽ được chuyển đi ngay khi kết thúc chu kỳ đếm và trong Mode 2 số đếm là 1 sẽ không hợp lệ. Hình : Minh họa dạng sóng ngõ ra ở các mốt hoạt động của 8253 IC 8085 CẤU TRÚC BÊN TRONG CỦA 8085 Hình 5.3 trình bày cấu trúc bên trong của 8085. Nó bao gồm đơn vị logic và số học ALU (Arithmetic and Logic Unit), đơn vị địnhthời và điều khiển (Timing and Comtrol Unit), Bộ giải mã và thanh ghi lệnh (Instruction Register and Decoder), Dãy thanh ghi (Register Array), điều khiển ngắt (Interrupt Control) và điều khiển I/O nối tiếp (Serial I/O Control). Đơn vị logic và số học ALU : Đơn vị này thực hiện các chức năng tính tốn : nó bao gồm Thanh ghi tích trữ (Accumulator), Thanh ghi tạm (Temporary register), các mạch logic và số học, 5 cờ báo (Flag). Thanh ghi tạm được dùng để duy trì dữ liệu trong suốt một hoạt động số học và logic. Kết quả được lưu trữ vào thanh ghi tích trữ và các cờ (các Flip – Flop) được đặt (set : bằng 1) hoặc bị đặt lại (reset : bằng 0) tuỳ theo kết quả của hoạt động. Các cờ chịu ảnh hưởng bởi các hoạt động số học và logic trong ALU. Trong hầu hết các hoạt động này, kết quả được lưu trữ vào thanh ghi tích trữ. Do đó các cờ thường phản ánh các điều kiện dữ liệu trong thanh ghi tích trữ trừ một vài ngoại lệ. Hình 5.3 Sơ đồ khối chức năng của 8085 S – Sign Flag : Cờ dấu : sau sự thi hành của một phép tốn hoặc một hoạt động logic, nếu bit D7 của kết quả (luôn luôn trong thanh ghi tích trữ) bằng 1. Thì cờ dấu được đặt. Cờ này được sử dụng với các số có dấu. Trong một byte được cho, nếu D7 là 1, số này được xem như số âm, nếu D7 bằng 0, số này được xem như số dương. Trong các hoạt động liên quan tới cácsố có dấu, bit D7 được phục vụ để chỉ thị dấu và 7 bit còn lại được dùng để đại diện cho độ lớn (magnitude) của con số đó. Z – Zero Flag : Cờ không : Cờ không được đặt (Z = 1) nếu hoạt động ALU có kết quả bằng 0, cờ được đặt lại khi kết quả không bằng 0. Cờ này được điều chỉnh bởi kết quả trong thanh ghi tích trữ cũng như trong các thanh ghi khác. AC – Auxiliary Carry Flag : Cờ mược phụ : Trong một hoạt động tốn học, khi số mượn (carry) được phátra từ số D3 và chuyển sang số D4, thì cờ AC được đặt. Cờ này chỉ được sử dụng bên trong đối với các phép tốn liên quan đến số BCD, và không khả dụng đối với người lập trình muốn chuyển đổi trình tự của một chương trình bằng một lệnh nhảy. P – Parity Flag : Cờ chẵn lẻ : Sau một phép tốn số học hoặc một hoạt động logic, nếu kết quả có một số chẵn các số 1, cờ P được đặt (P = 1), nếu có một số lẻ các số 1 thì cờ P được đặt lại (P = 0). CY – Carry Flag : Cờ mượn : Nếu một phép tốn số học dẫn đến sự vay mượn, cờ C được đặt, ngược lại thì nó được đặt lại. Vị trí các bit phục vụ cho các cờ này như sau trong thanh ghi cờ : D7 D6 D5 D4 D3 D2 D1 D0 S Z x AC x P x CY Trong số 5 cờ, cờ AC được dùng bên trong đối với các phép tốn BCD : tập lệnh không chứa bất kì lệnh nhảy có điềi kiện nào liên quan đến cờ AC. Trong bốn cờ còn lại, cờ Z và Cy là các cờ được sử dụng thường xuyên nhất. Đơn vị định thời và điều khiển : Đơn vị này đồng bộ với tất cả các hoạt động của vi xử lý bằng xung đồng hồ, phát ra các tín hiệu điều khiển cần thiết cho việc tryền thông tin giữa vi xử lý và các ngoại vi. Các tín hiệu điều khiển có chức năng tương tự như xung đồng bộ (synchronous pule) trong một dao động kí. Các tín hiệu RD\, WR\ là các xung đồng bộ chỉ thị sự có sẵn của dữ liệu trên tuyến dữ liệu. Thanh ghi lệnh và bộ giải mã : Thanh ghi lệnh và bộ giải mã thuộc về ALU. Khi một lệnh được tìm thấy từ bộ nhớ, nó được nạp vào thanh ghi lệnh. Bộ giải mã sẽ giải mã lệnh và thực thi trình tự của các sự việc theo sau. Thanh ghi lệnh không thể được lập trình và không thể bị xâm nhập bằng bất kì lệnh nào. Dãy thanh ghi : Các thanh ghi lập trình gồm có : A, B, C, D, E, F, H, L. Mỗi thanh ghi có thể được lập trình độc lập hoặc kết hợp thành cặp thanhghi : AF = (PSW), BC = (B), DC = (D), và HL = (H). Ngồi ra còn có hai thanh ghi phụ, gọi là các thanhghi tạm W và Z, thuộc dãy thanh ghi. Các thanh ghi này được sử dụng để duy trì dữ liệu 8 bit trong khi thi hành một số lệnh. Tuy nhiên vì chúng được dùng bên trong, nên chúng không khả dụng đối người lập trình. Tức là, người lập trình không cần thiết phải quan tâm đến nội dung trong 2 thanh ghi này. SP (Stact Pointer) – con trỏ ngăn xếp, PC (Program Counter) – bộ đếm chương trình là 2 thanh ghi 16 bit vô cùng quan trọng. TẬP LỆNH CỦA 8085. Một lệnh (Instruction) là một mẫu nhị phân (Binary pattern) được thiết kế bên trong vi xử lí để thực hiện một chức năng cụ thể. Một nhóm đủ các lệnh, được gọi là tập lệnh (Instruction set), xác định các chức năng mà vi xử lí có thể thực hiện. Tập lệnh của 8085 có 74 lệnh (hơn 8080 hai lệnh), các lệnh này có thể được phân thành 5 nhóm chức năng : Các hoạt động (sao chép) truyền dữ liệu. Các hoạt động tốn học. Các hoạt động logic. Các hoạt động rẽ nhánh. Các hoạt động điềàu khiển. Các hoạt động (sao chép) truyền dữ liệu : Nhóm lệnh này sao chép dữ liệu từ nơi nguồn đến nơi đích, mà không hề điều chỉnh nội dung của nơi nguồn. Trong các sổ tay kỹ thuật, từ truyền dữ liệu được sử dụng cho chức năng sao chép. Sau đây là các dạng truyền dữ liệu: Dạng truyền Giữa các thanh ghi Byte dữ liệu cụ thể đến thanh ghi hoặc ô nhớ Giữa một thanh ghi và một ô nhớ Giữa một thiết bị I/O và thanh ghi tích trữ. Giữa cặp thanh ghi và ngăn xếp. Ví dụ Sao chép nội dung của thanhghi B vào thanh ghi D Nạp vào thanh ghi B byte dữ liệu 32H Từ ô nhớ 2000H đến thanh ghi B. Từ bàn phím vào thanh ghi tích trữ. Từ cặp thanh ghi BC đến 2 ô nhớ được định nghĩa như ngăn xếp. Các hoạt động tốn học : Các lệnh này thực hiện các phép tốn như là cộng, trừ, tăng và giảm. Cộng : bất kỳ một số 8 bit, hoặc nội dung của thanh ghi, hoặc nội dung của một ô nhớ có thể được cộng với nội dung của thanh ghi tích trữ và tổng được lưu vào thanh ghi tích trữ. Hai thanh ghi hoặc ô nhớ không thể cộng trực tiếp với nhau. Lệnh DAD là một ngoại lệ, nó cộng trực tiếp dữ liệu 16 bit trong các cặp thanh ghi. Trừ : Bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc nội dung của một ô nhớ có thể được trừ từ nội dung của thanh ghi tích trữ. Lệnh trừ được thực hiện ở dạng bù 2, và kết quả nếu âm được biểu hiện ở dạng bù 2. Hai thanh ghi hoặc ô nhớ không thể được trừ trực tiếp. Tăng/ giảm : Nội dung 8 bit của một thanh ghi hoặc một ô nhớ có thể được tăng hoặc giảm mỗi lần 1 đơn vị. Tương tự nội dung 16 bit của một cặp thanh ghi có thể cũng được tăng hoặc giảm đi 1. Các hoạt động tăng và giảm khác với phép cộng và trừ ở một cách thức rất quan trọng, đó là : chúng có thể được thực hiện trong bất kì thanh ghi hoặc ô nhớ nào. Các hoạt động logic: Các lệnh này thực hiện các hoạt động logic khác nhau với nội dung của thanh ghi tích trữ. AND, OR, XOR : Bất kì một số 8 bit, hoặc nội dung của 1 thanh ghi, hoặc nội dung của một ô nhớ có thể được logic AND, OR, hoặc XOR với nội dung của thanh ghi tích trữ. Xoay : Mỗi bit trong thanh ghi tích trữ có thể được dịch trái hoặc dịch phải đến vị trí kế tiếp. So sánh : bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc nội dung của một ô nhớ có thể được so sánh bằng, lớn hơn, hoặc nhỏ hơn với nội dung của thanh ghi tích trữ. Bù : Nội dung của một thanh ghi tích trữ có thể được lấy bù : tất cả 0 được thay thế bằng 1 và tồn bộ 1 được đổi thành 0. Các hoạt động rẽ nhánh : Nhóm các lệnh này làm thay đổi trình tự thi hành chương trình một cách có điều kiện hoặc không có điều kiện. Nhảy : Các lệnh nhảy có điều kiện là một khía cạnh quan trọng để đưa ra những quyết định trong lập trình. Các lệnh này kiểm tra một điều kiện nào đó (cờ Zero hoặc cờ Carry) và làm thay đổi trình tự chương trình khi bắt gặp điều kiện. Gọi, Trở về, Khởi động lại : Các lệnh này làm thay đổi trình tự của một chương trình hoặc bằng cách gọi một chương trình con hoặc trở về từ một chương trình con. Các lệnh Gọi và Trở về cũng có thể kiểm tra các cờ điều kiện. Các hoạt động điều khiển : Các lệnh này điều khiển các chức năng vận hành như là : Dừng, Ngắt, hoặc không làm gì cả (No Operation). Tập lệnh vi xử lí 8085 được phân thành 3 nhóm tuỳ theo kích cỡ từ : Các lệnh một từ hoặc 1 byte. Các lệnh hai từ hoặc 2 byte. Các lệnh ba từ hoặc 3 byte. Lệnh một byte chứa mã hoạt động (Opcode) và tốn tử (Operand) trong cùng một byte. Trong lệnh hai byte, byte thứ nhất nêu lên mã hoạt động và theo sau là tốn tử. Đối với lệnh ba byte, byte thứ nhất cho biết mã hoạt động, hai byte kế tiếp là dữ liệu 16 bit (nội dung hoặc địa chỉ). LẬP TRÌNH CHO 8279 Để có khả năng sử dụng thành thạo 8279, trước tiên phải hiểu rõ bản chất các từ điều khiển của 8279. 8279 có tất cả tám từ điều khiển, tùy theo mục đích sử dụng mà sẽ chọn từ điều khiển thích hợp. Đặt Mode hiển thị / bàn phím. MSB LSB Mã 0 0 0 D D K K K Trong đó, DD là Mode hiển thị và KKK là Mode bàn phím : DD 0 0 hiển thị 8 kí tự, 8 bit - ghi trái. 0 1 hiển thị 16 kí tự, 8 bit - ghi trái. 1 0 hiển thị 8 kí tự, 8 bit - ghi phải. 1 1 hiển thị 16 kí tự, 8 bit - ghi phải. Yù nghĩa của Ghi trái (Left Entry) và Ghi phải (Right Entry) được trình bày hình 5.25. Chú ý rằng khi quét có giải mã được đặt trong Mode bàn phím, hiển thị sẽ bị giảm xuống 4 kí tự không phụ thuộc vào việc đặt Mode hiển thị. KKK 0 0 0 bàn phím có lập mã - khóa ngồi 2 phím. 0 0 1 bàn phím quét có giải mã - khóa ngồi 2 phím. 0 1 0 bàn phím quét có lập mã - xoay vòng N phím. 0 1 1 bàn phím quét có giải mã - xoay vòng N phím. 1 0 0 ma trận cảm biến, quét có lập mã 1 0 1 ma trận cảm biến, quét có giải mã 1 1 0 ngõ vào Strob, quét hiển thị có lập mã. 1 1 1 ngõ vào Strob, quét hiển thị có giải mã. Ơû Mode lập mã, các ngõ ra SL tác động mức cao và theo sau là mã bit nhị phân từ 0 đến 7 hoặc từ 0 đến 15, tùy theo hiển thị 8 hoặc 16 số được chọn. Ơû Mode giải mã, các ngõ ra SL tác động mức thấp và chỉ một trong bốn ngõ ra ở mức thấp tại thời điểm bất kỳ được cho. Các ngõ ra giải mã lập lại mẫu : 1110, 1101, 1011 và 0111. Ơû mode Strob, một xung tác động mức cao trên chân CN/ST sẽ Strob dữ liệu từ các chân RL vào FIFO bên trong, nơi mà chúng được duy trì cho vi xử lí Lập trình xung đồng hồ : Mã 0 0 1 P P P P P Tất cả các tín hiệu định thời và đa hợp cho 8279 được phát ra bởi một bộ đặt trước tỉ lệ (precaler) bên trong. Bộ đặt trước chia xung đồng hồ bên ngồi (chân 3) cho một số nguyên có thể lập trình. các bit P P P P P quyết định giá trị của số nguyên này, trong phạm vi từ 2 đến 31. Hãy chọn số chia sao cho đạt được tần số 100 KHz. RAM LOCATION DISPLAY POSITION 0 (A) A b C d 1 (b) 2 (C) (A) REPRESENTS (d) 7 SEGMENT CODE FOR A 5 6 7 (a) Left Entry RAM LOCATION DISPLAY POSITION 0 (A) A b C d 1 (b) 2 (C) (A) REPRESENTS (d) 7 SEGMENT CODE FOR A 5 6 7 (b) Right Entry Hình 5.25 : Mối liên hệ giữa RAM 8279 và vị trí hiển thị Dọc FIFO / RAM cảm biến : Mã 0 1 0 AI X A A A X = không quan tâm Từ điều khiển này chọn địa chỉ của mã phím cần đọc trong RAM FIFO/ Cảm biến. Ở mốt bàn phím có quét, cờ tăng tự động AI (Auto - Inerement) và các bit địa chỉ RAM (A A A) không còn khả dụng. 8279 sẽ tự động lái tuyến dữ liệu cho mỗi lần đọc tiếp theo (Ao = 0) theo đúng trình tự mà ban đầu dữ liệu được nhập vào FIFO. Tất cả những lần đọc tiếp theo sẽ đến từ FIFO cho đến khi một lệnh khác được tạo ra. Ơû mốt ma trận cảm biến, các it địa chỉ RAM (A A A) chọn một trong 8 hàng của RAM cảm biến. Nếu cờ AI được đặt (AI = 1), mỗi sự đọc kế tiếp sẽ đến từ hàng tiếp theo của RAM cảm biến. Đọc RAM hiển thị Mã 0 1 1 A1 A A A A Từ điều khiển này chọn địa chỉ của byte dữ liệu cần đọc trong RAM hiển thị. Các bit địa chỉ A A A A chọn một trong 16 hàng của RAM hiển thị.Nếu cờ AI đặt (AI = 1), địa chỉ hàng này sẽ đượa tăng tự động sau mỗi lần đọc hoặc ghi tiếp theo. Vì cùng một bộ đếm được sử dụng cho cả hai hoạt động đọc và ghi. Từ lệnh này đặt địa chỉ đọc hoặc ghi kế tiếp và cảm nhận mốt tự động tăng cho cả hai hoạt động. Ghi vào RAM hiển thị Mã 1 0 0 AI A A A A Từ điều khiển này chọn địa chỉ trong RAM hiển thị nơi cần ghi dữ liệu vào. Sau khi từ lệnh với Ao = 1 sẽ ở trong RAM hiện thị. Các chức năng định địa chỉ và tăng tự động giống như đối với đọc RAM hiển thị. Tuy nhiên từ lệnh nàykhông ảnh hưởng đến nguồn của những lần đọc dữ liệu kế tiếp ; CPU sẽ đọc bất kì RAM nào (Hiển thị hoặc FIFO / cảm biến) được nêu rõ sau cùng, việc ghi vào RAM hiển thị, tuy nhiên sẽ làm thay đổi vị trí Đọc tiếp theo. Nhấp nháy / Cấm Ghi vào hiển thị Mã 1 0 1 X IW IW BL BL Các bit IW có thể được sử dụng che nửa byte A và nửa byte B trong những ứng dụng đòi hỏi các cổng hiển thị 4 bit tách biệt. Bằng cách đặt cờ IW (IW = 1) đối với một trong các cổng, cổng trở nên được đánh dấu sao cho việc ghi vào RAM hiển thị từ CPU không ảnh hưởng đến cổng đó. Thế thì nếu mỗi nửa byte được nhập một bộ giải mã BCD, CPU có thể ghi một số vào RAM hiển thị mà không ảnh hưởng đến số khác đang được hiển thị. Một chú ý quan trọng là bit Bo tương ứng với bit Do trên tuyến dữ liệu của CPU, và bit A3 tương ứng với bit D7. Nếu người sử dụng muốn nhấp nháy hiển thị, các cờ Bl có khả dụng đối với mỗi nửa byte. Lệnh xóa sau cùng được phát ra xáx định mã được sử dụng như một “nhấp nháy”. Mã này ? tất cả bằng không sau một sự đặt lại. Chú ý rằng cả hai cờ BL phải được đặt để nhấp nháy một hiển thị kết hợp với một cổng đơn 8 bit. Xố Mã 1 1 0 CD CD CD CF CA Các bit CD có sẵn trong từ lệnh này để xố tất cả các hàng của RAM hiển thị theo một mã có thể chọn lựa được như sau : CD CD CD 0 X tất cả bằng không (X = không quan tâm) 0 AB = 20H ( 0010 0000 ) 1 tất cả bằng 1 cho phép xố hiển thị khi = 1 (hoặc bởi CA =1) Trong suốt thời gian RAM hiển thị đang bị xóa( ~ 160mS), nó không thể được ghi vào. Bit có trọng số cao nhất ( MSB) của từ trạng thái được đặt trong suốt thời gian này. Khi RAM hiển thị trở nên khả dụng trở lại, bit này tự động được đặt lại. Nếu CF = 1, trạng thái FIFO bị xóa và đường ngõ rangắt được đặt tại hàng 0. CA, bit xố tất cả, có sự ảnh hưởng của CD và CF. Nó sử dụng CDxóa mã trên RAM hiển thị và cũng xóa trạng thái FIFO. Hơn thế nửa, nó còn đồng bộ lại sự định thời bên trong. Đặt mốt báo lỗi / Ngắt ở cuối Mã 1 1 1 E X X X X Đối với mốt ma trận cảm biến, từ lệnh này hạ đường IRQ xuống thấp và cho phép ghi vào RAM (đường IRQ được nâng lên, phát hiện một sự thay đổi trong một giá trị cảm biến. Điều này cũng sẽ cấm ghi vào RAM cho đến khi đặt lại). Đốt với mốt xoay vòng N phím, nếu bit E được lập trìng bằng 1, chip 8279 sẽ hoạt động ở mốt báo lỗi. Khởi tạo 8279 Mặc dù 8279 có tới tám từ điều khiển, nhưng không phải lúc nào cũng sử dụng hết tất cả tám từ này. Khi khởi tạo một 8279, thứ tự các từ điều khiển sau đây là cần thiết : + Đặt mốt hiển thị / bàn phím + Lập trình xung đồng hồ + Xóa RAM hiển thị hoặc FIFO hoặc cả hai Các từ điều khiển còn lại có thể được gởi ra thanh ghi điều khiển trong lúc này hoặc khi cần. Việc đọc mã của bàn phímcó thể được thực hiện bằng một trong hai cách : dùng ngắt ( interrupt ) hoặc dùng kỹ thuật hỏi vòng ( polling ). Khi một phím được ấn xuống, chân IRQ của 8279 tạo ra một mức logic cao, nếu dùng ngắt của vi xử lý. Chương trình phục vụ ngắt sẽ đọc mã của phím ấn.

Các file đính kèm theo tài liệu này:

  • docĐiều khiển từ xa bằng điện thoại và Thiết kế mạch điều khiển xa bằng điện thoại.DOC
Luận văn liên quan