Danh mục

GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 - CHƯƠNG 4

Số trang: 37      Loại file: pdf      Dung lượng: 639.88 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

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

Thông tin tài liệu:

Tham khảo tài liệu 'giáo trình lập trình c cho họ vi điều khiển 8051 - chương 4', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
GIÁO TRÌNH LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 - CHƯƠNG 4 I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 CHƯƠNG 4: NG D NG NGÔN NG C CHO H VI I U KHI N 8051 L P TRÌNH I U KHI N I. I U KHI N LED ƠN VÀ LED 7 O N. 1. i u khi n Led ơn. a. ng 1 led ơn phát xung v i t n s 10hz t i chân P1^0. #include sbit led=P1^0; //gán led là bit P1^0. void delay() //chương trình con delay { TMOD=0x01; //khai báo timer 0 ch 16 bit. TH0=0xC350; //n p giá tr cho thanh ghi 50000 ph p phân TL0=0xC350; TR0=1; //cho phép timer 0 ho t ng while(!TF0); //ki m tra c tràn TF0 m c không TF0=0; //xóa c tràn TR0=0; //không cho phép timer 0 ho t ng } main() //chương trình chính { while(1) //vòng l p vô t n { led=1; //led lên m c 1 delay(); //trì hoãn 50ms led=0; //led xu ng m c 0 delay(); //trì hoãn 50ms } } Biên so n: Nguy n Bá Thu n Page 1 of 37 I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 Chương trình ã ư c th c hi n và mô ph ng Bài t p m r ng v nhà. - Xu t tín hi u phát xung 1Hz trên chân P3.0 - Xu t tín hi u phát xung 100Hz trên port 1 - Xu t tín hi u phát xung 1KHz trên 4 port Biên so n: Nguy n Bá Thu n Page 2 of 37 I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 i u khi n 8 led ơn sáng t t t ph i qua trái b. port 1. #include void delay_1(s) { unsigned int f,t; for(f=0;f I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 i u khi n 16 led ơn t t d n t ph i qua trái c. port 1 và 2. #include void delay_1(s) { unsigned int f,t; for(f=0;f I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 for(w=0;w I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 Các o n c a Led 7 o n S Mã hex F E D C B A H G 0 0 0 0 0 0 0 C0H 1 1 1 1 1 0 0 1 1 F9H 1 1 1 0 0 1 0 0 2 A4H 1 0 1 1 0 0 0 0 3 B0H 1 0 0 1 1 0 0 1 4 99H 1 0 0 1 0 0 1 0 5 92H 1 0 0 0 0 0 1 0 6 82H 1 0 1 1 1 0 0 0 7 F8H 1 1 0 0 0 0 0 0 8 80H 1 0 0 1 0 0 0 0 9 90H 1 0 a. Chương trình i u khi n 1 Led 7 o n mt 0 n 9 v i port 1 #include #define data_led7 P1 #define Aled1 P3_0 void delay_1(s) { unsigned int f,t; for(f=0;f I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 int D; P1 = 0xff; P3 = 0xff; D = 0; while(1) { data_led7 = maled7[D]; delay_1(1); D++; if (D == 10) D = 0; } } Bài t p m r ng v nhà. - i u khi n 1 Led 7 o n mt 0 n 9 v i port 3 - i u khi n 1 Led 7 o n m ch n 0,2,4,6,8 v i port 3 - i u khi n 1 Led 7 o n m l 1,3,5,7,9 v i port 3 - i u khi n 1 Led 7 o n mt 0 n 9 sau ó m l sau ó m ch n, chương trình mb t u b ng nút Start v i port 3 b. Chương trình i u khi n 2 Led 7 o n mt 0 n 99 v i port 0,1 #include #define data_led7 P1 #define Aled1 P0_0 #define Aled2 P0_1 unsigned char led1,led2; bit flag; int count; void delay_1ms(){ TH1=0xFB; TL1=0x00; Biên so n: Nguy n Bá Thu n Page 7 of 37 I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 TR1=1; while(1){ if(TF1==1) break; } TR1=0; TF1=0; } void delay(unsigned char t) { int i; for(i=0;i I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 unsigned char code maled7[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; data_led7 = maled7[led1]; Aled1 = 0; delay_us(50); flag = 1; Aled1 = 1; data_led7 = maled7[led2]; Aled2 = 0; delay_us(50); Aled2 = 1; } void main() { unsigned char dem; P1 = 0xff; P0 = 0xff; count = 0; convert_bcd(count); while(1) { convert_bcd(dem); display(); if (flag == 1) {flag = 0;count++;} if (count == 10) {dem++;count = 0;} } } Bài t p m r ng v nhà. - i u khi n 2 Led 7 o n mt 0 n 8 ...

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