intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

BÀI TẬP THỰC HÀNH KEIL C

Chia sẻ: đặng Xuân Vinh | Ngày: | Loại File: PPT | Số trang:11

558
lượt xem
163
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

ùng vòng lặp for, while void delay(usigned char time) { while(time--) { unsigned char temp = 121; while(temp--); // chẳng làm gì cả } }...

Chủ đề:
Lưu

Nội dung Text: BÀI TẬP THỰC HÀNH KEIL C

  1. BÀI TẬP THỰC HÀNH KEIL C Biên soạn: Đỗ Bình Nguyên
  2. Hàm delay Dùng vòng lặp for, while void delay(usigned char time) { while(time--) { unsigned char temp = 121; while(temp--); // chẳng làm gì cả } }
  3. Hàm delay t.t. Dùng timer void delay(unsigned char time) { while(time--) { TMOD = 0x01; //timer0 chế độ 16 bit TH0 = 0xFC; //nạp giá trị cho timer TL0 = 0x67; TR0 = 1; //khởi động bộ định thời while(!TF0); //chờ cờ TF0 = 1 TF0 = 0 ; //xóa cờ tràn TR0 = 0; //dừng bộ định thời } }
  4. LED đơn
  5. Đếm nhị phân  Viết chương trình đếm nhị phân và hiển thị ra các led đơn ở Port 1 #include void delay (unsigned char time); // khai báo prototype void main (void) { unsigned char led = 0; // biến lưu trữ số đếm while (1) { P1 = ~led; // xuất giá trị ra Port 1 led ++; // tăng biến đếm lên 1 đơn vị delay(100); } } void delay (unsigned char time) // thân chương trình delay {…}
  6. Led chasing  Viết chương trình điều khiển 8 led đuổi nhau #include void delay (unsigned char time); void main (void) { unsigned char led = 0x80; while (1) { P1 = ~led; led = led >> 1; //dịch phải delay(100); } } void delay (unsigned char time) {…}
  7. LED 7 đoạn
  8. Đếm và hiển thị led 7 đoạn  Viết chương trình đếm từ 0 – 9, hiển thị số đếm trên led 7 đoạn unsigned char code code_7seg [] = {0x40, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90} // mảng chứa mã led 7seg void main (void) { unsigned char i = 0; while (1) { P0 = code_7seg[i]; i ++; if (i == 10) i = 0; delay(100); } }
  9. Đếm và hiển thị led 7 đoạn sử dụng ngắt timer  Viết chương trình đếm từ 0 – 9 sử dụng ngắt timer, hiển thị số đếm trên led 7 đoạn. void init (void) // khởi tạo timer0 { TH0 = 0x94; // nạp giá trị cho timer0 TL0 = 0x00; TF0 = 0; // xóa cờ ngắt TR0 = 1; // cho phép đếm ET0 = 1; // cho phép ngắt timer0 EA = 1; //cho phép ngắt toàn cục }
  10. Đếm và hiển thị led 7 đoạn sử dụng ngắt timer t.t. //hàm phục vụ ngắt timer0 void isrTmr0 (void) interrupt 1{ // nạp lại giá trị cho timer 0 TH0 = 0x94; TL0 = 0x00; //xử lý biến đếm count ++; if (count == 10) count = 0; P0 = code_7seg[count]; }
  11. Đếm và hiển thị led 7 đoạn sử dụng ngắt timer t.t. /* chương trình chính */ void main (void) { init(); while (1); }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2