Tải bản đầy đủ (.pdf) (5 trang)

Nội dung ôn tập (hd)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (195.35 KB, 5 trang )

NỘI DUNG ƠN TẬP
1. Xử lý phím nhấn đơn
#include <16F877A.h>
#FUSES NOWDT, HS, NOPUT, PROTECT, NODEBUG, NOBROWNOUT, NOLVP

#use delay(clock=8000000)
#define

D1

PIN_B4

#define

SW1

PIN_C0

#define

SW2

PIN_C1

//=========================================================
void main()
{INT8 SW=0;
while(TRUE)
{

if(!input(SW1)) SW = 1;


if(!input(SW2)) SW = 2;

switch(SW)
{case 1:{output_high(D1); delay_ms(300); SW=0;break;}
case 2:{output_low(D1); delay_ms(300); SW=0;break;}}
}
}//end main

2. Điều khiển LED đơn
CONST int8 a[9] = {trạng thái điều khiển};
Void main()
{For (int8 i = 0; i < số lần lặp; i++)
{ for (int8 j = 0; j < 9; j++) {output_x(a[j]); delay_ms(thời gian);} }
}


3. Quét 4 LED 7 đoạn không dùng ngắt
#include <16F877A.h>
#FUSES NOWDT, HS, NOPUT, PROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#use delay(clock=8000000) // Tần số thạch anh dùng trong hệ thống
//-------CHƢƠNG TRÌNH CHÍNH--------Void main()
{

While (TRUE){
Output_d(0xff); Output_b(“H”7s); output_low(PIN_D3); delay_ms(5);
Output_d(0xff); Output_b(“E”7s); output_low(PIN_D2); delay_ms(5);
Output_d(0xff); Output_b(“L”7s); output_low(PIN_D1); delay_ms(5);
Output_d(0xff); Output_b(“P”7s); output_low(PIN_D0); delay_ms(5);}


}

4. Chƣơng trình con delay dùng timer 0 và timer 1
(Chƣơng trình con delay 250ms sử dụng timer 0, và :
Setup_timer_0(RTCC_DIV_4|RTCC_INTERNAL)

B1. Tính số xung cần đếm = delay/T ; // T = 1/f; f = (Fosc/4)/n; delay (uS)
B2. Viết chƣơng trình con
Void delay( )
{setup_timer_0/1(…….);// đề bài
For(int16 i=0;i{set_timer0/1(0);
While(get_timer0/1( )}
}


5. Quét 4 LED 7 đoạn dùng ngắt timer 0 hoặc timer 1
#INT_TIMER1
void qled()
{
Output_d(0xff);// tắt các led
Output_b(led1); output_low(PIN_D3); delay_ms(3);// “H”
Output_d(0xff);// tắt các led
Output_b(led2); output_low(PIN_D2); delay_ms(3); // “E”
Output_d(0xff);// tắt các led
Output_b(led3); output_low(PIN_D1); delay_ms(3);// “L”
Output_d(0xff);// tắt các led
Output_b(led4); output_low(PIN_D0); delay_ms(3);// “P”
}


//-------CHUONG TRÌNH CHÍNH--------Void main()
{
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
led1 = “F”; led2 = “I”; led3 = “L”;led4 = “L”;
delay_ms(15000);
led1 = “S”; led2 = “t”; led3 = “O”;led4 = “P”;;
while(1);


}

6. Hiển thị thông tin trên LCD
#include <lcd.c>
Void main()
{lcd_init();
Lcd_gotoxy(x,y);
Printf(lcd_putc,”

”);//printf(lcd_putc,”%u”,biến)

}

7. Quét phím dùng ngắt timer 0 hoặc timer 1
// Chƣơng trình ngắt
#INT_RTCC
void ktra_sw()
{ if (!input(SW1)) SW=1;

if (!input(SW2)) SW=2;
}


//-------CHƢƠNG TRÌNH CHÍNH--------Void main()
{ enable_interrupts(GLOBAL);// cho phép ngắt
enable_interrupts(INT_RTCC);// cho phép ngắt timer 0
setup_timer_0(RTCC_DIV_4|RTCC_INTERNAL);// cấu hình timer 0
while(TRUE)
{switch(SW)
{case 1:{……;break;}// nhấn phím SW1 thì…
Case 2:{…..;break;} // nhấn phím SW2 thì…
}
}
}

8. ADC (đo nhiệt độ hiển thị LED 7 đoạn và LCD)
9. PWM



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×