25/05/2018, 07:21

Đo lường sử dụng máy tính

Tạo một Form bằng VB như sau: Trong FORM có: 1 đối tượng picturebox chứa logo của DKS. Có 10 đối tượng button trong đó 8 đối tượng button Led1...Led8 là một mảng button có tên từ Command1(0) ... ...

Tạo một Form bằng VB như sau:

Trong FORM có: 1 đối tượng picturebox chứa logo của DKS. Có 10 đối tượng button trong đó 8 đối tượng button Led1...Led8 là một mảng button có tên từ Command1(0) ... Command1(7). Muốn tạo một mảng button ta chỉ việc lấy ra 8 đối tượng button và sửa tên tất cả chúng thành Command 1. Hai button còn lại là Phản hồi và Exit. Có một textbox để hiển thị dữ liệu phản hồi.

Hoạt động của phần mềm như sau:

Khi nhấn vào button Led 1 thì truyền dữ liệu là 0x01 xuống cổng nối tiếp của PC, AVR nhận được và đưa dữ liệu đó ra cổng của AVR để 1 led trên Kit sáng. Tương tự cho bấm các nút Led còn lại. Đồng thời AVR gửi luôn giá trị vừa nhận được lên PC. Và khi bấm nút phản hồi thì dữ liệu đó hiện ra trên Textbox. Khi nhấn nút Exit thì thoát khỏi phần mềm.

Thực hành:

Phần mềm trên VB Code như sau:

Private Sub Command1_Click(Index As Integer) 

If Index = 0 Then

MSComm1.Output = Chr$(1) 

End If

If Index = 1 Then 

MSComm1.Output = Chr$(2) 

End If

If Index = 2 Then 

MSComm1.Output = Chr$(4) 

End If

If Index = 3 

Then MSComm1.Output = Chr$(8) 

End If

If Index = 4 

Then MSComm1.Output = Chr$(16) 

End If

If Index = 5 Then 

MSComm1.Output = Chr$(32) 

End If

If Index = 6 Then 

MSComm1.Output = Chr$(64) 

End If

If Index = 7 Then 

MSComm1.Output = Chr$(128) 

End If

End Sub

Private Sub Command2_Click()

MSComm1.PortOpen = False End

End Sub

Private Sub Command3_Click() 

If MSComm1.Input = "" Then 

Exit Sub

Else

Text1.Text = Asc(MSComm1.Input) 

End If

End Sub

Private Sub Form_Load() 

MSComm1.CommPort = 1

MSComm1.Settings = "9600,n,8,1" 

MSComm1.PortOpen = True

End Sub

Firm ware:

Khởi tạo trong CodeVision AVR cho phép cổng nối tiếp hoạt động, PORTD là out put như các bài trước đã học. Sau đó lập trình cho hàm main như sau:

Trong hàm main có sử dụng thêm một biến temp nên dĩ nhiên các bạn phải khai báo thêm biến đó ở phía ngoài hàm main.

Nạp chương trình vào chip AVR

Kết nối dây cổng Com từ KIT và cổng Com máy tính và test kết quả.

Đo ADC từ biến trở và LM35.

Trên VB tạo ra một giao diện phần mềm như sau:

Form gồm có:

4 label để hiển thị như hình.

2 text box để hiển thị dữ liệu.

2 button: Thu du lieu và Thoat khỏi phần mềm.

Code trên VB như sau:

Private Sub Command1_Click() 

If MSComm1.Input = "" Then 

Exit Sub

Else

Text1.Text = Asc(MSComm1.Input) 

Text2.Text = Asc(MSComm1.Input) 

End If

End Sub

Private Sub Command2_Click() 

MSComm1.PortOpen = False

End

End Sub

Private Sub Form_Load() 

MSComm1.CommPort = 1

MSComm1.Settings = "9600,n,8,1" 

MSComm1.PortOpen = True

End Sub

Firm Ware:

Khởi tạo bằng CodeWinzard AVR cho cổng nối tiếp USART hoạt động, cho phép ADC hoạt động(interrupt) như các bài trước sau đó viết code cho hàm main như sau:

Dịch nạp chương trình và test

0