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

Bài tập ôn về Kỹ thuật vi điều khiển

Chia sẻ: Lee Thom | Ngày: | Loại File: PPT | Số trang:21

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

+ Kết nối trực tiếp LED được kết nối trực tiếp với AT89C51 theo hai chế độ là hút dòng và xả dòng. Nguyên lý kết nối như sau :

Chủ đề:
Lưu

Nội dung Text: Bài tập ôn về Kỹ thuật vi điều khiển

  1. -Ghép nối với bàn phím:
  2. Ghép nối vi điều khiển với led đơn: - + Kết nối trực tiếp LED được kết nối trực tiếp với AT89C51 theo hai chế độ là hút dòng và xả dòng. Nguyên lý kết nối như sau :
  3. Ở chế độ xả dòng thì LED sẽ không sáng được hết công suất vì đầu ra dòng của chân vi xử lý thường thấp Ở chế độ hút dòng thì LED sẽ sáng được hết công suất nhưng sẽ làm hại vi xử lý nếu LED có công suất lớn vì dòng qua vi xử lý quá mức cho phép. Trong các mạch ghép nối với LED có dòng tiêu thụ thấp thì người ta sẽ dùng kiểu ghép hút dòng này.
  4. + Kết nối thông qua IC đệm Đối với kiểu này thì LED được kết nối thông qua các IC đệm như transitor, các IC đệm dòng chuyên dụng như ULN2803...Đối với kiểu này thì LED được mắc như sau :
  5. Đối với kiểu ghép này đảm bảo cho vi xử lý không bị quá tải và cho LED sáng nhất. Với kiểu ghép này thì có thể chạy được LED công suất lớn. Ngoài transitor còn có các loại IC đệm dòng tương đối như (500mA ULN2803)....
  6. -Ghép nối vi điều khiển với led 7 đoạn: Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số và các ký tự mong muốn.Các ICs điều khiển đều khó khả năng sinh dòng kém tức là dòng đầu ra của các chân ICs nhỏ hơn khả năng nuốt dòng. Do vậy, nếu ghép nối trực tiếp các net với các chân cổng IC thì loại Anode chung là thích hợp hơn cả. Cần phải chú ý dòng dồn về ICs quá mức chịu được thì cũng không được vì làm nóng và dei ICs điều khiển
  7. * 2 cách ghép nối thường dùng: + Cách 1 : Dùng trực tiếp các chân điều khiển (vi xử lý)
  8. Đối với cách này thì nhìn thì rất tốn chân của vi xử lý. Và dòng của LED sẽ dồn tất cả về vi xử lý. Nếu một h ệ thống lớn thì cách này không ổn vì ảnh hưởng đến vi xử lý và nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn tới chết ( chúng ta tưởng tượng xem nếu mà hệ thống nhiều phần điều khiển từ các chân vi xử lý mà tất cả các tải điều khiển dồn trực tiếp dòng về vi xử lý thì lúc đó dòng trong 1 th ời đi ểm khá lớn vượt quá ngưỡng cho phép của vi xử lý. Dòng mà vi xử lý chịu đựng được cũng khá nhỏ đâu dưới 100mA ). Các này chỉ dùng được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản như hiện thị LED, đếm số t ừ 0 đến 9 ... chả hạn
  9. + Cách 2 : Dùng IC giải mã BCD sang LED 7 thanh
  10. Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7. Đối với cách này thì trông rất ổn. Vừa tiếp kiệm được chân vi xử lý và tránh được dòng dồn về vi xử lý (dòng ở đây được dồn về 7447). Đây là cách mà người thiết kế thường dùng trong các hệ thống cần đến hiện th ị. Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị các giá trị số từ 0 đến 9 và đôi khi cần phải hiện thị các kí tự đơn giản như A đến F trong h ệ thống để báo trạng thái của hệ thống. Các giá trị hiện th ị bao gồm nhiều chữ số tức là chúng ta phải dùng đến nhiều LED7 ghép lại thì mới hiện thị được nhiều số. Ví d ụ như muốn hiện thị số 123 chả hạn thì chúng ta ph ải dùng đến 3 LED 7 thanh ghép lại.
  11. ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom Tudau: Mov P1,#1B ;==>>lam 1 led noi P1 sang LCall Delay ;===>>>> goi chuong trinh con Delay Mov P1,#0 ;===>>>> lam 1 led noi P1 tat LCall Delay Sjmp Tudau ;===>>>> nhay ve thuc hien tu dau
  12. ;>>>>chương trình con tạo độ Delay: trễ 1s PUSH 00H PUSH 01H MOV R1,#5 Here: MOV R0,#250 DJNZ R0,$ DJNZ R1,here POP 01H POP 00H RET end
  13. ;/////>>>>>Chữ “HELLO” chạy từ phải sang trái: ORG: 00H Main: ;nạp địa chỉ vùng mã hiển Mov DISP,#CODEDISP thị MIP: ;>>>biến lặp-thời gian của 1 trạng thái Mov R0,#20 màn hình STATICDISP: LCALL DISP7SEGMUL ;hiển thị chuỗi lý tự ;giảm biến lặp DJNZ r0,STATICDISP ;dịch chuỗi đi 1 mã ký tự INC DPTR Mov A,DPL ; kiểm tra hiển thị CJNE A,#LOW(CODEDISP+16),Mp1 xong chuỗi SJMP MAIN
  14. DISP7SEGMUL: ;cất tạm thời giá trị các thanh ghi PUSH ACC PUSH 00H PUSH 01H Mov R0,#7FH ;mã quét Mov R1,#00H ;vị trí của dữ liệu trong vùng nhớ DPTR SETB C DISP: Mov A,R1 ;lấy mã hiện thị Mov A,@A+DPTR ;Xuất mã hiển thị Mov P0,A ;xuất mã quét MOV P1, R0 LCALL DELAYLED
  15. MOV P1,#0FFH ;lấy mã hiển thị kế tiếp INC R1 ;Lấy mã quyets kế tiếp MOV A,R0 ;quay phải A qua cờ C RRC A MOV R0,A ;kiểm tra mã quét xong(C=0) JC DISP POP 01H ;phục hồi giá trị cho các thanh ghi POP 00H POP ACC ;>>>>chương trình con tạo độ trễ 1s RETDelay: PUSH 00H PUSH 01H MOV R1,#5 Here: MOV R0,#250 DJNZ R0,$ DJNZ R1,here POP 01H POP 00H RET ;vùng chứa mã chữ hiển thị CODEDISP: ;mã chuỗi HELLO DB 089H,086H,0A7H,0A7H,0A0H end
  16.  ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom Mov P0,#0 ;===>>>> ||| Mov P1,#0 ;===>>>> ||| cac led deu tat LCall Delay ;===>>>>goi chuong trinh con Delay
  17. Xuat: ;**>>>>>>>>>>>>>>>>>>> lam led P0 sang >>> lam led 6 sang LCall Delay Mov P0,#01111111B ;===>>>> lam led 7 sang LCall Delay Mov P0,#11111111B ;===>>>> lam led 8 sang LCall Delay
  18. ;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lam led P1 sang >> lam led 5 sang LCall Delay Mov P1,#00111111B ;===>>>> lam led 6 sang LCall Delay Mov P1,#01111111B ;===>>>> lam led 7 sang LCall Delay Mov P1,#11111111B ;===>>>> lam led 8 sang
  19. :>>>>>>>>>>>>>>>>>>>>>>>>>lam led p1 tat dan Mov P1,#01111111B ;===>>>> lam led 1 sang LCall Delay Mov P1,#00111111B ;===>>>> lam led 2 sang LCall Delay Mov P1,#00011111B ;===>>>> lam led 3 sang LCall Delay Mov P1,#00001111B ;===>>>> lam led 4 sang LCall Delay Mov P1,#00000111B ;===>>>> lam led 5 sang LCall Delay Mov P1,#00000011B ;===>>>> lam led 6 sang LCall Delay Mov P1,#00000001B ;===>>>> lam led 7 sang LCall Delay Mov P1,#00000000B ;===>>>> lam led 8 sang
  20. :>>>>>>>>>>>>>>>>Lam led p0 tat dan Mov P1,#01111111B ;===>>>> lam led 1 sang LCall Delay Mov P1,#00111111B ;===>>>> lam led 2 sang LCall Delay Mov P1,#00011111B ;===>>>> lam led 3 sang LCall Delay Mov P1,#00001111B ;===>>>> lam led 4 sang LCall Delay Mov P1,#00000111B ;===>>>> lam led 5 sang LCall Delay Mov P1,#00000011B ;===>>>> lam led 6 sang LCall Delay Mov P1,#00000001B ;===>>>> lam led 7 sang LCall Delay Mov P1,#00000000B ;===>>>> lam led 8 sang Ljmp Xuat ; ===>>>> nhay ve thuc hien tu dau Delay: Mov R7,#0FFH ;===>>>> gan R7=#0FFH, 1 chu ki may Kt2: Mov R6,#0FFH ;===>>>> gan R6=#0FFH, 1 chu ki may Kt1: Djnz R6,Kt1 ;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep Djnz R7,Kt2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2 Ret ;===>>>> ket thuc chuong trinh con ;>>>>>>>kết thúc trương trình
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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