![]() |
|
Tài trợ cho PIC Vietnam |
dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#5 |
Đệ tử 5 túi
Tham gia ngày: Sep 2007
Bài gửi: 94
: |
Cám ơn anh Nam nhé, e đã sủa được rồi . Em đọc và sủa như sau:
const unsigned char __attribute__ ((space(auto_psv))) chuoi0[]=" cty CEVT \0", chuoi1[]= "Dat nhiet do = \0", chuoi2[]=" Dat kp = \0", chuoi3[]=" Dat ki = \0", chuoi4[]=" Dat kd = \0", chuoi5[]= " Nhiet do thuc = \0"; unsigned char __attribute__ ((space(auto_psv))) s[15]; Em để tự động định địa chỉ. Thưa anh, em muốn hỏi anh ở phần hiển thị LCD. Trong tutorial 4 của anh có sử dụng các tín hiệu data của LCD cho cổng E. Nhưng giờ em muốn nối thể này (tại em làm tiếp cái của người khác đang làm ) : Cổng F cho D4,D5 ; E4,E5 cho D6,D7. Giờ em khai báo như thế này có được không : Code:
#define LCD_DAT1 LATE #define LCD_TRIS1 TRISE #define LCD_TAM LATF #define LCD_TRIS2 TRISF void Init_PORTS(void) LCD_DAT1&= 0xFF; LCD_TAM&= 0xF0; LCD_TRIS1 = 0xFF; LCD_TRIS2 = 0XF0; còn ở hàm LCD_cmd4() và hàm LCD_dat4() thì em viết lại như sau: void LCD_cmd4(unsigned char cmd) { unsigned temp1, i; //LATDbits.LCD_RW = 0; LATBbits.LCD_RS = 0; //Dat che do xuat lenh temp1 = LCD_DAT1 & 0xFF ; //Lay trang thai hien thoi cua LCD_DAT LCD_DAT1 = temp1 | (cmd >> 4); //Xuat 4 bit cao LATBbits.LCD_EN = 1; //Tao xung Enable for (i = 0; i < 2; i++); //keo dai toi thieu 1 us LATBbits.LCD_EN = 0; temp1 = LCD_TAM & 0xF0; //Lay trang thai hien thoi cua LCD_DAT1 LCD_TAM = temp1 | (cmd & 0x0F); //Xuat 4 bit thap LATBbits.LCD_EN = 1; //Tao xung Enable for (i = 0; i < 2; i++); //keo dai toi thieu 1 us LATBbits.LCD_EN = 0; } //Chuong trinh con xuat du lieu o che do 4 bit //------------------------------------------------------------------------------ void LCD_dat4(unsigned char dat) { unsigned temp2, i; //LATDbits.LCD_RW = 0; LATBbits.LCD_RS = 1; //Dat che do xuat du lieu temp2 = LCD_DAT1 & 0xFF; //Lay trang thai hien thoi cua LCD_DAT LCD_DAT1 = temp2 | (dat >> 4); //Xuat 4 bit cao LATBbits.LCD_EN = 1; //Tao xung Enable for (i = 0; i < 2; i++); //keo dai toi thieu 1 us LATBbits.LCD_EN = 0; temp2 = LCD_TAM & 0xF0; //Lay trang thai hien thoi cua LCD_DAT LCD_TAM = temp2 | (dat & 0x0F); //Xuat 4 bit thap LATBbits.LCD_EN = 1; //Tao xung Enable for (i = 0; i < 2; i++); //keo dai toi thieu 1 us LATBbits.LCD_EN = 0; } thay đổi nội dung bởi: tungnh, 08-10-2008 lúc 04:37 PM. |
![]() |
![]() |
|
|