các pác xem giùm em, em đã lập trình và chạy thông trên Proteus nhưng khi làm mạch thật thì " ì ạch" ko chạy
Thông báo
Collapse
No announcement yet.
8051 hien thi LCD
Collapse
X
-
Bạn cần đưa sơ đồ và code lên. Sơ đồ đưa dưới dạng hình ảnh thì tốt.AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
-
Bạn cần code LCD 4 bit hay 8 bit, tôi gửi cho, trên mạng cũng nhiều mà...Code:/* LCD define */ #define DISPLAY_ON 4 #define DISPLAY_OFF 0 #define CURSOR_ON 2 #define CURSOR_OFF 0 #define CURSOR_BLINK_ON 1 #define CURSOR_BLINK_OFF 0 #define SHIFT_DISPLAY 8 #define MOVE_CURSOR 0 #define SHIFT_RIGHT 4 #define SHIFT_LEFT 0 #define B_INTERFACE 16 #define N_INTERFACE 0 #define TWO_LINES 8 #define ONE_LINE 0 #define BIG_FONT 4 #define SMALL_FONT 0 #define INCREMENT_CURSOR 2 #define DECREMENT_CURSOR 0 #define DISPLAY_SHIFT_ON 1 #define DISPLAY_SHIFT_OFF 0 void init_uC(); void delay10us(); void delay100us(); void time_ms(); void delay_ms(int n); /* LCD procedures */ void enable_clock(); void write_byte(BYTE wbyte, BYTE cmd); void turnoff_display(); void cursor_home(); void control_display(BYTE D, BYTE C, BYTE B); void clear_display(); void function_set(BYTE DL, BYTE N, BYTE F); void entry_mode_set(BYTE ID, BYTE S); void cursor_shift(BYTE SC, BYTE RL); void write_char(BYTE character); void jump_cursor(BYTE address); void reset_lcd(); void write_string_lcd(char *lcd_message); void lcd_introduction(char *f, char *s); /* Some delay procedures */ void delay10us() { BYTE i; for (i=0;i<1;i++); } void delay100us() { BYTE i; for (i=0;i<30;i++); } void time_ms() /* Approximate 1 ms delay with XTAL 11.0592MHz */ { int i; for (i = 0; i < 115 ; i++) ; } void delay_ms(int n) /* Approximate do nothing n*1ms */ { int i; for (i=0; i< n ; i++) time_ms(); } /* The procedures are used to display LCD */ sbit RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_E = P2^2; sbit DB7 = P2^7; sbit DB6 = P2^6; sbit DB5 = P2^5; sbit DB4 = P2^4; void enable_clock() { LCD_E = 1; LCD_E = 0; } void write_byte(BYTE wbyte, BYTE cmd) { RS=cmd; DB7=(wbyte>>7)&0x01; DB6=(wbyte>>6)&0x01; DB5=(wbyte>>5)&0x01; DB4=(wbyte>>4)&0x01; enable_clock(); DB7=(wbyte>>3)&0x01; DB6=(wbyte>>2)&0x01; DB5=(wbyte>>1)&0x01; DB4=(wbyte>>0)&0x01; enable_clock(); } void turnoff_display() { write_byte(0x08,0); } void cursor_home() { write_byte(0x02,0); delay_ms(5); } void control_display(BYTE D, BYTE C, BYTE B) /* Control display on/off, cursor blink */ { write_byte(0x08 | D | C | B,0); } void clear_display() /* Clear display */ { write_byte(0x01,0); } void function_set(BYTE DL, BYTE N, BYTE F) /* Function set */ { write_byte(0x20 | DL | N | F,0); } void entry_mode_set(BYTE ID, BYTE S) /* Entry mode set */ { write_byte(0x04 | ID | S,0); } void cursor_shift(BYTE SC, BYTE RL) { write_byte(0x10 | SC | RL,0); } void write_char(BYTE character) { write_byte(character,1); } void jump_cursor(BYTE address) { write_byte(address,0); } void reset_lcd() { LCD_RW = 0; RS = 0; DB7=0; DB6=0; DB5=1; DB4=1; delay_ms(5); DB7=0; DB6=0; DB5=1; DB4=1; delay100us(); DB7=0; DB6=0; DB5=1; DB4=1; time_ms(); DB7=0; DB6=0; DB5=1; DB4=0; delay100us(); function_set(N_INTERFACE, TWO_LINES, BIG_FONT); /* Byte interface, two lines, 5x10 dots */ turnoff_display(); control_display(DISPLAY_ON, CURSOR_OFF, CURSOR_BLINK_OFF); clear_display(); entry_mode_set(INCREMENT_CURSOR, DISPLAY_SHIFT_ON); /* Increment cursor position, display shift */ control_display(DISPLAY_ON, CURSOR_OFF, CURSOR_BLINK_OFF); } void write_string_lcd(char *lcd_message) { BYTE i=0; while(i<strlen(lcd_message)) { write_char(lcd_message[i]); i++; } } void lcd_introduction(char *f, char *s) { clear_display(); cursor_home(); jump_cursor(0x81); write_string_lcd(f); jump_cursor(0xC2); write_string_lcd(s); control_display(DISPLAY_ON, CURSOR_OFF, CURSOR_BLINK_OFF); delay_ms(3000); clear_display(); }
|
Comment
-
http://linhnc308.googlepages.com/myprojects
Tren nay co kha nhieu code ma toi da lam va suu tam dc. ban co the tham khao.Ethernet-RS232, PIC Webserver, RFID Reader
CallerID, Cảnh báo BTS, ...
0988006696
linhnc308@gmail.com
http://linhnc308.blogspot.com
Comment
-
Nguyên văn bởi philong Xem bài viếtban oi co the giup minh mot ty duoc khong. Hien gio minh dang lam do an tim hieu ve VDK 8051 giao tiep voi lcd lm032l ban co the giup minh tim hieu ve cach ket noi vo cho minh code cua lcd do duoc khong. Minh cam on ban.
http://www.latke.net/lcd/
http://dientuvietnam.net/forums/showthread.php?t=8577
Comment
Bài viết mới nhất
Collapse
-
bởi dinhthuong92Cảm ơn bác đã chia sẻ nhiều thí nghiệm thực tế.
Về mạch cân bằng cells pin thì theo cá ngân em, nó chỉ có chức năng bảo vệ quá xả và quá nạp cho các cell thôi. Tức là bất kì cell nào trong khi xả mà có áp thấp nhất và bằng...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 21:07 -
-
bởi jigokushoujoCó anh chị nào có thể cho em 1 mạch chống ngược cực, chập mạch, khi bị chạm mạch hay ngược cực thì nó sẽ tự động ngắt nguồn,khi không còn chạm thì nó sẽ đóng nguồn lại bình thường. Em có dùng nguồn 12V 75A từ ắc quy . Em cần chụi...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:24 -
-
bởi chinhnguyen9Tôi nghi ngại về sự hiện diện của điện trở 0,1R trong mach test có thể làm sai lạc và méo mó hoạt động của mạch. Sau khi tháo bỏ điện trở trên test lại thì thấy hoạt động cân bằng tích cực hơn rất nhiều và sờ thấy các most fet của...
-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 15:01 -
-
bởi chinhnguyen9Test module cân bằng chủ động kiểu Flying Capacitor Balancing 4s 6A TQ
Hình thức board mạch có vẻ ổn. Hình 1 mặt trên và mặt dưới
Hình 2
Lắp bài test với 3 cell 32-650 (4000mAh) với các mức điện áp trong dòng thứ 2 cell số 5 là pin lion 10Ah để tạo độ...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 11:26 -
-
bởi chinhnguyen9Hính 1 Sản phẩm board cân bằng acquy Minh Quang
Hình 2 Sơ đồ nguyên lý hoạt động
Hình 3 Sơ đồ đấu dây
Dùng 2 khối pin 32-650 khối 1 4s=13V và khối 2 5s =16V bắt nối tiếp, đấu dây đen B0 vào âm, nguồn B1 vào cọc 13V, và B2 vào cọc 29V,...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 10:51 -
-
bởi chinhnguyen91- Sơ khai là mạch cân bằng thụ động do hiệu quả của mạch này là rất kém nên ta vứt nó vào quá khứ.
2- Mạch cân bằng chủ động, so áp liền kề gồm 2 nhánh: dùng từ trường và dùng điện tích
3- Mạch cân bằng chủ động toàn nhóm.(flying capacitor balancing)
Trong mạch cân bằng chủ...-
Channel: Hướng dẫn sử dụng diễn đàn
16-04-2024, 08:48 -
-
bởi saovietnhat
Quyền Lợi:
- Mức lương thỏa thuận.
- Được đào tạo về kỹ năng làm việc trong môi trường năng động và làm việc nhóm
- Được đào tạo chuyên sâu về bán hàng, kinh doanh hiệu quả
- Tham gia BHYT, BHXH, BHTN,...-
Channel: Tuyển dụng
13-04-2024, 15:46 -
-
bởi Trọng TrangTiện đây các anh cho em hỏi: Khi transistor bị nóng thì dùng tản nhiệt. mặc dù đã có tản nhiệt nhưng bản mạch có bị nóng lên do transistor truyền nhiệt vào bản mạch không? Em cảm ơn các anh.
-
Channel: Điện tử dành cho người mới bắt đầu
10-04-2024, 22:48 -
Comment