![]() |
![]() |
#16 |
Trưởng lão PIC bang
|
Code của bạn chỉ cần sửa lại thành
Code:
int8 a,b; main() { a = 0; while(a<8){ a++; portb=00; delay_ms(100); portb=0xFF; delay_ms(100); }
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
![]() |
![]() |
![]() |
#17 |
Đệ tử 2 túi
Tham gia ngày: Sep 2006
Bài gửi: 33
: |
anh namqn cho em hỏi luôn cái chương trình này:
Code:
//Chuong trinh led sang don o PORTB /*ket qua o PORTB là:00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000,10000001,10000010,10000100,10001000,.....cuoi cung thi PORTB=0xFF */ #include<16F877A.h> #include<def_16f877a.h> #fuses NOWDT,PUT,HS,NOPROTECT,NOLVP #use delay(clock=20000000) #use fast_io(b) int8 sck,slx,bienxoay,bienluu,giatri; main() { trisb=0; while(true){ sck=8; portb=0; delay_ms(100); while(sck<1) { bienxoay=0; slx=sck; while(slx<1) { bienxoay=bienxoay<<1; giatri=bienluu|bienxoay; portb=giatri; delay_ms(100); slx--; } bienluu=giatri; sck--; } } } Cảm ơn anh trước! Em mới học nên ko hiểu! thay đổi nội dung bởi: namqn, 04-12-2006 lúc 11:12 PM. |
![]() |
![]() |
![]() |
#18 |
Trưởng lão PIC bang
|
Có lẽ chương trình chạy đúng theo những gì bạn viết đó chứ.
Chương trình nên được sửa lại thành: Code:
//Chuong trinh led sang don o PORTB /*ket qua o PORTB là:00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000,10000001,10000010,10000100,10001000,.....cuoi cung thi PORTB=0xFF */ #include<16F877A.h> #include<def_16f877a.h> #fuses NOWDT,PUT,HS,NOPROTECT,NOLVP #use delay(clock=20000000) #use fast_io(b) int8 sck,bienxoay; main() { trisb=0; while(true){ sck=8; portb=0; delay_ms(100); bienxoay=1; while(sck>0) { portb=bienxoay; bienxoay=bienxoay<<1; delay_ms(100); sck--; } } }
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
![]() |
![]() |
![]() |
#19 |
Nhập môn đệ tử
Tham gia ngày: Jan 2007
Bài gửi: 7
: |
counter!!!
hoi ve counter: xin chao cac ban minh co mot thac nac the nay
khi ta dem xung ngoai dung :timer0 thi xung ngoai dua vao chan A4 va ta dung lenh: setup_counters(rtcc_ext_h_to_l,rtcc_div_1); bay gio minh muon dem xung tren c0va c1 (dung timer1) thi khai bao the nao? mong cac ban giup do cam on! |
![]() |
![]() |
![]() |
#20 |
Đệ tử 2 túi
|
cho mình hỏi cách sửa bộ compiler với! giả sử như sửa file lcd.c!
trong file lcd.c thi compiler mặc định là dữ liệu sẽ được gởi các chân RB4-RB7! nếu em muốn dl dc đưa ra các chân của RC4-RC7 thì phải làm như thế nào? |
![]() |
![]() |
![]() |
#21 |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
thì bạn define lại ngõ suất ra ! thường trong thư viện đó ng ta đ/n như sau
Code:
#define D4 RB4 #define D5 RB5 #define D6 RB6 #define D7 RB7 |
![]() |
![]() |
![]() |
#22 |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
Đây là code LCD4bit , mình chỉnh lại từ code của anh Linh
Code:
#define E PIN_D0 #define RS PIN_D1 #define RW PIN_D2 #define LCD_D4 PIN_D4 #define LCD_D5 PIN_D5 #define LCD_D6 PIN_D6 #define LCD_D7 PIN_D7 void LCD_Init ( void ); // ham khoi tao LCD void LCD_SetPosition ( unsigned int data );//Thiet lap vi tri con tro void LCD_PutChar ( unsigned int data ); // Ham viet1kitu/1chuoi len LCD void LCD_PutCmd ( unsigned int data ) ; // Ham gui lenh len LCD void send_to_LCD( unsigned int data); void LCD_Init ( void ) { delay_ms(200); // thoi gian de LCD khoi dong output_low(RW); // RW = 0 output_low(RS); // che do gui lenh send_to_LCD( 0x00 ); output_high ( E ); output_low ( E ); delay_ms ( 10 ); send_to_LCD( 0x03 ); /* init with specific nibbles to start 4-bit mode */ output_high ( E ); output_low ( E ); delay_ms ( 3 ); // tao xung tren chan E output_high ( E ); output_low ( E ); delay_ms ( 3 ); output_high ( E ); output_low ( E ); delay_ms ( 3 ); send_to_LCD( 0x02 ); /* set 4-bit interface */ output_high ( E ); output_low ( E ); delay_ms ( 3 ); // tao xung tren chan E LCD_PutCmd ( 0x2C ); /* function set (all lines, 5x7 characters) */ LCD_PutCmd ( 0x0C); /* display ON, cursor off, no blink */ LCD_PutCmd ( 0x06 ); /* entry mode set, increment & scroll left */ LCD_PutCmd ( 0x01 ); /* clear display */ } void LCD_SetPosition ( unsigned int data ) { send_to_LCD( swap ( data ) | 0x08 ); output_high ( E ); output_low ( E ); delay_ms ( 3 ); // tao xung tren chan E send_to_LCD( swap ( data ) ); output_high ( E ); output_low ( E ); delay_ms ( 3 ); // tao xung tren chan E } void LCD_PutChar ( unsigned int data ) { output_high( RS ); //RS = 1 output_low ( RW ); //RW = 0 send_to_LCD( swap ( data ) ); // gui 4 bit cao output_high ( E ); output_low ( E ); delay_ms ( 3 ); // tao xung tren chan E send_to_LCD( swap ( data ) ); //gui 4 bit thap output_high ( E ); output_low ( E ); delay_ms ( 3 ); // tao xung tren chan E } void LCD_PutCmd ( unsigned int data ) { output_low(RS); // RS = 0 output_low(RW); // RW = 0 send_to_LCD( swap(data) ); // gui 4 bit cao output_high (E); output_low (E); delay_ms (3); send_to_LCD( swap(data) ); // gui 4 bit thap output_high (E); output_low (E); delay_ms ( 3 ); } void send_to_LCD( unsigned int data ) { output_bit ( LCD_D4, data & 0x01 ); output_bit ( LCD_D5, data & 0x02 ); output_bit ( LCD_D6, data & 0x04 ); output_bit ( LCD_D7, data & 0x08 ); } |
![]() |
![]() |
![]() |
#23 | ||
Đệ tử 6 túi
Tham gia ngày: Oct 2006
Bài gửi: 147
: |
help về Lm335+16F877A+LCD1602
lâu rùi không động chạm PIC nên quên mứt..!!!
mọi người cho em hỏi ::: Trích:
Trích:
|
||
![]() |
![]() |
![]() |
#24 |
Đệ tử 7 túi
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
: |
hình như trong 2 file bạn include vào ko có định nghĩa trisa , trisb ,trisd . bạn chỉ cần khai báo lại địa chỉ là đc thui .. ko có gì cả !
|
![]() |
![]() |
![]() |
#25 |
Đệ tử 4 túi
Tham gia ngày: May 2007
Bài gửi: 69
: |
bạn cũng có thể viết như sau:
while(1)// vong lap luôn đúng { for(a=0;a=8;a++) .................. } |
![]() |
![]() |
![]() |
#26 |
Nhập môn đệ tử
|
![]() Em mới học PIC và viết thử chương trình hiển thị LCD giống như bạn FFGmember hướng dẫn, compile no error nhưng khi mô phỏng Proteus thì k hiển thị được. Kết nối LCD chắc đúng vì em thử load file của anh FFGmember thì chạy ào ào.
Mong mọi người xem giúp, em mò hoài mà chẳng xong. ![]() #include <16f877a.h> #include <def_877a.h> #device *=16 ADC=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #include <lcd_lib_4bit.c> void main() { TRISD = 0x00; LCD_Init(); Printf(LCD_Putchar,"Test LCD"); } Cảm ơn mọi người ! |
![]() |
![]() |
![]() |
#27 |
Nhập môn đệ tử
|
Nhân tiện cho em hỏi một chút về CCS C, tuy có vẻ hơi ngớ ngẩn:
1. Compile và Build & Build all khác nhau chỗ nào, tại sao em mở 1 file .c bất kì, sửa rồi compile thì báo lỗi : I/O error 103. Vậy làm cách nào ? 2. Một project có Source, Output va Document để quản lý cái gì. Source gồm nhiều unit có tác dụng gì, vì thường em chỉ tạo 1 unit thôi..? |
![]() |
![]() |
![]() |
#28 |
Nhập môn đệ tử
Tham gia ngày: Jan 2008
Bài gửi: 1
: |
em muốn tìm tài liệu mới và đầy đủ nhất về CCS bằng tiếng việt, anh nào có chỉ giúp em với. đọc phần help của nó chua hiểu kỹ vì chưa nhìu kinh nghiệm
|
![]() |
![]() |
![]() |
#29 |
Nhập môn đệ tử
|
Trong topic này có 2 tutorial của anh linhnc và của anh Trần Xuân Trường (nick txt), mình nghĩ là khá đủ. bạn tìm và đọc nha !
|
![]() |
![]() |
![]() |
#30 | |
Đệ tử 4 túi
Tham gia ngày: Jan 2007
Bài gửi: 79
: |
Trích:
|
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Ðề 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 |