THỰC HÀNH VI XỬ LÝ - Khoa Khoa học và Kỹ thuật Máy tính
THỰC HÀNH VI XỬ LÝ - Khoa Khoa học và Kỹ thuật Máy tính
THỰC HÀNH VI XỬ LÝ - Khoa Khoa học và Kỹ thuật Máy tính
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Trường ĐH. Bách <strong>Khoa</strong> TP.HCM <strong>Khoa</strong> KH & KTMT<br />
BCF TRISC,3<br />
RETURN<br />
Trên đây ta mới chỉ khởi tạo module SPI để nó có thể hoạt động nhưng<br />
nhìn lại sơ đồ mạch ta lại thấy có thêm <strong>và</strong>i kết nối nữa từ vi điều khiển ra<br />
IC74595. Để IC này hoạt động được thì ta cần thêm một chân tạo clock để có thể<br />
chuyển dữ liệu nối tiếp ra song song của IC này. Ta define thêm cho chân Latch<br />
của IC 74595.<br />
#define LATCH_DIR TRISA,1<br />
#define LATCH_DATA PORTA,1<br />
Đồng thời khởi tạo các PORT liên quan:<br />
INIT<br />
MOVLW 0x0F<br />
MOVWF ADCON1<br />
BCF LATCH_DIR<br />
BCF LATCH_DATA<br />
CLRF INDEX_OF_BUFFER<br />
RETURN<br />
Bước 5: Ngoài ra để thực hiện được bài này không thể nào thiếu timer<br />
được, vì để hiển thị ra led ma trận ta phải quét từng cột led trên ma trận led.<br />
Khi nhìn <strong>và</strong>o cấu tạo của ma trận led ta thấy để hiện thị được một hình gì<br />
đó trên ma trận led thì ta phải quét led, vì tại một thời điểm chỉ có thể hiển thị một<br />
cột led mà thôi. Nhờ <strong>và</strong>o hiện tượng lưu ảnh ở mắt mà khi quét với tần số cao thì<br />
mắt ta sẽ thấy như là cột đó sáng chứ không phải chớp nháy nữa.<br />
Vậy làm sao biết được ta quét led với tần số bao nhiêu là hợp lý. Như trong<br />
phim ảnh khi xem phim thực chất ta biết là nó đang chạy với tần số là 24 hình /s.<br />
Ở đây ta cũng giả sử như vậy, cả màn hình của led cũng chớp nháy với tần số là 24<br />
hình/s, mà mỗi hình ta phải quét 8 lần vì có 8 cột. Từ đó ta có thể suy ra tần số ta<br />
cần phải quét cho mỗi cột là 8x24 lần/s. Từ đây ta có thể dễ dàng <strong>tính</strong> được timer<br />
của chúng ta cần bao nhiêu để có thể quét led được một cách dễ dàng.<br />
INIT_TIMER0<br />
BSF RCON,IPEN ;enable priority interrupts.<br />
BSF INTCON2,TMR0IP<br />
BSF INTCON,TMR0IF<br />
BSF INTCON,TMR0IE<br />
BSF INTCON,GIEH<br />
BSF INTCON,GIEL<br />
CLRF T0CON<br />
MOVLW 0x3c<br />
MOVWF TMR0H<br />
MOVLW 0xAF<br />
MOVWF TMR0L<br />
BSF T0CON,TMR0ON<br />
Bộ môn <strong>Kỹ</strong> Thuật <strong>Máy</strong> Tính 63 Thực hành Vi xử lý