led 7 segment, Tạo xung ccp PWM + Nút nhấn + Led 7 đoạn, Vi điều khiển

led-7-segment-tao-xung-pwm-dieu-khien-do-rong-nut-nhan-hien-thị-7-doan-lap-trinh-pic
Led 7 segment cũng là led đơn độc lập nhưng vị trí sắp xếp khác nhau nên sẽ giúp hiển thị được số con số và các ký tự đặc biệt. Có hai loại chính là Anot chung và Catot chung. Tùy theo yêu cầu và chức năng mà kích thước led 7 đoạn được sử dụng, nhưng cũng được chia thành 2 loại chính là Led 7 đoạn thường và Led 7 đoạn công suất.

Mua linh kiện điện tử tại Điện tử Nhật Tùng

Liên hệ làm mạch  Phone: 0967.551.477 Zalo: 0967.551.477 Email: dientunhattung@gmail.com Địa Chỉ: 171/25 Lê Văn Thọ, P8, Gò Vấp, Tp HCM Chi tiết: Nhận làm mạch và đồ án Điện tử  
Khóa học Vi điều khiển có phí Hình thức học: Video hoặc Kèm trực tiếp ===>>>>  Kích vào hình để được biết thêm chi tiết khóa học lập trình vi điều khiển online

Tải File bài giải

Pass giải nén: Huynhnhattung.com
===>>>   Nếu bạn chưa có phần mềm giải nén:

Hướng dẫn Tải và Cài đặt phần mềm giải nén Winrar

 

Các bạn xem Video led 7 segment, Tạo xung ccp PWM + Nút nhấn + Led 7 đoạn

 

Các bạn xem Blog led 7 segment, Tạo xung ccp PWM + Nút nhấn + Led 7 đoạn

Đề bài led 7 segment:

led-7-segment-tao-xung-pwm-dieu-khien-do-rong-nut-nhan-hien-thị-7-doan-lap-trinh-pic-de-bai

Bài giải led 7 segment:

Phần cứng chương trình led 7 segment:

  • Sử dụng nút nhấn đơn để thay đổi tốc độ động cơ tức điều chỉnh duty cho xung CCP PWM.
  • Đề yêu cầu sử dụng điều chế độ rộng xung PWM với duty thay đổi. Khi tạo xung CCP PWM nếu sử dụng hổ trợ từ phần mềm CCS hoặc từ nhà sản xuất thì chỉ có thể tạo được thông qua 2 chân CCP1CCP2. Ngoài ra người lập trình vẫn có khả năng tạo xung từ bất kể chân I/O nào có thể sử dụng delay, timer0, timer1,… Theo đề chân tạo xung bắt buộc vào chân RC2 đồng nghĩa với việc tạo xung bằng CCP1 để điều khiển tốc độ quay của động cơ để tăng hoặc giảm tốc độ cho xe.
  • Hiển thị hai led 7 đoạn anot chung theo phương pháp xuất tín hiệu led 7 đoạn nên phải gắn vào Port là Port D. Nếu làm mạch thực tế phải gắn trở cho led, cách tính trở 330 xem trong giáo trình thầy Nguyễn Đình Phú
  • 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
Pic16F887Pic16F887
Led 7 đoạnLed 7 đoạn
Điện trởĐiện trở
Nút nhấnNút nhấn
Thạch anhThạch anh
Led đơnLed đơn
Biến trởBiến trở

led-7-segment-tao-xung-pwm-dieu-khien-do-rong-nut-nhan-hien-thị-7-doan-lap-trinh-pic

Phần mềm led 7 segment:

Khai báo thư viện tiền sử lý của led 7 segment:

  • Vi điều khiển hiện tại mình đan dùng là Pic16F887.
  • Hiện dùng thạch anh nội và thạch anh nội khai báo 8M bằng lệnh #Fuses  intrc_io  và  #delay(clock=8M).  
  • Đị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.
  • 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 phụ thuộc vào chức năng để khai báo cho phù hợp. 
  • Khi các biến không biết được giá trị cuối thì nên khai báo signed int32 tức khai báo biến có dấu 32bit, lúc này giá trị rất rộng không sợ bị thiếu.
led-7-segment-tao-xung-pwm-dieu-khien-do-rong-nut-nhan-hien-thị-7-doan-lap-trinh-pic-khai-bao

Chương trình chính đọc led 7 đoạn:

  • Bắt đầu chương trình chính phải khởi tạ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 sử dụng xuất tiến hiệu cho led 7 đoạn, riêng Port C còn xuất tín hiệu cho chân điều khiển xung ngõ ra PWM vì vậy khởi tạo là 0x00. Port E kết nối với nút nhấn đưa tín hiệu vào vi điều khiển nên khởi tạo là 0x01.
  • Khởi tạo ADC sử dụng bộ chia 32 để số lần đọc nhiệt độ trên 1s ít. Kênh cần đọc là kênh số 0 được ký hiệu là AN0.

  • Khi sử dụng điều chế độ rộng xung do vi điều khiển hổ trợ thì sử dụng Timer2. Cách tính: Chu kỳ yêu cầu T=2ms. PR2 = 2ms/((1/8M)*4*16)-1 = 249. Sử dụng bộ chia 16. Nếu sử dụng bộ chia 1 hoặc 4 thì giá trị vượt 255 không thể đếm cho timer2. Duty =2ms/((1/8M)*4) = 100. Tức giá trị cực đại của duty=100.
  • Nút nhấn có nhiều chức năng, nút ADJ sau mỗi lần nhấn giá trị trả về thay đổi duty của PWM chia thành 10 cấp từ 0 – 9 vì vậy phải chống dội cho nút nhấn. Việc chống dội ở đây không hướng dẫn chi tiết các bạn có thể tham khảo sách giáo trình thầy Nguyễn Đình Phú.
  • Khi nhấn nút ADJ sẽ tăng y lên 1 đơn vị theo yêu cầu của đề bài đưa ra, nếu vượt ngưỡng 9 thì gán cd=0. Được biết giá trị duty max1000 giá trị này xem cách tính dưới phần chương trình chính. Vì vậy chia giá trị ra từ 0 – 9 chỉ cần mỗi lần giá trị cd tăng đơn vị thì duty tăng lên 100 lần. Sau đó xuất duty ra cho CCP1 đồng thời xuất cd ra màn hình led 7 segment.

led-7-segment-tao-xung-pwm-dieu-khien-do-rong-nut-nhan-hien-thị-7-doan-lap-trinh-pic-chinh

Chúc các bạn có một kỳ thi thành công…!!!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *