Viết chương trình hiển chữ StOP trên 4led thời gian quét led 3 ms
Full PDF PackageDownload Full PDF Package This Paper Show
A short summary of this paper 37 Full PDFs related to this paper Download PDF Pack
Tìm hiểu nguyên lý hoạt động và thực hiện hiển thị trên LED 7 đoạn. 1.2. LED 7 đoạn1.2.1. Giới thiệuLED 7 đoạn gồm có 7 đoạn được đánh dấu: A, B, C, D, E, F, G và một điểm DP. Một đoạn là một LED, kết hợp tắt/sáng của các LED này để hiển thị số mong muốn. Hình 1: Cấu tạo LED 7 đoạn LED 7 đoạn có 2 loại: Anode chung và Cathode chung, tương ứng các LED nối chung cực Anode và nối chung cực Cathode. Kết cấu chúng được mô tả như dưới đây: Hình 2: Mô hình LED 7 đoạn Cathode chung (bên trái) và Tương ứng với kết cấu trên, các chân dữ liệu sẽ được gửi tới bit tương ứng: Bảng 1: Mã hiển thị trên LED 7 đoạn Cathode chung
Bảng 2: Mã hiển thị trên LED 7 đoạn Anode chung
Khi hiển thị nhiều LED đồng thời, theo như phương pháp trên sẽ cần sử dụng rất nhiều chân vi điều khiển, nó là một cản trở và chưa tối ưu. Khó khăn trên được khắc phục bởi các phương pháp dưới đây:
Trong đó, sử dụng IC dịch cho hiệu quả sử dụng chân tốt nhất, tiếp đến là IC giải mã và quét LED. Tuy vậy, để có được hiệu quả đó cần phải đánh đổi bằng cấu trúc mạch phức tạp, thời gian truyền nạp dữ liệu cho LED 7 đoạn khá lâu. 1.2.2. Nguyên lý quét LED 7 đoạnKĩ thuật quét LED tận dụng những hạn chế trong việc ghi lại hình ảnh của mắt người. Qua mắt người, chuỗi hình ảnh sẽ diễn ra liên tục nếu nó được nhìn với tốc độ 24 hình/s. Kĩ thuật này nối chung các chân dữ liệu của nhiều LED 7 đoạn với nhau và bật tắt từng LED trong khoảng thời gian nhất định. Do đó, tại một thời điểm chỉ có 1 LED sáng. Khoảng thời gian bật/tắt LED rất ngắn khiến mắt người không thể phân biệt được và có cảm giác các đèn này sáng cùng lúc. Thời gian bật/tắt 1 đèn phải nhỏ hơn 1/24 giây, tức là 1 giây sẽ có nhiều hơn 24 lần luân chuyển giữa các LED. 1.2.3. IC 74LS47IC 74LS47 là IC giải mã, có chức năng chuyển mã BCD đầu vào thành đầu ra các bit đầu ra tương ứng. IC này được sử dụng làm bộ giải mã cho LED 7 đoạn Anode chung. Do đó, nó có 7 đầu ra dữ liệu A, B, C, D, E, F, G, H. Để hiển thị LED 7 đoạn, thay vì sử dụng 7 chân dữ liệu, có thể thu gọn lại còn 4 nếu sử dụng phương pháp này. IC 74LS47 hoạt động ở điều kiện như sau:
Sơ đồ chân 74LS47 Hình 3: Sơ đồ chân IC 74LS47 INPUT Các chân dữ liệu: A0 – A3: BCD Input – mã BCD đầu vào. Các chân điều khiển:
OUTPUT Các chân dữ liệu: A, B, C, D, E, F, G, H được nối tới LED 7 đoạn. BI/RBO: cũng có thể là một chân output. Theo dõi mạch logic dưới đây để biết thêm về chức năng và cơ chế hoạt động của IC giải mã 74LS47: Hình 4: IC 74LS47 ở mức cổng Logic Nguyên lý hoạt động: IC mã hóa này chuyên để phục vụ LED 7 đoạn, ở đó, khi cho một số ở dạng nhị phân 4 bit tới đầu vào, đầu ra sẽ sinh mã tương ứng chiều dài 7 bit để hiển thị kí tự đó trên LED 7 đoạn. Các chế độ làm việc và kiểm tra được điểu khiển bởi các chân RBI, LT, BI/RBO. Báo cáo này mô tả cách hoạt động đơn giản nhất của IC giải mã này. Một điều chú ý khi sử dụng IC 74LS47 là tốc độ đáp ứng đầu vào. Nó rất quan trọng khi sử dụng nhiều LED cùng lúc và các LED này được bật tắt luôn phiên. Ở tần số cao, khi đầu vào thay đổi, đầu ra của IC không thể đáp ứng kịp. Giải pháp là cài đặt cả những chân dữ liệu và chân điều khiển. 1.2.4. IC 74xx595Các loại IC 74xx595 là IC ghi dịch 8 bit kết hợp bộ chốt dữ liệu 3 trạng thái, có đầu vào nối tiếp, đầu ra song song. Chức năng:
IC này được sử dụng để tiết kiểm tối đa các chân của vi điều khiển (cần tối thiểu 3 chân), có thể mở rộng số chân ra của vi điều khiển tùy ý bằng việc mắc nối tiếp đầu vào dữ liệu của các IC với nhau. Phương pháp này cho phép sử dụng tiết kiệm chân của vi điều khiển một cách tối đa, nhưng do dữ liệu được truyền đi một cách nối tiếp, khi số LED hiển thị tăng, chuỗi bit truyền đi sẽ dài hơn và số xung nhịp để truyền đi cũng sẽ nhiều hơn. IC 74HC595 hoạt động ở điều kiện như sau:
Nguyên lý hoạt động 74HC595 là loại được sử dụng phổ biến trong họ 74xx595, nó có sơ đồ chân như dưới đây: Hình 5: Sơ đồ chân IC 74HC595 INPUT A (pin 14) Đầu vào dữ liệu nối tiếp. Chuỗi dữ liệu nối tiếp từ vi điều khiển tới chân này được truyền vào bên trong thanh ghi dịch sau mỗi xung Clock. CONTROL INPUTS Shift Clock (pin11) Xung Clock thanh ghi dịch. Khi xuất hiện sườn dương ở chân này, dữ liệu đầu vào A (pin14) sẽ được dịch từng bit vào thanh ghi 8 bit. Reset (pin10) Đầu vào active mức thấp, không đồng bộ. Khi chân này ở mức thấp (0), thanh ghi được reset, bộ chốt 8 bit không được hoạt động. Latch Clock (pin12) Xung Clock cho đầu ra bộ Latch. Khi xuất hiện sườn dương ở chân này, dữ liệu trong thanh ghi dịch được đẩy ra bộ Latch. Output Enable (pin 13) Cho phép giá trị lưu trữ trong bộ Latch được xuất ra bên ngoài khi chân này ở mức thấp (0). OUTPUT QA-QH (pin 15, 1, 2, 3, 4, 5, 6, 7) Các đầu ra không đảo. Do sử dụng bộ Latch nên đầu ra sẽ có 3 trạng thái: mức thấp (0), mức cao (1) hoặc mức trở khảng cao (Z). SQH (pin 9) Đầu ra không đảo, là chuỗi dữ liệu đầu ra nối tiếp, nó là đầu ra của thanh ghi dịch, mỗi khi gặp sườn dương Shift Clock ở pin 11, giá trị thanh ghi bị dịch đi và bit có trọng số cao nhất dược đẩy sang đầu ra SQH. Sơ đồ khối chi tiết của IC 74HC595 được mô tả chi tiết theo hình dưới đây: Hình 6: Mạch tuần tự bên trong IC 74HC595 1.3. Lập trình quét LED 7 đoạn thông thườngNhư đã giới thiệu ở trên để hiển thị LED 7 đoạn có 2 phương pháp chính: quét LED và sử dụng IC dịch 74HC595. Mục 1.3 sẽ mô tả chi tiêt kĩ thuật quét LED, đếm tăng và hiển thị trên 2 LED 7 đoạn. 1.3.1. Chuẩn bịPhần mềm Code và Complie: CCS C Complie. Phần mềm mô phỏng: Proteus 8 Professional. Sơ đồ nguyên lý Hình 7: Sơ đồ nguyên lý đếm tăng và hiển thị trên LED 7 đoạn Nguyên lý Tạo một biến đếm và hiển thị biến đếm này lên LED 7 đoạn thông qua kĩ thuật quét LED. Biến đếm bắt đầu từ 0 và tăng giá trị lên tới 99 rồi quay trở lại 0, thời gian để biến đếm nay tăng lên 1 đơn vị là 1 [s], tạo ra bởi vòng lặp có chứa hàm delay_ms(). Trong khoảng thời gian đó, để đánh lừa được thị giác, các LED được bật/tắt 24 lần luôn phiên với thời gian LED sáng trên 1 lần bật là 20 [ms]. Các tham số trên được xác định khi mạch có N [LED 7 thanh] và giá trị biến đếm thay đổi với chu kì 1s, LED nhấp nháy với k lần trong một giây nên thời gian LED sáng được tính bởi công thức: 1.3.2. Lập trình chức năngCode thực hiện chức năng trên được mô tả như dưới đây: Chú ý: Khi hiển thị lên một trong cụm LED 7 đoạn, phải thực hiện chọn LED trước khi gửi dữ liệu cần hiển thị. 1.3.3. Kết quảMột số kết quả thu được khi chạy Code trên:
Hình 8: Hiển thị đếm giây trên LED 7 đoạn 1.4. Lập trình hiển thị LED 7 đoạn sử dụng 74LS471.4.1. Chuẩn bịPhần mềm Code và Complie: CCS C Complie. Phần mềm mô phỏng: Proteus 8 Professional. Sơ đồ nguyên lý Hình 9: Sơ đồ nguyên lý hiển thị LED sử dụng 74LS47 Nguyên lý Vi điều khiển thực hiện đếm và chuyển chữ số biến đếm thành mã BCD gửi tới đầu vào của IC giải mã 74LS47. Đầu ra của các IC này được nối tới các chân LED 7 đoạn để hiển thị các chữ số của biến đếm trên. Lưu ý: Sơ đồ nguyên lý trên được sử dụng để mô phỏng chức năng, để hoàn thiện mạch thật, các chân ra của IC 74LS47 tới LED 7 đoạn nên có điện trở giá trị 180 [Ôm] để đảm bảo dòng không gây hư hại cho LED. 1.4.2. Lập trình chức năngCode thực hiện chức năng trên được mô tả như dưới đây: // ----------------- DISPLAY LED 7 SEGMENTS USE 74LS47 ----------- //--------------------------------------------------------------------- // This program have a function that is display counter into LED 7 // segments use IC decoder 74LS47. // To complete this function, processor count and increase counter // after one second. // Value of counter is converted to BCD code and sent to input of // IC 74LS47. This IC convert BCD code to LED 7 segments code // to display corresspond digit of counter. // Function: Display LED 7 segments use 74LS47 // Operation: // Parameter: NON // Return: NON // Note: #include1.4.3. Kết quảThực hiện đoạn chương trình trên thu được kết quả :
Hình 10: Kết quả hiển thị LED 7 đoạn sử dụng IC 74LS47 1.5. Lập trình hiển thị LED 7 đoạn sử dụng 74HC595Phương pháp sử dụng IC dịch 74HC595. 1.5.1. Chuẩn bịPhần mềm Code và Complie: CCS C Complie. Phần mềm mô phỏng: Proteus 8 Professional. Sơ đồ nguyên lý Hình 11: Sơ đồ nguyên lý hiển thị LED 7 đoạn 0 – 9 Nguyên lý Vi điều khiển thực hiện đếm thời gian và chuyển số đếm được thành chuỗi bit tương ứng với mã LED 7 đọan Cathode chung. Mã này được truyền từng bit nối tiếp nhau, qua chân dữ liệu RB0 đến chân DS (chân dữ liệu) của IC. Từng bit của chuỗi dữ liệu nối tiếp được dịch và ghi vào bên trong thanh ghi của IC, khi gặp sườn lên từ chân SH-CP nối với RB1, tiếp đó, toàn bộ chúng được đẩy lên Latch và cho ra các chân dữ liệu của LED 7 đoạn khi gặp sườn lên xung ST-CP nối với RB2. 1.5.2. Lập trình chức năngCode thực hiện chức năng trên được mô tả như dưới đây: // ----------------- DISPLAY LED 7 SEGMENTS USE 74HC595 ----------- //--------------------------------------------------------------------- // This program have a function that is display counter into LED 7 // segments use IC Shift Register 74HC595. // To complete this function, processor count and increase counter // after one second // Value of counter is converted to byte data and transmitted // one bit/pulse to IC 74HC595 by Shift Clock // While byte data is successfully transmitted to shift register, // it will display // in LED 7 segment by Latch Clock // Function: Display LED 7 segments use 74HC595 // Operation: // Parameter: NON // Return: NON // Note: // Type data of data1, data2, data3, data4 #include1.5.3. Kết quảThực hiện đoạn chương trình trên thu được kết quả:
Hình 12: Hiện thị đếm 0 – 1000 trên 4 LED 7 đoạn |