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

Báo CáoBài Tập Lớn Vi Xử Lý
Tên đề tài: Thiết kế đồng hồ điện tử Nhóm : 2 TC-301
Thành viên trong nhóm :
#1: Đinh Huy Cương Chữ ký: ____________________ Ngày: _______
#2: Đỗ Đức Cường Chữ ký: ____________________ Ngày: _______
#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!
ĐÁNH GIÁ BÁO CÁO
Thành phần/Tiêu chuẩn Điểm H/s nhân Điểm
Mở đầu 0 1 2 3 4 5 6 7 8 9 10 X 1
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
Phụ lục B: Danh sách phần mềm sử dụng 0 1 2 3 4 5 6 7 8 9 10 X 2
Văn phong 0 1 2 3 4 5 6 7 8 9 10 X3
CD 0 1 2 3 4 5 6 7 8 9 10 X 2
TỔNG
Đánh giá phần mềm
Nhận xét:
Mục lục
Lời mở đầu
?
1. Tổng quan hệ thống
?

Đế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.
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.

• Sử dụng IC thời gian thực DS1307 để đếm thời gian
3. Kế hoạch thực hiện

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.
• 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
Các chân A1 – A4 : điều khiển các nút bấm.

HC595
Nguồn web:




/>


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
Phụ lục B: Danh sách phần mềm sử dụng
Phần mềm lập trình : CCS
Phần mềm mô phỏng : Proteus 7.6
Phần mềm layout : Orcad 9.2
Phần mềm nạp chương trình cho PIC : PIC KIT 2
CODE CCS:
#include <16F877A.h>
#include <def_877A.h>
#device adc=8
#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

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,//T
0xFF,0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,0xFF,//C
0xFF,0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,0xFF,//-
0xFF,0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,0xFF,//3
0xFF,0xC1,0xAE,0xB6,0xBA,0xC1,0xFF,0xFF,//0
0xFF,0xFF,0xBD,0x80,0xBF,0xFF,0xFF,0xFF,//1
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
char const bangma[]={
0xFF,0xC1,0xAE,0xB6,0xBA,0xC1,0xFF,0xFF,//0 16
0xFF,0xFF,0xBD,0x80,0xBF,0xFF,0xFF,0xFF,//1 17
0xFF,0x8D,0xB6,0xB6,0xB6,0xB9,0xFF,0xFF,//2 18
0xFF,0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,0xFF,//3 19
0xFF,0xE7,0xEB,0xED,0x80,0xEF,0xFF,0xFF,//4 20
0xFF,0xD8,0xBA,0xBA,0xBA,0xC6,0xFF,0xFF,//5 21
0xFF,0xC3,0xB5,0xB6,0xB6,0xCF,0xFF,0xFF,//6 22
0xFF,0xFE,0x8E,0xF6,0xFA,0xFC,0xFF,0xFF,//7 23
0xFF,0xC9,0xB6,0xB6,0xB6,0xC9,0xFF,0xFF,//8 24
0xFF,0xF9,0xB6,0xB6,0xD6,0xE1,0xFF,0xFF,//9 25
0xFC,0XFC,0xC1,0xBE,0xBE,0xBE,0xDD,0XFF,
};

adc=adc*500/255;
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
adc1=adc%10;
adc2=adc/10;
min1=min&0x0f;
min2=(min&0x70)>>4;
hour1=hour&0x0f;
hour2=(hour&0x70)>>4;
date1=date&0x0f;
date2=(date&0x70)>>4;
month1=month&0x0f;
month2=(month&0x70)>>4;
year1=year&0x0f;
year2=(year&0x70)>>4;
}
void chaychu(void)
{
for(k=0;k<144;k++){
for(i=0;i<8;i++)
{
send1_595(cot[i]);
send2_595(chu[k+56+i]);
send2_595(chu[k+48+i]);
send2_595(chu[k+40+i]);
send2_595(chu[k+32+i]);
send2_595(chu[k+24+i]);

{
for(k=0;k<2000;k++){
for(i=0;i<8;i++)
{
send1_595(cot[i]);
send2_595(bangma[year1*8+i]);
send2_595(bangma[year2*8+i]);
send2_595(bangma[i]);
send2_595(bangma[16+i]);
send2_595(bangma[month1*8+i]);
send2_595(bangma[month2*8+i]);
send2_595(bangma[date1*8+i]);
send2_595(bangma[date2*8+i]);
latch2=1;
latch2=0;
delay_us(1000);
}
}
}
void set_year(void)
{
while (set==0) {} // cho phim nhan
do {
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++;}
}


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
month1 ;
if ((month2==0) & (month1==0)) {month2=1;month1=2; }
if (month1==0) {month2 ;month1=9;}
}
for( k=0;k<=7;k++){

for(i=0;i<8;i++)
{
send1_595(cot[i]);
send2_595(0xFF);
send2_595(0xFF);
send2_595(0xFF);
send2_595(0xFF);
send2_595(bangma[month1*8+i]);
send2_595(bangma[month2*8+i]);
send2_595(0xFF);
send2_595(0xFF);
latch2=1;
latch2=0;

delay_us(2000);

send2_595(0xFF);
send2_595(0xFF);
send2_595(bangma[date1*8+i]);
send2_595(bangma[date2*8+i]);
latch2=1;
latch2=0;

delay_us(2000);
}
}
}
while (set==1);
write_DS1307(4,date1+(date2<<4));
}

void set_hour(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 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
hour1 ;
if ((hour2==0) & (hour1==255)) {hour2=2;hour1=3; }
if (hour1==255) {hour2 ;hour1=9;}
}

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
min1 ;
if ((min2==0) & (min1==255)) {min2=5;min1=9; }
if (min1==255) {min2 ;min1=9;}
}
for( k=0;k<=7;k++){

for(i=0;i<8;i++)
{
send1_595(cot[i]);
send2_595(0xFF);
send2_595(0xFF);
send2_595(0xFF);
send2_595(0xFF);
send2_595(bangma[min1*8+i]);
send2_595(bangma[min2*8+i]);
send2_595(0xFF);
send2_595(0xFF);
latch2=1;
latch2=0;

delay_us(2000);
}
}
}
while (set==1);

else
{hienthi2();
if(set==1)
{
set_year();
set_month();
set_date();
set_hour();
set_min();
}
}
}
}
Phụ lục C: Hóa đơn
TT Tên Giá trị Số lượng Giá đơn vị Thành tiền
1 PIC16F877A 1 65.000 65.000
2 IC 74HC595 9 5.000 45.000
3 Sensor LM35 1 1.500 1.500
4 DS1307 1 8.000 8.000
5 Led ma trận 8 23.000 184.000
6 Cầu 5A 1 4.000 4.000
7 7805 2 3.000 6.000
8 Thạch anh
32.768K 1 1.000 1.000
20M 1 1.000 1.000
10 Điện trở
1K 100 50d 5.000
10K 10 100đ 1.000
11 Tụ điện 33p 2 100


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status