BÁO CÁO THỰC HÀNH LẬP TRÌNH KỸ THUẬT - Pdf 28

Bùi Kim Thành & Nguyễn Văn Tân
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HCM
KHOA CƠ - ĐIỆN - ĐIỆN TỬ
BÁO CÁO
THỰC HÀNH LẬP TRÌNH KỸ THUẬT
GVHD: TH.S PHẠM QUỐC PHƯƠNG
SVTH : NGUYỄN VĂN TÂN
BÙI KIM THÀNH
MSSV: 107106030
107106032
TP.HCM Ngày 5 tháng 9 năm 2010
1
Bùi Kim Thành & Nguyễn Văn Tân
Mục lục
Trang
Lời nói đầu 2
Phần I: Mạch điện 3
I: Linh kiện 3
II: Sơ đồ mạch điện 3
Phần II: Lập trình 4
I:Lưu đồ giải thuật 4
I: Lập trình cho AVR 6
II: Lập trình VB 9
Kết luận 22
Tài liệu tham khảo 22
2
Bùi Kim Thành & Nguyễn Văn Tân
LỜI NÓI ĐẦU
Trong thời đại ngày nay, khoa học kỹ thuật phát triển rất nhanh. Các hệ
thống dây truyền sản xuất tự động phát triển rất mạnh. Việc áp dụng công nghệ

Chương trình con
đọc ADC
Khai báo kênh
đọc ADC
Lặp đến khi nào
thanh ghi ADIF
=1
trả về giá trị của
thanh ghi ADCW
Bùi Kim Thành & Nguyễn Văn Tân
6
xuất led 7 đoạn
chương con
xuất led 7
đoạn
truyền giá trị
ADC lên máy
tính
chương trình
con truyền
lặp cho đến khi
thanh ghi UDRE=0
Đua giá trị truyền
vào thanh ghi UDR
ngắt khi nhận
END
Bùi Kim Thành & Nguyễn Văn Tân
II.Lập trình cho AVR:
#include <avr/io.h>
#include <avr/interrupt.h>

tram=temp_val/100;
temp_val-=(100*tram);
chuc=temp_val/10;
dvi=temp_val-(10*chuc);
PORTB=(chuc<<4)+dvi;
PORTC=(nghin<<4)+tram;
}
int main(void)
{
ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS0);//
ADMUX=giatrithamchieuADC;
DDRA=0x00;// khai bao PORTA in
DDRD=0xFE;// khai bao PORTD out
8
Bùi Kim Thành & Nguyễn Văn Tân
DDRB=0xFF;// khai bao PORTB out
DDRC=0xFF;// khai bao PORTC out
//set baud, 57.6k ung voi f=8Mhz,
UBRRH=0;
UBRRL=51;

//set khung truyen va kich hoat bo nhan du lieu
UCSRA=0x00;
UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UCSRB=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE);// khai bao truyen ,nhan,ngat
khi nhan
sei();
while(1)
{
giatriADC=docADC(0)/2.05;//dua gia tri ADC vao bien ADC_val

Private Sub exit_Click()
End
End Sub

Private Sub Form_Load()
On Error Resume Next
Timer1.Enabled = True
Timer6.Enabled = True
Timer7.Enabled = True
a = "bui-kim-thanh"
b = "nguyen-van-tan"
c = Len(a)
11
Bùi Kim Thành & Nguyễn Văn Tân
d = Len(b)
e = 1
f = 1
s = 0
dem = 0
tat = 10
dongco = 0
dem2 = 0
i = 1
Text1.Text = 150
'khai bao bieu do
With bieudo
.AutoRedraw = False
.XSpan = 1 / 24 / 60
.XMax = Now
.XMin = .XMax - .XSpan

13
Bùi Kim Thành & Nguyễn Văn Tân
'hien chu tren hang led1
Private Sub Timer1_Timer()
hangled1.AlphaText = Left(a, e)
If e = c Then
Timer2.Enabled = True
Timer1.Enabled = False
e = 0
End If
e = e + 1
End Sub

' HIEN CHU TREN HANG LED 1
Private Sub Timer2_Timer()
hangled1.AlphaText = hangled1.AlphaText + Space(1)
If Len(hangled1.AlphaText) = hangled1.LEDBitNum + 15 Then
Timer3.Enabled = True
Timer2.Enabled = False
End If
End Sub

' HIEN CHU TREN HANG LED 1
Private Sub Timer3_Timer()
14
Bùi Kim Thành & Nguyễn Văn Tân
hangled1.AlphaText = Left(b, f)
If f = d Then
Timer4.Enabled = True
Timer3.Enabled = False

If dem2 = 2 Then
Timer6.Enabled = False
Timer5.Enabled = True
dem2 = 0
End If
dem2 = dem2 + 1
End Sub

'DONG MO CONG COM
Private Sub Timer7_Timer()
On Error Resume Next
Select Case congtac.Value
16
Bùi Kim Thành & Nguyễn Văn Tân
Case True
With MSComm1
.CommPort = 2
.Settings = "9600,N,8,1"
.PortOpen = True
.InputLen = 0
End With
If i = 1 Then
Timer9.Enabled = True
pause.Caption = "PAUSE"
End If
i = i + 1
Timer8.Enabled = True
Case False
MSComm1.Output = Chr(0)
bieudo.ClearAll

18
Bùi Kim Thành & Nguyễn Văn Tân
dung.Value = False
antoan.Value = True
canhbao.Value = False
MSComm1.Output = Chr(160)
ElseIf gioihan <= bdo And dongco = 0 Then
chay.Value = False
dung.Value = True
antoan.Value = False
canhbao.Value = True
MSComm1.Output = Chr(64)
ElseIf gioihan <= bdo And dongco = 1 Then
chay.Value = True
dung.Value = False
antoan.Value = False
canhbao.Value = True
MSComm1.Output = Chr(192)
End If
End Sub

'//// QUET GIA TRI DE XUAT RA DONG HO VA BIEU DO
Private Sub Timer9_Timer()
Do
19
Bùi Kim Thành & Nguyễn Văn Tân
DoEvents
Loop Until MSComm1.InBufferCount >= 1
bdo = Asc(MSComm1.Input)
dongho.HandValue = bdo

End Sub
21
Bùi Kim Thành & Nguyễn Văn Tân
KẾT LUẬN
Bài báo cáo của nhóm của nhóm còn khá ngắn gọn, chưa sử dụng hết các
chân của AVR. Trong lập trình dao diện với người sử dụng còn đơn giản nhưng
cũng phần nào cho thấy sự giao tiếp giữa vi điều khiển và máy tính. Bài báo cáo
của nhóm còn nhiều hạn chế mong thầy và các bạn góp ý thêm.
TÀI LIỆU THAM KHẢO
[1].www.hocavr.com
[2].Visual basic 6.0
22
Bùi Kim Thành & Nguyễn Văn Tân
23


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