PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Bootloaders - Programmers - Debuggers - Emulators > Những lỗi nạp và debug thường gặp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Những lỗi nạp và debug thường gặp Nên chú ý box này trước khi đặt câu hỏi

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 20-08-2012, 11:26 AM   #11
imlanglavang102
Nhập môn đệ tử
 
Tham gia ngày: Oct 2011
Bài gửi: 7
:
hi mình có vấn đề này khó giải nhờ các bạn tí nha
#include "D:\A NHAP PHAM MEM\pic xoa\lcd.h"
#include <string.h>
#use delay(clock=1200000)
#fuses NOWDT,PUT,XT,NOPROTECT
#use fast_io(b)
#use fast_io(e)
#byte LCDdata=0x07// cong c trong c khong duoc dat ten du lieu vao cac tu khao ma tron gx da quy
// din khi do se lam sai het chuong trinh
// ma con lam cho chuong trinh phien dich sai
#define RS 72 // cong e1
#define RW 73// cong e2
#define E 74// cong e3
#define BF 63
void delay1(long time)
{ int i;
for(i=0;i<time;i++)
{// muc dich la tao ra ham tre cho lcd
}
}
void wait(void)
{
//int n=0;
output_high(E);//==1;// Dua chan cho fep len cao
output_low(RS);//==0;// Chon thanh ghi lenh
output_high(RW);//==1;// Doc tu LCD
LCDdata=0xFF;// Gia tri 0xFF
// while(BF){n++; if(n>100) break;}// Kiem tra co ban
// Neu ban dem n den 100 roi thoat khoi while
output_low(E);//==0;// Dua xung cao xuong thap de chot
output_low(RS);//W==0;// Doc tu LCD
}
// Hàm di?u khi?n LCD th?c hi?n 1 l?nh:
void LCDcontrol(unsigned char x)
{
output_high(E);//==1;// Dua chan cho fep len cao
output_low(RS);//==0;// Chon thanh ghi lenh
output_low(RW);//==0;// Ghi len LCD
LCDdata=x;// Gia tri x
output_low(E);//==0;// Xung cao xuong thap
wait();// Doi LCD san sang
}
//Hàm có 1 bi?n d?u vào là các giá tr? trong b?ng mã l?nh c?a LCD.
//* Hàm kh?i t?o LCD:
void LCDinit(void)
{
LCDcontrol(0x30);//Che do 8 bit.
LCDcontrol(0x30);
LCDcontrol(0x30);
LCDcontrol(0x38);// 2 dong va ma tran 5x7
LCDcontrol(0x0C);// Bat con tro
LCDcontrol(0x06);// Tang con tro xang fai
LCDcontrol(0x01);// Xoa man hinh
}
//* Hàm l?nh cho LCD hi?n th? 1 kí t? :
void LCDwrite(unsigned char c)
{
output_high(E);//==1;// Cho fep muc cao
output_high(RS);//==1;// Ghi du lieu
output_low(RW);//==0;// Ghi len LCD
LCDdata=c;// Gia tri C
output_low(E);//==0;// Xung cao xuong thap
}
//Hàm l?nh cho LCD hi?n th? 1 xâu kí t? ( dòng ch?):
void LCDputs(unsigned char *s,unsigned char row)
{
unsigned char len;
if(row==1) LCDcontrol(0x80);// Ep con tro ve dau dong 1
else LCDcontrol(0xC0);// Ep con tro ve dau dong 2
len==strlen(s);// Lay do dai bien duoc tro boi con tro
// khi khai bao ham strlen can co #include<string.h>
while(len!=0)// Khi do dai van con
{
LCDwrite(*s);// Ghi ra LCD gia tri duoc tro boi con tro
s++;// Tang con tro
len--;// Tru do dai
}
}
void LCDwritei(int d)
{
unsigned char i,j,k,l;
i=d%10;// Chia lay phan du, duoc chu so hang don vi
d=d/10;// Chia lay phan nguyen, duoc nhung chu so da bo hang don vi
j=d%10;// Duoc chu so hang chuc
d=d/10;// Nhung chu so da bo hang don vi va hang chuc
k=d%10;// Duoc hang tram
l=d/10;// Duoc hang nghin
LCDwrite(48+l);// Hien thi ki tu trong bang ascii
LCDwrite(48+k);// Trong bang ascii so 0 co co so thu tu la 48
LCDwrite(48+j);
LCDwrite(48+i);
}
void main()
{
//char x;
// setup_adc_ports(NO_ANALOGS);
//setup_adc(ADC_OFF);
//setup_psp(PSP_DISABLED);
//setup_spi(SPI_SS_DISABLED);
//setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
//setup_timer_1(T1_DISABLED);
//setup_timer_2(T2_DISABLED,0,1);
//setup_comparator(NC_NC_NC_NC);
//setup_vref(FALSE);

// TODO: USER CODE!!

LCDinit();
LCDwritei(48);
//LCDputs("dsadfasdfsa",1);
delay1(30000);
LCDcontrol(0xc5);LCDwrite('a');LCDwrite('n');LCDwr ite('#');LCDwrite('O');LCDwrite('K');LCDwrite('a') ;LCDwrite('n');LCDwrite('*');LCDwrite('H');LCDwrit e('U');LCDwrite('Y');
while(true)
{
//for(x=0;x<16;x++)// Dich 16 lan.
//{
//LCDputs("8052 MCU",1);
//LCDcontrol(0x18);// Dich hien thi sang trai.
//delay1(5000);// Tre
//}
}
}
sau bai nay to viet xong bien dich xong nhưng mà khi thử băng protues thì lai không cháy đuwocj
còn trong lập trình c trong keli thì đương nhiên chương trình này chạy đúng
hi
imlanglavang102 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 11:18 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam