Tải bản đầy đủ (.doc) (18 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (529.12 KB, 18 trang )

BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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.
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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.
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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).
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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).
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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:
STT Tên linh kiện Số lượng Thông số kỹ thuật Ghi chú
1 ATMEGA8L 1 Power 2,5-5,5V
2 IC 74HC47 1

3 Cổng com cái 1
4 7SEG dual 2 Anot chung
5 Transitor C828 2
6 Thạch anh 1 F = 12MHz
7
Điện trở
2 1k
3 10k
9 Công tắc 1
10 Led đơn 1 red
11 Tụ hóa 2 10uF
12 Tụ gốm 2 33pF
* 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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:
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 9
Hình 7: Giao diện chương trình.
3. Sơ đồ mạch
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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;
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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;
}
//******************************************************
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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
GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên
BÁO CÁO ĐỒ ÁN GHÉP NỐI MÁY TÍNH 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: />GVHD: Thầy Vũ Trung Kiên SVTH: Lê Quang Khánh
Hồ Bá Linh
Phạm Văn Biên

×