Em đang viết 1 chương trình hiển thị số lên lcd, các hàm của lcd lấy của bác linhnc308. Tuy nhiên chỉ hiển thị được từ 0-255. Mong các cao thủ chỉ giáo để em hiển thị được số có 4 chữ số. Chương trình như sau:
Code:
#include <16f877a.h>
#include <def_877a.h>
#use delay(clock=20000000)
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#include <lcd_lib_4bit.c>
#define enter RA2
#define up RE0
#define down RE1
void ht(int);
void main()
{
int16 k=0;
while(ENTER) {
if(!UP) {while(!UP);
if(k<3000) k++;else k=0;
}
if(!DOWN) {while(!DOWN);
if(k>0) k--;else k=3000;
}
lcd_init();
lcd_putchar("k=");
lcd_putcmd(0x82);
ht(k);
}
while(!ENTER);
}
void ht(int a) {
int nghin,tram,chuc,dvi;
nghin=(int)a/1000;
tram=(int)(a%1000)/100;
chuc=(int)(a%100)/10;
dvi=(int)(a%10);
lcd_putchar(nghin+48);
lcd_putchar(tram+48);
lcd_putchar(chuc+48);
lcd_putchar(dvi+48);
}