Hi all! Mình đang nghiên cứu LCD dùng C. Có bạn nào có Code C giao tiếp LCD thì share cho mình và mọi người học hỏi với. Trước kia mình có, viết chương trình giao tiếp với LCD dùng ASM và chạy cũng tương đối. Bạn nào có kinh nghiệm hoặc có Code C về LCD thì giúp mình nhé. Thanks all!
Thông báo
Collapse
No announcement yet.
Code C cho LCD!!!
Collapse
X
-
Nếu bạn xài AVR thì code có sẵn hết rồi
Dưới đây là VD nè :
#include <mega16.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC //mach phan cung vao port C , giao tiep 4bit cao LCD
#endasm
#include <lcd.h>
void main(void)
{
// LCD module initialization
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("Wellcome to test")
.........
}
-
Em cũng xài CodeVisionAVR hehe để hiển thị thì dễ thật. Nhưng mà em vẫn chưa hiểu hết các lệnh nó có ý nghĩa gì.
Em muốn làm cho hiển thị chữ chạy từ trái qua phải VD : Dòng chữ : " Viet Nam "
Với chữ cái đầu tiên được hiện là chữ "m" rồi đến chữ "a" và cứ như thế chữ chạy cho tới chữ cuối cùng "V" khi hết dòng 01 chẳng hạn. Bác nào làm được chỉ em với.
Comment
-
Bác giở Help trong CodeVision ra mà nghiên cứu các hàm của LCD, đọc kĩ sẽ làm được hết. Còn vấn đề chữ chạy, chử nhảy hay cái của nợ gì đó chỉ là vấn đề lập trình thôi, không liên quan gì đến LCD cả. hehe.Nguyên văn bởi GS_Nobita Xem bài viếtEm cũng xài CodeVisionAVR hehe để hiển thị thì dễ thật. Nhưng mà em vẫn chưa hiểu hết các lệnh nó có ý nghĩa gì.
Em muốn làm cho hiển thị chữ chạy từ trái qua phải VD : Dòng chữ : " Viet Nam "
Với chữ cái đầu tiên được hiện là chữ "m" rồi đến chữ "a" và cứ như thế chữ chạy cho tới chữ cuối cùng "V" khi hết dòng 01 chẳng hạn. Bác nào làm được chỉ em với.Nỏ biết chữ mần răng ký được??!! Thôi nhé.
Comment
-
Đúng là Codevision chỉ hỗ trợ các hàm xuất,hiển thị LCD,nhảy tới các tọa độ,xóa màn hình,các hàm chuyển đổi trực tiếp từ số thập phân ra mã của LCD( mã LCD = mã thập phân của ký tự cần hiển thị + 48 đơn vị )
Bạn khéo léo kết hợp các hàm trên thì muốn hiển thị gì mà chẳng được, còn nếu lười nghĩ thì đến tài thánh cũng kô thể viết được!
Hầu hết các hàm của Codevesion AVR là viết bằng mã ASsem, bạn có thể tìm thấy trong thư mục cài đặt của Codevesion AVR, nếu bạn muốn tìm hiểu nó!
Comment
-
nếu bạn dùng 89 thì có thể tham khảo tại đây nha:Nguyên văn bởi lahodu Xem bài viếtHi all! Mình đang nghiên cứu LCD dùng C. Có bạn nào có Code C giao tiếp LCD thì share cho mình và mọi người học hỏi với. Trước kia mình có, viết chương trình giao tiếp với LCD dùng ASM và chạy cũng tương đối. Bạn nào có kinh nghiệm hoặc có Code C về LCD thì giúp mình nhé. Thanks all!
http://08tdt.com/forum/showthread.php?t=20&page=2
chúc thành công
Comment
-
để chạy chữ đc thì bạn phải viết từ từ cho một kí tự "m" hiển thị trước rồi xóa nó đi với 1 khoảng delay(tốc độ dịch chữ ấy) rồi sau đó cho hiển thị 2 kí tự "am" rồi lại xóa rồi lại delay, cứ như thế sẽ hiển thị được chữ chạy mà thôi, đến khi hiển thị đủ rồi thì bạn chỉ cần tăng vị trí con trỏ trước khi hiển thị chuổi "VietNam" là ok ngay. cái này mình làm rồi mà lúc đó mình viết cho con 89 dùng Keil.Nguyên văn bởi GS_Nobita Xem bài viếtEm cũng xài CodeVisionAVR hehe để hiển thị thì dễ thật. Nhưng mà em vẫn chưa hiểu hết các lệnh nó có ý nghĩa gì.
Em muốn làm cho hiển thị chữ chạy từ trái qua phải VD : Dòng chữ : " Viet Nam "
Với chữ cái đầu tiên được hiện là chữ "m" rồi đến chữ "a" và cứ như thế chữ chạy cho tới chữ cuối cùng "V" khi hết dòng 01 chẳng hạn. Bác nào làm được chỉ em với.hãy cố gắng dù vướn phải thất bại!!!!!!!!
Comment
-
Mình cũng đã dùng KeilC viết cho cho LCD bằng asm với AT89S52, về nguyên tắc hiển thị thì đúng như chipmickey nói. Tức là cho hiển thị dần dần từng ký tự một và để trễ một khoảng thời gian nhất định! Nhưng bạn nên nhớ chúng ta có hàm dịch phải & trái cơ mà, vậy thì việc cho chạy chữ thật hết sức đơn giản. Chỉ cần dịch toàn bộ hiển thị sang phải sau khi đặt vị trí con trỏ ở chỗ thích hợp là ta có được hình ảnh chữ "VietNam" trôi ngược.^__^
Bằng cách sử dụng một macro nhỏ, mình dùng hiển thị 1 chuỗi rất linh hoạt:
doc_chuoi macro string ;macro gửi dữ liệu tới LCD
irpc char, <string>
if nul 'char'
exitm
endif
mov a,#'char'
lcall hienthi_lcd
endm
endm
Sau đó khi cần hiển thị "Vietnam" ta chỉ cần gọi hàm: doc_chuoi<Vietnam>
Còn dịch trái phải thì biết rùi!
Comment
-
các anh ơi em dùng codevisionAVR viết cho mega8 kết nối chuẩn rồi mà tại sao chạy nó chỉ hiện ra một tràng lốm đốm jf đó vài giây rồi tắt phần cứng em nối như sau:
PORTD chíp--------------chân LCD
-----------------------------1-----GND
-----------------------------2-----VCC
-----------------------------3-----Biến trở điều chỉnh độ sáng
0----------------------------4
1----------------------------5
2----------------------------6
3
4----------------------------11
5----------------------------12
6----------------------------13
7----------------------------14
chương trình em viết chỉ đơn giản là hiển thị một chữ "happy new year"
vậy mà không biết tại sao, các anh xem giúp em nhé
Attached FilesLast edited by Le Thi Bich; 10-10-2008, 23:39.Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
Bạn thử thêm một lệnh while xem sao nhé!các anh ơi em dùng codevisionAVR viết cho mega8 kết nối chuẩn rồi mà tại sao chạy nó chỉ hiện ra một tràng lốm đốm jf đó vài giây rồi tắt..............
chương trình em viết chỉ đơn giản là hiển thị một chữ "happy new year"
vậy mà không biết tại sao, các anh xem giúp em nhé
Code:while (1) { // Place your code her lcd_putsf("Happy new year"); while (1){}; }; }
Comment
-
em mới học nên chưa biết cách mô phỏng anh ạNguyên văn bởi mrcuongcon Xem bài viếtBạn có dùng Proteus giả lập không?Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
em làm như anh bảo thì nó chỉ hiện được chữ "Happy ne" thôi. em dùng LCD 16 cột một hàngNguyên văn bởi mrcuongcon Xem bài viếtBạn thử thêm một lệnh while xem sao nhé!
Code:while (1) { // Place your code her lcd_putsf("Happy new year"); while (1){}; }; }Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
29-01-2026, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamkỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
-
Channel: Tâm tình dân kỹ thuật
25-01-2026, 21:29 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI
-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 22:13 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chào bác, gần Tết công việc bác bận lắm phải không?
Vâng mọi người đều thế cả.
Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo...-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 21:53 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietCảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau
https://www.instructables.com/DIY-1k...ge-Controller/-
Channel: Điện tử công suất
23-01-2026, 16:50 -
-
bởi Nexus 6PNhư tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn-
Channel: Điện tử công suất
23-01-2026, 11:23 -

Comment