Trích:
Nguyên văn bởi sontt
Em moi hoc pic, thu lap trinh dieu khien led bay thanh hien thi dem vong tu 1-9. Sau day la doan code:
Code:
#include<pic18.h>
#include<pic18f4550.h>
void delay(unsigned int time)
{
while(time--)
{
asm("nop");
asm("nop");
asm("nop");
}
}
const unsigned char ledarray[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void main()
{
unsigned int led =0;
PORTD=0x00;
TRISD=0x00;// thanh ghi huong du lieu
while(1)
{
PORTD=ledarray[led];
delay(10000);
led++;
if(led==10)led=0;
}
}
chuong trinh tren khi nap vao thi chi thay co 3 thanh sang. ung voi cac chan 0,1,2 cua cong D. cac chan con lai cua cong D thi luon o muc dien ap 0. Thu voi cong B thi khong co chan nao co muc dien ap duoc cap len 1. Em da doc datasheet cua pic18f4550 nhung khong hieu cau hinh cac thanh ghi cua pic the nao de cac cong tren co the thiet lap len muc logic cao khi thiet lap la cong ra(ket hop 3 chan 0,1,2 cua cong D va cac chan cua cong A thi chuong trinh chay dung). Mong cac cao thu giai dap gium!
Thanhks!!!!!!!!!!!!!!!!!!!
|
Khi bắt đầu cấp nguồn, các chân đa chức năng của PIC thường được thiết lập là analog pin nếu nó là một trong những ngõ vào analog.
Đọc chương 10 của datasheet, chú ý các phần Note, và các ví dụ khởi tạo cổng, để thấy người ta phải thiết lập các thanh ghi nào khi dùng một cổng nào đó (thông thường chỉ thiết lập TRISx sẽ không đủ).
Thân,