Điều khiển IO bằng sáng từng LED
Số trang: 6
Loại file: pdf
Dung lượng: 209.79 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Đầu tiên để học được vi điều khiển là ta lập trình bật tắt đèn LED cho nó quen với với việc vào ra của vi điều khiển ở đây tôi dùng con CY8C29466 không có các pác dùng con khác cũng được
Nội dung trích xuất từ tài liệu:
Điều khiển IO bằng sáng từng LED Điều khiển IO bằng sáng từng LEDNguồn:biendt.bizĐầu tiên để học được vi điều khiển là ta lập trình bật tắt đèn LED cho nó quenvới với việc vào ra của vi điều khiển ở đây tôi dùng con CY8C29466 không có cácpác dùng con khác cũng được. Và bài này tôi đã test trên thực tế nên chươngtrình ko có gì sai. Con này thì ta không mô phỏng được vì Protues không hỗ trợ.1: Lắp mạch.Ở đây tôi dùng điều khiển bằng cách bơm dòng cho vi điều khiển. Dùng nguồn5V cấp cho cả dãy LED và CY8C29466.Các pác gắn lần lượt 8 con LED vào lần lượt các chân Port0 tương ứng của viđiều khiển . Chiều của catot của LED được nối vào với vi điều khiển qua các contrở 330 còn đầu Anot của 8 con LED được nối chung với nhau lên 5V (Hình vẽ).Thêm 1 mạch reset cho mạch: dùng 1 công tắc nối với chân số 19 thông qua 1điện trở 1k và đầu kia được nối lên VCC. Khi công tắc được đóng thì mạch sẽ tựreset. Còn 1 tụ được nối giữa chân 28 và 14 là để không bị mất nguồn trongkhoảng thời gian ngắn.Sơ đồ mạch:2 : Nguyên lý hoạt độngDo nguồn 5V được nối từ LED vào vi điều khiển nên khi chân vi điều khiển 0V thìđèn sáng còn 5V thì đèn tắt. Psoc có cái hơi khác do các dòng vi điều khiển kháclà nó không bộ dao động ngoài mà nó tích hợp bên trong nên việc lắp mạch vàđiều khiển rất rễ ràng với tốc độ xử lý lên tới 48MHZ.3: Lập trìnhĐầu tiên các pác chọn drives cho Port0 là tất cả ở chế độ strong vì ở mức này tacó thể điều khiển được cả 2 khóa của trong con vi điều khiển (Để bit được làmcái này các pác vào phần mềm của nó chỉnh lại là ok ở đây tôi không hướng dẫncái này)Để điều khiển 1 LED ta chỉ cần cho chân đó xuống 0V. Tắt đi cho nó mức 5V.Ví dụ : Tôi muốn cho Port0_0 sáng thì tôi tính mã như sau: Tôi cho Port0_0 ởmức 0 còn các Port0_1 đến Port0_7 bằng 1. Tính mã nhị phân 4 bít ta được :0xfe. Tắt nó đi thì ngược lai!Chương trình://----------------------------------------------------------------------------// Bai tap nhay den LED linh tinh tu 1 den 8 va nguoc lai...// 8 LED duoc noi voi Port 0 (Lan luot)// Viet boi biendt// nguyenvanbientbd47@gmail.com// ngoai cac kieu nhay nay cac ban co the dieu chinh thanh kieu den theo y thich//----------------------------------------------------------------------------#include // part specific constants and macros#include PSoCAPI.h // PSoC API definitions for all User Modules#include ports.h// Dinh ngia cac gia tri#define LED0 0xfe // LED 0#define LED1 0xfd#define LED2 0xfb#define LED3 0xf7#define LED4 0xef#define LED5 0xdf#define LED6 0xbf#define LED7 0x7f // LED 7//Nhap 1 mang li tu gom cac den LED tu 0 - 7unsigned char LED_code[8]={LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7};// Ham tao thoi gian tre//void delay(){unsigned int i;for(i=0;i{case 0:{PRT0DR=0xff;PRT0DR=LED0;break;} //LED1case 1:{PRT0DR=0xff;PRT0DR=LED1;break;}case 2:{PRT0DR=0xff;PRT0DR=LED2;break;}case 3:{PRT0DR=0xff;PRT0DR=LED3;break;}case 4:{PRT0DR=0xff;PRT0DR=LED4;break;}case 5:{PRT0DR=0xff;PRT0DR=LED5;break;}case 6:{PRT0DR=0xff;PRT0DR=LED6;break;}case 7:{PRT0DR=0xff;PRT0DR=LED7;break;} //LED8}}void main(){PRT0DR=1; //Khoi taowhile(1){unsigned char m; // nhap nhay kieu 1for(m=0;m{PRT0DR=LED_code[7-m];delay();}if(n==8); // Mhap nhay kieu 3{unsigned char y;for(y=0;y
Nội dung trích xuất từ tài liệu:
Điều khiển IO bằng sáng từng LED Điều khiển IO bằng sáng từng LEDNguồn:biendt.bizĐầu tiên để học được vi điều khiển là ta lập trình bật tắt đèn LED cho nó quenvới với việc vào ra của vi điều khiển ở đây tôi dùng con CY8C29466 không có cácpác dùng con khác cũng được. Và bài này tôi đã test trên thực tế nên chươngtrình ko có gì sai. Con này thì ta không mô phỏng được vì Protues không hỗ trợ.1: Lắp mạch.Ở đây tôi dùng điều khiển bằng cách bơm dòng cho vi điều khiển. Dùng nguồn5V cấp cho cả dãy LED và CY8C29466.Các pác gắn lần lượt 8 con LED vào lần lượt các chân Port0 tương ứng của viđiều khiển . Chiều của catot của LED được nối vào với vi điều khiển qua các contrở 330 còn đầu Anot của 8 con LED được nối chung với nhau lên 5V (Hình vẽ).Thêm 1 mạch reset cho mạch: dùng 1 công tắc nối với chân số 19 thông qua 1điện trở 1k và đầu kia được nối lên VCC. Khi công tắc được đóng thì mạch sẽ tựreset. Còn 1 tụ được nối giữa chân 28 và 14 là để không bị mất nguồn trongkhoảng thời gian ngắn.Sơ đồ mạch:2 : Nguyên lý hoạt độngDo nguồn 5V được nối từ LED vào vi điều khiển nên khi chân vi điều khiển 0V thìđèn sáng còn 5V thì đèn tắt. Psoc có cái hơi khác do các dòng vi điều khiển kháclà nó không bộ dao động ngoài mà nó tích hợp bên trong nên việc lắp mạch vàđiều khiển rất rễ ràng với tốc độ xử lý lên tới 48MHZ.3: Lập trìnhĐầu tiên các pác chọn drives cho Port0 là tất cả ở chế độ strong vì ở mức này tacó thể điều khiển được cả 2 khóa của trong con vi điều khiển (Để bit được làmcái này các pác vào phần mềm của nó chỉnh lại là ok ở đây tôi không hướng dẫncái này)Để điều khiển 1 LED ta chỉ cần cho chân đó xuống 0V. Tắt đi cho nó mức 5V.Ví dụ : Tôi muốn cho Port0_0 sáng thì tôi tính mã như sau: Tôi cho Port0_0 ởmức 0 còn các Port0_1 đến Port0_7 bằng 1. Tính mã nhị phân 4 bít ta được :0xfe. Tắt nó đi thì ngược lai!Chương trình://----------------------------------------------------------------------------// Bai tap nhay den LED linh tinh tu 1 den 8 va nguoc lai...// 8 LED duoc noi voi Port 0 (Lan luot)// Viet boi biendt// nguyenvanbientbd47@gmail.com// ngoai cac kieu nhay nay cac ban co the dieu chinh thanh kieu den theo y thich//----------------------------------------------------------------------------#include // part specific constants and macros#include PSoCAPI.h // PSoC API definitions for all User Modules#include ports.h// Dinh ngia cac gia tri#define LED0 0xfe // LED 0#define LED1 0xfd#define LED2 0xfb#define LED3 0xf7#define LED4 0xef#define LED5 0xdf#define LED6 0xbf#define LED7 0x7f // LED 7//Nhap 1 mang li tu gom cac den LED tu 0 - 7unsigned char LED_code[8]={LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7};// Ham tao thoi gian tre//void delay(){unsigned int i;for(i=0;i{case 0:{PRT0DR=0xff;PRT0DR=LED0;break;} //LED1case 1:{PRT0DR=0xff;PRT0DR=LED1;break;}case 2:{PRT0DR=0xff;PRT0DR=LED2;break;}case 3:{PRT0DR=0xff;PRT0DR=LED3;break;}case 4:{PRT0DR=0xff;PRT0DR=LED4;break;}case 5:{PRT0DR=0xff;PRT0DR=LED5;break;}case 6:{PRT0DR=0xff;PRT0DR=LED6;break;}case 7:{PRT0DR=0xff;PRT0DR=LED7;break;} //LED8}}void main(){PRT0DR=1; //Khoi taowhile(1){unsigned char m; // nhap nhay kieu 1for(m=0;m{PRT0DR=LED_code[7-m];delay();}if(n==8); // Mhap nhay kieu 3{unsigned char y;for(y=0;y
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật viễn thông điện-điện tử tự động hóa cơ khí chế tạo máy năng lượngGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 439 0 0 -
Đề cương chi tiết học phần Vi xử lý
12 trang 297 0 0 -
Đồ án tốt nghiệp: Thiết kế hệ thống điều khiển máy phay CNC 3 trục
88 trang 254 0 0 -
79 trang 229 0 0
-
33 trang 226 0 0
-
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 219 0 0 -
Báo cáo thực tập tại Nhà máy in Quân Đội 1
36 trang 207 0 0 -
Đồ án tốt nghiệp: Điều khiển cầu trục giàn RTG dùng PLC S71200
90 trang 204 1 0 -
127 trang 192 0 0
-
Luận văn Thạc sĩ Kỹ thuật: Ứng dụng Blockchain trong bảo mật IoT
90 trang 191 1 0