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

Đồng hồ điện tử hiển thị led 7 thanh

18 1,2K 6
Tài liệu đã được kiểm tra trùng lặp

Đ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 18
Dung lượng 761,5 KB

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

Nội dung

Tùy theo yêu cầu sử dụng, người dùng có thể nâng cấp, mở rộng cấu hình máy bằng cách ghép nối thêm các card mở rộng hoặc các thiết bị ngoại vi.. Các nhà sản xuất máy tính đã dự trữ sẵn c

Trang 1

MỤC LỤC LỜI NÓI ĐẦU

MỤC LỤC

CHƯƠNG 1 – CƠ SỞ LÝ THYẾT CỦA ĐỒ ÁN

1 Yêu cầu cần thực hiện

2 Tổng quan về ATMEGA8

3 Tổng quan về IC 74HC47

4 Tổng quan về cổng nối tiếp

CHƯƠNG 2 – NỘI DUNG ĐỒ ÁN

1 Phần cứng

2 Phần mềm

3 Sơ đồ mạch

4 Nguyên lý hoạt động

5 Thực nghiệm

CHƯƠNG 3 – KẾT LUẬN

1 Đánh giá chung

a Các kết quả đã đạt được

b Hạn chế, thiếu sót

2 Ứng dụng thực tế và hướng phát triển của đồ án

a Ứng dụng thực tế

b Hướng phát triển của đồ án

PHỤ LỤC

TÀI LIỆU THAM KHẢO

Trang 2

LỜI NÓI ĐẦU

Hiện nay, máy tính là công cụ hữu ích và thiết yếu trong mọi lĩnh vực, đặc biệt là khoa học kỹ thuật Tùy theo yêu cầu sử dụng, người dùng có thể nâng cấp, mở rộng cấu hình máy bằng cách ghép nối thêm các card mở rộng hoặc các thiết bị ngoại vi Các nhà sản xuất máy tính đã dự trữ sẵn các rãnh cắm mở rộng trên bản mạch chính, các cổng ghép nối: song song(LPT), nối tiếp(COM) Đây chính là những vị trí mà kỹ thuật ghép nối máy tính có thể tác động vào Nhờ

có kỹ thuật ghép nối máy tính mà khả năng của máy tính được mở rộng thêm rất nhiều: ví dụ

có thể xây dựng được các hệ thống đo lường hoàn toàn tự động có thể thực hiện được việc giao tiếp giữa hai máy tính từ Châu lục này sang Châu lục khác, …

Để ghép nối máy tính với các thiết bị ngoại vi có bốn khả năng để lựa chọn: Ghép nối qua cổng máy in hay còn gọi là cổng song song; ghép nối qua cổng RS 232 hay còn gọi là cổng nối tiếp; ghép nối qua rãnh cắm mở rộng trên bản mạch chính; ghép nối qua cổng USB Mỗi khả năng đều có những ưu và nhược điểm riêng và đến nay vẫn cùng tồn tại Tùy theo điều kiện, hoàn cảnh cụ thể của bài toán ứng dụng mà trước khi tiến hành ghép nối máy tính ta luôn phải cân nhắc xem nên sử dụng khả năng nào cho thích hợp Theo yêu cầu của đề tài, nhóm sử dụng cổng COM để ghép nối mạch với máy tính

Nhóm ghép nối máy tính gồm 3 thành viên: Lê Quang Khánh, Hồ Bá Linh, Phạm Văn Biên được sự giúp đỡ tận tình của thầy Vũ Trung Kiên đã nhận và thực hiện đề tài “Thiết kế mô hình đồng hồ điện tử sử dụng cổng nối tiếp, hiển thị bằng led 7 đoạn” Tuy đã đạt được yêu cầu của đề tài nhưng nhóm vẫn còn một số hạn chế thiếu sót, nhóm xin chân thành cảm ơn và ghi nhận những ý kiến đóng góp của thầy cô và các bạn

Hà Nội, tháng 5 năm 2010.

Trang 3

CHƯƠNG 1

CƠ SỞ LÝ THYẾT CỦA ĐỒ ÁN

1 Yêu cầu cần thực hiện

Thiết kế mô hình đồng hồ điện tử sử dụng cổng nối tiếp, hiển thị bằng led 7 đoạn

Yêu cầu:

- Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng.

- Sử dụng 4 LED 7 đoạn hiển thị thời gian thực của đồng hồ ở máy tính

- Thiết kế giao diện trên máy tính, trên giao diện cho phép thay đổi các chế độ hiển thị trên 4 LED 7 đoạn: chế độ phút/giây, chế độ giờ/phút

2 Tổng quan về ATMEGA8

Hình 1: Hình dạng thực tế và sơ đồ chân của ATMEGA8.

ATMEGA8 là một con chíp thuộc dòng chíp AVR AVR là một họ vi điều khiển do hãng Atmel sản xuất (Atmel cũng là nhà sản xuất dòng vi điều khiển 89C51) AVR là chip vi điều khiển 8 bits với cấu trúc tập lệnh đơn giản hóa-RISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể hiện ưu thế trong các bộ xử lí

Tại sao lại chọn AVR: so với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc tính hơn

hẳn, hơn cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng:

- Gần như chúng ta không cần mắc thêm bất kỳ linh kiện phụ nào khi sử dụng AVR, thậm chí không cần nguồn tạo xung clock cho chip (thường là các khối thạch anh)

- Thiết bị lập trình (mạch nạp) cho AVR rất đơn giản Một số AVR còn hỗ trợ lập trình on – chip bằng bootloader không cần mạch nạp…

- Bên cạnh lập trình bằng ASM, cấu trúc AVR được thiết kế tương thích C

- Nguồn tài nguyên về source code, tài liệu, application note…rất lớn trên internet

Trang 4

ATMEGA8 có tất cả 28 chân, gồm có: 3 port I/O (PORTB, PORTC, PORTD),1 bộ USART

(chân số 2: PORTD.0 <-> RXD, chân số 3: PORTD.1 <-> TXD)…

3 Tổng quan về IC 74HC47

Hình 2: Hình dạng thực tế và sơ đồ chân của IC 74HC47.

IC 74HC47 là IC giải mã led 7 thanh, các chân ký hiệu A0, A1, A2, A3 là các chân đầu vào

mã nhị phân 4 bit, các chân ký hiệu a, b, c, d, e, f, g các chân ra điều khiển led 7 thanh

4 Tổng quan về cổng nối tiếp

Hình 3: Hình dạng thực tế và sơ đồ chân của cổng COM.

RS-232 là một trong các chuẩn cho các cổng vào/ra tín hiệu của các thiết bị Chuẩn này ra đời năm 1962 (EIA).

Trang 5

Chuẩn RS232 được nối ra một giắc cắm (gọi là cổng COM) Khi sử dụng có thể sử dụng 2 hay tòan bộ chân (pin) của cổng này (có nhiều loại cổng COM phục vụ các chức năng khác nhau gồm loại 4, 9, 15, 37 chân) Nếu mục đích chỉ truyền hoặc nhận tín hiệu giữa hai thiết bị thì ta chỉ cần sử dụng 2 dây (một dây truyền hoặc nhận) và một dây nối đất (GND – ground, hay mass)

RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất Các cổng của RS 232 có ngưỡng điện áp qui ước là -15V tới -3V (mức 1), và 3V tới 15V (mức 0), điện áp từ -3V tới +3V không có ý nghĩa.Chính

vì từ -3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic

từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thời gian ngắn hợp lý Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn Đa số các

hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd (chiều dài cho phép 30 – 50 m)

Trang 6

CHƯƠNG 2 NỘI DUNG ĐỒ ÁN

1 Phần cứng

* Bảng các linh kiện dùng trong mạch:

7

* Cáp nối cổng COM

Hình 4: Cáp và giắc cắm cổng COM.

2 Phần mềm

Trang 7

* CodeVision AVR

Ứng dụng: Lập trình ATMEGA8

Hình 5: Giao diện chương trình CodeVision AVR.

* Microsoft Visual Basic 6

Trang 8

Ứng dụng: Thiết kế giao diện chương trình

Hình 6: Giao diện chương trình VB6.

Giao diện chương trình:

Trang 9

Hình 7: Giao diện chương trình.

3 Sơ đồ mạch

Trang 10

Hình 8: Sơ đồ nguyên lý mạch.

4 Hoạt động

- Cắm cắp cổng COM từ máy tính vào mạch.

- Cắm giắc USB để cấp nguồn cho mạch.

- Bật phần mềm giao diện trên máy tính lên -> ghep noi.exe

Ban đầu chương trình mặc định hiển thị phút-giây, để thay đổi cách hiển thị chỉ cần nhấn chuột vào button giờ-phút, để tắt chương trình nhấn chuột vào nút exit

5 Thực nghiệm

CHƯƠNG 3 – KẾT LUẬN

Trang 11

1 Đánh giá chung

a Các kết quả đã đạt được

- Đáp ứng được cơ bản yêu cầu của đề tài: Làm được mạch và hoạt động tốt, thực hiện kết nối thành công với máy tính bằng cổng COM, thiết kế được giao diện ghép nối và sử dụng hiệu quả

- Nghiên cứu và tìm hiểu cấu tạo, nguyên lý hoạt động của cổng COM, các linh kiện điện tử như: ATMEGA 8, IC 74HC47, …

b Hạn chế, thiếu sót

- Chưa có các đầu cắm để ghép nối với các modul khác

- Tính ứng dụng thực tế của mạch vẫn chưa cao.

2 Ứng dụng thực tế và hướng phát triển của đồ án

a Ứng dụng thực tế

- Xem thời gian máy tính đơn giản, thú vị

b Hướng phát triển của đồ án

- Có thể ghép nối với các modul khác để tạo ra mạch mới để tạo ra các mạch hẹn giờ, báo

động, …

- Có thể sử dụng nguyên lý của đồ án này để tạo ra lịch vạn niên có thể cài đặt hiển thị được

ngày giờ, tháng năm,…

PHỤ LỤC

Trang 12

1 Code AVR

#include <mega8.h>

#include <stdio.h>

#include <delay.h>

#define I SREG.7 //bit cho phep ngat toan cuc

#define kt_truyen UCSRA.7 //bit bao truyen du lieu

#define kt_nhan UCSRA.6 //bit bao nhan du lieu

#define data_emty UCSRA.5 //bit bao trong bo dem

#define loa PORTC.4

#define led_1 PORTB.1

#define led_2 PORTB.2

#define led_3 PORTB.3

#define led_4 PORTB.4

#define fonts PORTC //fonts led

#define sw PIND.2 //nut nhan chuyen che do

char M[11]={0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19}; //mang fonst

unsigned char data,dem=0;

char gps[5]; //mang giu lieu

//gps[0] ki tu kiem tra hien thi gio hay phut

//gps[1] phan tu gio

//

//*****************HIEN THI SO******************

void hien_thi_led_1(char so)

{

char a,b;

a=so/10;

b=so-a*10;

led_1=1;

led_2=led_3=led_4=0;

Trang 13

fonts=M[a];

delay_ms(5);

led_1=led_3=led_4=0;

led_2=1;

fonts=M[b];

delay_ms(5);

}

void hien_thi_led_2(char so)

{

char a,b;

a=so/10;

b=so-a*10;

led_3=1;

led_1=led_2=led_4=0;

fonts=M[a];

delay_ms(5);

led_1=led_2=led_3=0;

led_4=1;

fonts=M[b];

delay_ms(5);

}

//******************NGAT NHAN USART*******************

interrupt [USART_RXC] void nhan_data(void)

{

data=UDR; //doc giu lieu tu thanh ghi dem

gps[dem]=data; //luu giu lieu vao mang

dem++;

if(dem>3)dem=0;

}

//******************************************************

Trang 14

void main(void)

{

PORTB=0x00;

DDRB=0x1E;

PORTC=0x16;

DDRC=0x1F;

PORTD=0x04;

DDRD=0x00;

//****************setting USART(truyen nhan noi tiep)************************

UBRRH=0; //

UBRRL=0x4D; //toc do baud 9600 UBRR=fosc/(16*BAUD)-1

UCSRA=0; //chu yeu la bit trang thai do ko dung truyen thong da su ly

//va ko nhan doi toc do truyen nen UCSRA=0

UCSRB=0x98; //cho phep ngat nhan,kich hoat nhan va truyen

UCSRC=0x86; //che do ko dong bo,8bit,ko kt chan le,1bit start stop

I=1; //cho phep ngat toan cuc

//******************************************************

MCUCSR=0x0F; //chong reset chip ko can lam trong mach nay

while(1)

{

do

{

hien_thi_led_1(gps[1]); //

hien_thi_led_2(gps[2]); //hien thi data trong mang giu lieu

UDR='s'; //yeu cau may tinh gui data xuong

}while(gps[0]=='g'); //lam trong khi chon che do gio phut

do

Trang 15

{

hien_thi_led_1(gps[2]); //

hien_thi_led_2(gps[3]); //hien thi data trong mang giu lieu

UDR='s'; //yeu cau may tinh gui data xuong

}while(gps[0]=='p'); //lam trong khi chon che do phut giay

}

}

2 Code VB6

Dim chg As String ‘khai bao bien chon che do gio-phut hay phut-gaiy

Private Sub EXIT_Click() ‘khi nhan nut exit

MSComm1.PortOpen = False ‘tat cong com

End ‘tat chuong trinh

End Sub

Private Sub Form_Load()

MSComm1.CommPort = 1 ‘chon com 1

MSComm1.Settings = "9600,n,8,1" ‘cai dat che do cho bo truyen nhan

MSComm1.RThreshold = 1 'nhan dc 1 byte du lieu thi ngat

MSComm1.InputLen = 1 'moi lan lay chi lay 1 byte du lieu dau cua bo dem MSComm1.PortOpen = True ‘mo cong com

chg = "p" ‘chon hien thi che do phut-giay

End Sub

Private Sub giophut_Click() ‘khi nut gio-phut dc nhan

Timer3.Enabled = False ‘tat timer3

Timer2.Enabled = True ‘bat timer2

Timer2.Interval = 200 ‘thoi gian ngat

chg = "g" ‘chon hien thi gio-phut

End Sub

Trang 16

Private Sub MSComm1_OnComm() ‘ngat cong com

Dim data As String ‘khai bao bien data dang string

data = MSComm1.Input ‘doc giu lieu

If data = "s" Then ‘so sanh neu data=”s” thi thuc hien

MSComm1.Output = chg 'gui data chon che do xuong VDK

MSComm1.Output = Chr(Hour(Now)) 'gui gio

MSComm1.Output = Chr(Minute(Now)) 'gui phut

MSComm1.Output = Chr(Second(Now)) 'gui giay

End If

End Sub

Private Sub phutgiay_Click() ‘khi nut phut giay duoc nhan

Timer2.Enabled = False ‘tat timer2

Timer3.Enabled = True ‘bat timer3

Timer3.Interval = 100 ‘thoi gian ngat 100mms

chg = "p" ‘chon che do phut-giay

End Sub

Private Sub Timer1_Timer() ‘ngat timer 1

Dim x As String ‘

Dim y As String ‘

x = Left(Text4.Text, 1) ‘chuong trinh chay chu

y = Right(Text4.Text, Len(Text4.Text) - 1) ‘

Text4.Text = y + x ‘

End Sub

Private Sub Timer2_Timer() 'hien thi gio phut ‘ngat timer2

Text1.Text = Hour(Now) ‘hien thi gio tren textbox 1

Text3.Text = Minute(Now) ‘hien thi phut tren textbox 3

End Sub

Trang 17

Private Sub Timer3_Timer() 'hien thi phut giay ‘ngat timer3

Text1.Text = Minute(Now) ‘hien thi phut tren textbox 1

Text3.Text = Second(Now) ‘hien thi giay tren textbox 1

End Sub

TÀI LIỆU THAM KHẢO

Trang 18

1 Giáo trình Ghép nối máy tính (Thầy Vũ Trung Kiên ĐH Công nghiệp Hà Nội).

2 Website: http://www.dientuvietnam.net/forums/, http://www.hocavr.com/

Ngày đăng: 28/07/2014, 18:07

HÌNH ẢNH LIÊN QUAN

Hình 1: Hình dạng thực tế và sơ đồ chân của ATMEGA8. - Đồng hồ điện tử hiển thị led 7 thanh
Hình 1 Hình dạng thực tế và sơ đồ chân của ATMEGA8 (Trang 3)
Hình 4: Cáp và giắc cắm cổng COM. - Đồng hồ điện tử hiển thị led 7 thanh
Hình 4 Cáp và giắc cắm cổng COM (Trang 6)
Hình 5: Giao diện chương trình CodeVision AVR. - Đồng hồ điện tử hiển thị led 7 thanh
Hình 5 Giao diện chương trình CodeVision AVR (Trang 7)
Hình 6 :  Giao diện chương trình VB6. - Đồng hồ điện tử hiển thị led 7 thanh
Hình 6 Giao diện chương trình VB6 (Trang 8)
Hình 7: Giao diện chương trình. - Đồng hồ điện tử hiển thị led 7 thanh
Hình 7 Giao diện chương trình (Trang 9)
Hình 8: Sơ đồ nguyên lý mạch. - Đồng hồ điện tử hiển thị led 7 thanh
Hình 8 Sơ đồ nguyên lý mạch (Trang 10)

TỪ KHÓA LIÊN QUAN

w