Professional Documents
Culture Documents
MỤC LỤC..................................................................................................................... 1
LỜI MỞ ĐẦU...............................................................................................................2
Chương 1: PHÂN TÍCH BÀI TOÁN............................................................................3
1.1. Yêu cầu bài toán..................................................................................................3
1.2. Giải pháp thiết kế.................................................................................................3
1.2.1. Sơ đồ khối.....................................................................................................3
1.2.2. Phân tích chức năng nhiệm vụ từng khối......................................................3
1.2.3. Nguyên lý hoạt động toàn mạch....................................................................4
1.3. Linh kiện sử dụng................................................................................................4
1.3.1. Bộ vi điều khiển 89S52.................................................................................4
1.3.2. Động cơ bước................................................................................................8
1.3.3. LCD 16x2....................................................................................................10
1.3.5. Điện Trở......................................................................................................13
1.3.6. Nút bấm.......................................................................................................13
1.3.7. Tụ điện........................................................................................................13
Chương 2: THIẾT KẾ VÀ THỰC THI.......................................................................15
2.1. Thiết kế phần cứng............................................................................................15
2.1.1. Sơ đồ nguyên lý...........................................................................................15
2.1.2.Lưu đồ thuật toán.........................................................................................16
2.1.2. Sơ đồ mạch in..............................................................................................18
2.2.2. Mã nguồn chương trình...............................................................................18
2.3. Một số hình ảnh sản phẩm.................................................................................26
KẾT LUẬN.................................................................................................................28
TÀI LIỆU THAM KHẢO...........................................................................................29
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN.........................................................30
1
LỜI MỞ ĐẦU
Với sự phát triển ngày càng mạnh mẽ và rộng lớn của nền khoa học kỹ thuật.
Các công nghệ mới thuộc các lĩnh vực khác nhau cũng nhờ đó đã ra đời để đáp ứng
những nhu cầu của xã hội, và một trong số đó phải kể đến là kỹ thuật vi điều khiển.
Hiện nay kỹ thuật vi điều khiển vẫn còn đang là một trong các lĩnh vực mới mẻ và đã
được đưa vào giảng dạy rộng rãi ở các trường đại học và cao đẳng trong cả nước. Tại
trường đại học công nghệ thông tin và truyền thông thái nguyên dưới sự giảng dạy và
chỉ dẫn nhiệt tình của các thầy cô đã mang lại cho sinh viên rất nhiều những hiểu biết
về vi điều khiển và các ứng dụng của vi điều khiển trong đời sống. Trên tinh thần học
đi đôi với hành, học gắn liền với lao động , sản xuất và đời sống, nhóm sinh viên
chúng em đã tìm hiểu và ứng dụng của vi điều khiển trong việc điều khiển động cơ
bước hiện thị trên led 7 thanh. Với sự hướng dẫn và chỉ dạy nhiệt tình của thầy
Nguyễn Thế Dũng chúng em đã tiến hành thiết kế và chế tạo mạch “ Điều khiển động
cơ bước hiện thị thông số lên LCD 16x2 dùng vi điều khiển AT89S52 “. Phần thiết kế
bao gồm: sơ đồ mạch lắp ráp, thuật toán, và viết chương trình điều khiển cho vi xử lý.
Mặc dù chúng em đã cố gắng rất nhiều để hoàn thành đề tài này, xong do giới
hạn về thời gian cũng như kiến thức nên nội dung còn nhiều thiếu sót. Rất mong được
sự đóng góp ý kiến của thầy cô để bài báo cáo của chúng em được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn.
2
Chương 1: PHÂN TÍCH BÀI TOÁN.
1.1. Yêu cầu bài toán.
Mục tiêu thiết kế mạch điều khiển động cơ bước có sử dụng nút nhấn để thay
đổi tốc độ quay, chiều quay thuận ngược hiển thị số vòng quay lên LCD 16x2.
Gồm có nút nhấn điều khiển: START, STOP, TĂNG TỐC, GIẢM TỐC,
QUAY THUẬN, QUAY NGƯỢC.
1.2. Giải pháp thiết kế.
Mạch điều khiển động cơ bước sử dụng vi điều khiển 89S52, có khả năng nạp
onboard. Động cơ bước 5V. Khối hiển thị dùng LCD 16x2 hiển thị 2 dòng, mỗi dòng
16 ký tự.
1.2.1. Sơ đồ khối.
PHÍM ẤN NGUỒN
HIỂN THỊ ĐỘNG CƠ
LCD
ĐK ĐỘNG
CƠ
VĐK 89C51 ĐỘNG CƠ
NGUỒN 12V
3
thế nào và trạng thái hoạt động của mạch. Việc hệ thống hoạt động có nhịp nhàng hay
không, tốt hay không, tốt hay không tốt phụ thuộc nhiều vào khối vi điều khiển.
Khối công suất: khuếch đại tín hiệu điều khiển từ khối điều khiển và cách ly rồi
đưa tới động cơ.
Khối động cơ: nhận tín hiệu điều khiển và thực hiện các lệnh đã được người lập
trình sẵn.
1.2.3. Nguyên lý hoạt động toàn mạch.
Mạch hoạt động dựa trên nguyên tắc quét từng cuộn dây của động cơ bước. Khi
mỗi cuộn dây được cấp điện động cơ sẽ quay 1 góc 90 0 qua bộ giảm tốc trục ngoài
cũng sẽ quay đc 1 góc 7,5 0 từ đó cứ mỗi 48 vòng quay của động cơ sẽ làm trục ngoài
của động cơ quay được 1 vòng hoàn chỉnh và chính xác.
Khi có tác động của khối nút nhấn, vi xử lý nhận tín hiệu nút nhấn điều khiển
dữ liệu xuất ra 4 chân từ P1.0 đến P1.3 để điều khiển động cơ bước. Do yêu cầu của
động cơ về dòng điện cao nên ta dùng thêm IC đệm dòng UNL2003 để đảm bảo động
cơ được cấp đủ dòng trong quá trình hoạt động, đồng thời tránh hiện tượng treo vi điều
khiển do xung nhiễu gây ra từ các cuộn dây của động cơ tác động ngược lại vi điều
khiển.
1.3. Linh kiện sử dụng.
1.3.1. Bộ vi điều khiển 89S52.
a. Sơ lược về vi điều khiển 89S52.
AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản phẩm
AT89S52 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và cáctoán
số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữliệu nhanh
trên RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những lệnhsố học 8 bit gồm
cả lệnh nhân và lệnh chia. Nó cung cấp những hổ trợ mở rộngtrên chip dùng cho
những biến một bit như là kiểu dữ liệu riêng biệt cho phép quảnlý và kiểm tra bit trực
tiếp trong hệ thống điều khiển. AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte
bộ nhớ chỉ đọc cóthể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O,
3TIMER/COUNTER 16 Bit, 5 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối tiếpbán
song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.Các đặc điểm
của chip AT89S52 được tóm tắt như sau:
• 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xoá
4
• Tần số hoạt động từ: 0Hz đến 24 MHz
• 3 mức khóa bộ nhớ lập trình
• 3 bộ Timer/counter 16 Bit
• 128 Byte RAM nội.
• 4 Port xuất /nhập I/O 8 bit.
• Giao tiếp nối tiếp.
• 64 KB vùng nhớ mã ngoài
• 64 KB vùng nhớ dữ liệu ngoại.
• 4µs cho hoạt động nhân hoặc chia
5
VĐK 8052 tín hiệu vào/EA trên chân 31 thường ở mức cao (+5V) hoặc mức
thấp (GND). Nếu ở mức cao thì 8952 thi hành chương trình từ ROM nội trong khoảng
địa chỉ thấp (4K hoặc 8K đối với 8052). Nếu ở mức thấp chương trình sẽ thi hành từ
bộ nhớ mở rộng (tối đa đến 64K).
Ta thấy rẳng, trong số 40 chân của 8052, có 32 chân có công dụng nhập/ xuất
dữ liệu, tuy nhiên 24 trong 32 đường này có 2 mục đích, 32 chân này hình thành 4 port
8-bit. Với các thiết kế yêu cầu một mức tối thiểu bộ nhớ ngoài hoặc các thành phần
bên ngoài khác, ta có thể sử dụng các port này làm nhiệm vụ nhập/ xuất. 8 đường cho
mỗi port có thể xử lí như một đơn vị giao tiếp với các thiếp bị song song như máy in,
bộ biến đổi D-A….hoặc mỗi đường có thể hoạt động độc lập giao tiếp với 1 thiết bị
đơn bit như chuyển mạch, LED, BJT, FET, cuộn dây, động cơ, loa…
6
Với những điện trở kéo ngoài được nối khi Reset cổng P0 được cấu hình như một cổng
đầu ra.
Điều này là do một thực tế là cổng P0 là một máng mở khác với các
cổng P1, P2 và P3. Khái niệm máng mở được sử dụng trong các chíp MOS về chừng
mực nào đó nó giống như collector hở đối với các chíp TTL.
- Port P1: Cổng P1 chiếm tất cả 8 chân (từ chân 1 đến chân 8).
Nó có thể được sử dụng như đầu vào hoặc đầu ra. So với cổng P0 thì cổng này
không cần đến điện trở kéo vì nó đã có các điện trở kéo bên trong. Trong quá trình
Reset thì cổng P1 được cấu hình như một cổng đầu ra.
Cổng P1 là đầu vào: Tương tự P0, để biến cổng P1 thành đầu vào thì nó phải
được lập trình bằng cách ghi 1 đến tất cả các bit của nó.
- Port P2: Cổng P2 chiếm 8 chân (các chân từ 21 đến 28).
Nó có thể được sử dụng như đầu vào hoặc đầu ra, không cần điện trở kéo. Khi
Reset, thì cổng P2 được cấu hình như một cổng đầu ra. Cổng P2 là đầu vào thì nó phải
được lập trình bằng cách ghi các số 1 tới tất cả các chân của nó.
Vai trò kép của P2: Trong các hệ thống 8751, 89C52 và DS5000 thì P2 được
dùng như đầu ra. Tuy nhiên trong hệ thống 80312 thì cổng P2 có thể được dùng cùng
với P0 để tạo ra địa chỉ 16 bit đối với bộ nhớ ngoài. Vì một bộ 8031 có khả năng truy
cập 64k byte bộ nhớ ngoài, nên nó cần một đường địa chỉ 16 bít. Trong khi P0 cung
cấp 8 bit thấp qua A0 - A7. Công việc của P2 là cung cấp các bít địa chỉ A8 -A15.
- Port P3: Port P3 chiếm 8 chân (các chân 10 đến 17).
Nó có thể được sử dụng như đầu vào hoặc đầu ra. Cổng P3 không cần các điện
trở kéo. Mặc dù cổng P3 được cấu hình như một cổng đầu ra khi Reset, nhưng đây
không phải là cách nó được sử dụng phổ biến nhất.
Cổng P3 được bổ sung các chức năng quan trọng, đặc biệt. Bảng 1 bảng
dưới cung cấp các chức năng khác của cổng P3. Thông tin này áp dụng cho cả 8052 và
8031.
7
Bảng 1:Chức năng các cổng của 8052.
Bít của cổng P3 Chức năng chân số
P3.0 Nhận dữ liệu (RXD) 10
P3.1 Phát dữ liệu (TXD) 11
P3.2 Ngắt 0(INT0) 12
P3.3 Ngắt 1(INT1) 13
P3.4 Bộ định thời 0 (TO) 14
P3.5 Bộ định thời 1 (T1) 15
P3.6 Ghi (WR) 16
P3.7 Đọc (RD) 17
8
- Cấu tạo động cơ bước:
9
Các cuộn dây ABCD được nạp theo chu trình:
“ABCD:=”1001”=>”1100”=>”0110”=>”0011”.
Lúc đó động cơ sẽ quay ngược chiều kim đồng hồ được 1 vòng. Muốn động cơ
quay thuận chiều kim đồng gồ thì ta chỉ việc thay đổi ngược lại chu trình nạp trên.
Tùy thuộc vào chương trình chạy cho trễ bao nhiêu thì tốc độ động cơ sẽ thay
đổi bấy nhiêu. Tốc độ của động cowtyr lệ nghịch với hàm trễ.
- Ứng dụng.
Động cơ bước có rất nhiều ứng dụng trong kỹ thuật, đặc biệt là trong điều khiển
kỹ thuật số, các dây truyền công nghệ hiện đại hiện nay hầy hết đêu khai thác sử dụng
loại động cơ này. Ngoài ra động cơ còn được dùng để chế tạo robot…
1.3.3. LCD 16x2.
LCD làm việc ở chế độn 8 bit nối với post của vi điều khiển.
10
Bảng 3.1: Thứ tự các chân LCD và công dụng của chúng.
Chân Kí hiệu I/O Mô tả
1 Vss - Đất
2 VDD - Dương nguồn 5V
3 VEE - Cấp nguồn điều khiển
RS= 0 chọn thanh ghi lệnh; RS = 1
I
4 RS chonh thanh ghi dữ liệu
5 R/W I R/W = Đọc dữ liệu, RW=0 gi
6 E I/O Cho phép
7 D0 I/O Các bit dữ liệu
8 D1 I/O Các bit dữ liệu
9 D2 I/O Các bit dữ liệu
10 D3 I/O Các bit dữ liệu
11 D4 I/O Các bit dữ liệu
12 D5 I/O Các bit dữ liệu
13 D6 I/O Các bit dữ liệu
14 D7 I/O Các bit dữ liệu
Các chân 1,2,3 là các chân VSS , VDD, VEE trong đó VSS chân nối đất, VEE
chân chọn độ tương phản chân này dc chọn qua 1 biến trở 5K một đầu nối VCC , một
đầu nối mát . Chân VDD nối dương nguồn .
RS chân chọn thanh gi: có hai thanh gi trong LCD, chân RS được dùng để chọn
thanh gi như sau: RS=0 thì thanh gi mà lệnh được chọn để cho người dùng gửi một
lệnh chẳng hạn như xóa màn hình, đưa con trỏ về đầu dòng...Nếu RS = 1 thì thanh ghi
dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị lên LCD.
Chân đọc ghi RW: Đầu vào đọc ghi cho phép người dùng ghi thông tnin lên
LCD khi RW = 0 và đọc thông tin khi RW = 1.
Chân cho phép E (Enable) : Chân cho phép E được sử dụng bởi LCD để chốt
dữ liệu của nó. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống
thấp được áp đến chân này để LCD chốt các dữ liệu trên các chân dữ liệu. Xung này
phải rộng tổi thiểu là 450ns.
Chân Do-D7: Đây là 8 chân dữ liệu 8 bít, được dùng đẻ gửi thông tin lên LCD
hoặc đọc nội dung trong các thanh ghi của LCD. Để hiển thị các chữ cái và con số,
chúng ta gửi mã ASCII của các chữ cái từ A đến Z, a đến f và các con số từ 0 đến 9
đến chân này khi RS = 1.
Cũng có các mã lệnh mà có thể gửi đến LCD để xóa màn hình hoặc đưa con trỏ
về đầu dòng hoặc nhấp nháy con trỏ.
Để mạch hoạt động ta có thể mắc theo sơ đồ sau:
11
Hình 1.10.Sơ đồ nguyên lý LCD trong mạch.
1.3.4. ULN2003A.
12
Điện trở là linh kiện điện tử thụ động có tính cản trở dòng điện. trong mạch
điện nó có tác dụng điều chỉnh điện áp,hạn chế dòng điện, chia điện áp, điều chỉnh hệ
số khuếch đại, ổn định nhiệt...
Cấu tạo của điện trở: điện trở được cấu tạo từ những vật liệu có điện trở suất
cao như làm bằng than, magie kim loại NiO2, oxit kim loại,dây quấn... Người ta dùng
các vòng màu để biểu thị giá trị điện trở.
Kí hiệu: R
13
Hình 1.14. hình ảnh các loại tụ.
14
Chương 2: THIẾT KẾ VÀ THỰC THI.
2.1. Thiết kế phần cứng.
2.1.1. Sơ đồ nguyên lý.
Sơ đồ nguyên lý được thiết kế trên phần mềm Proteus. Gồm các khối điều khiển
dùng vi điều khiển AT89S52, khối động cơ bước dùng IC đệm dòng UNL2003, khối
hiển thị LCD 16x2.
15
2.1.2.Lưu đồ thuật toán.
Start
Phím Start
được nhấn? Gán thời gian trễ =8;
Phím Stop
Gán biến đánh dấu =3;
được nhấn?
1 2
16
2
1
Phím tăng
tốc được
Giảm thời gian trễ 1;
nhấn?
Phím giảm
tốc được
Tăng thời gian trễ 1;
nhấn?
Phím quay
thuận được
Gán biến đánh dấu =1;
nhấn?
Phím quay
ngược được
nhấn? Gán bién đánh dấu = 2;
17
2.1.2. Sơ đồ mạch in.
Mạch in khối điều khiển:
18
sbit tt = P3^4;
sbit gt = P3^5;
sbit stop = P3^6;
sbit start = P3^7;
//-------------------------
void delay_short()
{
unsigned int x;
for(x=0;x<10;x++);
}//--------------****------------------//
void delay(unsigned int time)
{
unsigned int q;
unsigned char e;
for (q=1; q<=time; q++)
{
for (e=1; e<=150; e++)
{;}
}
}
//các ham lcd
//----Ham kiem tra co ban-----
void kt_ban()
{
unsigned char x;
P0 = 0xff;
19
RS_LCD = 0;
RW_LCD = 1;
do
{
E_LCD = 1;
delay(3);
E_LCD = 0;
x=P0;
x=x&0x80;
}
while(x!=0x80);
}
//---Ham ghi lenh giao tiep voi LCD---//
void ghi_lenh(unsigned char lenh)
{
kt_ban();
delay(50);
P0 = lenh;
RS_LCD = 0; // Chon thanh ghi lenh
RW_LCD = 0; // Chon che do ghi du lieu tu 8051 vao LCD
E_LCD = 1;
delay_short();
E_LCD = 0;
}
//---Ham ghi ky tu ra LCD---//
void ghi_kytu(unsigned char kytu)
{
kt_ban();
delay(50);
P0 = kytu;
RS_LCD = 1; // Chon che do doc du lieu tu 8051
RW_LCD = 0;
20
E_LCD =1;
delay_short();
E_LCD = 0;
}
//---Ham ghi nhanh ky tu ra LCD---//
void ghi_nhanh ( unsigned char kytu)
{
kt_ban();
P0 = kytu;
RS_LCD = 1;
RW_LCD = 0;
E_LCD = 1;
delay_short();
E_LCD = 0;
}
//---Ham ghi chuoi ky tu ra LCD----//
void ghi_chuoi(char *str)
{
while(*str)
{
ghi_kytu(*str);
str++;
}
}
void ghi_chuoi1(char *str)
{
while(*str)
{
ghi_kytu(*str);
str++;
ghi_lenh(0x07);
}
21
}
//---Ham ghi nhanh chuoi ky tu ra LCD---//
void ghi_nhanh_chuoi(char *str)
{
while(*str){
ghi_nhanh(*str);
str++;
}
}
//---Ham ghi so nguyen ra LCD---//
void hienthiso(unsigned char n){
int c1, d1;
c1=n/10; n=n-c1*10;
d1=n;
ghi_lenh(0xc0);
//ghi_lenh(0x0c);
if((a<1)||(a>2)||(h==1)) ghi_nhanh_chuoi(" STOP -> START!");
else{
if(a==1)ghi_nhanh_chuoi("QT : ");
else if(a==2) ghi_nhanh_chuoi("QN : ");
if(c1!=0) ghi_nhanh(c1+48); // Doi ra hang chuc, ma ascii
ghi_nhanh(d1+48); // Doi ra hang don vi, ma ascii
ghi_nhanh_chuoi(" V/Phut ");
}
}
//---Ham khoi tao LCD---//
void setting_LCD()
{
ghi_lenh(0x38);
ghi_lenh(0x01); // Xoa man hinh
ghi_lenh(0x0f); // Co dich hien thi
}
22
//ham gioi thieu
void gioi_thieu()
{
ghi_lenh(0x01);
ghi_lenh(0x0c);
ghi_chuoi("MACH DIEU KHIEN ");
delay(300);
ghi_lenh(0xC0);
ghi_lenh(0x0c);
ghi_chuoi("DONG CO BUOC ");
ghi_lenh(0xC0);
ghi_lenh(0x0c);
ghi_chuoi(" VDK 8051 ");
delay(2000);
delay(2000);
ghi_lenh(0x01);
ghi_lenh(0x0c);
ghi_chuoi(" START ");
delay(2000);
}
//--------------------------
//-------------------------
//---Ham tre khoang thoi gian rat ngan phuc vu viec kiem tr co ban---//
23
TR1=1; //khoi dong timer1
TR0=1;
n=0;
}//----------------------------------------//
void ktphim()
{
if(tt==0)
{ while (tt==0) {;}
if(vt>=15) vt=15;
else vt++;
if(xungdelay<2) xungdelay=1;
else xungdelay=xungdelay-1;
}
if(gt==0)
{ while (gt==0) {;}
if(vt<=1) vt=1;
else vt--;
if( xungdelay>=16) xungdelay=16;
else xungdelay=xungdelay+1;
}
if(qt==0)
if(a==3) {a=1; h=1;}
else a=1;
if(qn==0)
if(a==3) {a=2; h=1;}
else a=2;
if(stop==0) a=3;
if(start==0)
24
{
vt=8;
if(a==3) a=1;
h=0;
xungdelay=8;
}
}
void dich()
{
if((a==1)&&(h==0)) i++;
if((a==2)&&(h==0))i--;
if(i==9) i=1;
if(i==0) i=8;
P1 = M[i];
}
void main()
{
P1=0;
khoitao();
setting_LCD();
gioi_thieu();
ghi_lenh(0x01);
ghi_lenh(0x0c);
ghi_chuoi("TOC DO HIEN TAI:");
xungdelay=8;
d0=0;
a=3;
while(1)
{
ktphim();
P1 = M[i];
25
ghi_lenh(0xc0);
hienthiso(vt);
}
}
void timer0(void) interrupt 1
{
TR0=0;
d0=d0+1;
if(d0==xungdelay)
{
P3_1=P3_1 ^1;
d0=0;
dich();
}
if(d0>18) d0=0;
TL0=0x18;
TH0=0xfc;
TR0=1;
}
2.3. Một số hình ảnh sản phẩm.
26
Hình 2.5. Hình ảnh mạch sau khi hoàn thành.
27
KẾT LUẬN
Với Đề tài Vi Điều Khiển giúp cho sinh viên bổ sung thêm kỹ năng về lập trình
cũng như làm mạch trong thực tế và xử lý sự cố. Đề tài của em đã làm về điều khiển
động cơ bước ứng dụng cho vi điều khiển họ AT89XX. Thông qua module này em đã
được tiếp cận với các thiết bị điện tử ngoài thực tế, nó sẽ rất có ích với iệc công tác của
em sau này. Với sự hướng dẫn nhiệt tình của cô Ngô Thị Vinh cùng sự cố gắng và tìm
hiểu em đã thiết kế ứng dụng một số Modul của vi điều khiển trong lĩnh vực điều
khiển cơ học. Trong quá trình thực hiện còn một số chỗ chưa thật tối ưu , rất mong
được sự góp ý , hướng dẫn của thầy cô và các bạn .
Qua đây em cũng xin gửi lời cảm ơn tới các thầy cô đã trang bị cho chúng em
vốn kiến thức đầy đủ để giúp cho quá trình thực tế không ngỡ ngàng và tự tin với kiến
thức mình đã được trang bị ở trường. Đặc biêt em xin gửi lời cảm ơn tới giáo viên
hướng dẫn của em cô Ngô Thị Vinh, thầy đã giúp đỡ Tôi rất nhiều trong bài báo cáo
chuyên ngành lần này.
28
TÀI LIỆU THAM KHẢO
[1] Dương Quốc Hưng – Kỹ thuật vi xử lý – Trường đại học kỹ thuật công
nghiệp Thái Nguyên, 2009.
[2] Douglas W. Jones,Đoàn Hiệp dịch, Điều khiển động cơ bước –Trường đại
học bách khoa HCM 2010
[3] Nguyễn Hoàng Sơn- Mạch nối động cơ bước với vi điều khiển-Trường cao
đẳng kỹ thuật Cao Thắng 2010.
[4] Phạm Hùng Kim Khánh-Tài liệu thực hành vi điều khiển – Trường đại học
bách khoa Đà Nẵng 2010
[5] Kiều Xuân Thực – Vi điều khiển cấu trúc- lập trình và ứng dụng – Nhà xuất
bản giáo dục 2008.
29
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
30