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

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

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

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

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ả

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. 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
  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 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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 80 v i port 0,1 - i u khi n 2 Led 7 o n m ch n 0,2,4,6,8…90 v i port 0,1 - i u khi n 2 Led 7 o n m l 1,3,5,7,9….95 v i port 0,1 Biên so n: Nguy n Bá Thu n Page 9 of 37
  10. 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. Chương trình i u khi n 4 Led 7 o n mt 0 n 9999 v i port 0,1 #include #define data_led7 P1 #define Aled1 P0_0 #define Aled2 P0_1 #define Aled3 P0_2 #define Aled4 P0_3 unsigned char led1,led2,led3,led4; bit flag; int count; void delay_1ms(){ TH1=0xFB; TL1=0x00; TR1=1; while(1){ if(TF1==1) break; } TR1=0; TF1=0; } void delay(unsigned char t) { int i; for(i=0;i
  11. 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 i; for (i=0;i
  12. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 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 4 Led 7 o n mt 0 n 9000 v i port 0,1 - i u khi n 4 Led 7 o n m ch n 0,2,4,6,8…9000 v i port 0,1 - i u khi n 4 Led 7 o n m l 1,3,5,7,9….9500 v i port 0,1 II. I U KHI N H TH NG KHÍ NÉN TH Y L C. 1. MÁY D P L CHUYÊN DÙNG YÊU C U C A QUI TRÌNH CÔNG NGH : u tiên cơ c u ưa phôi vào. Khi ta m công t c và nh n nút thì Piston A y phôi t i. Ti p t c Piston B i vào làm công vi c k p ch t phôi. Sau ó Piston A lùi v , ng th i Piston C i xu ng làm công vi c d p l , Piston C rút lên. Cu i cùng Piston B lùi v và th c hi n xong m t chu kỳ. TR NG THÁI QUI TRÌNH: BI U DI N BI U Biên so n: Nguy n Bá Thu n Page 12 of 37
  13. 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 I U KHI N H TH NG TRÊN B NG VI I U KHI N (tín hi u tác ng ngõ vào tác ng m c 0 và ngõ ra tác ng m c 0, gi s van 5/2, 2 cu n coil) Phân tích: có 7 ngõ vào g m 1 nút nh n Start, 6 công t c hành trình l n lư t S1 n S6 c a 3 xinh lanh. Có 6 ngõ ra l n lư t A1, A2, B1, B2, C1, C2 c a 3 xinh lanh nói lên tr ng thái óng và m c a xinh. CHƯƠNG TRÌNH. #include sbit start=P0^0; sbit S1=P0^1; sbit S2=P0^2; sbit S3=P0^3; sbit S4=P0^4; sbit S5=P0^5; sbit S6=P0^6; sbit A1=P1^0; sbit A2=P1^1; sbit B1=P1^2; sbit B2=P1^3; Biên so n: Nguy n Bá Thu n Page 13 of 37
  14. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 sbit C1=P1^4; sbit C2=P1^5; main() { while(1) { P1=0xff; P0=0xff; while(start); A1=0; while(S2); B1=0; A1=1; while(S4); A2=0; C1=0; B1=1; while(S6); while(S1); A2=1; C1=1; C2=0; while(S5); B2=0; C2=1; while(S3); B2=1; } } Biên so n: Nguy n Bá Thu n Page 14 of 37
  15. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 2. H TH NG ÓNG BAO BÌ YÊU C U C A QUI TRÌNH CÔNG NGH NHƯ HÌNH SAU: BI U DI N BI U TR NG THÁI QUI TRÌNH: Biên so n: Nguy n Bá Thu n Page 15 of 37
  16. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 3. MÁY D P T NG YÊU C U C A QUI TRÌNH CÔNG NGH Máy d p s d p chi ti t. Trình t d p s ư c th c hi n như sau: Piston A i ra y chi ti t t ph u c p phôi vào v trí gá t chi ti t và th c hi n k p ch t. Piston B i ra i ra ti n hành d p chi ti t. Khi l c d p ã thì Piston B quay v . Sau ó Piston A quay v tháo chi ti t. Sau khi chi ti t ư c tháo ra, Piston C i ra ti n hành y chi ti t vào máng ch a và quay v . BI U DI N BI U TR NG THÁI QUI TRÌNH: Biên so n: Nguy n Bá Thu n Page 16 of 37
  17. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 4. MÁY MÀI PH NG YÊU C U C A QUI TRÌNH CÔNG NGH : Máy mài s th c hi n các chưy n ng sau: Khi kh i ng. Pitton A mang chi ti t mài ư c k p ch t trên bàn t t ti n n v trí mài. sau ó Piston B th c hi n ti n hành mài chi ti t, v i hành trình ti n và lùi. Sau khi th c hi n m t chu kỳ mài, Piston C i ra t o v trí mài m i. Sau ó Piston B th c hi n ti n hành mài chi ti t v i ti n và lùi c a chu kỳ th 2. Piston C i v , hoàn t t qúa trình mài. Piston A mang chi ti t ư c mài i v chu n b gá chi ti t m i. BI U DI N BI U TR NG THÁI QUI TRÌNH: Biên so n: Nguy n Bá Thu n Page 17 of 37
  18. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 5. H TH NG L P RÁP T NG YÊU C U C A QUI TRÌNH CÔNG NGH : H th ng s l p các chi ti t hình tr tròn vào các l tương ng trên m t chi ti t khác. Trình t th c hi n như sau: 1. Pistong A i ra y m t chi ti t hình kh i vào v trí l p ráp ng th i k p ch t cho n khi áp su t 2. Pistong B i ra, y m t chi ti t tr l p vào l c a m t th nh t. 3. Pistong C i ra, y m t chi ti t tr l p vào l c a m t th hai. 4. Pistong A và B ng th i quay v làm chi ti t rơi xu ng băng t i và i ra ngoài. 5. Pistong B quay v , k t thúc m t chu kỳ làm vi c. BI U DI N BI U TR NG THÁI QUI TRÌNH: Biên so n: Nguy n Bá Thu n Page 18 of 37
  19. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 6. KHOAN VÀ DOA T NG YÊU C U C A QUI TRÌNH CÔNG NGH : Trình t ho t ng như sau: 1. Chi ti t ư c gá và g p ch t trên êtô. 2. Pistong A i xu ng ti n hành khoan. 3. Sau khi khoan xong Pistong A cu i hành trình 3s r i rút lên thì Pistong B i ra y êtô va ch m vào c hành trình B2. 4. Pistong C i ra ti n hành doa và lui v . 5. Sau khi Pistong C lui v h t hành trình thì Pistong B cũng b t u ti n hành lui v , k t thúc m t chu trình làm vi c. BI U DI N BI U TR NG THÁI QUI TRÌNH: Biên so n: Nguy n Bá Thu n Page 19 of 37
  20. I H C L C H NG GIÁO TRÌNH L P TRÌNH C CHO H VI I U KHI N 8051 7. MÁY MÀI PH NG B NG SIMPLEX YÊU C U C A QUI TRÌNH CÔNG NGH : Piston A dư i tác d ng c a khí nén làm cho bàn máy di chuy n i t i. Sau ó Piston B di chuy n bàn máy qua l i. Sau m t chu kỳ, Piston A lui v , Piston B di chuy n bàn máy qua l i chu kỳ th hai. Sau chu kỳ th 2 qui trình k t thúc. II. BI U DI N BI U TR NG THÁI QUI TRÌNH: Biên so n: Nguy n Bá Thu n Page 20 of 37
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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