1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

MẠCH đồ hồ số HIỂN THỊ LED 7 đoạn DÙNG PIC (có code và layout)

34 1,2K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 1,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MẠCH đồ hồ số HIỂN THỊ LED 7 đoạn DÙNG PIC (có code và layout) MẠCH đồ hồ số HIỂN THỊ LED 7 đoạn DÙNG PIC (có code và layout) MẠCH đồ hồ số HIỂN THỊ LED 7 đoạn DÙNG PIC (có code và layout) MẠCH đồ hồ số HIỂN THỊ LED 7 đoạn DÙNG PIC (có code và layout) MẠCH đồ hồ số HIỂN THỊ LED 7 đoạn DÙNG PIC (có code và layout)

Trang 1

ĐỒ ÁN 2

MẠCH ĐỒ HỒ SỐ HIỂN THỊ LED 7 ĐOẠN

Trang 2

DANH MỤC CÁC TỪ VIẾT TẮT VII CHƯƠNG 1.TỔNG QUAN VỀ MẠCH ĐỒNG HỒ SỐ HIỂN THỊ LED 7 ĐOẠN

1.1 GIỚI THIỆU : 1

1.2 NGUYÊN LÝ CHUNG : 2

CHƯƠNG 2.TÌM HIỂU LINH KIỆN CỦA ĐỀ TÀI 2

2.1 LINH KIỆN CHÍNH TRONG MẠCH: 2 CHƯƠNG 3.THIẾT KẾ MẠCH 3.1 SƠ ĐỒ KHỐI13 3.2 SƠ ĐỒ GIẢI THUẬT 14 3.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH: 14  Khối cảm biến 14

Khối động cơ 16

Khối điều khiển 17

CHƯƠNG 4.THỰC THI PHẦN CỨNG 18

CHƯƠNG 5.KẾT LUẬN 19

CHƯƠNG 6.KẾT LUẬN 20

5.3 HƯỚNG PHÁT TRIỂN: 20 TÀI LIỆU THAM KHẢO 20

Trang 3

DANH MỤC CÁC HÌNH VẼ

HÌNH 2.1: PIC16F877A 2

HÌNH 2.2:SƠ ĐỒ CHÂN PIC16F877A 3

HÌNH 2.3: CẤU HÌNH PIC16 SƠ ĐỒ KHỐI BÊN TRONG PIC16F877A 4

HÌNH 2.4:RTC DS1307 6

HÌNH 2.5:ĐIỆN TRỞ 7

HÌNH 2.6: LED 7 ĐOẠN 7

HÌNH 2.7: THẠCH ANH 20MHZ VÀ 32.768KHZ 8

HÌNH 2.8: TRANSISTOR A1015 8

HÌNH 2.9: TỤ GỐM 104 9

HÌNH 2.10: PIN LITHIUM 3V 9

HÌNH 2.11: CÒI BUZZER 5VDC 10

HÌNH 3.1 : SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A 13

HÌNH 3.2 : KHỐI RTC DS1307 14

HÌNH 3.3: KHỐI LED 7 ĐOẠN 15

Trang 4

PCB Printed Circuit Board

Trang 5

ĐỒ ÁN 2 Trang 1/29

ĐOẠN

1.1 Giới thiệu :

_Hiện nay trong cuộc sống hàng ngày hầu như ai cũng cần 1 cái đồng hồ để hẹn giờbáo thức, để mỗi sáng không bị trễ giờ khi có 1 cuộc hẹn 1 lịch trình trong tuần vì thế rất cần thiết khi mỗi người phải sở hữu 1 đồng hồ số để hẹn giờ báo thức khởi động 1 ngày hoàn hảo

_Mạch được sử dụng PIC VĐK PIC16F877A làm bộ xử lý trung tâm Vi xử lý đọc

và ghi thời gian vào IC thời gian thực RTC DS1307 thông qua chuẩn giao thức I2C.Khi mới cấp nguồn vi xử lý khởi tạo IC thời gian thực sau đó sẽ đọc thời gian từ ICxuất dữ liệu vừa đọc được sẽ hiển thị trên những con LED 7 đoạn và cũng đồng thờiquét các nút nhấn để kiểm tra khi ta nhấn nút Mã BCD được VĐK xuất ra trực tiếpcấp đồng thời cho LED 7 đoạn Quá trình quét LED VĐK cấp một mã BCD cho 1LED tương ứng rồi sau đó khối đệm đảo Transitor sẽ được kích hoạt và dẫn cấpnguồn cho một LED tương ứng đó Sau khoảng thời gian tạo trễ thì ngừng cấpnguồn cho LED và chuyển mã sang cho LED tiếp theo

_ Để cập nhật thời gian VĐK đọc thời gian từ IC thời gian thực với một khoảng300ms cho một lần đọc VĐK sẽ ngưng việc đọc thời gian từ IC thời gian thực lúc

ta chỉnh thời gian, và khi ta đã hoàn thành việc chỉnh thời gian thì VĐK sẽ ghi thờigian đã chỉnh ngược vào IC để lưu lại thời gian chỉnh Các nút nhấn đang ở trạng

Trang 6

thái bình thường sẽ là mức cao,và khi ta nhấn nút thì VĐK quét nhận thấy nút nhấnxuống mức thấp thì thực hiện lệnh tương ứng với nút đã được nhấn.

2.1 Linh kiện chính trong mạch:

Hình 2.1: PIC16F877A

 PIC16F877A bao gồm 40 chân và được chia ra thành 5 port xuất nhập khác nhau, có 2 chân dùng để cấp nguồn, 2 chân GND, 1 chân dùng Reset Vi điều khiển và 2 chân thạch anh

Trang 7

ĐỒ ÁN 2 Trang 3/29

Hình 2.2: Sơ đồ chân Pic16F877a

Bảng 2.1 Bảng đặc điểm PIC16F877A :

Bộ nhớ chương trình Flash (14-bit

Trang 8

Timer 3

Các module capture/compare/ 2 PWM

Trang 9

ĐỒ ÁN 2 Trang 5/29

Trang 10

_Gồm có 8 chân.Tương tự PORT A, các chân của PORT B có 2 chức năng chính là: output và input.Và 2 chức năng trên được điều khiển bởi thanh ghi TRISTB.

_Khi muốn set chân của PORT B là input thì là set bit tương ứng trong TRISTB

_Khi muốn là output thì ta clear bit tương ứng trong TRISTB

_Thanh ghi TRISTB được tích hợp bộ điện trở kéo lên có thể điều khiển được bằng chương trình

+PORT D:

_Gồm có 8 chân.Các chân của PORT D có 2 chức năng chính output

và input dưới sự điều khiển thanh ghi TRISTD tương tự 2 thanh ghi trên._Là port xuất dữ liệu chuẩn giao tiếp song song PSP(Parallel Slave Port)

+PORT C:

_PORT C gồm 8 chân và tương tự như các port trên thực hiện 2 chức năng chính là output và input dươi sự điều khiển của thanh ghi TRIST C._Tích hợp các bộ giao tiếp I2C, SPI, SSP, USART…

_Trong cấu trúc phần cứng là ngõ vào xung clock Timer 1

_Ngoài ra có bộ PWM thực hiện nhiệm vụ điều xung lập trình được tần số, duty cycle được ứng dụng trong điều khiển tốc độ và vị trí của động cơ

+PORT E:

_Có 3 chân.Thanh ghi TRISTE điều khiển xuất nhập

_Các chân PORTE là ngõ vào analog

_Các chân PORT E điều khiển chuẩn giao tiếp PSP( Parallel Slave Port)

RTC DS1307

Trang 11

ĐỒ ÁN 2 Trang 7/29

Hình 2.4:RTC DS1307

Thông số kỹ thuật DS1307

_Điện áp 5V DC và dùng chung với vi điều khiển

_Dòng điện 2mA

_Sử dụng pin 3v để đề phòng khi bị mất điện

_Dùng thạch anh 32.768 Khz làm bộ tạo dao động

Bảng 2: Đặc điểm RTC DS1307

1 X1 Kết nối đến thạch anh 32.768Khz làm nguồn dao động

3 VBat Kết nối đến cực dương của Pin 3v dự phòng, có điện

áp định mức khoảng 3V

5 SDA Chân dữ liệu khi kết nối đến giao tiếp I2C

6 SCL Chân nhận xung clock đồng bộ khi kết nối I2C

7 SQW/OUT Ngõ xuất tín hiệu xung vuông, tần số có thể lập trình

để thay đổi từ 1Hz, 4Khz, 8 Khz, 32 Khz

Trang 12

Thông số kỹ thuật Led 7 đoạn

_Điện áp giữa Vcc và mass không được cao hơn 3v, tuy nhiên phải lớn hơn1.3v

Trang 13

ĐỒ ÁN 2 Trang 9/29

Hình 2.7:Thạch anh 20Mhz và 32.768Khz

Thông số kỹ thuật về Thạch anh 20Mhz:

_Tần số 20Mhz

_Dung sai tần số: ±20ppm

_Đều cho ra tần số ổn định, sử dụng tốt nhất trong đồng hồ

Thông số kỹ thuật về Thạch anh 32.768Khz:

Trang 15

ĐỒ ÁN 2 Trang 11/29

Trang 16

ĐĐỌC THỜI GIAN TỪ DS1307

TẠO VÒNG LẶP QUÉT LED VÀ

PHÍM NHẤNTHỜI GIAN KHOẢNG 300mS

Trang 17

ĐỒ ÁN 2 Trang 13/29

3.2 Sơ đồ giải thuật

BẮT ĐẦU

THIẾT LẬP NGẮT TIMER1 PHỤC VỤ CÒI BÁO

THIẾT LẬP CÁC NGÕ VÀO RA CHO PIC

KHỞI TẠO DS1307

KHÔNG CHỈNH TG

S

Đ ĐỌC THỜI GIAN TỪ DS1307

CHỈNH GIỜ

Đ

S CHỈ ĐỌC GIỜ, PHÚT, GIÂY, TỪ DS1307

SO SÁNH THỜI GIAN ĐỂ BÁO THỨC

TẠO VÒNG LẶP QUÉT LED VÀ PHÍM NHẤN THỜI GIAN KHOẢNG 600mS ĐỌC THỜI GIAN BÁO THỨC TỪ RTC

Trang 18

3.3 Nguyên lý hoạt động của mạch:

Khối điều khiển

Hình 3.1 : Sơ đồ khối vi điều khiển PIC16F877A

- Ta sử dụng PIC16F877A làm bộ vi xử lý trung tâm Sử dụng thạch anh 20Mhzlàm bộ tạo xung giao động chính cho VĐK Hai tụ C1 và C2 phụ trợ giao độngtăng tính ổn định cho thạch anh Tụ C3 tự reset khi mới cấp nguồn Nút SW1 dùng

để reset mạch Ta sử dụng các chân ngõ ra từ A-H kết nối đến các con LED 7đoạn.Các chân 1-6 nối đến bộ đệm dòng quét LED Ngõ SLC và SDA kết nối giaotiếp I2C của IC DS1307.Các ngõ BT1-BT4 kết nối 4 chân nút nhấn.Và ngõ RE0 nốiđến còi báo buzzer 5VDC

Trang 19

ĐỒ ÁN 2 Trang 15/29

Khối RTC DS 1307

Hình 3.2 : Sơ đồ khối RTC DS1307

_ IC RTC DS1307 sử dụng thạnh anh giao động 32.768Khz Các điện trở R8 và R6

là điện trở kéo lên của giao tiếp I2C Giao tiếp với VĐK PIC theo chuẩn I2C.Dùng Pin 3V nuôi nguồn cho DS1307 vẫn chạy giờ khi mất nguồn

_Ngõ SCL(Serial Clock) là đường truyền xung Clock để đồng bộ và chỉ theo

hướng

_Ngõ SDA(Serial Data) là đường truyễn dữ liệu 2 hướng

_Mỗi dây SCL và SDA đều được nối với điện áp dương của nguồn cấp qua một điện trở kéo lên

Khối hiển thị

Trang 20

Hình 3.3: Khối led 7 đoạn

- Ta có 6 con LED 7 đoạn Anode chung kết nối song song các ngõ ABCDEFG.Nhưng có các chân Anode của các LED riêng biệt được cấp nguồn từ Transistorđược kích hoạt dẫn cấp nguồn Các LED được quét theo thứ tự với mã BCD đượccấp trước cho tất cả các LED tương ứng sẽ được cấp nguồn Quá trình quét LEDhoàn thành sau 6 lần chuyển mã, mỗi lần chỉ cấp nguồn cho chỉ một LED tươngứng

4.1 Mạch in

Thiết kế PCB mạch đề tài

Trang 21

ĐỒ ÁN 2 Trang 17/29

Hình 4.1 : PCB mạch đề tài

Trang 22

4.2 Mạch đề tài

Trang 23

ĐỒ ÁN 2 Trang 19/29

Ưu điểm

_Tiện lợi cho việc quan sát giờ bằng LED 7 đoạn

_Có thể đặt giờ báo thức theo ý muốn bằng việc điều chỉnh bằng các nút nhấn

Trang 24

TÀI LIỆU THAM KHẢO

Trang 25

ĐỒ ÁN 2 Trang 21/29

const unsigned char so[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char RTC_ARR[7];

void convert_bcd_lcd(int8 g,int8 p, int8 h, int8 th, int8 d, int8 t, int8 n);

void convert_so_lcd(int8 x);

void ReadRTC(unsigned char * buff);

void WriteRTC(unsigned char * buff);

void chinh_gio();

void chinh_bt();

// -void htgio()

Trang 26

int j =0;

while(j<150)

{

portd = 0xff; portb=so[c_h]; l1 = 0; delay_us(100);

portd = 0xff; portb=so[dv_h]; l2 = 0; delay_us(100);

portd = 0xff; portb=so[c_p]; l3 = 0; delay_us(100);

portd = 0xff; portb=so[dv_p]; l4 = 0; delay_us(100);

portd = 0xff; portb=so[c_g]; l5 = 0; delay_us(100);

portd = 0xff; portb=so[dv_g]; l6 = 0; delay_us(100);

}

}

void hienthi2(int m)

Trang 27

ĐỒ ÁN 2 Trang 23/29

while(j<15)

{

portd = 0xff; if(m==1) portb=255; else portb=so[h/10]; l1 = 0; delay_us(100); portd = 0xff; if(m==1) portb=255; else portb=so[h%10]; l2 = 0; delay_us(100); portd = 0xff; if(m==2) portb=255; else portb=so[p/10]; l3 = 0; delay_us(100); portd = 0xff; if(m==2) portb=255; else portb=so[p%10]; l4 = 0; delay_us(100); portd = 0xff; if(m==3) portb=255; else portb=so[g/10]; l5 = 0; delay_us(100); portd = 0xff; if(m==3) portb=255; else portb=so[g%10]; l6 = 0; delay_us(100); portd = 0xff; j++;

//=======================================

while(true)

{

Trang 28

if((gio==(c_h*10+dv_h))&&(phut==(c_p*10+dv_p))&&(giay==(c_g*10+dv_g)))loa=1;

htgio(); if(k1==0) { while(k1==0)htgio(); chinh_gio(); }

if(k4==0) { while(k4==0)htgio(); chinh_bt(); }

Trang 29

ĐỒ ÁN 2 Trang 25/29

Trang 31

// -ĐỒ ÁN 2 Trang 27/29

c_g = g/10; dv_g = g%10; c_p = p/10; dv_p = p%10; c_h = h/10; dv_h = h%10; // c_d = d/10; dv_d = d%10; c_t = t/10; dv_t = t%10; c_n = n/10; dv_n = n%10; RTC_ARR[0] = (c_g<<4) | dv_g;

Trang 33

ĐỒ ÁN 2 Trang 29/29

Ngày đăng: 04/05/2018, 18:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w