![]() |
Help !!! Bài tập pic16f87x , mong mọi người giúp đỡ !
Chào các bác , em là newbie mới học pic . Hôm nay thầy giáo có cho 2 bài tập sau ma em đọc mãi ko hiểu , mong các bác chỉ dạy giúp em :(
Bài 1 : Cho đoạn code PIC như sau : ( Fosc = 4Mhz) #include p16F876.inc org 0 goto deb org 4 retfie deb bsf STATUS,RP0 clrf TRISB bcf STATUS,RP0 movlw 0x30 movwf T1CON sig clrf TMR1L movlw 0xf0 movwf TMR1H bsf T1CON,0 b1 btfss PIR1,0 goto b1 bcf PIR1,0 bcf T1CON,0 comf PORTB goto sig end Hỏi : 1.Tính chu kì ( period ) của tín hiệu (signal) trên bit thứ 4 của portB . 2. Thay đổi chương trình (giữ nguyên kq ) bằng cách sử dụng Interrupt. Bài 2 : Viết 1 đoạn code sử dụng timer để tạo 1 interrupt sau 50 000 chu kì máy. Mong các bác chỉ dạy giúp em , thanks các bac nhiều :D |
Hic hic có bác nào giúp em giảng cho em chút :(
|
Trích:
clrf TMR1L movlw 0xf0 movwf TMR1H sau lệnh này giá tri trong timer1 là 0xf000 đổi sang dec là (61440) timer1 là time 16bit có giá trị là 0xffff(dec=65535) chu kì=65535-61440=4095 movlw 0x30 movwf T1CON (xem data sheet) lệnh này sau 8 chu kì máy timer1 sẽ tăng thêm 1 chu kì trên portb=4095*8 |
Trích:
Cám ơn bác rất nhiều . |
Múi giờ GMT. Hiện tại là 01:59 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam