NHÓM HỌC PIC
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

5 posters

Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  chiene Mon Jun 29, 2009 1:56 pm

Chào cả nhà!
Em thông báo lại tinh thần buổi họp vừa qua và những yêu cầu trong tuần tới.
1 Nội dung buổi họp:
- có 4 người tới họp: Anh Tú, Đạt, Chiến, và Dũng, ông Dũng sinh năm 87 đang học năm 4 Phương Đông, vừa xin gia nhập nhóm.
- Anh em ngồi nói chuyện về điện tử chút, sau nói về tinh thần và cách thức làm việc của nhóm, và định hướng trong thời gian tới.
- Anh Tú hứa sẽ cố gắng đưa tài liệu lên vào khoảng tối thứ 2 hoặc thứ 3, sau đó chương trình mẫu sẽ dc đưa lên vào tối thứ 4. Với tinh thần mới là anh Tú sẽ ko giải thích kỹ chương trình mà mọi người tự đọc, ko hiểu đâu cứ hỏi lại, anh Tú rất hoan nghênh việc hỏi lại và sẽ cố gắng giải đáp.
- Lần này yêu cầu mọi người phải đưa ra chương trình của mình, mỗi người đều phải post chương trình lên, để mọi người cùng trao đổi.
- thời gian buồi họp offline của nhóm thống nhất sửa lại vào 16h chiều thứ 7 hàng tuần, địa điểm vẫn là chỗ cũ, trong ngõ 48 Nguyễn Khánh Toàn.
2 Nhiệm vụ tuần tới:
Nhóm tiếp tục với phần giao tiếp qua LCD, lần này yêu cầu mỗi người phải có chương trình hẳn hoi, kiểu như những cái anh Tú đã gửi lên trc đây.

Chúc cả nhóm làm việc hiệu quả!
(Chiến)

chiene

Tổng số bài gửi : 10
Join date : 26/06/2009
Age : 36
Đến từ : Sóc sơn, Hà nội

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  chiene Thu Jul 02, 2009 1:13 pm

Đây là bài của em (chiến) về LCD, ai có thể thì tham khảo rồi cho bình luận với!http://www.mediafire.com/?qcgmrmy5jx4

chiene

Tổng số bài gửi : 10
Join date : 26/06/2009
Age : 36
Đến từ : Sóc sơn, Hà nội

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Đạt BKHN Thu Jul 02, 2009 4:00 pm

#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

20MHz mà anh để XT nó vẫn chạy à lol! Dùng với thạch anh ngoài > 4MHz với mấy con PIC16 nên config cái fuses này là HS

set_tris_B(0); //port B la ngo ra
set_tris_D(0);

Dùng def_877A rồi sao còn dùng cái này hả anh tổn ROM lắm. Hơn nữa không cần phải delay 100ms làm gì cả, không cần thiết, lại tốn thêm ROM nữa, nên để là trisb = 0x00 và trisd = 0x00

Đạt BKHN

Tổng số bài gửi : 7
Join date : 12/06/2009

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty LCD+DS1820

Bài gửi  Cuty Fri Jul 03, 2009 10:46 am

Tuần này không post bài hướng dẫn nên mình làm chơi trò này. Cả nhà cùng xem nhé.
http://www.megaupload.com/?d=UYWWJ6EL
santa

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re:

Bài gửi  Cuty Fri Jul 03, 2009 10:53 am

Bài của Chiến viết chạy thế là ok rùi, anh đóng gó thêm vài ý ntn:
1. Hiển thị LCD thí có file sẵn rùi <lcd_4bit.c> nên lấy cái đó mà dùng cho tiện.
2. Sau dòng
lcd_init(); //khoi tao LCD
nên thêm dòng lệnh tạo trễ
delaý_ms(10);
để LCD khởi động.
3. Mở rộng chương trình: Chương trình hiển thị là các ký tự có sắn, nâng cao thêm chút đó là thu tín hiệu đầu vào(nhiệt độ, tốc độ, điện áp, dòng điện...) rồi cho hiển thị lên LCD.
Em thử coi nhé.

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Đạt BKHN Fri Jul 03, 2009 11:40 am

Em từ trước đến h có bao giờ dùng delay ngay sau dòng lcd_init(); đâu nhỉ, nó vẫn chạy ầm ầm đấy thôi, với tốc độ thực thi của mấy con IC trên cái LCD đó chắc không cần delay làm gì, các bác thêm vào cũng ko sao.

Bác nào làm quả như xạc pin ở điện thoại ấy bounce

Đạt BKHN

Tổng số bài gửi : 7
Join date : 12/06/2009

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty LCD->pin xac

Bài gửi  Cuty Fri Jul 03, 2009 4:18 pm

Hehe, Chơi trò này hay đấy! Lâu rùi a không nghịch trên LCD, chủ yếu chỉ cho hiển thị cơ bản. Nâng cao thêm chút mới thú vị nhỉ? Để tối nay anh làm thử cái này. mai nộp bài cho cả nhà nhé! cheers

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Admin Fri Jul 03, 2009 7:31 pm

Mình có 2 đề nghị về bài DS1820

1 Hiển thị thêm số lẻ phải làm sao, có khó không

2 Mình muốn làm cái mạch thật cho bài tập này, anh em có thể cho nó hiển thị ra led 7 thanh có được không

Thank bạn Tú đã post bài DS 1820
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Đạt BKHN Fri Jul 03, 2009 8:49 pm

Hiển thị số lẻ không khó 1 chút nào, nhưng em muốn để mọi người suy nghĩ 1 chút xem sao. Còn vụ mạch bác cứ đưa em mạch em có thể cho nó chạy đc theo ý bác lol!

Đạt BKHN

Tổng số bài gửi : 7
Join date : 12/06/2009

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  chiene Sat Jul 04, 2009 8:57 am

Thank các góp ý của Đạt và anh Tú nhé!
Chết thật, hôm trc em cắm nhầm phân cực nguồn cho cái LCD, tức là lộn cức âm dương, giờ ko biết nó chết chưa. Bác nào chỉ em cách kiểm tra LCD với, em chưa làm thật với LCD bao giờ, nên cũng ko rõ mình làm ko đúng hay nó chết rồi, mô phỏng thì chạy ngon thế mà làm thật chưa thấy nó hiển thị gì cả, cứ như chết vậy.

chiene

Tổng số bài gửi : 10
Join date : 26/06/2009
Age : 36
Đến từ : Sóc sơn, Hà nội

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty LCD

Bài gửi  Cuty Sat Jul 04, 2009 9:42 am

Very Happy hừm! LCD của em đoản thọ thiệt, chưa làm ăn được gì đã die rùi. Chiều nay cầm con đó đi, anh mang theo mạch của anh để kiểm tra cho. Hy vọng cuộc sống tươi đẹp!

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  chiene Sat Jul 04, 2009 11:16 pm

Tiếc thật, chiều ko đến dc để dc anh khám cho con LCD, em mua ở Hàn Thuyên, dc bảo hành 7 ngày, ko biết nó có bảo hành cho ko, ko thấy cháy chỗ nào chắc nó cũng ko biết mình cắm sai nguồn (:d)

chiene

Tổng số bài gửi : 10
Join date : 26/06/2009
Age : 36
Đến từ : Sóc sơn, Hà nội

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Admin Mon Jul 06, 2009 10:46 pm

Sao không thấy ai post bài LCD để mọi người cùng thảo luận vậy nhỉ
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty LCD

Bài gửi  Cuty Tue Jul 07, 2009 8:15 am

Tuần rùi cả nhà họp mặt, tuy nhiên không tránh khỏi sự vắng mặt của một vài thành viên do bận việc. Chủ đề tuần tuần này tiếp tục mảng LCD do trong phần này có rất nhiều thú vị.
TUần này thách thức hơn tuần trước, đó là hiển thị LCD với những giá trị động: số, hay hình ảnh trái tim, xạc pin, chữ có dấu...
Đây mới thực sự là sử dụng LCD.
Hy vọng mọi người cùng tích cực vì phần này không hải dễ, tốn khá nhiều thời gian đó.
Chân thành cảm ơn sự hợp tác của mọi người.

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Cuty Tue Jul 07, 2009 8:17 am

Gửi bác Dũng!
Em định gửi bài LED co bác, but chủ đề tuần sau sẽ là LED 7 thanh nên em để bài đó lại cho hoàn chỉnh rồi gửi lên cho cả nhà luôn nhé.

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Nhờ anh em giải thích ý nghĩa các hàm con LCD

Bài gửi  Admin Tue Jul 07, 2009 11:50 am

// Lcd 16x2 in 4 bit mode
// LCD.C file diver
// As defined in the following structure the pin connection is as follows:
// RB3 enable
// RB2 rs
// RB4 DB4
// RB5 DB5
// RB6 DB6
// RB7 DB7
//
// LCD pins B0-B3 are not used and RW is not used.
#define rs PIN_B2
//rw connect gnd
#define enabled PIN_B3
#define DB4 PIN_B4
#define DB5 PIN_B5
#define DB6 PIN_B6
#define DB7 PIN_B7
char const lcd_type=2;
char const LCD_INIT_STRING[4] = {0x20 | (lcd_type << 2), 0xc, 1, 6};
//=======================================
//=======================================
void make_out_data(char buffer_data)
{
output_bit(DB4,bit_test(buffer_data,0));
output_bit(DB5,bit_test(buffer_data,1));
output_bit(DB6,bit_test(buffer_data,2));
output_bit(DB7,bit_test(buffer_data,3));
}
//===================================
//===================================
void lcd_send_nibble(char buffer_nibble)
{ make_out_data(buffer_nibble);
delay_us(10);
output_high(enabled);
delay_us(10);
output_low(enabled);
}
//====================================
//====================================
void lcd_send_byte( char address, char n )
{
output_low(rs); //rs= = 0;
delay_ms(1);
output_bit(rs,address);//lcd.rs = address;
delay_us(20);
delay_us(20);
output_low(enabled);//lcd.enable = 0;
lcd_send_nibble(n >> 4);
lcd_send_nibble(n & 0xf);
}
//===============================================
//===============================================
void lcd_init()
{ char i;
//set_tris_lcd(LCD_WRITE);
output_low(rs); http://lcd.rs = 0;
//output_low(rw); http://lcd.rw = 0;
output_low(enabled); http://lcd.enable = 0;
delay_ms(200);
for(i=1;i<=3;++i)
{
lcd_send_nibble(3);
delay_ms(10);
}
lcd_send_nibble(2);
for(i=0;i<=3;++i)
lcd_send_byte(0,LCD_INIT_STRING[i]);
}
//================================================
//================================================
void lcd_gotoxy( char x, char y)
{char address;
switch(y) {
case 1 : address=0x80;break;
case 2 : address=0xc0;break;
case 3 : address=0x94;break;
case 4 : address=0xd4;break;
}
address=address+(x-1);
lcd_send_byte(0,0x80|address);
}
//=================================================
//=================================================
void lcd_putc( char c) {
switch (c) {
case '\f' : lcd_send_byte(0,1);
delay_ms(2); break;
case '\n' : lcd_gotoxy(1,2); break;
case '\b' : lcd_send_byte(0,0x10); break;
default : lcd_send_byte(1,c); break;
}
}
//====================================================
void LCD_Command(int cm);
void LCD_ShiftLeft(void);
void LCD_ShiftRight(void);
void LCD_MoveRight(char p);
void LCD_MoveLeft(char p);
void LCD_String(char*s,int dly);

void LCD_Command(int cm){
lcd_send_byte(0,cm);
}

void LCD_ShiftLeft(void){
lcd_send_byte(0,0x18);
}
void LCD_ShiftRight(void){
lcd_send_byte(0,0x1C);
}
void LCD_MoveRight(char p){
char i;
for(i=0;i<p;i++){
LCD_ShiftRight();
delay_ms(200);
}
}
void LCD_MoveLeft(char p){
char i;
for(i=0;i<p;i++){
LCD_ShiftLeft();
delay_ms(200);
}
}
void strcpy(char*s1,char*s2) {
while(*s1++ == *s2++);
}
void LCD_String(char*s, int dly) {
while(*s!=0) {
lcd_putc(*s++);
delay_ms(dly);
}
}
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Admin Thu Jul 09, 2009 10:22 pm

Nhóm mình nghỉ hè hết rùi àh, sao ko thấy ai trả lời j vậy Crying or Very sad
Admin
Admin
Admin

Tổng số bài gửi : 18
Join date : 11/06/2009

https://microchipvn.forumvi.com

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty GIAO TIẾP LCD

Bài gửi  letrongdtk4 Thu Jul 09, 2009 11:58 pm

Chào cả nhà nhé !!!! Very Happy
E mới tham gia group nên mong mọi người giúp đỡ nhiều vì thực sự cả phần cứng và viết code em đều rất yếu
http://www.mediafire.com/?riwxz31ryyt
Trên là bài của em tuần này . Mọi người góp ý giúp em nhé !
E chỉ mới biết cách đưa dữ liệu giản đơn như vậy thui ạh
Và cũg mong các pác nói cho em về CGRAM với Question

letrongdtk4

Tổng số bài gửi : 2
Join date : 06/07/2009
Age : 36
Đến từ : Khoái Châu - Hưng Yên

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty LCD

Bài gửi  Cuty Sat Jul 11, 2009 1:46 am

Nhìn code của Trọng rùi! Khá ra trò đó chứ!
Anh có vài nhận xét:
1. Hiển thị lên LCD nhiều giá trị như thế rối lắm, nên cho các giá trị hiển thị lần lượt kèm theo hướng dẫn.
2. Giá trị em nhận về là giá trị gì? Khi đã hiển thị lên LCD thì cần trực quan, dễ hiểu cho người quan sát.

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Nap PIN + Song dien thoai ne!

Bài gửi  Cuty Sat Jul 11, 2009 1:55 am

Tuần rùi thấy Đạt làm bài Sạc PIN hay ghê, nên tránh đụng hàng, anh làm mô phỏng hình ảnh sóng điện thoại nhé!
Link: http://www.megaupload.com/?d=33LUTBE1
Tuần này mình bận nhiều việc quá nên viết Code chưa hay, ko gửi code lên. Để chỉnh sửa lại cho hoàn chỉnh rùi post lên sau nhé!

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty lcd_4bit.c

Bài gửi  Cuty Sat Jul 11, 2009 1:58 am

Bác Dũng ah!
Cái code bác post lên nắm trong file lcd_4bit.c. Cái này em ko nghien cứu sâu ASM hay cấu tạo của LCD nên không rành.
Cái em dùng chủ yếu là hiển thị cái gì mình cần thiết, nên đọc file đó chỉ lấy lệnh xuất ra thui. Cái bác hỏi khó thấy mồ ah!

Cuty

Tổng số bài gửi : 13
Join date : 03/07/2009
Age : 39
Đến từ : Me Linh - Ha Noi

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  chiene Mon Jul 13, 2009 9:36 pm

Em cũng thử làm bài xạc pin cho vui, mọi người xem thử nha.
Trong bài em gửi chỉ có 1 file mô phỏng dc, file còn lại mô phỏng sai bét.
Mọi ng cho em hỏi luôn là em mô phỏng thì lệnh dịch phải chạy sai, chỉ chạy lệnh dịch trái, mà có lúc thì dịch trái thành dịch phải, thế là sao nhỉ? Trong TH này proteus mô phỏng sai thì phải?

http://www.esnips.com/doc/820f7eed-7333-415a-966f-f430bbcfb249/LCD_chien

chiene

Tổng số bài gửi : 10
Join date : 26/06/2009
Age : 36
Đến từ : Sóc sơn, Hà nội

Về Đầu Trang Go down

CHỦ ĐỀ TUẦN 4: LCD (TIẾP) Empty Re: CHỦ ĐỀ TUẦN 4: LCD (TIẾP)

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết