và đương nhiên để làm được những việc đó không thể không nói đến những đóng góp của các kỹ sư cơ điện tử bởi họ lànhững người đang hàng ngày trực tiếp điều khiển các máy móc, các dây tru
Trang 1
LỜI MỞ ĐẦU
Trong quá trình cả nước đang tiến lên xây dựng trở thành một nước côngnghiệp hóa hiện đại hóa, trở thành một nước có nền công nghiệp xứng tầm khu vựcthì cơ điện tử đóng góp một phần không nhỏ vào quá trình xây dựng và phát triểnđấy bởi sản phẩm của cơ điện tử là những sản phẩm mang tính tự động hóa caomang lại giá trị lợi ích kinh tế cho xã hội và đương nhiên để làm được những việc
đó không thể không nói đến những đóng góp của các kỹ sư cơ điện tử bởi họ lànhững người đang hàng ngày trực tiếp điều khiển các máy móc, các dây truyền ởcác nhà máy để tạo ra những sản phẩm mang lại hiệu quả kinh tế cao
Và bên cạnh đó là những đóng góp rất quan trọng của các thầy cô cán bộ trongnhà trường đặc biệt là các thầy trong bộ môn cơ điện tử ĐẠI HỌC NHA TRANG.Đang ngày đêm miệt mài lao động để đưa chúng em tới được bến bờ hạnh phúcnhất Sau một quá trình học tập và nghiên cứu cùng với sự cố gắng tìm tòi của bảnthân em đã tiến hành làm một chiếc đồng hồ thời gian thực có nhiều tính năng,đểphần nào củng cố những kiến thức được học tập trong xuất thời gian qua và tập làmqen với công việc tìm hiểu thực hiện một đề tài
Cuối cùng em xin chân thành cảm ơn các thầy trong bộ môn cơ điện tử đã tậntình giúp đỡ để em hoàn thành nhiệm vụ và đăc biệt cảm ơn thầy Trần Văn Hùng
đã hướng dẫn tận tình để em hoàn thành nhiệm vụ đạt được kết quả tốt nhất lầnđầu bắt tay làm qen tìm hiểu thực hiện đồ án nên không tránh khỏi những thiếu xót,
em mong được sự chỉ bảo thêm của các thầy để sản phẩm được hoàn thiện hơn nữa
Nha trang 03 tháng01 năm 2011
Sinh viên thực hiện.
Phạm Viết Ngọc
Trang 1
Trang 2Mục lục Trang
LỜI MỞ ĐẦU 1
chương 1: GIỚI THIỆU ĐỒNG HỒ THỜI GIAN THỰC VÀ NHIỆM VỤ ĐỒ ÁN MÔN HỌC 3
1.1 GIỚI THIỆU 3
1.2 NHIỆM VỤ VÀ PHÂN TÍCH NHIỆM VỤ 3
1.2.1 NHIỆM VỤ: 3
1.2.2 PHÂN TÍCH NHIỆM VỤ: 3
Chương 2: THIẾT KẾ HỆ THỐNG 4
2.1 TỔNG QUAN ĐỀ TÀI 4
2.2:THIẾT KẾ SƠ ĐỒ KHỐI 4
Chương 3: LÝ THUYẾT LIÊN QUAN 5
3.1 GIAO THỨC I2C: 5
3.2 Nguyên tắc hoạt động DS1307: 7
Chương 4: THIẾT KẾ PHẦN THIẾT BỊ 8
4.1 MẠCH VI ĐIỀU KHIỂN 8
4.2:MẠCH HIỂN THỊ LED 8
4.3:MẠCH THỜI GIAN THỰC 9
Chương 5: THIẾT KẾ PHẦN MỀM 10
5.1 THIẾT KẾ MÔ TẢ HOẠT ĐỘNG PHẦN MỀM 10
5.2 CHƯƠNG TRÌNH 11
5.3 GIẢI THÍCH CHƯƠNG TRÌNH 25
5.4 KẾT LUẬN VÀ TÀI LIỆU THAM KHẢO 26
KẾT QUẢ VÀ THỰC NGHIỆM 26
TÀI LIỆU THAM KHẢO 27
Trang 3
chương 1: GIỚI THIỆU ĐỒNG HỒ THỜI GIAN THỰC VÀ
NHIỆM VỤ ĐỒ ÁN MÔN HỌC.
1.1 GIỚI THIỆU.
Vấn đề thời gian thực ở đây được dùng với ý nghĩa thời gian tuyệt đối mà conngười đang sử dụng Cái hay khi ta làm đồng hồ đếm thời gian thực đó chính làchúng ta có thể biết thời gian hiện tại chính xác là bao nhiêu cho dù khi chúng takhông cấp nguồn cho cái đồng hồ này chạy nhưng lúc sau bật nguồn lên nó vẫnchạy đúng vì IC đếm thời gian thực luôn luôn chạy bằng cục PIN 3v chỉ với cụcpin 3v thôi là nó có thể hoạt động tới mười năm rồi
1.2 NHIỆM VỤ VÀ PHÂN TÍCH NHIỆM VỤ
Trang 4Chương 2: THIẾT KẾ HỆ THỐNG
Trong quá trình tiến hành làm mạch đồng hồ thời gian thực cũng có gặp một
số khó khăn đó là, ban đầu là mắc phải lỗi trong thiết kế phần cứng đó là mắc điện trở 4.7k như hình 1
Hình 1 hình 2.
kết quả là không đủ dòng kích cho led và biên pháp khắc phục là mắc điện trở
các led sáng mờ và có một led thì sáng rực rỡ, và cũng đã được khắc phục bằng cách thay đổi thời gian delay hinh 2.
2.2:THIẾT KẾ SƠ ĐỒ KHỐI
4.7k 1k
5v
C1815
J1 Jump 2
6 TRANZITO C1815
Trang 52 Hình 1 (I2C) với nhiều thiết bị và 2 điện trở kéo lên cho SDA, SCL
3
Trang 5
Trang 6Master: là chip khởi động quá trình truyền nhận, phát đi địa chỉ của thiết bị cần
giao tiếp và tạo xung giữ nhịp trên đường SCL
Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ yêu cầu từ
Master SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa chỉ
hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một Chú ý làtrong chuẩn I2C, bit có trọng số lớn nhất (MSB) được truyền trước nhất
SCL –Serial Clock: là đường giữ nhịp nối tiếp, cứ mỗi xung trên đường giữ
nhịp SCL, một bit dữ liệu trên đường SDA sẽ được lấy mẫu (sample) Dữ liệu nốitiếp trên đường SDA được lấy mẫu khi đường SCL ở mức cao trong một chu kỳgiữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL ở mức cao (trừSTART và STOP condition) Chân SDA có thể được đổi trạng thái khi SCL ở mứcthấp
START Condition-Điều kiện bắt đầu: từ trạng thái nghỉ, khi cả SDA và SCL ở
mức cao nếu Master muốn thực hiện một “cuộc gọi”, Master sẽ kéo chân SDAxuống thấp trong khi SCL vẫn cao Trạng thái này gọi là START Condition
STOP Condition-Điều kiện kết thúc: sau khi thực hiện truyền/nhận dữ liệu, nếu
Master muốn kết thúc quá trình nó sẽ tạo ra một STOP condition STOP conditionđược Master thực hiện bằng cách kéo chân SDA lên cao khi đường SCL đang ởmức cao STOP condition chỉ được tạo ra sau khi địa chỉ hoặc dữ liệu đã đượctruyền/nhận
SLA+R/W: 7 bit địa chỉ( 2^7=128 có thể giao tiếp với 128 thiêt bị khách khác) vàbit cuối R/W cho biết là chủ muốn đọc hay ghi lên khách ( 1 là đọc và 0 là ghi )ACKΩ đến 4.7 KΩ :nếu dịa chỉ tới đúng khách thì chủ sẽ nhận được tín hiệu ACKΩ đến 4.7 KΩ từ kháchData byte : khi nhận được ACKΩ đến 4.7 KΩ chủ sẽ truyền 8 bit dữ liệu xuống khách KΩ đến 4.7 KΩ.hi khách
Trang 7nhận xong 8 bít nó sẽ kéo đường ACKΩ đến 4.7 KΩ xuống thấp, để báo chủ biết khách đã nhận chú ý : giá trị dữ liệu được thay đổi khi clock kéo xuống thấp.
Trang 7
Trang 83.2 Nguyên tắc hoạt động DS1307:
DS1307 là chip đồng hồ thời gian thực DS1307 là một sản phẩm của DallasSemiconductor (một công ty thuộc Maxim Integrated Products) Chip này có 7thanh ghi 8-bit chứa thời gian là: giây, phút, giờ, thứ (trong tuần), ngày, tháng,năm Ngoài ra DS1307 còn có 1 thanh ghi điều khiển ngõ ra phụ và 56 thanh ghitrống có thể dùng như RAM DS1307 được đọc và ghi thông qua giao diện nối tiếpI2C của AVR nên cấu tạo bên ngoài rất đơn giản DS1307 có 8 chân như trong hình1
Hình 1 Hai gói cấu tạo chip DS1307
Các chân của DS1307 được mô tả như sau:
- X1 và X2: là 2 ngõ kết nối với 1 thạch anh 32.768KΩ đến 4.7 KΩ.Hz làm nguồn tạo dao động
chochip
- V BAT: cực dương của một nguồn pin 3V nuôi chip
- GND: chân mass chung cho cả pin 3V và Vcc.
- Vcc: nguồn cho giao diện I2C, thường là 5V và dùng chung với vi điều khiển
nếu Vcc không được cấp nguồn nhưng VBAT được cấp thì DS1307 vẫn đang hoạt
động (nhưng không ghi và đọc được).SQW/OUT: một ngõ phụ tạo xung vuông
(Square Wave / Output Driver), tần số của xung được tạo ta chọn trong lúc lập
Trang 9trình
- SCL và SDA là 2 đường giao xung nhịp và dữ liệu của giao diện I2C
R 9
1 K
J 3
J u m p 8 1 3 5 7
J 4 J u m p 8 1 3 5 7
J 5
J u m p 8 1 3 5 7
4.2:MẠCH HIỂN THỊ LED
Trang 9
Trang 10
J 1
J u m p 8
1 3 5 7
J 2
C O N 6
1 3 5
Trên sơ đồ mạch hiển thị led sử dụng tranzitor pnp khi ta kích mức 0 thì tranzitor thông, và
kích tranzitor nào thì cấp nguồn cho led đó sáng, đó là nguyên lý chung của mạch
p i n 3 v +
Trang 11Chương 5: THIẾT KẾ PHẦN MỀM
5.1 THIẾT KẾ MÔ TẢ HOẠT ĐỘNG PHẦN MỀM
Trang 11
Trang 12KΩ đến 4.7 KΩ.HỞI TẠO I2C
THIẾT LẬP THỜI GIAN CHO DS1307
ĐỌC THỜI GIAN TỪ DS1307
HIỂN THỊ THÒI GIAN RA LED 7 ĐOẠN
END
KΩ đến 4.7 KΩ.HỞI TAO DS1307
Trang 14// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void) // PORTB.3
{
i++; // tao thoi gian ngan cach hien thi date & time
}
//*********************************************************
void giay(void) // 31250/255=1S (KHAI BAO TIMER)
{ // tao thoi gian ngan cach hien thi date & time
if(i==122) // i = so lan ngat trong 1s
Trang 15// rtc_get_time(&h,&m,&s); // doc time
// h_ch_1=0x30+h/10; // chia de lay gia tri out led // h_dv_1=0x30+h%10; // gio
Trang 16// h_dv_3=0x30+date%10;
// m_ch_3=0x30+mont/10;
// m_dv_3=0x30+mont%10;
// s_ch_3=0x30+year/10;
Trang 22// Mode: Fast PWM top=FFh
// OC0 output: Inverted PWM
Trang 23// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
// I2C Bus initialization
i2c_init();
// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: On
// Square wave frequency: 1Hz
Trang 24sẽ thông và led đó được cấp nguồn, và phụ thuộc vào các chân dữ liệu xuất mã ra
để hiển thị được số thông qua mã đó
Trong chương trình setup đầu tiên quá trình truyền dữ liệu xuống ds1307 làphát tín hiệu start, sau đó lần lượt là địa chỉ của ds1307 và địa chỉ đến thanh ghi củads1307.sau đó là quá trình lấy thời gian thực từ ds1307 lên và xuất ra led
Trong chương trình chính thì nó kiểm tra điều kiện nếu giờ thực tế đang chạy
Trang 25hiện ở chân PORTA.7 sau đó nó kiểm tra kiều kiện biến tạm với trường hợp(tạm<4) thì nó vào chế độ chỉnh giờ, phút, giây Phụ thuộc vào phím nhấn tănggiảm mà thời gian được điều chỉnh Thời gian lúc này là được lấy từ thời gian thựccủa ds1307 tiếp đó kiểm tra điều kiện (tạm==4) vào chế độ đồng hồ thể thao Nócũng kiểm tra biến tam2 để hiển thị ra từng thời gian được chọn và trường hợp(tạm==5) thì đi hiển thi màn hình thời gian ở chế độ cài đặt.
5.4 KẾT LUẬN VÀ TÀI LIỆU THAM KHẢO.
KẾT QUẢ VÀ THỰC NGHIỆM
Đã hoàn thành nhiệm vụ là thiết kế 1 chiếc đồng hồ thời gian thực có chế độdùng cho đồng hồ thể thao, và có thể hẹn giờ trong quá trình làm thực nghiệm thấyrằng khi làm chúng ta thấy rất nhiều cái sai sót trong quá trình làm và cũng đãđược khắc phục đồng thời cũng học được nhiều kinh nghiệm trong quá trình làm
KΩ đến 4.7 KΩ.ết quả thực nghiệm cuối cùng cho thấy kết quả là mạch chạy ổn định.
HƯỚNG PHÁT TRIỂN CỦA ĐỒ ÁN MÔN HỌC
Thiết kế và làm nhiều ứng dụng hơn nữa từ đồng hồ thời gian thực, chúng tahướng phát triển đề tài làm một chiếc đồng hồ thời vạn niên để nâng cao kiến thức
và hiểu thêm về hoạt động của IC thời gian thực, và nâng cao khản năng lập trình
Trang 25
Trang 26TÀI LIỆU THAM KHẢO
THIẾT KΩ đến 4.7 KΩ.Ế BOARD GIAO TIẾP ( Thầy Trần Văn Hùng ).
Datasheet của IC DS1307,LED 7ĐOẠN , ATMEGA 32
Những wedsite tham khảo như dientuvietnam.vn Vagram.net, cdtvn.net ,họcAVR.com.vn …
Trang 27
Trang 27