Nguyên văn bởi ladykiller
Xem bài viết
Thông báo
Collapse
No announcement yet.
đến nản với con LCD. cao thủ nào giúp em vói
Collapse
X
-
#define <16f877a.h>
#include "16F877A.h"
#device *=16 adc=8
//#device PIC16F877A *=16
#use delay(clock=12000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
//#use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7, bits=9)
#include <LCD.C>
#INT_EXT
int8 read;
void main(void)
{
// set_tris_b(0);
set_tris_a(0xFF);
set_tris_d(0x00);
// Khoi tao cho ngat ngoai a
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
//Khoi tao ADC
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
delay_ms(50);
while(TRUE)
{
lcd_putc("\f");
read=read_adc();
read =read*1.960784314;
printf(lcd_putc,"\rNhiet do: %u",read);
delay_us(20);
lcd_putc("\n");
lcd_putc(" TKMS K12D HOU");
delay_ms(20);
if(read>49)
{output_high(pin_d3);
delay_ms(100);
output_low(pin_d3);
delay_ms(100);
}
}
}
Comment
-
Nguyên văn bởi bienhou Xem bài viếtbạn có thể gửi cho mình bản full của bạn đuọc ko? gmail mình là k12dhou@gmail.comKhoa học công nghệ mới là chìa khóa của sự phát triển!
Comment
-
Nguyên văn bởi quang102 Xem bài viết#define <16f877a.h>
#include "16F877A.h"
#device *=16 adc=8
//#device PIC16F877A *=16
#use delay(clock=12000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
//#use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7, bits=9)
#include <LCD.C>
#INT_EXT
int8 read;
void main(void)
{
// set_tris_b(0);
set_tris_a(0xFF);
set_tris_d(0x00);
// Khoi tao cho ngat ngoai a
enable_interrupts (INT_EXT);
ext_int_edge(H_TO_L);
enable_interrupts (GLOBAL);
//Khoi tao ADC
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
delay_ms(50);
while(TRUE)
{
lcd_putc("\f");
read=read_adc();
read =read*1.960784314;
printf(lcd_putc,"\rNhiet do: %u",read);
delay_us(20);
lcd_putc("\n");
lcd_putc(" TKMS K12D HOU");
delay_ms(20);
if(read>49)
{output_high(pin_d3);
delay_ms(100);
output_low(pin_d3);
delay_ms(100);
}
}
}
ok. thanks bạn. đeNguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
ko để ý code của bạn thì ra bạn để hàm lcd_init() trong hàm while(1). Hàm khởi tạo lcd khởi tạo chế độ hiển thị của lcd và xóa sạch màn hình , vì vậy bạn gọi nó liên tục trong while(1) làm lcd luôn trở về trạng thái lúc khởi tạo làm ko thấy kí tự hiển thị
Comment
-
Nguyên văn bởi trimen Xem bài viếtko để ý code của bạn thì ra bạn để hàm lcd_init() trong hàm while(1). Hàm khởi tạo lcd khởi tạo chế độ hiển thị của lcd và xóa sạch màn hình , vì vậy bạn gọi nó liên tục trong while(1) làm lcd luôn trở về trạng thái lúc khởi tạo làm ko thấy kí tự hiển thị
Comment
-
Nguyên văn bởi trimen Xem bài viếtko để ý code của bạn thì ra bạn để hàm lcd_init() trong hàm while(1). Hàm khởi tạo lcd khởi tạo chế độ hiển thị của lcd và xóa sạch màn hình , vì vậy bạn gọi nó liên tục trong while(1) làm lcd luôn trở về trạng thái lúc khởi tạo làm ko thấy kí tự hiển thị
(@ bienhou) lcd còn sống nó chỉ hiển thị 1 hàng ô đen ở dòng trên mà thôi.
Comment
-
Cùng nổi khổ với chủ thớt. Chả là cái này em đã từng làm qua rồi nhưng lâu rồi không code, giờ code lại nó không chạychẳng biết mình sai sót chỗ nào, mong các cao thủ chỉ giáo chỗ thiếu sót giúp
Code:#include <htc.h> #include "lcd.c" __CONFIG ( FOSC_HS & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_OFF & IESO_OFF & FCMEN_ON & LVP_OFF & DEBUG_OFF ); void main() { TRISE = 0x00; TRISA = 0x00; PORTE = 0x00; PORTA = 0x00; lcd_init(); lcd_gotoxy (0,0); lcd_putc(0x30); lcd_puts("hello world!"); while (1) { } }
, chắc ko phải do LCD mới.
Em đính kèm theo file thư viện lcd.h, lcd.c và file proteus
lcd.rar
Comment
-
Nguyên văn bởi trimen Xem bài viếtHình như bạn chưa chọn các chân an0->an3 là chân digital, mặc định sau khi reset nó là chân analog
.....
Tình hình là sau khi làn nh] bạn nói thì nó không hiển thị gì cả. Mình chỉnh tương phản cao nhất thì thấy dòng thứ nhất của nó toàn là những ô vuông đen, sau đó giảm độ tương phản đến khi vừa mất những ô vuông đó rồi bấm reset pic thì thấy có 1 vạch ngang (con trỏ) nhấp nháy ở ô thứ 2 một hai cái rồi mất, ô thứ nhất không thấy ký tự gì cả.Last edited by vaa_dtvn; 18-04-2012, 08:37.
Comment
-
Nguyên văn bởi trimen Xem bài viếtnó liên quan tới thanh ghi adcon1 đó bạn, còn 2 thanh ghi kia chỉ là config nó là chân input hay output thôi không liên quan digital hay analog. Bạn phải cho ADCON1=0x07 thì các chân an mới là chân digital, bạn đọc datasheet sẽ rõ thôi
Comment
-
Nguyên văn bởi trimen Xem bài viếtnó liên quan tới thanh ghi adcon1 đó bạn, còn 2 thanh ghi kia chỉ là config nó là chân input hay output thôi không liên quan digital hay analog. Bạn phải cho ADCON1=0x07 thì các chân an mới là chân digital, bạn đọc datasheet sẽ rõ thôi
Có phải do mình dùng thạch anh 20MHz cho PIC ko nhỉ ???
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Có ai biết ....bởi nhathung1101Lão này sắp hại tôi rồi!!!
Vừa mất time đi phúng, lại còn toi cái phong bì....-
Channel: Tâm tình dân kỹ thuật
24-08-2025, 19:59 -
-
Trả lời cho Giúp về vấn đề đảo chiều động cơbởi nguyendinhvanCái này áp dụng vào xe đạp điện thì ok. Chỉ cần quay 1 chiều.
Khi người sử dụng đạp một vòng, mạch sẽ nhận dạng vòng quay bánh xe, cấp điện cho động cơ quay bánh xe ổn định, liên tục đúng bằng tốc độ vòng quay mà người sử...-
Channel: Các hệ thống tự động hóa khác
24-08-2025, 12:47 -
-
Trả lời cho Có ai biết ....bởi tuyennhanMa sát rồi còn bảo toàn năng lượng nữa đâu chỉ tính hiệu suất là chưa đủ , có cái chữ thêm vào là ổn ngay dù có bao nhiêu công đoạn đi nữa .
Đố bác biết chữ gì .-
Channel: Tâm tình dân kỹ thuật
24-08-2025, 08:16 -
-
Trả lời cho Có ai biết ....bởi nguyendinhvanCũng có thể sai. Nếu mỗi cái hiệu suất 95%, thì đến chỗ nào là nó không hoạt động được nữa ?
...
-
Channel: Tâm tình dân kỹ thuật
23-08-2025, 20:25 -
Comment