PHẦN MỀM BIÊN DỊCH & MÔ PHỎNGTrang 1 Một board mạch vi điều khiển bao gồm nhiều thành phần tạo thành: mạch thực thi, mạch nạp, chương trình viết và biên dịch cho assembly.. Xem lại phần
Trang 1PHẦN MỀM BIÊN DỊCH & MÔ PHỎNG
Trang 1
Một board mạch vi điều khiển bao gồm nhiều thành phần tạo thành: mạch thực thi, mạch nạp, chương trình viết và biên dịch cho assembly Xem lại phần kết nối phần cứng cho vi điều khiển bài 1 phần 1.3
3.1 MẠCH THỰC THI
Mạch thực thi là mạch giao tiếp với các mạch xuất nhập để vi điều khiển thực hiện chương trình
3.1.1 KHỐI ỔN ÁP
Khối này là mạch điện dùng để ổn áp điện thế ở khoảng 5V, cấp nguồn ổn định cho vi điều khiển hoạt động Có nhiều loại mạch ổn áp khác nhau, trong
đó mạch ổn áp dùng IC ổn áp 7805 thường được sử dụng vì mạch này rất dễ thực hiện Sơ đồ như ở hình dưới:
Mạch trên lấy nguồn một chiều từ một máy biến áp với điện áp từ 7V đến 9V để đưa vào ngõ IN Khi kết nối mạch điện, do nhiều nguyên nhân, người dùng dễ nhầm lẫn cực tính của nguồn cung cấp khi đấu nối vào mạch, trong trường hợp này rất dễ ảnh hưởng đến các linh kiện trên board mạch Vì lí do
đó một diode cầu được lắp thêm vào mạch, diode cầu đảm bảo cực tính của nguồn cấp cho mạch theo một chiều duy nhất, và nguời dùng cũng không cần quan tâm đến cực tính của nguồn khi nối vào ngõ IN nữa
IC 7805 là IC ổn áp, IC này giữ ngõ ra ổn định trong khoảng 5V Ngõ ra này chính là nguồn Vcc để cung cấp cho mạch vi điều khiển hoạt động, đồng thời ngõ ra sau khi ổn áp còn được nối với hai đầu xuất OUT cấp nguồn này
Trang 2cho một mạch khác khi cần.
3.1.2 VI ĐIỀU KHIỂN VÀ CÁC MẠCH XUẤT NHẬP
I Để vi điều khiển hoạt động cần các thành phần sau:
a Cấp nguồn 5V cho vi điều khiển (Vcc: 5V chân 40; GND: 0V chân 20)
b Mạch tạo dao động bằng thạch anh
Ghi chú: C1,C2= 30pF±10pF (thường được sử dụng với C1,C2 là tụ 33pF) dùng ổn định dao động cho thạch anh
Hình 1.2.2
c Mạch Reset
Việc kết nối chân RESET đảm bảo hệ thống bắt đầu làm việc khi Vi điều
Trang 3thực hiện chương trình từ bộ nhớ ROM nội, do đó nối chân EA với Vcc để thiết đặt cho Vi điều khiển thực hiện chương trình từ bộ nhớ ROM nội (bộ nhớ ROM tích hợp sẵn trong vi điều khiển)
II Các mạch xuất nhập từ các port
Sử dụng điện trở treo trước mỗi Port, đồng thời nối thêm giắc cắm 8 chân
để làm đường nhận hoặc xuất tín hiệu kết nối với các mạch điện khác từ bên ngoài Xem lại phần điện trở treo
3.1.3 MẠCH VI ĐIỀU KHIỂN
Kết hợp các phần trên vào cùng một mạch tạo thành mạch hoạt động cho
vi điều khiển, sơ đồ nguyên lí như hình dưới (click vào hình để xem ở kích thước lớn hơn) :
Trang 4Chú ý: Các đường mạch lớn là các đường nối BUS: tức là trên đường đó, những đường nào cùng tên thì nối với nhau, những đường không cùng tên thì không liên quan đến nhau Trong sơ đồ nguyên lí, các đường BUS giúp cho sơ
đồ dễ quan sát hơn và việc sắp xếp các linh kiện cũng đơn giản, trật tự hơn
Ví dụ: đường kết nối P0_0 nối vào đường BUS từ vi điều khiển, đường P0_0 từ jack 8 chân và P0_0 từ điện trở thanh, trên thực tế được nối với nhau vào cùng một điểm
3.1.4 MỘT SỐ LINH KIỆN
a Vi điều khiển AT89S52
Trang 5không hàn vi điều khiển trực tiếp lên mạch, mà thay vào đó là một
đế cắm 40 chân để khi cần thiết
có thể thay đổi vi điều khiển khác lên trên mạch dễ dàng hơn
Một loại đế cắm 40 chân
Hình dạng
AT89S52 thực
tế
Sơ đồ chân tương ứng
b Thạch anh và tụ gốm 33p
Thạch anh 12Mhz Tụ gốm 33p
c Điện trở thanh 9 chân
Các điện trở treo được thay bằng điển trở thanh 9 chân, sử dụng điện trở thanh giúp việc thiết kế mạch đơn giản hơn
, điện trở thanh 9 chân thực chất là 8 điện trở cùng giá trị với
mỗi đầu của điện trở được nối với nhau và đầu chung này được đưa ra ngoài
bằng một chân nữa Khi nhìn trên điện trở thanh, phía đầu nào có dấu chấm tròn, thì chân ngoài cùng của phía đó là chân chung Thông thường chân chung này thường được nối với nguồn Vcc
d Jack 8 chân
Jack 8 chân kết với với dây nối bus để truyền tín hiệu đến các phần khác của mạch
Trang 6Dây nối bus 8 đường Thực chất Jack 8 chân được tách ra từ một phần lớn hơn, phần này thường được gọi là "rào cắm"
Từ "rào cắm" này dễ dàng để tách ra thành jack 2 chân hoặc 3,4,5 chân tùy ý người sử dụng.
BÀI 3-PHẦN 2:CHƯƠNG TRÌNH NẠP VÀ MẠCH NẠP
3.2 MẠCH NẠP
Để đưa chương trình đã viết trên máy vi tính vào trong Rom của vi điều khiển, cần có các phần mềm riêng (hay còn gọi là phần mềm nạp) và các mạch giao tiếp tương ứng với phần mềm đó (hay còn gọi là mạch nạp) Có rất nhiều phần mềm nạp và các mạch nạp dành cho vi điều khiển, mỗi loại vi điều khiển đều có phần mềm nạp và mạch nạp dành riêng cho vi điều khiển
đó
Trang 7động mà không cần phải chuyển vi điều khiển từ mạch hoạt động sang mạch khác để nạp như các chương trình nạp trước đây
Địa chỉ cung cấp phần mềm ISP
http://www.kmitl.ac.th/~kswichit/IspPgm30a/ISP-Pgm30a.html
hoặc http://www.codientu.info/soft/
Dưới đây là sơ đồ nguyên lí của mạch nạp kèm theo phần mềm trên:
PRN PORT : đường kết nối đến cổng máy in, các số tương ứng trong ngoặc là
số của chân trên cổng máy in
Nối ngắn mạch chân 2 và chân 12 của cổng máy in
74HCT245 được cấp nguồn 5V vào chân 10 và chân 20
Trang 8Sơ đồ chân của cổng máy in
Sơ đồ này chỉ dùng cho mạch chỉ thực hiện công việc duy nhất là nạp chương trình cho vi điều khiển
Để nạp trực tiếp cho mạch đang hoạt động, dùng sơ đồ sau
Trang 9chân số 2 nối với chân số 7 của vi điều khiển AT89Sxx chân số 3 nối với chân số 8 của vi điều khiển AT89Sxx chân số 4 nối với chân số 9 của vi điều khiển AT89Sxx chân số 5 nối với chân - từ ngõ OUT của mạch ổn áp chân số 6 nối với chân + từ ngõ OUT của mạch ổn áp Ngoài ra có thể dùng 74HC245 theo sơ đồ dưới:
3.3 CHƯƠNG TRÌNH NẠP ISP
Chương trình chạy không cần cài đặt, khởi động chương trình
IspPgm.exe với biểu tượng Chương trình hiện lên giao diện như bên dưới:
Trang 10Trước hết bấm vào danh sách sổ (trên hình là ô có chữ "MEGA8"), chọn
"89S52" Bấm vào nút "Open File" để chọn file chương trình (có đuôi".hex") Sau đó bấm vào "Write" để nạp chương trình cho vi điều khiển
Chú ý: Trước khi nạp cần đảm bảo mạch điện đã được kết nối chính xác đến
vi điều khiển
Nếu đã kết nối đúng mà chưa nạp được thì nên rút các mạch giao tiếp
ra khỏi P0, rồi thử nạp lại