Vẽ mạch trên proteusLập trình cho vi điều khiển trên keil C Lập trình trên máy tính dùng C# Thiết lập kết nối giữa Visual Studio 2008 và proteus bằng virtual COM.. Các phần mềm cần cài đ
Trang 1Vẽ mạch trên proteus
Lập trình cho vi điều khiển trên keil C
Lập trình trên máy tính dùng C#
Thiết lập kết nối giữa Visual Studio 2008 và proteus bằng virtual COM.
Các phần mềm cần cài đặt:
B1:Lập trình điều khiển đèn LED1 và LED2 qua các nút nhấn trên giao diện máy tính:
Phương pháp:
trên PC : tạo giao diện có 2 nút nhấn led1, led2 khi ta nhấn nút led1 thì truyền ký tự ‘A’ xuống vđk
Khi nhấn nút led2 thì truyền kt ‘B’.
Trên VĐK :
khi nhận kt ‘A’ => đk led1 sáng.
khi nhận kt ‘B’ => đk led2 sáng.
Ngôn ngữ lập trình:
Trên PC: C#
Trên Vđk: keilc hoặc assembly.
Các bước làm:
Trang 21 Protues (Xem Ví dụ)
Chú ý : Ta phải chỉnh lại thông số cho Cổng Com ảo trong Protues như sau :
- Double click vào Ta được hình sau :
- Chỉnh thông số Cổng Com cho phù hợp với thông số ta chỉnh trên phần mềm Visual Studio 2008.
Trang 32 Trên Visual Studio 2008 (C#)
Bước 1 : Mở chương trình Visual Studio :
Bước 2 : Tạo Project mới :
Trang 4Bước 3 : Tạo File C#
- Chọn Windows Forms Application, nhập tên Project như hình dưới
Bước 4 : Chọn Button trong Toolbox như hình dưới : (Nếu không thấy Toolbox như hình, thì bạn vào Tab View lấy ra)
Trang 5Bước 5 : Chọn SerialPort để giao tiếp như hình.
Bước 6 : Đổi tên button :
- Click 1 cái lên button cần đổi tên
- Chọn tab Properties như hình dưới
- Nhập tên mong muốn vào dòng Text
- Enter
Trang 6Bước 7 : Cấu hình cho SerialPort :
- Click 1 cái vào biểu tượng serialPort ở phía dưới như hình sau
- Mở tab Properties
- Chỉnh các thông số như hình
Bước 8 : Viết code cho Form, ta làm như hình sau :
Click vào vùng của Form
1
2
Click vào biểu tượng như hình
3
Nhập tên tùy ý
và Enter
Trang 7Bước 9 : Copy đoạn code sau vào để được như sau :
private void Form1_Load( object sender, EventArgs e)
{
if (serialPort1.IsOpen) serialPort1.Close();
serialPort1.Open();
}
Bước 10 : Chọn như hình sau:
Click vào vùng của Form
2
3
Click vào biểu tượng như hình
4
Nhập tên tùy ý
và Enter
Chọn giao diện Form
1
Trang 8Bước 11 : Copy đoạn code sau vào để được như sau :
private void Form1_FormClosed(object sender, FormClosedEventArgs e) {
if (serialPort1.IsOpen) serialPort1.Close();
}
Bước 12 : Lập trình cho Button LED1
- Trở lại giao diện Form như bước 10
- Double Click vào Button LED1
- Copy code vào để được như sau :
private void button1_Click( object sender, EventArgs e) {
serialPort1.Write("A");
}
Bước 13 : Làm như bước 12 cho Button LED2
Trang 9Cuối cùng ta được đoạn code đầy đủ như hình sau :
Trang 103 Trên Keil-C
Khởi động keilc :=> vào project/new
Chọn vđk
Viết file led.c
Click on file/ new
Gõ lệnh hoặc copy:
#include <REGX51.H>
#include <stdio.h>
//=========================
#define led1 P0_0
#define led2 P0_1
Trang 11unsigned char ch;
//==========================
void SetupSerial()
{
TH1 = 0xfd ; /* toc do 9600 baud */
TL1 = 0xfd ;
}
//===========================
{
if(RI)
{RI=0;
}}
//===========================
void delay(long time)
{ long n;
for(n=0;n<time;n++){;}
}
void main()
{
SetupSerial(); //Khoi tao cac thong so cho truyen thong noi tiep
// VIET CT:
while(1)
{
if (ch==65){ //65 la ma DEC cua chu A
led1=0;
led2=1;
}
if (ch==66){ //66 la ma DEC cua chu B
led1=1;
led2=0; }
}
}
Lưu lại:
Trang 12Thêm file dkleddon.c vào project
Trang 13Thiết lập thông số cho vđk:
chọn thạch anh 12 Mhz
chọn tab output; chọn tùy chọn tạo file hex
Click build để tạo file hex:
Trang 14Kết thúc keil c
THIẾT LẬP KẾT NỐI PC<-> PROTEUS DÙNG COM ẢO:
LƯU Ý: CHỌN CỔNG COM X KHÔNG CÓ TÊN SAU ĐÂY(TÙY THUỘC VÀO MỖI MÁY):
Giả sử chọn cổng COM1 (nếu chọn cổng COM khác thì phải vào Visual Studio chỉnh lại tên cổng Com trong hàm Setting())
Chọn COM1 kết nối COM2
=>
Chạy PROTEUS:
Vẽ mạch
NẠP chương trình cho vđk:
Click vào để tạo Cặp Com ảo
Trang 15Chọn file hex đã dịch trên keilc
Chạy PROTEUS VÀ CT TRÊN VISUAL STUDIO
THƯỞNG THỨC