lập trình pic 16f887, điều khiển led sáng dần, tắt dần, sáng đuổi từ trái sang phải, phải sang trái, sáng dồn hai bên vào và ra, dfjdfjsdfjsdjfsdfjsdfjsdfjsdfjsdfjsdfjdfjsdfjsdfjsdjfjfoisdfgjsdjgpsjwejgpowrjgprjgporsjgprjgrjgsigjsiodjgisojgsigjgjwrgjjsjfkldsufrjfutrufjfjjftaoj nên các sản phẩm có những thao tácdfdsfsdf và tạo nên các tác vụ vụ
Trang 1unsigned char i, a= 0x80; for(i=0; i<8; i++)
Trang 4if(RB0==1) {
sangtat(); }
}
if(RB1==0)
{
while(RB1==0) {}
if(RB1==1) {
sangduoi(); }
}
if(RB2==0)
{
while(RB2==0) {}
if(RB2==1) {
sangdan();
Trang 5for (int i=0;i<5;i++)
Trang 6for (int i=0;i<27;i++)
unsigned char led[]={0x90,0x80,0xf8,0x82,0x92,0x99,0xb0,0xa4,0xf9,0xc0};
for (int i=0;i<100;i++)
Trang 7if(RB0==1) {
if(RB1==1) {
if(RB2==1) {
sw3();
}
}
}
Trang 9TRISB=0xFF; // Khai báo điện trở kéo lên khi có switch
nRBPU=0; // Khai báo điện trở kéo lên khi có switch
WPUB=0xFF; // Khai báo điện trở kéo lên khi có switch
GIE = 1; // Khai báo khi dùng ngắt RB0
INTE = 1; // Khai báo khi dùng ngắt RB0
INTF = 0; // Khai báo ko kích hoạt cờ ngắt khi dùng ngắt RB0 INTEDG = 0; // Khai báo khi dùng ngắt RB0
Trang 10if(RB0==1)
{
PORTD = 0;
delay_ms(2000); }
Trang 11GIE = 1; // Khai báo khi dùng ngắt PORTB
RBIE = 1; // Khai báo khi dùng ngắt PORTB
Trang 12RBIF = 0; // Khai báo khi dùng ngắt PORTB
IOCB = 0b00000111;// Khai báo số switch cần sử dụng while(1)
Trang 14delay_ms(300); }
for(i=0;i<=7;i++)
{
PORTC=(a>>i)|PORTC; delay_ms(300); }
PORTC=0x00;
PORTD=0x00;
}
}
Trang 15void main ()
{
ANSEL=ANSELH=0; TRISD=0;
Trang 19TMR1L = 0xFF; // Xóa bit báo ng?t
TMR1IE = 1; // cho phép s? d?ng ng?t timer 1
Trang 21LƯU ĐỒ
Cho sơ đồ mạch như hình vẽ, viết chương trình điều khiển 8 LED chớp tắt, thời gian thay đổi trạng thái là 0.5s
Trang 22Cho sơ đồ mạch như hình vẽ, viết chương trình điều khiển LED sáng đuổi D6 D11, thời gian thay đổi trạng thái là 0.4sD11, thời gian thay đổi trạng thái là 0.4s
Dựa vào sơ đồ, viết chương trình điều
khiển LED D4, D5 sáng/tắt theo kiểu đếm lên nhị
phân 00 01 10 11 … tương ứng cho mỗi D11, thời gian thay đổi trạng thái là 0.4s D11, thời gian thay đổi trạng thái là 0.4s D11, thời gian thay đổi trạng thái là 0.4s D11, thời gian thay đổi trạng thái là 0.4s
lần nhấn SW4 Sử dụng tính năng ngắt ngoài
Trang 23Ví dụ 2: Dựa vào sơ đồ, viết chương trình điều khiển LED D4, D5:
• Nhấn SW4 D4 sáng hoặc tắtD11, thời gian thay đổi trạng thái là 0.4s
• Nhấn SW5 D5 sáng hoặc tắtD11, thời gian thay đổi trạng thái là 0.4s
Trang 24• Nhấn SW6 D4, D5 tắtD11, thời gian thay đổi trạng thái là 0.4s
• Sử dụng tính năng ngắt Port B