Quét ma trận phím 3 x 4 hiện thị LED 7seg
Số trang: 5
Loại file: doc
Dung lượng: 138.00 KB
Lượt xem: 9
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:
Muốn học tốt được vi điều khiển thì việc đấu tiên ta nên làm quen những bài tập cơ bản củavi điều khiển. ở đây là quan trọng IO như :LED, nút nhấn, ma trận....Hôm nay tôi giới thiệuđến các pác 1 thuật toán quét ma trận phím đầu vào. Ở đây là quét ma trận 3x4 với thuật toánquét đơn giản nhưng mà chưa tối ưu. Giá trị của ma trận phím được hiện thị lên LED 7Seg!
Nội dung trích xuất từ tài liệu:
Quét ma trận phím 3 x 4 hiện thị LED 7segQuét ma trận phím 3 x 4 hiện thị LED 7segViết bởi AdministratorThứ sáu, 22 Tháng 5 2009 04:11Muốn học tốt được vi điều khiển thì việc đấu tiên ta nên làm quen những bài tập cơ bản củavi điều khiển. ở đây là quan trọng IO như :LED, nút nhấn, ma trận....Hôm nay tôi giới thiệuđến các pác 1 thuật toán quét ma trận phím đầu vào. Ở đây là quét ma trận 3x4 với thuật toánquét đơn giản nhưng mà chưa tối ưu. Giá trị của ma trận phím được hiện thị lên LED 7Seg!Bắt đầu!Chú ý : Đây là bài thực hành nên tôi không đưa các linh kiện như :ULN2803, A10151 ) Cấu tạo của ma trận phím 3x4Ma trận phím này được cấu tạo bởi : 3 hàng và 4 cột. các hàng và cột được nối với các châncổng vào ra của vi điều khiển Psoc CY8C29466. Khi một phím được bấm, nó sẽ nối một hàngvà một cột tương ứng.Như vậy ta sẽ có 12 nút nhấn mà chỉ mất có 7 chân vi điều khiển cònmuốn tiếp kiệm hơn nữa là các pác dùng còn giải mã 3 >> 8 (74138) hay dùng 74ls154.(Cáinày cũng không cần bit đâu vì bài của mình đâu lớn như thế) nên nối trực tiếp vào chân vi điềukhiển cho nó nhanh.Khi nút 0 được nhấn thì nó nối giữa cột 1 hàng 1. CÒn nút 1 được nhấn thì cột 2 và hàng 1được nối hay nút 2 được nhấn thì nối giữa cột 3 và hàng 1... cứ như vậy đến nút thứ 12!Đối với kết cấu của ma trận này chưa được chống nhiễu phím. Nếu muỗn chống nhiễu thìcác bạn thêm con tụ khoảng 104 vào các nút nếu không muốn thì chống nhiễu bằng phần mềncũng được!2 ) Mạch hiện thị.Ở mạch này ta lại sử dụng cách quét LED 7. Loại LED này mua ngoài chợ chỉ có 5k thôi! Loại này là loại Anot chung. Các chân a,b,c,d,.. được nối với nhau và hai chân điều khiển dùngđể điều khiển hiện thị LED.Có nghĩa là muốn cho LED 1 sáng thì ta cấp dòng vào cho chânđiều khiển của LED 1 và tương tự như như LED2.Đối với LED này muốn cho LED sáng thìphải cấp vào các chân điều khiển mức 1 và các chân a,b,c,..mức 0 (Mã LED phải tính ở mức0)Nguyên lý quét LED ở đây tôi đã trình bày ở trong mục quét LED ở trang chủ. Nhưng qua đâytôi nói qua tại mỗi thời điểm ta chỉ hiện thị được 1 LED nên muốn hiện thị 2 LED mà ta có thểnhìn thấy thì cần phải quét 2 giá trị này liên tục. Do ta quét với tần số nhanh nên mắt ta khôngcảm nhận được là từng cái sáng 1 (Cái này xem điện ảnh họ làm 24h/s). Mình thì cứ hiểu thếthôi. Quét càng nhanh thì ta sẽ không nhìn thấy các điểm nháy của LED. Nếu không tin các páccó thể cho delay cao lên sẽ thấy từng LED sáng 1.3) Sơ đồ nguyên lý:Ở đây tôi dùng các chân như sau:+ Phần hiện thị LED : Tôi dùng P0 được nối với (a,b,c,d...) Hai chân điều khiển được nối vớiP1_7 và P1_6. Ở đây không dùng ổn dòng nên LED nó hơi tối!+ Phần ma trận phím: Các hàng từ Hàng 1 đến Hàng 3 được nối vào từ P2_0 đến P2_2. Còncác cột từ cột 1 đến cột 4 được nối vào P2_4 đến P2_7.+ 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ốigiữa chân 28 và 14 là để không bị mất nguồn trong khoảng thời gian ngắn4) Nguyên lý quétỞ đây tôi làm theo phương pháp quét cột còn phương pháp quét theo hàng thì các pác làm tự.+ Bước 1 : Đầu tiên ta đưa cột 1 xuống mức 0V. Sau đó ta kiểm tra 3 hàng (hàng 1 , hàng 2,hàng 3) được nối với cột đó.Nếu nút 0 được nhấn tức là cột 1 được nối với hàng 1 khi đóhàng 1 được nhấn tín hiệu từ cột 1 và về mức 0 ==> cho ta giá trị 0. Nếu nút 4 được nhấn tứclà cột 1 được nối với hàng 2 khi đó hàng 2 được nhận tín hiệu từ cột 1 và mức 0 ==> Cho tagiá trị 4. Nếu nút 8 được nhấn tức là nối cột 1 với hàng 3 khi đó hàng 3 được nhấn tín hiệu từcột 1 và về mức 0 ==> cho ta giá trị 8. Vậy trong 1 cột cho ta 3 giá trị khác nhau từ 3 hàng.+ Bước 2: Sau khi cho cột 1 bằng 0V sau đó ta cho tiếp cột 2 bằng 0V và tiếp tực kiểm tra cáchàng 1 đến hàng 3 xem nào có hàng nào được nhấn không. Nếu nút 1 được nhấn tức là ta lạinối cột 2 với hàng 1, đưa giá trị của hàng 1 về 0V ==> cho giá trị 2. Nếu nút 5 được nhấn là talại nối cột 2 với hàng 2 khi đó đưa hàng 2 xuống 0V ==> cho giá trị 5. Nếu nút 9 được nhấn làta lại nối cột 2 với hàng 3 và đưa hàng 3 xuống 0V ==> Cho ta giá trị 9. Như vậy ở lần nàycũng cho ta 3 giá trị là các số 1,5,9+ Bước 3, 4 : Cũng tương tự lần lượt như bước 1 và 2 và cách làm cũng tương tự. Như vậy tacũng thu được 6 giá trị nữa là : 2,6,10,3,7,11Như vậy ta đã xong việc quét ma trận phím và thu được các giá trị từ ma trận phím và giá trịnày được hiện thị lên LED7 thanh.5) Chương trình:Đây là chương trình được viết bằng C và trình biên dịch bằng phần mền PSoc. Chương trìnhnày chỉ tham khảo vì chương trình chỉ mang tính chất hiểu nguyên lý chưa tối ưu.//-----------------MA TRAN PHIM 3 x 4 HIEN THI LEN LED 7SEG-----------------------/* Viet boi : biendt - biendt.biendt@gmail.comDung P2 la cac chan dau vao va ra+ P20->P22 dat o che do Pull up+ P24->P27 dat o che do StrongDung P0 va P1 (P1_7 and P1_6) ...
Nội dung trích xuất từ tài liệu:
Quét ma trận phím 3 x 4 hiện thị LED 7segQuét ma trận phím 3 x 4 hiện thị LED 7segViết bởi AdministratorThứ sáu, 22 Tháng 5 2009 04:11Muốn học tốt được vi điều khiển thì việc đấu tiên ta nên làm quen những bài tập cơ bản củavi điều khiển. ở đây là quan trọng IO như :LED, nút nhấn, ma trận....Hôm nay tôi giới thiệuđến các pác 1 thuật toán quét ma trận phím đầu vào. Ở đây là quét ma trận 3x4 với thuật toánquét đơn giản nhưng mà chưa tối ưu. Giá trị của ma trận phím được hiện thị lên LED 7Seg!Bắt đầu!Chú ý : Đây là bài thực hành nên tôi không đưa các linh kiện như :ULN2803, A10151 ) Cấu tạo của ma trận phím 3x4Ma trận phím này được cấu tạo bởi : 3 hàng và 4 cột. các hàng và cột được nối với các châncổng vào ra của vi điều khiển Psoc CY8C29466. Khi một phím được bấm, nó sẽ nối một hàngvà một cột tương ứng.Như vậy ta sẽ có 12 nút nhấn mà chỉ mất có 7 chân vi điều khiển cònmuốn tiếp kiệm hơn nữa là các pác dùng còn giải mã 3 >> 8 (74138) hay dùng 74ls154.(Cáinày cũng không cần bit đâu vì bài của mình đâu lớn như thế) nên nối trực tiếp vào chân vi điềukhiển cho nó nhanh.Khi nút 0 được nhấn thì nó nối giữa cột 1 hàng 1. CÒn nút 1 được nhấn thì cột 2 và hàng 1được nối hay nút 2 được nhấn thì nối giữa cột 3 và hàng 1... cứ như vậy đến nút thứ 12!Đối với kết cấu của ma trận này chưa được chống nhiễu phím. Nếu muỗn chống nhiễu thìcác bạn thêm con tụ khoảng 104 vào các nút nếu không muốn thì chống nhiễu bằng phần mềncũng được!2 ) Mạch hiện thị.Ở mạch này ta lại sử dụng cách quét LED 7. Loại LED này mua ngoài chợ chỉ có 5k thôi! Loại này là loại Anot chung. Các chân a,b,c,d,.. được nối với nhau và hai chân điều khiển dùngđể điều khiển hiện thị LED.Có nghĩa là muốn cho LED 1 sáng thì ta cấp dòng vào cho chânđiều khiển của LED 1 và tương tự như như LED2.Đối với LED này muốn cho LED sáng thìphải cấp vào các chân điều khiển mức 1 và các chân a,b,c,..mức 0 (Mã LED phải tính ở mức0)Nguyên lý quét LED ở đây tôi đã trình bày ở trong mục quét LED ở trang chủ. Nhưng qua đâytôi nói qua tại mỗi thời điểm ta chỉ hiện thị được 1 LED nên muốn hiện thị 2 LED mà ta có thểnhìn thấy thì cần phải quét 2 giá trị này liên tục. Do ta quét với tần số nhanh nên mắt ta khôngcảm nhận được là từng cái sáng 1 (Cái này xem điện ảnh họ làm 24h/s). Mình thì cứ hiểu thếthôi. Quét càng nhanh thì ta sẽ không nhìn thấy các điểm nháy của LED. Nếu không tin các páccó thể cho delay cao lên sẽ thấy từng LED sáng 1.3) Sơ đồ nguyên lý:Ở đây tôi dùng các chân như sau:+ Phần hiện thị LED : Tôi dùng P0 được nối với (a,b,c,d...) Hai chân điều khiển được nối vớiP1_7 và P1_6. Ở đây không dùng ổn dòng nên LED nó hơi tối!+ Phần ma trận phím: Các hàng từ Hàng 1 đến Hàng 3 được nối vào từ P2_0 đến P2_2. Còncác cột từ cột 1 đến cột 4 được nối vào P2_4 đến P2_7.+ 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ốigiữa chân 28 và 14 là để không bị mất nguồn trong khoảng thời gian ngắn4) Nguyên lý quétỞ đây tôi làm theo phương pháp quét cột còn phương pháp quét theo hàng thì các pác làm tự.+ Bước 1 : Đầu tiên ta đưa cột 1 xuống mức 0V. Sau đó ta kiểm tra 3 hàng (hàng 1 , hàng 2,hàng 3) được nối với cột đó.Nếu nút 0 được nhấn tức là cột 1 được nối với hàng 1 khi đóhàng 1 được nhấn tín hiệu từ cột 1 và về mức 0 ==> cho ta giá trị 0. Nếu nút 4 được nhấn tứclà cột 1 được nối với hàng 2 khi đó hàng 2 được nhận tín hiệu từ cột 1 và mức 0 ==> Cho tagiá trị 4. Nếu nút 8 được nhấn tức là nối cột 1 với hàng 3 khi đó hàng 3 được nhấn tín hiệu từcột 1 và về mức 0 ==> cho ta giá trị 8. Vậy trong 1 cột cho ta 3 giá trị khác nhau từ 3 hàng.+ Bước 2: Sau khi cho cột 1 bằng 0V sau đó ta cho tiếp cột 2 bằng 0V và tiếp tực kiểm tra cáchàng 1 đến hàng 3 xem nào có hàng nào được nhấn không. Nếu nút 1 được nhấn tức là ta lạinối cột 2 với hàng 1, đưa giá trị của hàng 1 về 0V ==> cho giá trị 2. Nếu nút 5 được nhấn là talại nối cột 2 với hàng 2 khi đó đưa hàng 2 xuống 0V ==> cho giá trị 5. Nếu nút 9 được nhấn làta lại nối cột 2 với hàng 3 và đưa hàng 3 xuống 0V ==> Cho ta giá trị 9. Như vậy ở lần nàycũng cho ta 3 giá trị là các số 1,5,9+ Bước 3, 4 : Cũng tương tự lần lượt như bước 1 và 2 và cách làm cũng tương tự. Như vậy tacũng thu được 6 giá trị nữa là : 2,6,10,3,7,11Như vậy ta đã xong việc quét ma trận phím và thu được các giá trị từ ma trận phím và giá trịnày được hiện thị lên LED7 thanh.5) Chương trình:Đây là chương trình được viết bằng C và trình biên dịch bằng phần mền PSoc. Chương trìnhnày chỉ tham khảo vì chương trình chỉ mang tính chất hiểu nguyên lý chưa tối ưu.//-----------------MA TRAN PHIM 3 x 4 HIEN THI LEN LED 7SEG-----------------------/* Viet boi : biendt - biendt.biendt@gmail.comDung P2 la cac chan dau vao va ra+ P20->P22 dat o che do Pull up+ P24->P27 dat o che do StrongDung P0 va P1 (P1_7 and P1_6) ...
Tìm kiếm theo từ khóa liên quan:
thủ thuật máy tính công gnhệ thông tin tin học quản trị mạng computer networkTài liệu liên quan:
-
24 trang 359 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 321 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 311 0 0 -
20 trang 254 0 0
-
Bài giảng: Lịch sử phát triển hệ thống mạng
118 trang 251 0 0 -
Giáo trình Hệ thống mạng máy tính CCNA (Tập 4): Phần 2
102 trang 250 0 0 -
Đề cương chi tiết học phần Thiết kế và cài đặt mạng
3 trang 237 0 0 -
Báo cáo tốt nghiệp: Tìm hiểu Proxy và ứng dụng chia sẻ Internet trong mạng LAN qua Proxy
38 trang 221 0 0 -
Sửa lỗi các chức năng quan trọng của Win với ReEnable 2.0 Portable Edition
5 trang 219 0 0 -
122 trang 217 0 0