IV. Thực hiện viết chương trình DownLoad:
Chương trình xuất bắt đầu tại begin.
− Đọc Busy\ cho tới khi bằng [1]: đợi kit phát ra Busy=[0] báo hiệu đã sẳn sàng nhận dữ liệu. sẳn sàng nhận dữ liệu.
− Nếu nhận được Busy\=[1] thì bước xuất dữ liệu được thực hiện, tức là lúc đó máy tính đọc 2 ký tự đầu tiên của file .tmp và xuất ra port 378 lúc đó máy tính đọc 2 ký tự đầu tiên của file .tmp và xuất ra port 378 của máy tính.
− Strobe=[1]: để báo cho kit biết dữ liệu đã được gửi ra port để kit biết mà đọc dữ liệu vào. mà đọc dữ liệu vào.
− ACK=[1] và Error=[0]: khi nhậndl xong kit sẽ báo ACK=[1], Error=0 để báo cho máy tính biết Kit sẽ gửi dữ liệu để kiểm tra đúng hay sai. để báo cho máy tính biết Kit sẽ gửi dữ liệu để kiểm tra đúng hay sai.
− AF=[1]: báo cho Kit biết máy tính sẳn sàng nhận dữ liệu.
− Máy tính đọc bit Error cho tới khi Error = [0] để biết Kit đã gửi về dữ liệu để kiểm tra. liệu để kiểm tra.
− Thu Nible cao: Nhận dữ liệu để kiểm tra.
− Cho AF=[0]: đã nhận xong dữ liệu.
− Đọc Error cho tới khi Error=[1] để biết đã có dữ liệu mới.
− Thu nible thấp.
− Kiểm tra dữ liệu: máy tính sẽ phải ghép nối nible cao với nible thấp lại rồi so sánh với dữ liệu vừa xuất ra, nếu 2 dữ liệu giống nhau thì kết quả rồi so sánh với dữ liệu vừa xuất ra, nếu 2 dữ liệu giống nhau thì kết quả xuất dữ liệu sẽ là đúng. Máy tính sẽ xuất ra số FFhex ở thanh ghi data để báo đúng, và xuất AF=0 & strobe=0 để báo xuất xong 1 byte dữ liệu. Ngược lại thì xuất 00hex ra thanh ghi data và xuất AF=0, strobe =0 để báo kết quả sai.