![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#9 | |
|
Trưởng lão PIC bang
|
Trích:
Về phần thao tác trực tiếp trên thanh ghi PORTD, cụ thể hơn một chút nữa là như sau: - Bạn khai báo thêm biến PORTD_img, và sửa chương trình xử lý ngắt như dưới đây: Code:
char ch, PORTD_img;
#INT_RDA
Receive_isr()
{
if (kbhit())
{
ch = getc();
if (ch=='a') PORTD_img |= 0x01; //Bat bit RD0
if (ch=='b') PORTD_img |= 0x02; //Bat bit RD1
if (ch=='c') PORTD_img |= 0x04; //Bat bit RD2
if (ch=='d') PORTD_img |= 0x08; //Bat bit RD3
if (ch=='e') PORTD_img |= 0x10; //Bat bit RD4
if (ch=='f') PORTD_img &= 0xFE; //Tat bit RD0
if (ch=='g') PORTD_img &= 0xFD; //Tat bit RD1
if (ch=='h') PORTD_img &= 0xFB; //Tat bit RD2
if (ch=='i') PORTD_img &= 0xF7; //Tat bit RD3
if (ch=='j') PORTD_img &= 0xEF; //Tat bit RD4
PORTD = PORTD_img;
}
}
- Bạn không cần dùng mấy dòng #define may1 RD0 ... #define may5 RD4 Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|
|
|