![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#3 |
|
Đệ tử 2 túi
Tham gia ngày: Jan 2009
Bài gửi: 29
: |
anh ơi ! em đã thử mấy cái hàm đó và thấy nó hiện đúng ! khi chưa gửi kí tự từ trên visual . ví dụ em khai báo :
char str[]="12"; int16 y; y=atol(str); hien(y); thì nó hiện đúng . Nhưng khi em gửi từ trên máy tính xuống thì nó lại hiện sai . chương trình của em như sau : Code:
#include <16f877a.h>
#include <def_877a.h>
#include <ctype.h>
#fuses HS,NOLVP,NOWDT,PUT
#use delay (clock=4000000) // defind crystal = 4MHz
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#include <string.h>
#include <stdlib.h>
int16 MAP[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int16 t[2]={0x01,0x02};
void hien(int16 x)
{
int8 i;
int8 a[2]={0};
a[0]=x%10;
a[1]=x/10;
for(i=0;i<2;i++)
{
porta=t[i];
portd=MAP[(a[i])];
delay_ms(2);
}
}
void main()
{
char k[]="12";
int16 y;
trisd=0x00;
trisa=0x00;
porta=0x00;
portd=0x00;
while(true)
{
if(kbhit())
{
gets(k);
puts(k);
y=atol(k);
}
hien(y);
}
}
thay đổi nội dung bởi: namqn, 19-03-2009 lúc 03:42 PM. Lý do: định dạng code |
|
|
|
|
|