BÀI 3: THIẾT KẾ MẠCH THỬ NGHIỆM VÀ
PHẦN MỀM BIÊN DỊCH & MÔ PHỎNG
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 cho 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
đồ nguyên lí như hình dưới (click vào hình để xem ở kích thước lớn hơn) :
Chú ý: 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
Khi gia công trên mạch, thường
khô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
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.
Sơ đồ 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
Nguồn cấp cho 74HTC541 được lấy từ mạch ổn áp trên board mạch vi điều khiển, điện thế
dương 5V đưa vào chân 20, chân 10 nối với điện thế 0V (Ground).
LED dùng báo hiệu trạng thái hoạt động của mạch
Trên SPR PORT :chân số 1 nối với chân số 6 của vi điều khiển AT89Sxx,
châ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:
Trướ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.
3.4 VIẾT CHƯƠNG TRÌNH VÀ BIÊN DỊCH với PINNACLE
Nếu bạn chưa có một mạch vi điều khiển thực tế, bạn vẫn có thể thực hành và kiểm tra với sự hỗ
trợ của phần mềm mô phỏng vi điều khiển. Phần mềm mô phỏng mô tả lại các trạng thái hoạt
động của vi điều khiển khi chương trình được nạp vào vi điều khiển để thực thi. Có nhiều phần
mềm mô phỏng vi điều khiển như Workbench, ISIS Trong bài này, xin giới thiệu cùng các bạn
*.hex cần mở rồi nhấn nút OK.
Sau khi đã thực hiện cách a hoặc b,vào menu Veiw\Ports (hoặc Ctrl+P) để xem trạng thái
của các Port
Cuối cùng, để xem các trạng thái của chương trình đã viết, vào menu Execute\Run (hoặc
bấm F5 hoặc chọn biểu tượng ). Để ngừng vào menu Execute\Stop (hoặc chọn biểu tượng )
Còn nhiều công cụ khác để hỗ trợ cho quá trình viết chương trình và bảng trạng thái của
những phần khác như trạng thái của các thanh ghi Rx, thanh ghi trạng thái bạn có thể tự tìm
hiểu để biết thêm.
Chú ý: vì tốc độ xử lí của phần mô phỏng nhanh hơn của vi điều khiển với thạch anh
12MHz rất nhiều nên các trạng thái xảy ra hơi nhanh không quan sát toàn bộ được, do đó để
quan sát rõ các trạng thái của các Port bằng chương trình mô phỏng cần viết chương trình sao
cho khoảng thời gian giữa các lần xuất tín hiệu ra Port kéo dài hơn.