Table of Contents
Tải File bài giải
Ủng hộ mình bằng cách Donate qua momo: 0967551477.Đề bài đồng hồ timer delay:
Bài giải đồng hồ timer Delay:
Phần cứng chương trình đồng hồ timer Delay:
- Đề không yêu cầu đếm thời gian bằng timer0 hoặc timer1 vì vậy việc sử dụng delay giúp giải bài toán được đơn giản hơn.
- Quét 4 led 7 đoạn Anot chung sẽ giúp tối ưu được phần cứng nhưng phầm mềm phải hiểu rõ thì mới có thể hoạt động ổn định. Các chân Anot chung phải sử dụng tranzitor pnp và tùy theo dòng cung cấp cho led mà chọn pnp cho phù hợp, thường được sử dụng chân A1015.
- Led đơn được sử dụng nhấp nháy 1Hz, khi sử dụng lưu ý phải tính toán giá trị trở 330 hạn dòng cho led.
- Sử dụng dao động ngoài thạch anh 20M gắn vào chân OSC1 OSC2.
- Các linh kiện chính cần sử dụng tham khảo tại.
Thông số kỹ thuật Mua Linh kiện Pic16F887 Pic16F877 Led đơn Led đơn Điện trở Điện trở Nút nhấn Nút nhấn Thạch anh Thạch anh Led 7 đoạn Anot Led 7 đoạn Anot Tranzitor A1015 Tranzitor A1015
Ủng hộ mình bằng cách Donate qua momo: 0967551477.
Phần mềm đồng hồ timer Delay:
Khai báo thư viện tiền sử lý của đồng hồ timer Delay:
- Vi điều khiển hiện tại mình đan dùng là Pic16F887
- Hiện đan dùng thạch anh ngoài và thạch anh ngoài 20M bằng lệnh #Fuses hs và #delay(clock=20M).
- Định nghĩa chân: tùy theo chức năng của chân mà tên định nghĩa được bám sát vào nội dung đan thực hiện.
- Vì đây là bài thi nên việc định nghĩa chân phụ thuộc rất lớn vào nội dung đề bài.
- Mã 7 đoạn là đoạn mã Anot: Cấu trúc lệnh cho bạn nào cần copy : ” unsigned int8 ma7doan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8.0x80,0x90,0xff} “.
- Tên khai báo biến thì cái này tùy thuộc vào chức năng để khai báo cho phù hợp.
- Khi không biết giá trị cụ thể là bao nhiêu thì chỉ cần khai báo signed int32 đây là biến 32bit có dấu vì vậy giá trị rất rộng không sợ sai yêu cầu của đề bài đưa ra.
Chương trình con đồng hồ timer Delay:
- Chương trình con đầu tiên là hiển thị, vì ở đây là quét led 7 đoạn nên chỉ cần mỗi thời điểm chỉ cho một led 7 đoạn sáng đồng thời kích chân tương ứng, với tần số quét từ 50Hz trở lên thì hiệu ứng lưu ảnh trên mắt sẽ được ứng dụng tốt vì vậy sẽ không thấy được led bị nhấp nháy. Ở đây không hướng dẫn chi tiết về quét led chỉ nói khái quát sơ qua.
- Chương trình con nhấp nháy led 1Hz được tính như sau: chương trình hiển thị quét led tốn 4ms bỏ qua thời gian các hàm khác, vòng lặp for chạy 125 lần tức sẽ làm 125 lần hàm hiển thị từ đó suy ra 4ms x 125 = 500ms tức nữa thời gian đầu bật led sáng, tương tự cho nữa thời gian sau tắt led.
- Vì chương trình hiển thị phải được làm liên tục nếu không sẽ bị nhấp nháy led 7 đoạn nên lợi dụng thời gian quét 4 led 7 đoạn để làm thời gian đếm giây. Từ đó nhấp nháy sẽ làm hàm delay 1s.
Chương trình chính thực hiện toàn bộ hoạt động của vi điều khiển dùng đồng hồ timer Delay
- Bắt đầu chương trình chính phải khỏi rạo ngõ vào ra cho vi điều khiển. Một chân của vi điều khiển thì làm nhiệm vụ I/O vì thế phải khỏi tạo. Port D, Port C kết nối vào led 7 đoạn nên xuất dữ liệu nên khởi tạo là 0x00.
- Gán giá trị ban đầu bằng 0 chuẩn bị cho chu kỳ đếm thời gian bằng delay.
- Tăng biến giay lên một đơn vị sau đó gọi hàm nhap_nhay(); giúp nhấp nháy led đơn 1Hz đồng thời tạo trễ 1s. Kiểm tra nếu giay>59 thì cho giay=0 chuẩn bị cho chu kỳ mới đồng thời tăng phut lên một đơn vị. Kiểm tra nếu phut > 59 cho phut=0 chuẩn bị cho chu kỳ mới.
- Vì sử dụng delay nên thời gian đếm sẽ sai số khá nhiều nhưng vì mức độ là giải đề nên không quá lớn trong trường hợp này, nếu muốn có độ chính xác cao hơn thì dùng timer hoặc ic thời gian thực sẽ tạo độ tin cậy cao hơn.
Các bạn có thể xem video đồng hồ timer delay sẽ dễ hiểu hơn nhé:
Ngoài ra còn nhiều Phần và các môn khác
Đồ án điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 1 Mạch điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 2 Thiết kế mạch điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 3 Vi xử lý, Lập trình vi điều khiển Pic – 8051 – Avr – Phần 4 Tổng hợp File ĐỒ ÁN Điện tử cơ bản Tổng hợp File ĐỒ ÁN Viễn thông Tổng hợp File ĐỒ ÁN PLC Tổng hợp File ĐỒ ÁN Cung cấp điện
Sẽ còn các phần khác nữa nhé.
Chúc các bạn có một kỳ thi thành công…!!!