![]() |
|
![]() |
#1 | |
Nhập môn đệ tử
Tham gia ngày: Oct 2008
Bài gửi: 5
: |
cứu em với
Trích:
em viết chương trình này sao không mô phỏng bằng proteus được trả lời giúp em sớm nhé thanks #include<16f877a.h> #fuses NOWDT,PUT,HS,NOPROTECT #device PIC16f877a*=16 ADC=10 #use delay(clock=4000000) #include <lcd.c> #byte portb=0x06 #byte portd=0x08 #bit b0=portb.0 #bit b1=portb.1 #bit b2=portb.2 #bit b3=portb.3 #bit b4=portb.4 #bit b5=portb.5 #bit b6=portb.6 #bit b7=portb.7 #int_rb void docphim() { if(b0&&b4) lcd_putc("giang"); if(b1&&b4) lcd_putc("hoang"); if(b2&&b4) lcd_putc("k9a"); if(b3&&b4) lcd_putc(" "); if(b0&&b5) lcd_putc("hoang"); if(b1&&b5) lcd_putc("giang"); }//end int void main(void) { set_tris_b(0xf0); set_tris_d(0x00); enable_interrupts(INT_RB); enable_interrupts(GLOBAL); ext_int_edge(H_to_L); { portb=1; portb=2; portb=4; portb=8; lcd_putc("hoang giang !!!"); delay_ms(100); lcd_putc("\f"); } while(true);} |
|
![]() |
![]() |
![]() |
#2 | |
Nhập môn đệ tử
Tham gia ngày: Jun 2008
Bài gửi: 10
: |
Trích:
Bạn xem lại khai báo ban đầu vì chắc bạn đã khai báo #device *=16 ADC=8 sau khi khai báo #fuses và #use ![]() |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 3 túi
Tham gia ngày: Feb 2009
Bài gửi: 47
: |
- Ko nhất thiết phải dùng cả hàm ngắt ở bài toán này, mình muốn Em_ku tự viết lại bài đó theo cách khác nhưng ko biết hắn biến đâu mất. Và code của Em_ku hoàn toàn có thể giữ nguyên chỉ sửa vài chỗ thôi là có thể chạy đúng.
- Như mình phân tích ở trên thì khi i==0 timer0 đã bị tràn rồi và cờ TMR0IF khi đó đã bằng 1, nhưng mà vấn đề là ở chỗ mỗi khi i tăng lên thì quá trình phải lặp lại như vậy (phải lặp lại thì mới đảm bảo trễ đúng 1s như đã tính toán) thế thì mỗi lần i nhận đc một giá trị thì timer0 phải tràn rồi đếm lại từ đầu một lần. Vậy chỉ cần đặt cụm Code:
TMR0IF=0; setup_timer_0 (RTCC_INTERNAL|RTCC_DIV_16); set_timer0 (6); Code:
for (i=0;i<=so;i++) |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Jun 2008
Bài gửi: 10
: |
Hi !!!
Tôi cũng chẳng bít hẳn biến đâu mà mất tiêu Nhưng anh em mình chỉ mún nói 1 chút về Timer0 thui Còn đơn giản nhất thì anh em mình vẫn có thể dùng Delay_ms() mà ![]() |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
dsPIC Tutorial 3-Đọc ngõ vào và giao tiếp LCD | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 92 | 19-02-2017 11:15 PM |
dsPIC Tutorial 2-Các kỹ thuật cơ bản | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 33 | 17-10-2013 11:09 PM |
dsPIC Tutorial 4-Module UART và I2C | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 76 | 09-05-2012 10:55 AM |
Tutorial LCD cua Nigel??????? | spirit | Cơ bản về vi điều khiển và PIC | 16 | 16-03-2009 05:32 PM |
tutorial hay cho newbie | FUD84 | Cơ bản về vi điều khiển và PIC | 2 | 04-12-2005 02:29 AM |