III. KHỐI ĐIỀU KHIỂN:
A. NGUYÊN LÝ HỌAT ĐỘNG CỦA CÁC CHƯƠNG TRÌNH
I. CHƯƠNG TRÌNH CHÍNH:
Trong thiết kế này chúng ta dùng ngắt ngịai INT0\ và tín hiệu dùng để gây ngắt ngịai là tín hiệu báo cháy, khi cĩ sự cố xảy ra thì tín hiệu báo cháy tác động lên chân INT0\, lúc đĩ chương trình sẽ ngưng tất cả các họat động để phục vụ chương trình báo động.
Khi khơng cĩ tín hiệu tác động lên chân INT0\ thì chương trình sẽ phục vụ cho việc nạp số điện thoại và nhận tín hiệu điều khiển để trực tiếp cho việc điều khiển thiết bị.
Trong chương trình chính này sẽ phục vụ cho việc nạp số điện thọai và nhận tín hiệu điều khiển từ T1 (Couter).
II. CHƯƠNG TRÌNH NẠP SỐ ĐIỆN THỌAI:
Chương trình này cĩ nhiệm vụ nạp số điện thọai từ bàn phím vào RAM cĩ địa chỉ bắt đầu 2000H. Theo yêu cầu của mạch thiết kế ta cần báo động đế nhiều số điện thọai khác nhau, trong đĩ cần nhập các số điện thọai đặc biệt về: cứu hỏa, cơng an, cơ quan…
Số điện thọai nhập từ bàn phím cĩ tối đa 10 số. Nếu phím nhận được cĩ giá trị 00H sẽ kết thúc việc nhập số điện thọai từ bàn phím.
Khi nạp xong số điện thọai ta nhấn phím F2 (cĩ gía trị OFH) để báo cho vi xử lý biết là một số điện thọai đã nhập xong và bắt đầu nạp một số khác. Chương trình hiển thị sẽ giúp chúng ta biết được số điện thọai đã nạp vào.
III.CHƯƠNG TRÌNH NHẬN MÃ PHÍM:
Chương trình này mục đích xác định giá trị của phím được nhấn, tuy nhiên để tránh sự sai xĩt do phím rung ta phải cĩ vịng lặp đợi. Sau khi gọi chương trình quét phím, nếu khơng cĩ phím ấn thì tiếp tục quét, nếu cĩ phím nhấn thì tiếp tục quét 30 lấn nếu cần ấn thì lưu giá trị vào Stack, sau đĩ xét trạng thái phím nhả, nếu
phím chưa nhả thì tiếp tục quét, nếu phím nhả thì quét 40 lần mà phím vẫn cịn nhả thì nhận giá trị phím.
IV.CHƯƠNG TRÌNH QUÉT BÀN PHÍM:
KÝ HIỆU GIÁ TRỊ PHÍM CHỨC NĂNG
F1 0 0 0 0 Kết thúc việc nhập từ bàn phím 1 0 0 0 1 Số 1 2 0 0 1 0 Số 2 3 0 0 1 1 Số 3 4 0 1 0 0 Số 4 5 0 1 0 1 Số 5 6 0 1 1 0 Số 6 7 0 1 1 1 Số 7 8 1 0 0 0 Số 8 9 1 0 0 1 Số 9 F2 1 1 1 1 KẾT THÚC SỐ ĐIỆN THỌAI
Bàn phím trong thiết bị được thiết kế cho 12 phím, trong đĩ 10 phím số dùng để xác định các số từ 0 đến 9 và 2 phím cĩ chức năng đặc biệt F1, F2. Khi được ấn phím sẽ trả về giá trị dưới dạng mã HECXA như bảng trên.
Chương trình quét bàn phím dùng để xác định phím cĩ được ấn hay khơng, chương trình quét từng cột một. Đầu tiên là ở cột số 0, xem xét cĩ hàng nào tích cực hay khơng nếu khơng thì chuyển sang cột tiếp theo, ngược lại thì lưu giá trị phím ấn vào ACC.
V. CHƯƠNG TRÌNH HIỂN THỊ:
Chương trình hiển thị này dùng phương phát quét Led để hiển thị các số điện thọai ra Led.
Tín hiệu xuất ra cĩ 8 bit, trong đĩ cĩ 4 bit thấp dùng để chọn Led và 4 bit cao là mã HEXA của số điện thọai.
Đầu tiên xác định địa chỉ số điện thọai, xác định số chọn Led và xuất ra Port hiển thị, sau đĩ gọi chương trình Delay. Nếu trong quá trình hiển thị nếu khơng cĩ phím nào ấn thì nĩ vẫn tiếp tục hiển thị số điện thọai mới nhập vào, ngược lại quay về chương trình nạp số điện thọai.