Danh mục

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

Số trang: 11      Loại file: ppt      Dung lượng: 542.00 KB      Lượt xem: 14      Lượt tải: 0    
Jamona

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

ùng vòng lặp for, whilevoid delay(usigned char time) { while(time--) { unsigned char temp = 121; while(temp--); // chẳng làm gì cả } }...
Nội dung trích xuất từ tài liệu:
BÀI TẬP THỰC HÀNH KEIL CBÀI TẬP THỰC HÀNH KEIL C Biên soạn: Đỗ Bình NguyênHàm delayDùng vòng lặp for, whilevoid delay(usigned char time){ while(time--) { unsigned char temp = 121; while(temp--); // chẳng làm gì cả }}Hàm delay t.t.Dùng timervoid 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 }}LED đơnĐế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 prototypevoid 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{…}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) {…}LED 7 đoạnĐế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ạnunsigned char code code_7seg [] = {0x40, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90} // mảng chứa mã led 7segvoid main (void){ unsigned char i = 0; while (1) { P0 = code_7seg[i]; i ++; if (i == 10) i = 0; delay(100); }}Đếm và hiển thị led 7 đoạn sử dụngngắ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}Đếm và hiển thị led 7 đoạn sử dụngngắt timer t.t.//hàm phục vụ ngắt timer0void 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];}Đếm và hiển thị led 7 đoạn sử dụngngắt timer t.t./*chương trình chính*/void main (void){ init(); while (1);}

Tài liệu được xem nhiều: