You are on page 1of 16

ĐẠI HỌC LẠC HỒNG

KHOA CƠ ĐIỆN-ĐIỆN TỬ
---

BÁO CÁO 60%

MÔN HỌC:

VI ĐIỀU KHIỂN
Đề tài:

Điều khiển đèn giao thông có led 7 đoạn hiển thị


thời gian và có thể dùng máy tính để thay đổi
được thời gian chuyển trạng thái của đèn

SVTH: LÊ MINH TÀI


BÙI HOÀNG NGUYÊN
LÊ ĐỨC VƯỢNG
GVHD: ThS. NGÔ KIM LONG

Đồng nai, 2019


Mục lục
CHƯƠNG 1 MỞ ĐẦU ...........................................................................................2
1.1 Lý do chọn đề tài ..........................................................................................2
1.2 Mục tiêu nghiên cứu ....................................................................................2
1.3 Phạm vi nghiên cứu .....................................................................................2
1.4 Kết quả dự kiến đạt được................................................................................2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT ........................................................................3
2.1 Phân tích đề tài .................................................................................................3
2.1.1 Sơ đồ khối hệ thống ...................................................................................3
2.2 Phân chia các tác vụ (task) ..............................................................................3
2.2.1 Lưu đồ giải thuật .......................................................................................3
CHƯƠNG 3 THIẾT KẾ ..........................................................................................5
3.1 Thống kê I/O ....................................................................................................5
3.2 Sơ đồ kết nối phần cứng ..................................................................................5
3.3 Phần mềm .........................................................................................................6
CHƯƠNG 4 KẾT LUẬN ......................................................................................11
4.1 Kết quả đạt được...........................................................................................11
4.2 Tiêu đề mục 4.2 ..............................................................................................11
TÀI LIỆU THAM KHẢO ........................................................................................1
PHỤ LỤC (nếu có) .................................................................................................... i
DANH MỤC BẢNG BIỂU ....................................................................................... i
DANH MỤC HÌNH ẢNH .........................................................................................2
CHƯƠNG 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Dựa vào những kiến thức đã học về vi điều khiển ở trường cũng như sự thiết
thực về hệ thống đèn báo hiệu giao thông ở ngoài đợi thực. Được sự giúp đỡ của
thầy Ngô Kim Long nên nhóm chọn đề tài “Điều khiển đèn giao thông có led 7
đoạn hiển thị thời gian và có thể dùng máy tính để thay đổi được thời gian
chuyển trạng thái của đèn”.
1.2 Mục tiêu nghiên cứu
Sử dụng Timer/Counter để hiển thị thời gian trên led 7 đoạn.
Cách hoạt động của hệ thống đèn giao thông.
Sử dụng máy tính để thay đổi thời gian chuyển trạng thái thông qua cổng COM.
1.3 Phạm vi nghiên cứu
Hệ thống đèn giao thông.
UART trong Arduino AT Mega 2560.
1.4 Kết quả dự kiến đạt được
Hoàn thành mô hình của đề tài.
Lập trình hệ thống đèn giao thông sử dụng Timer / Counter.
Giao tiếp Arduino với máy tính qua cổng COM.
Cải thiện khả năng làm việc nhóm.

2
Chương 4 Kết quả

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Phân tích đề tài
Đề tài bao gồm 2 phần chính:
1. Điều khiển đèn giao thông có led 7 đoạn hiển thị thời gian.
2. Dùng máy tính để thay đổi được thời gian chuyển trạng thái của đèn.
2.1.1 Sơ đồ khối hệ thống
Dựa vào đề tài, ta có thể có các khối chức năng sau
Led 7 đoạn: Hiển thị thời gian của đèn.
Traffic lights: Hiển thị trạng thái của đèn
Timer/Counter: Đếm thời gian của đèn giao thông
UART: Thay đổi thời gian các trạng thái của đèn
2.2 Phân chia các tác vụ (task)
Dựa vào yêu cầu của đề tài, ta phân ra được một số tác vụ nhỏ hơn:
Bảng 2. 1 Thống kê số tác vụ thực hiện
TÊN BIẾN
STT TÊN TÁC VỤ MÔ TẢ
(NẾU CÓ)
Chuyển trạng thái Sau một thời gian nhất định ứng với mỗi
đèn và thời gian gắn trạng thái đèn sẽ chuyển sang trạng thái
1 với nó. đèn kế tiếp {Mặc định ban đầu là: đèn
xanh (9 giây), đèn đỏ (12 giây) và đèn
vàng (3 giây)} sử dụng timer/counter

2.2.1 Lưu đồ giải thuật


Đưa ra lưu đồ giải thuật của từng tác vụ và giải thích các lưu đồ đó…

3
Chương 4 Kết quả

Hình 2. 1 Sơ đồ nguyên lý (Font size 12pt, tô đậm Hình 2.1)

4
Chương 4 Kết quả

CHƯƠNG 3 THIẾT KẾ
3.1 Thống kê I/O
Bảng 3. 1 Số lượng Input của đề bài
STT TÊN INPUT ĐỊA CHỈ MÔ TẢ CHỨC NĂNG
1 RX0 PE0/RXD0/PCINT8/PDI Nhận dữ liệu giao tiếp từ máy
tính
Bảng 3. 2 Số lượng Output của đề bài
STT TÊN OUTPUT ĐỊA CHỈ MÔ TẢ CHỨC NĂNG
TX0 PE1/TXD01/PD0 Trả dữ liệu về máy tính trong khi
1
giao tiếp
2 Đỏ 1 PF0/ADC0 Bật tắt đèn đỏ 1
3 Vàng 1 PF1/ADC1 Bật tắt đèn vàng 1
4 Xanh 1 PF2/ADC2 Bật tắt xanh 1
5 Đỏ 2 PF3/ADC3 Bật tắt đèn đỏ 2
6 Vàng 2 PF4/ADC4/TCK Bật tắt đèn vàng 2
7 Xanh 2 PF5/ADC5/TMS Bật tắt xanh 2
8 Chục 1 ̅̅̅̅̅
PG0/𝑊𝑅 Bật tắt led hàng chục 1
9 Đơn vị 1 ̅̅̅̅
PG1/𝑅𝐷 Bật tắt led hàng đơn vị 1
10 Chục 2 PG2/ALE Bật tắt led hàng chục 2
11 Đơn vị 2 PG3/TOSC2 Bật tắt led hàng đơn vị 2
12 7SEG-MPX2-1 PORT (H0-H6) Hiển thị số lên đèn giao thông 1
13 7SEG2-MPX2-2 PORT (J0-J6) Hiển thị số lên đèn giao thông 2
3.2 Sơ đồ kết nối phần cứng
Sản phẩm mô phỏng

5
Chương 4 Kết quả

Hình 3. 1 Sản phẩm mô phỏng của đề tài


3.3 Phần mềm
Code cho từng tác vụ:
Code tác vụ 1 :
#include <io.h>
#include <delay.h>
unsigned char v=3,d=11,v1=3,d1=12,j=0,t=0,k=0,k1=0,t1=0;
unsigned char
led7[]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,0b0110110
1,0b01111101,0b00000111,0b01111111,0b01101111};
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
TCNT1H=0xBDC >> 8;
TCNT1L=0xBDC & 0xff;
if (j==0)
{
d--;
if (k==8)

6
Chương 4 Kết quả

{
j++;
}
k++;
}
if (j==1)
{
v--;
if (t==3)
{
j++;
}
t++;
}
if (j==2)
{
d1--;
if (k1==9)
{
j++;
}
k1++;
}
if (j==3)
{
v1--;
if (t1==3)
{
j++;
}
t1++;

7
Chương 4 Kết quả

}
if (j==4)
{
j=0;
d=11;
v=3;
d1=12;
v1=3;
t=k=t1=k1=0;
}
}
unsigned char caidat(unsigned char m,unsigned char n)
{
PORTG=0x04;
PORTJ=led7[m%10];
delay_ms(1);
PORTG=0x08;
PORTJ=led7[m/10];
delay_ms(1);
PORTJ=0x00;
PORTG=0x01;
PORTH=led7[n%10];
delay_ms(1);
PORTG=0x02;
PORTH=led7[n/10];
delay_ms(1);
PORTH=0x00;
}
void main (void)
{
#pragma optsize-

8
Chương 4 Kết quả

CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) |
(0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) |
(0<<COM1C1) | (0<<COM1C0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (1<<CS12) |
(0<<CS11) | (0<<CS10);
TCNT1H=0x0B;
TCNT1L=0xDC;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;
TIMSK1=(0<<ICIE1) | (0<<OCIE1C) | (0<<OCIE1B) | (0<<OCIE1A) | (1<<TOIE1);
#asm("sei")
DDRF=0b11111111;
DDRG=0b11111111;
DDRH=0b11111111;
DDRJ=0b11111111;
while (1)
{
if (j==0)
{
PORTF=0b00001100;

9
Chương 4 Kết quả

caidat(d,d-3);
}
if (j==1)
{
PORTF=0b00001010;
caidat(v,v);
}
if (j==2)
{
PORTF=0b00100001;
caidat(d1-3,d1);
}
if (j==3)
{
PORTF=0b00010001;
caidat(v1,v1);
}
}
}

10
Chương 4 Kết quả

CHƯƠNG 4 KẾT LUẬN

4.1 Kết quả đạt được


4.2 Tiêu đề mục 4.2

11
TÀI LIỆU THAM KHẢO
PHỤ LỤC (nếu có)

i
DANH MỤC BẢNG BIỂU
Bảng 2. 1 Thống kê số tác vụ thực hiện ........................................................................3
Bảng 3. 1 Số lượng Input của đề bài .............................................................................5
Bảng 3. 2 Số lượng Output của đề bài ...........................................................................5
DANH MỤC HÌNH ẢNH
Hình 2. 1 Sơ đồ nguyên lý (Font size 12pt, tô đậm Hình 2.1) ...................................4

Hình 3. 1 Sản phẩm mô phỏng của đề tài ...................................................................6

You might also like