Quét LED 7_ Đếm 0-9999
Số trang: 8
Loại file: pdf
Dung lượng: 202.23 KB
Lượt xem: 8
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:
Cái phần này tương đối khó tôi phải mất khá nhiều thời gian để tìm hiểu nguyên lý quét mấy con LED 7 vạch này. Để hiện thị lên LED 7 vạch nếu mà ta muốn hiện thị số 1234 trên LED 7 vạch mà mỗi con LED 7 vạch nó lại tiêu tốn mất 1 Port của vi điều khiển như thế thì lãng phí cho chức năng của 1 vi điều khiển như con PSoc
Nội dung trích xuất từ tài liệu:
Quét LED 7_ Đếm 0-9999 Quét LED 7_ Đếm 0-9999Nguồn:biendt.bizCái phần này tương đối khó tôi phải mất khá nhiều thời gian để tìm hiểu nguyênlý quét mấy con LED 7 vạch này. Để hiện thị lên LED 7 vạch nếu mà ta muốnhiện thị số 1234 trên LED 7 vạch mà mỗi con LED 7 vạch nó lại tiêu tốn mất 1Port của vi điều khiển như thế thì lãng phí cho chức năng của 1 vi điều khiểnnhư con PSoc.Để khắc phục điều này thì dùng phương pháp quét LED như thếđối với hiện thị 4 chân này ta chỉ mất có 12 chân vi điều khiển.1 : Lắp mạch.Hiện này trên thị trường có loại LED 7 vạch được đóng hộp thành 1 con với ghépcủa 4 con LED 7 vạch đơn. Nhưng mà do giá thành mua con đóng hộp này tôimua thế nào mà đắt hơn 2 con đôi ghép lại. Nên tôi dùng phương pháp ghépvào để thành con LED 7 vạch này.Cấu tạo của nó như sauHiện có 2 loại là catot chung và anot chung nhưng ở đây tôi dùng Anot chung.Con trên nó được chung các thanh LED : a chung a, b chung b...... và nó đượcđiều khiển bởi các chân Anot như trên nó được điều khiển bởi 4 chân. Khi cấpnguồn vào các chân abcd... thì lúc này LED chưa sáng. Khi ta cho nguồn vào cácchân điều thì nó sẽ sáng cho vào chân điều khiển nào thì nó sẽ sáng LED tươngứng với chân điều khiển đó.Ví dụ : Ta cho 5V vào chân A1 còn nối đất cho chân a thì chỉ có thanh a của LEDsố 1 sáng thôi. tương tự như các LED khác cũng thế.Sơ đồ lắp mạch:Ở đây tôi dùng Port2 để điều khiển các thanh trên LED 7 thanh còn cácPort1_4,Port1_5,Port1_6,Port1_7 để điều khiển hiện thị lần lượt các LED từ 1đến 3.Các pác nhớ là lắp chuẩn các chân đấy nhé nếu mà lắp nhầm cái là nókhông hiện thị như mong muốn đâu.Do quét 4 LED cùng 1 lúc nên dòng qua các LED sẽ yếu nên các LED sẽ sángyếu ở đây tôi dùng con A1015 để kích dòng vào cho Các LED và nó được điềukhiển bởi các Port1_4,Port1_5,Port1_6,Port1_7.Ở chân B của mỗi A1015 chothêm con trở 1K cho đỡ nóng Transitorhê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ắn2 : Nguyên lý hoạt độngỞ đây chúng ta dựa theo nguyên tắc quét ảnh vì mắt chúng ta có hiện tượng lưuảnh trên võng mạch nên khi ta quét với tần số nhanh thì mắt chúng ta không cócảm giác là nó sáng lần lượt các LED mà có cảm giác là nó sáng tất.Đầu tiên taphải gửi dữ liệu muốn hiện thị cho LED1 và chân bật chân điều khiển của LED1đó lên để cho LED1 đó hiện thị. Sau đó ta lại gửi tiếp dữ liệu muốn hiện thị LED2 và cũng phải bật chân điều khiển của LED2 đó. Để cho số tiếp theo hiện thị lênLED2. Cứ như thế cho LED 3 và LED4. Quá trình này được diễn ra nhanh với tầnsố cao. Nên ta ko thể có cảm giác là các LED sáng lần lượt. Để kiểm tra nguyênlý của nó các pác hãy tăng Delay lên để thấy rõ quét LED của nó!Ví dụ: Để hiện thị được số 1234 trên 4 con LED 7 vạch. Đầu tiên ta phải cho đèn1 sáng sau đó đèn 2 sáng sau đó đến đèn 3 4. Ta cho các LED này hiện thị lầnlượt và được lặp đi lặp lại với tần sô cao nên ta sẽ được số 1234 hiện thị trênLED3 : Lập trình:Dùng P2 và P1 ở chế độ Strong//----------------------------------------------------------------------------// Quet 4 LED 7 vach// Dem so tu 0-9999// Viet boi : biendt - biendt.biendt@gmail.com// Dung Port2 noi vao lan luot tu a,b...g// Port1_4 den Port1_7 noi lan luot LED4-LED1// C main line//----------------------------------------------------------------------------#include // part specific constants and macros#include PSoCAPI.h // PSoC API definitions for all User Modules/* Dinh nghia cac ma hien thi so tu 0 den 9*/#define S0 0x40 //So 0#define S1 0xF9#define S2 0x24#define S3 0x30#define S4 0x19#define S5 0x12#define S6 0x02#define S7 0xF8#define S8 0x80#define S9 0x10 // So 9/* Nhap 1 mang ki tu gom 10 phan tu bao gom cac so hien thi*/unsigned char LED_code[10]={S0,S1,S2,S3,S4,S5,S6,S7,S8,S9};/* Ham tao tre thoi gian*/void delay(unsigned int t){unsigned int i,j;for(i=0;ivoid hienthiso(unsigned char digit1,unsigned char digit2,unsigned char digit3, unsigned char digit4){/* Hien thi so thu nhat*/PRT2DR=LED_code[digit1];PRT1DR=PRT1DR&0xef;delay(1);PRT1DR=PRT1DR|0x10;/* Hien thi so thu hai*/PRT2DR=LED_code[digit2];PRT1DR=PRT1DR&0xdf;delay(1);PRT1DR=PRT1DR|0x20;/* Hien thi so thu ba*/PRT2DR=LED_code[digit3];PRT1DR=PRT1DR&0xbf;delay(1);PRT1DR=PRT1DR|0x40;/* Hien thi so thu thu 4*/PRT2DR=LED_code[digit4];PRT1DR=PRT1DR&0x7f;delay(1);PRT1DR=PRT1DR|0x80;}void main(){while(1){unsigned m,n,x,y,lap;for(m=0;m}}Mạch đã Test ==>OK ...
Nội dung trích xuất từ tài liệu:
Quét LED 7_ Đếm 0-9999 Quét LED 7_ Đếm 0-9999Nguồn:biendt.bizCái phần này tương đối khó tôi phải mất khá nhiều thời gian để tìm hiểu nguyênlý quét mấy con LED 7 vạch này. Để hiện thị lên LED 7 vạch nếu mà ta muốnhiện thị số 1234 trên LED 7 vạch mà mỗi con LED 7 vạch nó lại tiêu tốn mất 1Port của vi điều khiển như thế thì lãng phí cho chức năng của 1 vi điều khiểnnhư con PSoc.Để khắc phục điều này thì dùng phương pháp quét LED như thếđối với hiện thị 4 chân này ta chỉ mất có 12 chân vi điều khiển.1 : Lắp mạch.Hiện này trên thị trường có loại LED 7 vạch được đóng hộp thành 1 con với ghépcủa 4 con LED 7 vạch đơn. Nhưng mà do giá thành mua con đóng hộp này tôimua thế nào mà đắt hơn 2 con đôi ghép lại. Nên tôi dùng phương pháp ghépvào để thành con LED 7 vạch này.Cấu tạo của nó như sauHiện có 2 loại là catot chung và anot chung nhưng ở đây tôi dùng Anot chung.Con trên nó được chung các thanh LED : a chung a, b chung b...... và nó đượcđiều khiển bởi các chân Anot như trên nó được điều khiển bởi 4 chân. Khi cấpnguồn vào các chân abcd... thì lúc này LED chưa sáng. Khi ta cho nguồn vào cácchân điều thì nó sẽ sáng cho vào chân điều khiển nào thì nó sẽ sáng LED tươngứng với chân điều khiển đó.Ví dụ : Ta cho 5V vào chân A1 còn nối đất cho chân a thì chỉ có thanh a của LEDsố 1 sáng thôi. tương tự như các LED khác cũng thế.Sơ đồ lắp mạch:Ở đây tôi dùng Port2 để điều khiển các thanh trên LED 7 thanh còn cácPort1_4,Port1_5,Port1_6,Port1_7 để điều khiển hiện thị lần lượt các LED từ 1đến 3.Các pác nhớ là lắp chuẩn các chân đấy nhé nếu mà lắp nhầm cái là nókhông hiện thị như mong muốn đâu.Do quét 4 LED cùng 1 lúc nên dòng qua các LED sẽ yếu nên các LED sẽ sángyếu ở đây tôi dùng con A1015 để kích dòng vào cho Các LED và nó được điềukhiển bởi các Port1_4,Port1_5,Port1_6,Port1_7.Ở chân B của mỗi A1015 chothêm con trở 1K cho đỡ nóng Transitorhê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ắn2 : Nguyên lý hoạt độngỞ đây chúng ta dựa theo nguyên tắc quét ảnh vì mắt chúng ta có hiện tượng lưuảnh trên võng mạch nên khi ta quét với tần số nhanh thì mắt chúng ta không cócảm giác là nó sáng lần lượt các LED mà có cảm giác là nó sáng tất.Đầu tiên taphải gửi dữ liệu muốn hiện thị cho LED1 và chân bật chân điều khiển của LED1đó lên để cho LED1 đó hiện thị. Sau đó ta lại gửi tiếp dữ liệu muốn hiện thị LED2 và cũng phải bật chân điều khiển của LED2 đó. Để cho số tiếp theo hiện thị lênLED2. Cứ như thế cho LED 3 và LED4. Quá trình này được diễn ra nhanh với tầnsố cao. Nên ta ko thể có cảm giác là các LED sáng lần lượt. Để kiểm tra nguyênlý của nó các pác hãy tăng Delay lên để thấy rõ quét LED của nó!Ví dụ: Để hiện thị được số 1234 trên 4 con LED 7 vạch. Đầu tiên ta phải cho đèn1 sáng sau đó đèn 2 sáng sau đó đến đèn 3 4. Ta cho các LED này hiện thị lầnlượt và được lặp đi lặp lại với tần sô cao nên ta sẽ được số 1234 hiện thị trênLED3 : Lập trình:Dùng P2 và P1 ở chế độ Strong//----------------------------------------------------------------------------// Quet 4 LED 7 vach// Dem so tu 0-9999// Viet boi : biendt - biendt.biendt@gmail.com// Dung Port2 noi vao lan luot tu a,b...g// Port1_4 den Port1_7 noi lan luot LED4-LED1// C main line//----------------------------------------------------------------------------#include // part specific constants and macros#include PSoCAPI.h // PSoC API definitions for all User Modules/* Dinh nghia cac ma hien thi so tu 0 den 9*/#define S0 0x40 //So 0#define S1 0xF9#define S2 0x24#define S3 0x30#define S4 0x19#define S5 0x12#define S6 0x02#define S7 0xF8#define S8 0x80#define S9 0x10 // So 9/* Nhap 1 mang ki tu gom 10 phan tu bao gom cac so hien thi*/unsigned char LED_code[10]={S0,S1,S2,S3,S4,S5,S6,S7,S8,S9};/* Ham tao tre thoi gian*/void delay(unsigned int t){unsigned int i,j;for(i=0;ivoid hienthiso(unsigned char digit1,unsigned char digit2,unsigned char digit3, unsigned char digit4){/* Hien thi so thu nhat*/PRT2DR=LED_code[digit1];PRT1DR=PRT1DR&0xef;delay(1);PRT1DR=PRT1DR|0x10;/* Hien thi so thu hai*/PRT2DR=LED_code[digit2];PRT1DR=PRT1DR&0xdf;delay(1);PRT1DR=PRT1DR|0x20;/* Hien thi so thu ba*/PRT2DR=LED_code[digit3];PRT1DR=PRT1DR&0xbf;delay(1);PRT1DR=PRT1DR|0x40;/* Hien thi so thu thu 4*/PRT2DR=LED_code[digit4];PRT1DR=PRT1DR&0x7f;delay(1);PRT1DR=PRT1DR|0x80;}void main(){while(1){unsigned m,n,x,y,lap;for(m=0;m}}Mạch đã Test ==>OK ...
Tìm kiếm theo từ khóa liên quan:
Điện – điện tử Kiến trúc xây dựng kỹ thuật viễn thông cơ khí chế tạo máy công nghệTài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 440 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 255 0 0 -
79 trang 230 0 0
-
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 219 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 -
Đồ án Thiết kế cơ khí: Tính toán thiết kế hệ thống thay dao tự động cho máy phay CNC
56 trang 161 0 0 -
Đề cương chi tiết học phần Thực tập Kỹ thuật truyền hình
16 trang 156 0 0 -
Đồ án: Thiết kế bộ điều khiển luật PID điều khiển động cơ DC
94 trang 154 0 0 -
159 trang 150 0 0