View Single Post
Old 03-07-2011, 11:00 PM   #28
duyetpham88
Nhập môn đệ tử
 
Tham gia ngày: May 2011
Nơi Cư Ngụ: HCM city
Bài gửi: 9
:
Send a message via Yahoo to duyetpham88
Unhappy mong mọi người giúp đỡ sửa lỗi đoạn code sau

mình làm ví dụ cho xuất số (4 chữ số) ra lcd 16x2 cụ thể là dùng 2 nút nhấn: một nút tăng và một nút giảm cứ nhấn rồi nhả ra thì sẽ tăng hoặc giảm 1 đơn vị nhưng khi mình cho chạy trên protues mới đầu lcd hiện lên 4 con số 0 (0000), khi mình nhấn nút xuống thì lcd hiện chữ u535, mong mọi người xem giùm

// port a là inputs, port d là outputs
int16 nhap_value, y, nghin, tram, chuc, dv;
void main()
{
while(1)
{
doc_bp();
y=nhap_value;
hienthi();
}
}
void hienthi()
{
nghin=y/1000;
tram=(y%1000)/100;
chuc=((y%1000)%100)/10;
dv=((y%1000)%100)%10;

portd =0x38; //hai dong va ma tran 5x7
ghilenh();
portd=0x0C; //bat hien thi, tat con tro
ghilenh();
portd=0xc9;// dua gia tri cua portd len lcd tai vi tri con tro o o so 9 cua hang thu 2
ghilenh();
ghilcd();
}
void ghilcd()
{
portd=mht[nghin];
ghidata();
portd=mht[tram];
ghidata();
portd=mht[chuc];
ghidata();
portd=mht[dv];
ghidata();

}
void ghilenh()
{
e0=0;
e1=0;
e2=1;
e2=0;
delay_ms(10);
}
void ghidata()
{
e2=1;
e0=1;
e1=0;
e2=0;
delay_ms(10);
}
void doc_bp()
{
if(a0==0)
{
do
{}
while(a0==0);
nhap_value++;
}

if(a1==0)
{
do
{}
while(a1==0);
nhap_value--;
}
}
duyetpham88 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn