1. Trang chủ
  2. » Luận Văn - Báo Cáo

thiết kế đồng hồ điện tử

25 377 0

Đ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 25
Dung lượng 209,94 KB

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

Nội dung

Sự ra đời và phát triển nhanh chóng của kỹ thuật điện tử mà đặc trưng là kỹ thuật vi xử lý đã tạo ra một bước ngoặt quan trọng trong sự phát triển của khoa học tính toán và xử lý thông t

Trang 1

#3: Phan Duy Chinh Chữ ký: Ngày: _

#4: Nguyễn Văn Duẩn Chữ ký: Ngày: _

#5: Nguyễn Thành Chung Chữ ký: Ngày: _

Place a photograph of the project team (annotated with names) along with the completed

project here.

Delete this text box before pasting in your photo!

Trang 2

ĐÁNH GIÁ BÁO CÁO

Tổng quan hệ thống 0 1 2 3 4 5 6 7 8 9 10 X 2

Yêu cầu kỹ thuật 0 1 2 3 4 5 6 7 8 9 10 X 2

Kiến trúc và chi tiết thiết kế 0 1 2 3 4 5 6 7 8 9 10 X 4

Tóm tắt và kết luận 0 1 2 3 4 5 6 7 8 9 10 X 1

Tài liệu tham khảo 0 1 2 3 4 5 6 7 8 9 10 X 1

Phụ lục A: Phân công công việc 0 1 2 3 4 5 6 7 8 9 10 X 2

Trang 3

Phụ lục A: Phân công công việc ? Phụ lục B: Danh sách phần mềm sử dụng ?

Lời mở đầu

Trang 4

Trong những thập niên cuối thế kỷ 20, kỹ thuật điện tử đã liên tục có những tiến bộ vượt bậc, đặc biệt là trong kỹ thuật chế tạo vi mạch điện tử Sự ra đời và phát triển nhanh chóng của kỹ thuật điện tử mà đặc trưng là kỹ thuật vi xử lý đã tạo ra một bước ngoặt quan trọng trong sự phát triển của khoa học tính toán và xử lý thông tin, nó ảnh hưởng quyết định đến con đường “tin học hoá” xã hội, tứ là con đường mà thông tin đã và đang trở thành lực lượng sản xuất trực tiếp trong nền sản xuất của kỷ nguyên tới.

Năm 1970, công ty Intel cho ra đời bộ vi xử lý đầu tiên, có tên gọi là Intel – 4004, nhằm đáp ứng nhu cầu cần thiết của một công ty kinh doanh là hãng truyền thông BUSICOM Intel – 4004 là kết quả một ý tưởng quan trọng trong sự phát triển kỹ thuật vi xử lý số Đó là một kết cấu logic mà

có thể thay đổi chức năng của nó bằng chương trình ngoài chứ không phát triển theo hướng một cấu trúc chỉ thực hiện một số chức năng nhất định như trước đây Do khả năng mềm dẻo hoá trong các thao tác của mình, năm 1970 Intel – 4004 đã trở thành bộ vi xử lý đầu tiên trên thị trường thế giới Intel - 4004 là bộ vi xử lý 4 bits song song, được chế tạo theo quy trình công nghệ MOS kênh cảm ứng loại P Thời gian tối thiểu để thực hiện một lệnh là 10,8µs Năm 1972, hãng Intel cho xuất xưởng bộ vi xử lý có tên gọi là Intel – 8008 Kiểu này vẫn được chế tạo theo công nghệ PMOS nhưng là laọi 8 bits song song Bộ vi xử lý này là CPU của máy tính MICRAL do Pháp chế tạo Đến đây, hàng loạt các hãng điện tử nổi tiếng hàng đầu của hế giới như National, Rockwell, … đã nhanh chóng đi vào công nghệ sản xuất và chế tạo các bộ vi xử lý

Năm 1974, hãng Intel cho ra đời bộ vi xử lý 8080 – 8 bits song song được chế tạo theo công nghệ NMOS với thời gian thực hiện một lệnh là 2µs, đã đánh dấu một bước tiến lớn trên con đường làm chủ tốc độ xử lý tin của kỹ thuật điện tử hiện đại Các hãng khác cũng cho ra đời những bộ vi

xử lý có tín năng tương ứng: 6800 (Motorola), 8080 (Texas Intrusment), …Năm 1978, laọi 8080 được cải tiến thành loại 8085 Lúc này đã xuất hiện những máy tính mini sử dụng các bộ vi xử lý nói trên Theo đà đó các thông số cơ bản của bộ vi xử lý ngày càng cải thiện: tốc độ nagỳ càng cao (các bộ vi xử lý hiện đại của Intel đã đạt tới tốc độ 500 – 800 MHz), độ rộng kênh thông tin ngày càng lớn (các bộ vi xử lý hiện đại của Intel có kênh dữ liệu 16/32/64 bit) Điều đó đã giúp cho bài toán thiết kế các hệ vi xử lý chuyên dụng với tính năng rộng lớn trở nên dễ dàng hơn

Một hệ vi xử lý được thiết kế tối thiểu bao gồm một bộ vi xử lý (đây là khối điều khiển trung tâm), một bộ nhớ RAM, một bộ nhớ cố định ROM và các cổng vào ra số liệu cùng những thiết bị ngoại vi cần thiết Một hệ vi xử lý tối đa khôngcó giới hạn về số lượng thành phần, về chức năng thực hiện và về quy mô ứng dụng

Trang 5

Ngày nay, những ứng dụng của vi điều khiển đã đi sâu vào đời sống sinh hoạt và sản xuất của con người, là một phần tất yếu không thể thiếu trong đời sông hiện đại Thế kỷ 21 được xem là thế kỷ của khoa học công nghệ, là thế kỷ mà máy móc được thiết kế và lập trình một cách tự động

để thay thế các hoạt động của con người trong sản xuất, cũng như để phục vụ các công việc trong sinh hoạt Trong một cuộc sống mang tính tự động hoá cao thì các mạch vi xử lý như là một công

cụ đắc lực, quan trọng , hỗ trợ cho con người thực hiện nhu cầu ngày càng cao và càng hoàn thiện của mình

Đang là sinh viên ngồi trên ghế nhà trường, cơ hội tiếp cận, học tập những công nghệ tiên tiến, hiện đại chưa nhiều, nên trong quá trình tự học và nghiên cứu, nhóm chúng em đã cố gắng tìm hiểu về bộ vi xử lý, cũng như các ứng dụng của nó trong các hệ vi xử lý Với những gì nghiên cứu được, nhóm chúng em đã làm thực hành ứng dụng thông qua việc thiết kế đồng hồ điện tử.Đây là

cơ hội rất tốt cho chúng em trau dồi kiến thức thực tế,áp dụng lý thuyết đã học và rèn luyện bản thân trong môi trường làm việc nhóm

Chúng em cũng xin trân trọng cảm ơn thầy giáo Phạm Ngọc Nam và anh Phạm Văn Hà đã nhiệt tình hướng dẫn chúng em suốt quá trình học tập và làm sản phẩm

1 Tổng quan hệ thống

Trang 6

Đề tài nhằm thiết kế và xây dựng một mạch đồng hồ điện tử, trong đó hệ thống sẽ thông báo nhiệt độ, ngày giờ theo thời gian thực hay một dòng thông báo bất kì Mạch cần đảm bảo chức năng

đo nhiệt độ, căn chỉnh ngày giờ, chuyển hiệu ứng thông báo Thông báo được thực hiện nhờ LED

ma trận

Sơ đồ khối hệ thống:

IC Thời

gian thực

Trang 7

Mạch mô phỏng :

Trang 8

2 Yêu cầu

a Yêu cầu chức năng

- Hiển thị giờ,phút , ngày ,tháng,năm, nhiệt độ trên bảng ma trận LED 32x16.

- Hiện thị chữ trên bảng ma trận LED 32x16.

- Sử dụng 4 hiệu ứng hiển thị text.

- Sử dụng nút bấm để cài đặt thời gian và thay đổi hiển thị.

- Thiết kế với LED indoor.

b Yêu cầu phi chức năng

• Sử dụng vi điều khiển PIC 16f877a.

• Thiết kế với LED indoor.

• Thiết kế mạch nhỏ hơn 2dm2.

• Chi phí <= 300.000 VNĐ.

• Hệ thống sử dụng đơn giản với số ít các nút bấm điều khiển.

• Thời gian thực hiện đề tài: từ lúc nhận đề tài( đầu kì ) tới trước 01/06/2011.

c Mục tiêu thiết kế

• Ghép 8 LED ma trận 8x8 cỡ nhỏ tạo thành bảng LED ma trận 32x16.

• Sử dụng 8 IC dịch 74HC595 để đưa dữ liệu ra cột.

• Sử dụng IC cảm biến nhiệt LM35 để đo nhiệt độ phòng.

• Sử dụng IC thời gian thực DS1307 để đếm thời gian

3 Kế hoạch thực hiện

Trang 10

4 Thiết kế kiến trúc hệ thống

Hệ thống gồm các khối chính sau:

• Thời gian thực : dùng IC DS1307.

• Đo nhiệt độ : dùng sensor LM35

• Vi điều khiển : PIC 16F877A

• Điều khiển Led ma trận : dùng các IC dịch 74HC595 và các nút bấm thay đổi chế độ hiển thị, chinh thời gian …

• Hiển thị : Led ma trận 32x16 ghép từ 8 led 8x8.

5 Chi tiết thiết kế

• Khối thời gian thực : DS1307

Vcc: nối với nguồn 5V

X1,X2 : nối với thạch anh 32,768kHz

SDA : chân data nối với chân C4 của PIC

SCL : chân clock nối với chân C3 của PIC

GND: đất.

Trang 11

• Khối đo nhiệt độ phòng : sensor LM35

+5V

Vout

Vout : nối với chân A0 để đưa vào bộ ADC của PIC

• Khối vi điều khiển : PIC 16F877A

Chân MCLR : dùng để reset PIC.

Chân AN0 : nhận tín hiệu tương tự từ LM35 để chuyển vào bộ ADC Các chân CLKI, CLKO : nối với thạch anh tạo xung dao động cho PIC Chân SCL,SDA : giao tiếp với DS 1307.

Các chân B0 – B5 : điều khiển 74 HC595

LM35

Trang 12

Các chân A1 – A4 : điều khiển các nút bấm.

• Khối điền khiển led : các IC dịch 74HC595 (8 IC đưa dữ liệu ra cột, 1 IC đưa dữ liệu ra hàng của led ma trận)

DS : chân dữ liệu vào

Q0 – Q7 : 8 chân dữ liệu ra ; Q7’ : chân nối với IC 74HC595 kế tiếp

SH_CP : xung CLK chốt dữ liệu vào IC

ST_CP : xung CLK chốt dữ liệu ra IC

• Các nút bấm :

MODE : thay đổi chế độ hiển thị.

SET : cài đặt thời gian

UP : Tăng giá trị

DOWN : giảm giá trị.

Trang 13

-Lời kết

Trên đây là toàn bộ nguyên lý hoạt động và sơ đồ cấu tạo của chiếc đồng hồ báo giờ.Tuy nhiên do thời gian và năng lực còn hạn chế nên nhóm làm báo cáo chưa thể tìm hiểu được hết về các chức năng của từng linh kiện trong mạch,chưa hoàn thành sản phẩm hoàn thiện

Song qua việc thiết kế mạch đồng hồ này, nhóm cũng đã có thêm những hiểu biết cơ bản về dòng vi điều khiển 8 bit của Microchip - PIC16f877A Có cái nhìn tổng quan về vi điều khiển Sụ khác nhau giữa vi điều khiển và vi xử lý Nắm rõ hơn lý thuyết về các kiến trúc vi xử lý: Harvard - RISC, CISC Khả năng tự tìm hiểu các dòng vi xử lý cao hơn của Microchip( 16 bit, 32 bit ) cũng như các họ vi xử lý thông dụng khác : Atmel, Intel, Philips…Đã làm quen và sử dụng các phần mềm hỗ trợ như: ORCAD, Proteus, CCS, MPLAP.Đặc biệt là tăng khả năng làm việc theo nhóm, từ

đó tạo tiền đề cho việc giải quyết các vấn đề phức tạp hơn sau này

Trang 14

Tài Liệu Tham khảo

Trong quá trình thiết kế, thực hiện đề tài, chúng em có tham khảo các tài liệu và nguồn sau:

Trang 15

Phụ lục A: Phân công công việc

Đinh Huy Cương : Sơ đồ nguyên lý và layout

Đỗ Đức Cường : Mua linh kiện và đặt mạch

Phan Duy Chinh : Sơ đồ nguyên lý và layout

Nguyễn Văn Duẩn : Viết code và tối ưu mạch

Nguyễn Thành Chung : Viết code và tối ưu mạch

#FUSES NOWDT //No Watch Dog Timer

#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)

#FUSES NOPUT //No Power Up Timer

#FUSES NOPROTECT //Code not protected from reading

#FUSES NODEBUG //No Debug mode for ICD

#FUSES NOBROWNOUT //No brownout reset

#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#FUSES NOCPD //No EE protection

#FUSES NOWRT //Program memory not write protected

#FUSES RESERVED //Used to set the reserved FUSE bits

Trang 16

0xFF,0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,0xFF,//O0xFF,0x80,0xFD,0xF3,0xFD,0x80,0xFF,0xFF,//M 0xFF,0x8D,0xB6,0xB6,0xB6,0xB9,0xFF,0xFF,//2 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFE,0xFE,0x80,0xFE,0xFE,0xFF,0xFF,//T0xFF,0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,0xFF,//C0xFF,0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,0xFF,//-

0xFF,0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,0xFF,//30xFF,0xC1,0xAE,0xB6,0xBA,0xC1,0xFF,0xFF,//00xFF,0xFF,0xBD,0x80,0xBF,0xFF,0xFF,0xFF,//1

Trang 17

char const cot[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};void send1_595(int8 temp) {

#bit flag_bit = temp.7 // bien temp la du lieu 8-bit can guiint8 i;

void send2_595(int8 temp) {

#bit flag_bit = temp.7 // bien temp la du lieu 8-bit can guiint8 i;

min=read_ds1307(1); // read minute

hour=read_ds1307(2); // read hour

date=read_ds1307(4); // read date

month=read_ds1307(5); // read month

year=read_ds1307(6); // read year

Trang 18

month2=(month&0x70)>>4; year1=year&0x0f;

send2_595(bangma[min1*8+i]); send2_595(bangma[min2*8+i]); send2_595(bangma[hour1*8+i]); send2_595(bangma[hour2*8+i]); latch2=1;

Trang 19

if (up==1) { // neu phim 2 duoc nhan

while (up==1) {} // khong lam gi cho phim nha year1++;

if ((year2==9)&(year1==10)) {year1=year2=0;}

if (year1==10) {year1=0;year2++;}

}

if (down==1) { // neu phim 3 duoc nhan

while (down==0) {} // khong lam gi cho phim nhan year1 ;

Trang 20

void set_month(void) { // Cai dat thang

while (set==0) {} // cho phim nhan

do {

if (up==1) { // neu phim 2 duoc nhan

while (up==1) {} // khong lam gi cho phim nha

month1++;

if ((month2==1) & (month1==3)) { month2=0;month1=1;}

if (month1==10) { month2++;month1=0;}

}

if (down==1) { // neu phim 3 duoc nhan

while (down==1) {} // cho phim nha

Trang 21

}

while (set==1);

write_DS1307(5,month1+(month2<<4));

}

void set_date(void) { // Cai dat ngay

while (set==0) {} // cho phim nhan

do {

if (up==1) { // neu phim 2 duoc nhan

while (up==1) {} // khong lam gi cho phim nha date1++;

if ((date2==3) & (date1==2)) { date2=0;date1=1;}

if (date1==10) { date2++;date1=0;}

}

if (down==1) { // neu phim 3 duoc nhan

while (down==1) {} // cho phim nha

void set_hour(void) { // Cai dat thang

while (set==0) {} // cho phim nha

do {

Trang 22

if (up==1) { // neu phim 2 duoc nhan

while (up==1) {} // khong lam gi cho phim nhan hour1++;

if ((hour2==2) & (hour1==4)) { hour2=0;hour1=0;}

if (hour1==10) { hour2++;hour1=0;}

}

if (down==1) { // neu phim 3 duoc nhan

while (down==1) {} // cho phim nha

void set_min(void) { // Cai dat thang

while (set==0) {} // cho phim nha

do {

if (up==1) { // neu phim 2 duoc nhan

while (up==1) {} // khong lam gi cho phim nha

min1++;

if ((min2==5) & (min1==10)) { min2=0;min1=0;}

if (min1==10) { min2++;min1=0;}

}

if (down==1) { // neu phim 3 duoc nhan

while (down==1) {} // cho phim nha

Trang 24

if(mode==0) {

hienthi1(); if(set==1) {

set_hour(); set_min(); }

}

else

{hienthi2(); if(set==1) {

set_year(); set_month(); set_date(); set_hour(); set_min(); }

}

}

}

Ngày đăng: 25/03/2015, 12:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w