Huong Dan Flowcode Avr
-
Upload
ngo-dinh-nhan -
Category
Documents
-
view
257 -
download
46
Transcript of Huong Dan Flowcode Avr
FLOWCODE AVR
BM. ĐIỆN TỬ
HƯỚNG DẪN THỰC HÀNH VI ĐIỀU KHIỂN AVR
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 2 -
LLỜỜII GGIIỚỚII TTHHIIỆỆUU
Chào mừng các bạn đến với tài liệu hướng dẫn thực hành vi điều khiển AVR
thông qua phần mềm Flowcode và Kit thí nghiệm của trung tâm CITA. Flowcode
là một chương trình phần mềm cho phép các bạn tạo các chương trình từ đơn
giản tới phức tạp cho vi điều khiển AVR chỉ thông qua các giải thuật điều khiển.
Tài liệu này sẽ giúp cho các bạn bước đầu làm quen với vi điều khiển AVR một
cách nhanh nhất. Thông qua các bài thực hành và thí nghiệm trên Kit các bạn sẽ
khám phá ra được nhiều điều vô cùng thú vị, từ đó các bạn sẽ thấy rằng học môn
học vi điều khiển không khó mà còn khá dễ.
Các bạn sẽ từng bước làm quen với vi điều khiển AVR thông qua từng bài thực
hành từ dễ tới khó. Mỗi bài thực hành, tài liệu sẽ hướng dẫn các bạn từng bước
thực hiện bằng các hình ảnh vô cùng trực quan. Đồng thời thông qua bài thực
hành các bạn sẽ được ôn lại những kiến thức củ và học những kiến thức mới.
Cuối mỗi bài thực hành là các bài tập nâng cao để các bạn thực hành thêm.
Nếu trong quá trình sử dụng tài liệu các bạn cảm thấy khó khăn, hoặc cảm thấy
rằng mình thiếu kiến thức, thì đừng vội hoảng sợ. Bạn chỉ cần nhớ rằng bạn có
thể không hiểu được tất cả mọi thứ ở lần đầu tiên.
Mặc dù tài liệu đã được biên soạn với sự nỗ lực, tận tâm cao nhất nhưng với kinh
nghiệm và thời gian còn hạn chế nên những bài thực hành trong tài liệu không
thể tránh khỏi những sai sót. Tác giả rất mong nhận được sự đóng góp ý kiến quý
báo từ các đồng nghiệp, quí thầy cô và các bạn sinh viên để tài liệu này được
hoàn thiện hơn.
Mọi ý kiến đón góp xin gởi về:
Trường Cao Đẳng Công Nghệ Thủ Đức
Trần Hồng Văn
Phòng Khoa Học Công Nghệ & Quan Hệ Quốc Tế
Tel: 0902.969.727 – (08)38893666
Email: [email protected]
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 3 -
GGIIỚỚII TTHHIIỆỆUU FFLLOOWWCCOODDEE
Môi trường lập trình Flowcode bao gồm một khu vực hoạt động chính, trong đó
cửa sổ flowchart được hiển thị, một số thanh công cụ cho phép các biểu tượng và
các thành phần được thêm vào trong ứng dụng của flowchart, cửa sổ cho phép
xem trạng thái của vi điều khiển và cũng là cửa sổ hiển thị các biến trong quá
trình lưu đồ thuật giải đang được mô phỏng. Ở đây bạn có thể nhìn thấy một màn
hình của một dự án:
Có 3 thanh công cụ mà bạn có thể sử dụng
Thanh công cụ Icons
Kéo và thả biểu tượng này vào cửa sổ chính flowchart để tạo thành một ứng dụng
flowchart của bạn. Thông thường thanh công cụ này nằm ở vị trí ở bên trái của
màn hình, nhưng thanh công cụ có thể được trong giống như hình dưới đây khi
nó undocked.
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 4 -
Thanh công cụ Components
Đây là thanh công cụ hiển thị các thành phần bên ngoài, các thành phần nầy có
thể được kết nối với một vi điều khiển. Click vào một thành phần và nó sẽ thêm
một thành phần cần điều khiển vào của sổ flowchart. Chất kết nối giữa vi điều
khiển và thành phần điều khiển có thể được sửa đổi. Thông thường vị trí của
thanh công cụ này nằm ở bên trái của màn hình bên cạnh thanh công cụ Icons,
nhưng thanh công cụ có thể được trong giống như hình dưới đây khi nó
undocked.
Thanh công cụ Menu và simulation (mô phỏng)
Các nút trên thanh công cụ này cho phép bạn mở tập tin, đóng các tập tin v.v…
và cũng cho phép bạn kiểm soát các mô phỏng và điều khiển các chức năng. Các
chức năng này cũng có sẵn trên trình đơn Windows chuẩn ở phía trên cùng của
màn hình
Duy chuyển thanh công cụ
Các thanh công cụ có thể được duy chuyển ra khởi vị trí mặt định của nó hoặc
thả nổi, hoặc đưa vào trong trình đơn, hoặc bên dưới cùng của cửa sổ Flowcode.
Dưới đây là một ví dụ thả nổi thanh công cụ
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 5 -
Cửa sổ Microcontroller
Vi điều khiển hiện thành được hiển thị ở cửa sổ này. Khi flowchart được mô
phỏng thì tình trạng các chân xuất nhập của vi điều khiển được hiển thị trên vi
điều khiển với màu đỏ và màu xanh cho kết quả đầu ra cao và thấp tương ứng
như bạn có thể xem ở đây:
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 6 -
Cửa sổ Flowchart
Các biểu tượng làm nên lưu đồ giải thuật flowchart được hiển thị trong cửa sổ
này. Ngoài ra, các lưu đồ giải thuật của các macro được hiển thị trong một của sổ
riêng biệt. Cửa số chính flowchart luôn luôn được hiển thị và của sổ các của các
macro có thể được hiển thị hoặc ẩn đi khi cần thiết.
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 7 -
Cửa sổ External component
Tình trạng của một trong những thành phần kèm theo vi điều khiển được hiển thị
trong cửa sổ này. Các thành phần sẽ trở nên “hoạt động” khi mà flowchart được
mô phỏng. Cho bạn một cách nhìn tổng thể cũng như cho phép bạn tương tác với
các thành phần bên ngoài, ví dụ: đóng và mở công tắc.
Cử sổ Variables
Khi mô phỏng một flowchart, giá trị của bất kỳ các biến sử dụng có thể được
nhìn thấy trong cửa sổ này. Các giá trị của các biến được cập nhật cho tất cả các
lệnh của mỗi lệnh mô phỏng nhưng không được cập nhật khi các mô phỏng chạy
ở tốc độ đầy đủ. Nếu bạn mô phỏng một flowchart ành nhấn nút pause thì bạn có
thể click vào các biến trong của sổ này và thay đổi giá trị của chúng. Điều này
cho phép bạn thử nghiệm flowchart của bạn dưới các điều kiện khác nhau.
Hướng dẫn thực hành vi điều khiển AVR FlowCode AVR
Trường CĐ Công Nghệ Thủ Đức Trang - 8 -
Cửa sổ Call stack.
Cửa sổ này cho phép xem các macro hiện hành được mô phỏng. Điều này rất hữu
ích khi một trong những macro khác được gọi trong quá trình mô phỏng.
Thanh công cụ và cửa sổ kiểm tra.
Nếu bạn chọn VIEW… từ trình đơn bạn có thể xem được số của các hộp lựa
chọn, các lựa chọn này có thể được dùng để kích hoạt hoặc tắt cửa sổ các thanh
công cụ.
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 9 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Nhận diện vi điều khiển ATMEGA8515.
- Xuất dữ liệu ra các port của vi điều khiển ATMEGA8515.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR.
- Bộ Thực Tập Vi Xử Lý CITA.
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
III.1. Giới thiệu chip ATMEGA8515
Hình 1: Sơ đồ chân của chip 8515
A. Khái quát :
Chip ATmega8515 là một vi điều khiển họ CMOS 8-bit năng lượng thấp dựa
trên họ AVR được tăng cường cấu trúc RISC. Bằng cách thi hành những lệnh
mạnh trong một chu kỳ xung đơn, ATmega8515 đạt thông lượng gần 1 MIPS /
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 10 -
MHz cho phép hệ thống thiết kế có thể tối ưu hóa điện năng tiêu thụ so với tốc độ
xử lý.
B. Đặc tính:
• Hiệu suất cao, bộ vi điều khiển công suất thấp 8-bit
• Cấu trúc RISC
Thanh ghi làm việc đa năng.
Sự vận hành tĩnh.
Khả năng thực hiện 16 triệu lệnh/s tại tần số 16 Mhz.
• Bộ nhớ chương trình và dữ liệu không đổi.
Tự lập trình hệ thống được 8Kbyte.
Độ bền:10000vòng ghi/xóa.
Bộ phận khởi động ngẫu nhiên độc lập với bit khóa.
Chuơng trình hệ thống dựa trên chương trình khởi động trên chip
Điều khiển việc đọc trong khi ghi trung thực
512 byte EEPROM
Độ bền:100000 vòng ghi/xóa.
512 byte SRAM bên trong
Có thể mở rộng bộ nhớ ngoài lên tới 64 Kbyte
Chương trình khóa dành cho phần mềm bảo mật
• Đặc tính ngoại vi:
3 kênh điều biến độ rộng xung(PWM:pulse width modulation)
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 11 -
Giao tiếp nối tiếp loại chủ tớ SPI
Bộ thu phát tổng hợp đồng bộ và không đồng bộ
Bộ định thời giám sát lập trình với bộ tạo dao động riêng biệt trên chip
Bộ so sánh tương tự trên chip
• Chức năng đặc biệt của vi điều khiển:
Trình tự khởi động và khả năng tự dò tìm khi nguồn yếu.
Bộ dao động RC bên trong được hiệu chỉnh
Bộ nguồn ngắt bên trong và ngoài
3 chế độ chờ:không họat động,nguồn giảm,chế độ nghỉ
• Ngõ vào/ra và gói chương trình:
40 chân ngoại vi
• Mức điện thế hoạt động:
2.7-5.5 V cho ATmega8515L
4.5-5.5V cho ATmega8515
• Cấp tần số:
0-8 Mhz cho ATmega8515L
0-16 Mhz cho ATmega8515
III.2. Mô tả các chân
VCC
GND
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 12 -
Port A (PA7..PA0) Port B (PB7..PB0) Port C (PC7..PC0) Port D (PD7..PD0)
: là các cổng xuất nhập 2 chiều 8 bit, với điện trở kéo lên bên trong (tùy chọn cho
từng bit). Ngoài ra các cổng A,B và D còn có thể phục vụ một số chức năng đặc
biết của Atmega8515.
Port E (PE2..PE0) : là cổng xuất nhập 2 chiều 3 bit, với điện trở kéo lên bên
trong (tùy chọn cho từng bit). Ngoài ra cổng E còn có thể phục vụ một số chức
năng đặc biệt của Atmega8515.
RESET ngõ vào chân reset.
XTAL1 Ngõ vào bộ khuếch đại dao động đảo và ngõ vào xung trong để mạch
hoạt động.
XTAL2 Ngõ ra từ bộ dao động khuếch đại đảo.
III.3. Kết nối phần cứng
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 13 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật xuất dữ liệu ra port A
Bước 1: Tạo dự án mới
- Khởi động chương trình FlowCode
- Chọn Create a new FlowCode flowchart… Nhấn OK
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 14 -
- Chọn chip ATMEGA8515 Nhấn OK
- Màn hình làm việc hiện ra với 2 khối BEGIN và END
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 15 -
- Nhấn vào biểu tượng để lưu chương trình với tên
D:\\BaitapAVR\Bai1
Bước 2: Gọi khối xuất dữ liệu
- Chọn vào biểu tượng sau đó kéo – thả vào giữa 2 khối
BEGIN & END
- Nhấn 2 lần vào biểu tượng
- Ghi vào ô Variable or value giá trị 1 Nhấn OK
- Có thể sử dụng số hex hoặc số nhị phân trong ô Variable or value.
- Đối với số hex ta ghi với cú pháp: 0x1F
- Đối với số nhị phân ta ghi với cú pháp: 0b10101010
- Trong phần mềm Flowcode ta có thể sử dụng số ở dạng thập phân, nhị
phân và thập lục phân nhưng phải tuân theo cú pháp trên.
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 16 -
Bước 3: Gọi khối mô phỏng Led đơn
- Nhấn vào biểu tượng
- Nhấn vào biểu tượng
- Chọn Component Connections…
o Port: Lựa chọn Led nối với port nào của ATMEGA8515
o Bit: Lựa chọn từng chân của ATMEGA8515 nối với Led
- Chọn Port A
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 17 -
Bước 4: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
- Nhấn vào biểu tượng
- Chọn Properties…
Number of LEDs: Lựa chọn số lượng LED hiển thị
LED Colour: Chọn màu cho LED
Direction:
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 18 -
o Deflault: Led 0 nằm bên phía tay phải
o Reverse: Led 0 nằm bên phía tay trái
Orientation:
o Horizontal: Led hiển thị nằm ngang
o Vertical: Led hiển thị đứng
- Đặt tên cho các Led
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Bước 1: Tắt nguồn KIT thực tập vi xử lý
Bước 2: Gắn board ATMEGA8515 vào TEXTDOL
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 19 -
Bước 3: Nối dây nạp chương trình vào board ATMEGA8515
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 20 -
- Nối J181 với board ATMEGA8515 ở vị trí Nạp
Bước 4: Kết nối với Led
- Nối Led với Port A
1
4 Nap
Port A
PA0
PA7
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 21 -
- Kết nối hoàn chỉnh
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhiipp
Bước 1: Mở nguồn KIT thực tập vi xử lý
Bước 2: Biên dịch chương trình
- Trên trình đơn chính, chọn Chip chọn Clock Speed
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 22 -
- Trong ô Clock speed (Hz) nhập giá trị 8000000. Tương đương với tần số
hoạt động của chip là 8Mz Nhấn OK
- Nhấn vào biểu tượng
- Nếu như chương trình chưa lưu sẽ có bản thông báo. Chọn Yes.
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 23 -
Bước 3: Mở chương trình nạp SpiPgm
- Chọn chip MEGA8515
- Nhấn vào Signature kiểm tra chip
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 24 -
- Nếu thông báo như hình: chip đã được nhận diện. Ta tiến hành bước 3
- Nếu thông báo như hình: Tiến hành kiểm tra lại các bước ở phần A
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 25 -
Bước 5: Nạp chương trình
- Chọn Open File
- Chọn file cần nạp D:\\BaitapAVR\bai1.hex
- Nhấn vào nút Program để tiến hành nạp chương trình
- Nếu biên dịch thành công sẽ có thông báo
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 26 -
Bước 6: Quan sát hiện tượng
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
- Phần cứng của Kit thực tập vi điều khiển, Led có chân chung là chân
dương, chân âm là chân điều khiển. Nên Led sẽ sáng ở mức thấp, trong
khi phần mô phỏng của phần mềm Flowcode Led sáng ở mức cao.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
- Hãy điền vào các giá trị tương ứng với led sáng. Hoặc các led nào sáng
tương ứng với các giá trị
Dự liệu xuất LED
51
204
195
____
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 27 -
____
____
- Đổi các số thập phân sau đây sang mã hex, nhị phân
Số thập phân Số hex Nhị phân
12
254
120
72
96
Ngày: …../…../ 200…
BÀI 1 XUẤT DỮ LIỆU RA PORT A Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 28 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 29 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vòng lặp trong lập trình điều khiển vi điều khiển ATMEGA8515.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
VVòònngg llặặpp vvôô ttậậnn..
Cú pháp:
While (1)
{
…… Các lệnh khác nằm ở đây ………
}
Loop
Giải nghĩa: While (1) luôn luôn đúng nên vòng lặp này sẽ thực hiện các lệnh
nằm trong dấu { } vô tận
Cách khác:
Loop
{
…… Các lệnh khác nằm ở đây ………
}
While (1)
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 30 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật port A chớp – tắt.
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai2
Bước 2: Gọi vòng lặp while
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 31 -
- Chọn vào biểu tượng sau đó kéo – khả vào giữ 2 khối BEGIN &
END.
- Kết quả sau khi thực hiện kéo khối vòng lặp
- Nhấn 2 lần vào hoặc
- Ghi vào ô Variable or Value giá trị 1 Nhấn OK
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 32 -
- Nếu trong Test the loop at the: ta chọn End thì kết quả sẽ như hình
Bước 3: Gọi khối xuất dữ liệu
- Chọn vào biểu tượng , các bước thực hiện giống Bước 2, Bài 1 –
Trang
Khối thứ nhất
Chọn Port: PORT A
Variable or Value: 00
Khối thứ hai
Chọn Port: PORT A
Variable or Value: 0xff
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 33 -
Bước 4: Chọn khối Delay
- Chọn vào biểu tượng , sau đó kéo – thả vào như hình
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 34 -
- Nhấn 2 lần vào biểu tượng
- Trong ô Delay value or variable: gõ giá trị 250.
- Thêm một khối Delay nữa đưa vào như hình.
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 35 -
- Các bước cấu hình cho khối Delay thứ 2 tương tự khối Delay thứ nhất.
Bước 5: Gọi khối mô phỏng Led đơn
- Giống như Bước 3, Bài 1 – Trang 16
Bước 6: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 36 -
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
- Các bước thực hiện giống như các bước ở Bài 1 – Trang 18.
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 2: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 3: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai2.hex
Bước 4: Quan sát hiện tượng
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
- Phần cứng của Kit thực tập vi điều khiển, Led có chân chung là chân
dương, chân âm là chân điều khiển. Nên Led sẽ sáng ở mức thấp, trong
khi phần mô phỏng của phần mềm Flowcode Led sáng ở mức cao.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Khối Delay thêm vào để làm gì? Nếu bỏ khối Delay thì hiện tượng gì xảy ra?
2. Khời gian Delay có ảnh hưởng gì đến sự hiện thị của Led không? Như thế
nào?
3. Làm lại bài tập 2 với yêu cầu: Khi khởi động Led ở port A tắt, sau đó 4 Led
byte thấp ở port A sáng 200ms, kế tiếp 4 Led byte cao ở port A sáng, 4 Led
byte thấp ở port A tắt 200ms. Và lặp đi lặp lại vô hạn.
Ngày: …../…../ 200…
BÀI 2 ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 37 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 38 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vòng lặp trong lập trình điều khiển vi điều khiển ATMEGA8515.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
VVòònngg llặặpp ccóó đđiiềềuu kkiiệệnn
Cú pháp:
While (<điều kiện>)
{
…… Các lệnh khác nằm ở đây ………
}
Loop
Giải nghĩa: Vòng lặp sẽ kiểm tra <điều kiện> trước, nếu còn đúng thì các lệnh
nằm trong { } sẽ được lặp di lặp lại. Nếu <điều kiện sai> vòng lặp sẽ kết thúc.
Ví dụ:
I =0;
While (I <9)
{
I = I + 1;
}
Loop
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 39 -
Vòng lặp sẽ kiểm tra giá trị I, nếu I vẫn nhỏ hơn 9 thì vòng lặp tiếp tục lặp,
ngược lại nếu I =9 vòng lặp sẽ kết thúc. Kết quả sau khi vòng lặp dừng I = 9
Cách khác:
Loop
{
…… Các lệnh khác nằm ở đây ………
}
While (<điều kiện>)
Giải nghĩa: Vòng lặp sẽ thực hiện các lệnh trong dấu { }, sau đó kiểm tra <điều
khiện>, nếu còn đúng vòng lặp tiếp tục lặp, ngược lại vòng lặp sẽ kết thúc.
Ví dụ:
I =0;
Loop
{
I = I + 1;
}
While (I < 9)
Vòng lặp sẽ xử lý các lệnh trong { }, sau đó kiểm tra giá trị I có nhỏ hơn 9
không, nếu đúng thì vòng lặp tiếp tục lặp, ngược lại vòng lặp kết thúc. Kết quả
sau khi vòng lặp dừng I = 9
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 40 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật port A chớp – tắt 3 lần.
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai3
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 41 -
Bước 2: Gọi vòng lặp while
- Chọn vào biểu tượng sau đó kéo – khả vào giữ 2 khối BEGIN &
END.
- Kết quả sau khi thực hiện kéo khối vòng lặp
- Nhấn 2 lần vào hoặc
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 42 -
- Nhấn vào nút
- Nhấn vào nút
- Ghi vào ô Name of new variable: Dem (tên biến kiểu byte)
- Ô Variable type: chọn Byte
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 43 -
- Nhận OK
- Variable Name chọn nhấn nút
- Ở ô Loop while ghi vào giá trị: Dem<3 Nhấn OK
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 44 -
Bước 3: Gọi khối xuất dữ liệu và khối Delay
- Thực hiện giống như Bài 2
- Kết quả như hình
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 45 -
Bước 4: Gọi khối Calculation
Chọn vào biểu tượng sau đó kéo – thả vào trong flowchart
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 46 -
- Nhấn chuột 2 lần vào khối Calculation
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 47 -
- Ghi vào ô Caculations: Dem = Dem + 1 Nhấn OK
- Thêm một khối vào flowchart như hình với Caculations: Dem = 0
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 48 -
Bước 5: Gọi khối mô phỏng Led đơn
- Giống như Bước 3, Bài 1 – Trang 16
Bước 6: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 49 -
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
- Các bước thực hiện giống như các bước ở Bài 1 – Trang 18
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai3.hex
Bước 6: Quan sát hiện tượng
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
- Phần cứng của Kit thực tập vi điều khiển, Led có chân chung là chân
dương, chân âm là chân điều khiển. Nên Led sẽ sáng ở mức thấp, trong
khi phần mô phỏng của phần mềm Flowcode Led sáng ở mức cao.
- Khối Calculation: Các phép toán thực hiện được trong khối Calculation
( ) : phép toán trong ngoặc
= <> : phép toán so sánh bằng và không bằng
+ - * / MOD : cộng, trừ, nhân, chia và lấy phần dư
< <= > >= : phép toán nhỏ hơn, nhỏ hơn hoặc bằng; lớn
hơn, lớn hơn hoặc bằng
>> << : dịch phải, dịch trái
NOT AND OR XOR : các phép toán logic
Ngày: …../…../ 200…
BÀI 3 ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 50 -
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Khối Caculation với giá trị Dem = 0 ở đầu flowchart dùng để làm gì?
Nếu không có khối Caculation đó thì hiện tượng gì xảy ra?
2. Thực hiện chương trình: Led sáng tắt 3 lần, sau đó 4 Led byte thấp sáng –
4 Led byte cao tắt và ngược lại thực hiện 3 lần. Chương trình quay lại từ
đầu.
3. Thực hiện đếm lên ở port A từ 0 tới 9.
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 51 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng cấu trúc điều khiển rẽ nhánh trong lập trình điều khiển vi điều
khiển ATMEGA8515.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
Cú pháp:
if (<điều kiện>)
{
Lệnh 1
}
Else
{
Lệnh 2
}
Giải nghĩa: Lệnh 1 sẽ được thực hiện nếu như <điều kiện> đúng, ngược lại
Lệnh 2 thực hiện.
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 52 -
Ví dụ:
if (I = 1)
{
J = 1;
}
Else
{
J = 0;
}
Kết quả cuối cùng nếu J = 1 có nghĩa là I = 1. Ngược lại nếu J = 0 có nghĩa là I
khác 0.
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 53 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật Led sáng đuổi.
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 54 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai4
Bước 2: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: 0
Port: Port A
Bước 3: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Nhấn vào nút Variables
Cửa sổ Variable Manager
Nhấn nút Add New Variable
o Cửa sổ Create a New Variable
Name of New Variable: count
Nhấn OK
Variable Name chọn count Use Variable
o Calculations: count = 1
o Nhấn OK
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 55 -
Bước 4: Gọi vòng lặp while
Bước 5: Gọi khối Decision (khối rẽ nhánh)
- Chọn vào biểu tượng sau đó kéo – thả vảo giửa 2 khối While – Loop
- Nhấn 2 lần vào khối
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 56 -
- Ghi vào trong ô If: count = 0
Bước 6: Gọi khối Calculation
- Kéo khối Calculation vào nhánh Yes của khối Decision
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: count = 1
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 57 -
Bước 7: Gọi khối Output
- Kéo khối Output vào sau khối Decision
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: count
Port: Port A
Bước 8: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: count = count << 1
Bước 9: Gọi khối Delay
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
o Delay value or vairable: 250
o Chọn milliseconds
Bước 10: Gọi khối mô phỏng Led đơn
- Giống như Bước 3, Bài 1 – Trang 16
Bước 11: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 58 -
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
- Các bước thực hiện giống như các bước ở Bài 1 – Trang 18.
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai4.hex
Bước 5: Quan sát hiện tượng
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
- Phần cứng của Kit thực tập vi điều khiển, Led có chân chung là chân
dương, chân âm là chân điều khiển. Nên Led sẽ sáng ở mức thấp, trong
khi phần mô phỏng của phần mềm Flowcode Led sáng ở mức cao.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Thực hiện chương trình Led sáng đuổi từ trái qua phải
2. Thực hiện chương trình Led sáng đuổi từ phải qua trái, sau đó từ trái qua
phải. Chương trình lặp lại từ đầu.
3. Thực hiện chương trình Led sáng dần.
4. Thực hiện chương trình Led sáng dồn.
Ngày: …../…../ 200…
BÀI 4 ĐIỀU KHIỂN LED
SÁNG ĐUỔI Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 59 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 60 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Nhận dữ liệu từ bên ngoài vào ATMEGA8515 và xử lý.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
- Xem lại Bài 1
Sơ đồ kết nối phần cứng
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 61 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật nhận dữ liệu từ Port B và xuất ra Port A
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai5
Bước 2: Gọi vòng lặp while
Bước 3: Gọi khối Input
- Chọn vào biểu tượng sau đó kéo – thả vào giữ 2 khối While – Loop
- Nhấn 2 lần vào khối
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 62 -
- Trong cửa sổ Properties: Input
o Nhấn vào nút Variables
Cửa sổ Variable Manager
Nhấn nút Add New Variable
o Cửa sổ Create a New Variable
Name of New Variable: switch
Nhấn OK
Variable Name chọn count Use Variable
o Variable: switch
o Port: Port B
o Nhấn OK
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 63 -
Bước 4: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: switch
Port: Port A
Bước 5: Gọi khối mô phỏng Led đơn
- Giống như Bước 3, Bài 1 – Trang 16
Bước 7: Gọi khối mô phỏng nút nhất.
- Nhấn vào biểu tượng
- Nhấn vào biểu tượng
- Chọn Component Connections…
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 64 -
o Port: Lựa chọn Led nối với port nào của ATMEGA8515
o Bit: Lựa chọn từng chân của ATMEGA8515 nối với Led
- Chọn Port B
Bước 6: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
- Nhấn vào biểu tượng
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 65 -
- Chọn Properties…
Number of Switches: Lựa chọn số lượng nút nhấn/ công tắc.
Switch Type:
Toggle: công tắc
Push To Make: Nút nhấn
Direction:
Deflaul: Switch 0 nằm bên phía phải.
Reverse: Switch 0 nằm bên phía trái.
Orientation:
Horizontal: Switch hiển thị nằm ngang
Vertical: Switch hiển thị đứng
Debounce: thời gian nẩy phím
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 66 -
- Đặt tên cho các Switch
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
PB0
PB7
Port B
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 67 -
- Kết nối Port B với khối công tắc
- Kết nối hoàn chỉnh
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 68 -
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai5.hex
Bước 6: Quan sát hiện tượng
- Thay đổi các switch – quan sát các led
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
- Phần cứng của Kit thực tập vi điều khiển, Led có chân chung là chân
dương, chân âm là chân điều khiển. Nên Led sẽ sáng ở mức thấp, trong
khi phần mô phỏng của phần mềm Flowcode Led sáng ở mức cao.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Thực hiện chương trình khi Port B nhận dữ liệu là 1 thì dữ liệu xuất ra ở
Port A là 2, tương tự dữ liệu vào là 2 thì dữ liệu xuất ra là 3…
Ngày: …../…../ 200…
BÀI 5 NHẬP DỮ LIỆU TỪ PORT B Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 69 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 70 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Nhận dữ liệu từ bên ngoài vào ATMEGA8515 và xử lý.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
- Xem lại Bài 1
Sơ đồ kết nối phần cứng
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 71 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật đếm lên khi nhấn nút – dữ liệu xuất ra Port A
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai6
Bước 2: Gọi khối Calculation
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 72 -
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Nhấn vào nút Variables
Cửa sổ Variable Manager
Nhấn nút Add New Variable
o Cửa sổ Create a New Variable
Name of New Variable: total
Nhấn OK
Variable Name chọn count Use Variable
o Calculations: count = 0
o Nhấn OK
Bước 3: Gọi vòng lặp while
Bước 4: Gọi khối Input
- Chọn vào biểu tượng sau đó kéo – thả vào giữ 2 khối While – Loop
- Nhấn 2 lần vào khối Iutput
- Trong cửa sổ Properties: Input
o Nhấn vào nút Variables
Cửa sổ Variable Manager
Nhấn nút Add New Variable
o Cửa sổ Create a New Variable
Name of New Variable: count
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 73 -
Nhấn OK
Variable Name chọn count Use Variable
o Variable: count
o Port: Port C
o Single bit: 0
o Nhấn OK
Bước 5: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: total=total+count
o Nhấn OK
Bước 6: Gọi khối Delay
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
o Delay value or vairable: 250
o Chọn milliseconds
Bước 7: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: total
Port: Port A
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 74 -
Bước 8: Gọi khối mô phỏng Led đơn
- Giống như Bước 3, Bài 1 – Trang 16
Bước 9: Gọi khối mô phỏng nút nhất.
- Nhấn vào biểu tượng
- Nhấn vào biểu tượng
- Chọn Properties…
- Chọn Component Connections…
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 75 -
Bước 10: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 76 -
- Kết nối PC0 với khối công tắc switch 1
- Kết nối Port A với khối Led đơn
- Kết nối hoàn chỉnh
PC0
PA
Port C
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 77 -
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai6.hex
Bước 6: Quan sát hiện tượng
- Thay đổi switch – quan sát các led
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
- Phần cứng của Kit thực tập vi điều khiển, Led có chân chung là chân
dương, chân âm là chân điều khiển. Nên Led sẽ sáng ở mức thấp, trong
khi phần mô phỏng của phần mềm Flowcode Led sáng ở mức cao.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Thực hiện chương trình khi thả nút nhấn ra thì dữ liệu mới đếm lên.
2. Thực hiện chương trình nhấn nút – đếm lên 2, 4, 6, 8 ….
3. Thực hiện chương trinh nhấn nút – đếm lên đến 9 thì dừng lại.
4. Thực hiện chương trình nhất nút – đếm lên đến 10 thì đếm xuống. Khi
đếm xuống đến 0 thì đếm lên.
Ngày: …../…../ 200…
BÀI 6 NÚT NHẤN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 78 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 79 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Các phương pháp hiển thị dữ liệu trên Led 7 đoạn
- Điều khiển Led 7 đoạn bằng vi điều khiển ATMEGA8515.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
A. Cấu trúc và mã hiển thị dữ liệu trên Led 7 đoạn D
- Dạng Led
- Led Anode chung
a
b
c
d
e
f
g
dp
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 80 -
Đối với dạng Led anode chung, chân COM phải có mức logic 1 và muốn sáng
Led thì tương ứng các chân a – f, dp sẽ ở mức logic 0.
Bảng mã cho Led Anode chung (a là MSB, dp là LSB):
Số a b c d e f g dp Mã hex 0 0 0 0 0 0 0 1 1 03h
1 1 0 0 1 1 1 1 1 9Fh 2 0 0 1 0 0 1 0 1 25h
3 0 0 0 0 1 1 0 1 0Dh 4 1 0 0 1 1 0 0 1 99h
5 0 1 0 0 1 0 0 1 49h
6 0 1 0 0 0 0 0 1 41h
7 0 0 0 1 1 1 1 1 1Fh
8 0 0 0 0 0 0 0 1 01h
9 0 0 0 0 1 0 0 1 09h
Bảng mã cho Led Anode chung (a là LSB, dp là MSB):
Số dp g f e d c b a Mã hex 0 1 1 0 0 0 0 0 0 0C0h
1 1 1 1 1 1 0 0 1 0F9h 2 1 0 1 0 0 1 0 0 0A4h 3 1 0 1 1 0 0 0 0 0B0h 4 1 0 0 1 1 0 0 1 99h 5 1 0 0 1 0 0 1 0 92h 6 1 0 0 0 0 0 1 0 82h 7 1 1 1 1 1 0 0 0 0F8h
8 1 0 0 0 0 0 0 0 80h 9 1 0 0 1 0 0 0 0 90h
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 81 -
- Led Cathode chung
Đối với dạng Led Cathode chung, chân COM phải có mức logic 0 và
muốn sáng Led thì tương ứng các chân a – f, dp sẽ ở mức logic 1. Bảng mã cho
Led Cathode chung (a là MSB, dp là LSB):
Số a b c d e f g dp Mã hex 0 1 1 1 1 1 1 0 0 0FCh 1 0 1 1 0 0 0 0 0 60h 2 1 1 0 1 1 0 1 0 0DAh 3 1 1 1 1 0 0 1 0 0F2h 4 0 1 1 0 0 1 1 0 66h 5 1 0 1 1 0 1 1 0 0B6h 6 1 0 1 1 1 1 1 0 0BEh 7 1 1 1 0 0 0 0 0 0E0h 8 1 1 1 1 1 1 1 0 0FEh
9 1 1 1 1 0 1 1 0 0F6h
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 82 -
Bảng mã cho Led Anode chung (a là LSB, dp là MSB):
Số dp g f e d c b a Mã hex
0 0 0 1 1 1 1 1 1 3Fh 1 0 0 0 0 0 1 1 0 06h 2 0 1 0 1 1 0 1 1 5Bh
3 0 1 0 0 1 1 1 1 4Fh 4 0 1 1 0 0 1 1 0 66h 5 0 1 1 0 1 1 0 1 6Dh 6 0 1 1 1 1 1 0 1 7Dh 7 0 0 0 0 0 1 1 1 07h
8 0 1 1 1 1 1 1 1 7Fh 9 0 1 1 0 1 1 1 1 6Fh
B. Các phương pháp điều khiển Led 7 đoạn
Dùng phương pháp quét
Khi kết nối chung các đường dữ liệu của Led 7 đoạn (hình vẽ), ta không thể cho
các Led này sáng đồng thời (do ảnh hưởng lẫn nhau giữa các Led) mà phải thực
hiện phương pháp quét, nghĩa là tại mỗi thời điểm chỉ sáng một Led và
tắt các Led còn lại. Do hiện tượng lưu ảnh của mắt, ta sẽ thấy các Led sáng đồng
thời.
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 83 -
Dùng phương pháp chốt
Khi thực hiện tách riêng các đường dữ liệu của Led, ta có thể cho phép các Led
sáng đồng thời mà sẽ không có hiện tượng ảnh hưởng giữa các Led. IC chốt cho
phép lưu trữ dữ liệu cho các Led có thể sử dụng là 74LS373, 74LS374.
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 84 -
Kết nối phần cứng
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 85 -
Sơ đồ kết nối phần cứng
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 86 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật hiển thị số 9 ra Led 7 đoạn
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai7
Bước 2: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: 0b00001000
Port: Port A
Bước 3: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: 0b00000001
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 87 -
Port: Port C
Bước 4: Gọi khối mô phỏng Led đơn
- Giống như Bước 3, Bài 1 – Trang 16
Bước 5: Gọi khối mô phỏng Led 7 đoạn.
- Nhấn vào biểu tượng
- Nhấn vào biểu tượng
- Chọn Component Connections…
- Chọn các thông số như hình
Bước 6: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 88 -
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối Port A với khối Led 7 đoạn tại 7SEG-IN (PA7 nối với A)
- Kết nối PC0, PC1, PC2, PC3 với khối Led 7 đoạn tại SELECT-LED (PC0
với Led3…).
- Phần cứng của Kit thực tập vi điều khiển, tại khối Led 7 đoạn – SELECT-
LED nối qua transistor. Nên Led sẽ được lựa chọn ở mức thấp, trong khi
phần mô phỏng của phần mềm Flowcode Led lựa chọn ở mức cao.
- Kết nối hoàn chỉnh
PA
PC
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 89 -
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai7.hex
Bước 6: Quan sát hiện tượng
- Quan sát số hiển thị trên Led 7 đoạn
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Led 7 đoạn sử dụng là Led loại gì?
2. Thực hiện chương trình hiển thị số 88 ra 2 Led 7 đoạn
3. Hiển thị số 21 trên 2 Led 7 đoạn
Ngày: …../…../ 200…
BÀI 7 ĐIỀU KHIỂN LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 90 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 91 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Các phương pháp hiển thị dữ liệu trên Led 7 đoạn
- Điều khiển Led 7 đoạn bằng vi điều khiển ATMEGA8515.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
- Xem lại lý thuyết ở bài 7
- Kết nối phần cứng
Sơ đồ kết nối phần cứng
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 92 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật đếm lên tới 69 hiển thị ra Led 7 đoạn
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 93 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai8
Bước 2: Gọi vòng lặp While
Bước 3: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Nhấn vào nút Variables
Cửa sổ Variable Manager
Nhấn nút Add New Variable
o Cửa sổ Create a New Variable
Name of New Variable: count
Nhấn OK
Tạo tiếp các biến hchuc, hdonvi, tam, ht, delay
Variable Name chọn count Use Variable
o Calculations: count = 0
o Nhấn OK
Bước 4: Gọi vòng lặp While
- Nhấn 2 lần vào khối While
- Trong cửa sổ Properties: Loop
o Loop while: count < 69
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 94 -
o Nhấn OK
Bước 4: Gọi khối Macro
- Chọn vào biểu tượng sau đó kéo – thả vảo giửa 2 khối While – Loop
(khối thứ 2)
- Nhấn 2 lần vào khối
Nhấn vào nút để tạo các Macro (chương trình con)
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 95 -
Trong cửa sổ Create a New Macro
Name of new macro: Giaima7doan
Nhấn OK
Tương tự tạo tiếp các Macro: hienthi, ma7doan
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 96 -
Chọn Giaima7doan
Nhấn OK
Bước 5: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: delay = 10
o Nhấn OK
Bước 6: Gọi vòng lặp While
- Nhấn 2 lần vào khối While
- Trong cửa sổ Properties: Loop
o Loop while: delay > 0
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 97 -
o Nhấn OK
Bước 7: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: hienthi
o Nhấn OK
Bước 8: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: delay = delay - 1
o Nhấn OK
Bước 9: Gọi khối Calculation
- Để ngoài vòng lặp While delay > 0
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: delay = delay + 1
o Nhấn OK
Bước 10: Viết chương trình cho các Macro
- Nhấn 2 lần vào khối Macro bất kỳ
- Chọn Macro cần viết nhấn nút để viết chương
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 98 -
aa.. TTạạoo cchhưươơnngg ttrrììnnhh cchhoo mmaaccrroo GGiiaaiimmaa77ddooaann
Lưu đồ giải thuật giải mã 7 đoạn.
hdonvi = count MOD 10 hchuc = count / 10
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 99 -
bb.. TTạạoo cchhưươơnngg ttrrììnnhh cchhoo mmaaccrroo hhiieenntthhii
Lưu đồ giải thuật hiển thị ra led 7 đoạn
Variable or value: 0b00000001
Variable or value: 0b00000000
Variable or value: 0b00000010
Variable or value: 0b00000000
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 100 -
cc.. TTạạoo cchhưươơnngg ttrrììnnhh cchhoo mmaaccrroo mmaa77ddooaann
Lưu đồ giải thuật giải mã 7 đoạn
tam = 0b00000010
tam = 0b10011110
tam = 0b00100100
tam = 0b00001100
tam = 0b10011000
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 101 -
tam = 0b01001000
tam = 0b01000000
tam = 0b00011110
tam = 0b00000000
tam = 0b00001000
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 102 -
Bước 11: Gọi khối mô phỏng Led 7 đoạn.
- Chọn Component Connections…
- Chọn các thông số như hình
Bước 12: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 103 -
Bước 5: Kết nối với switch
- Kết nối Port A với khối Led 7 đoạn tại 7SEG-IN (PA7 nối với A)
- Kết nối PC0, PC1, PC2, PC3 với khối Led 7 đoạn tại SELECT-LED (PC0
với Led3…).
- Kết nối hoàn chỉnh
PA
PC
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 104 -
- Phần cứng của Kit thực tập vi điều khiển, tại khối Led 7 đoạn – SELECT-
LED nối qua transistor. Nên Led sẽ được lựa chọn ở mức thấp, trong khi
phần mô phỏng của phần mềm Flowcode Led lựa chọn ở mức cao.
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai8.hex
Bước 6: Quan sát hiện tượng
- Quan sát số hiển thị trên Led 7 đoạn
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Giải thích các macro Giaima7doan, hienthi, ma7doan 2. Thực hiện đoạn chương trình trên để hiển thị số tăng dần từ 00 đến 99 ra 2
Led 7 đoạn 3. Hiển thị số ra 2 Led 7 đoạn tăng dần từ 00 - 59. 4. Hiển thị số ra 2 Led 7 đoạn tăng dần từ 00 - 23. 5. Hiển thị số ra 2 Led 7 đoạn giảm dần từ 99 - 00. 6. Hiển thị số ra 2 Led 7 đoạn giảm dần từ 59 - 00. 7. Hiển thị số ra 2 Led 7 đoạn giảm dần từ 23 - 00.
Ngày: …../…../ 200…
BÀI 8 ĐẾM LÊN 69
HIỂN THỊ RA LED 7 ĐOẠN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 105 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 106 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 giao tiếp với Led ma trận.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
Led Ma Trận
Ma trận LED bao gồm nhiều LED cùng nằm trong một vỏ chia thành
nhiều cột và hàng, mỗi giao điểm giữa hàng và cột có thể có 1 LED (ma
trận LED một màu) hay nhiều LED (2 LED tại một vị trí tạo thành ma trận LED
3 màu). Để LED tại một vị trí nào đó sáng thì phải cấp hiệu điện thế dương giữa
Anode và Cathode. Trên cơ sở cấu trúc như vậy, ta có thể mở rộng hàng và cột
của ma trận LED để tạo thành các bảng quang báo.
Kết nối của ma trận Led có 2 cách: anode nối với hàng, cathode nối với cột hay
ngược lại. Sơ đồ kết nối mô tả như hình vẽ trang bên.
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 107 -
Theo cấu trúc kết nối như hình vẽ, 2 Led trên 2 cột không thể sáng đồng thời. Xét
sơ đồ kết nối như mạch hình b, một Led sáng khi tương ứng hàng của Led = 0 và
cột = 1.
Giả sử ta cần sáng Led đồng thời tại hàng 1, cột 1 và hàng 2, cột 2. Như vậy, ta
phải có hàng 1 = 0, cột 1 = 1 (sáng Led tại hàng 1, cột 1) và hàng 2 = 0, cột 2 = 1
(sáng Led tại hàng 2, cột 2).
Từ đó, do hàng 1 = 0, cột 2 = 1 và hàng 2 = 0, cột 2 = 1 nên ta cũng có các
Led tại hàng 1, cột 2 và hàng 2, cột 1 cũng sáng.
Nghĩa là, khi ta cho 2 Led tại hàng 1, cột 1 và hàng 2, cột 2 sáng đồng thời thì sẽ
dẫn đến các Led tại hàng 1, cột 2 và hàng 2, cột 1 cũng sáng.
Do đó, để thực hiện sáng một ký tự trên ma trận Led, ta phải dùng cơ chế quét,
tại mỗi thời điểm chỉ sáng 1 cột, các cột còn lại tắt đi nhưng nếu cho thời gian
quét đủ nhanh thì ta vẫn thấy giống như các cột sáng đồng thời.
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 108 -
Hình a Hình b
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 109 -
Dữ liệu cho số 0:
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Để sáng số 0 trên ma trận Led, ta thực hiện quá trình quét như sau:
Lần 1: Hàng = 0100 0001b, cột = 00010000b
Lần 2: Hàng = 0011 1110b, cột = 0000 1000b
Lần 3: Hàng = 0011 1110b, cột = 0000 0100b
Lần 4: Hàng = 0011 1110b, cột = 0000 0010b
Lần 5: Hàng = 0100 0001b, cột = 0000 0001b
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 110 -
Kết nối phần cứng
SSơơ đđồồ kkếếtt nnốốii pphhầầnn ccứứnngg
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 111 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật hiện chữ T trên Led ma trận
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 112 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai9
Bước 2: Gọi khối Calculation
- Tạo các biến
- Trong cửa sổ Properties: Calculation
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 113 -
Bước 3: Gọi vòng lặp while
Bước 4: Gọi khối Calculation
Bước 5: Gọi vòng lặp While
- Nhấn 2 lần vào khối While
- Trong cửa sổ Properties: Loop
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 114 -
o Loop while: dem < 8
o Nhấn OK
Bước 6: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: count1
Port: Port A
Bước 7: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: hthi
Port: Port D
Bước 8: Gọi khối Calculation
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 115 -
Bước 9: Gọi khối Delay
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
o Delay value or vairable: 2
o Chọn milliseconds
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối Port D với khối Led ma Tran 8x8 tại H7…H0 (PD0 nối với H0)
- Kết nối Port A với khối Led ma Tran 8x8 tại D7…D0 (PA0 nối với D7)
- Kết nối hoàn chỉnh
PD
PA
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 116 -
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai9.hex
Bước 6: Quan sát hiện tượng
- Quan sát chữ hiển trên Led ma trận
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Có thể hiển thị chữ có dấu trên Led ma trận?
2. Viết chương trình hiển thị số trên Led ma trận.
Ngày: …../…../ 200…
BÀI 9 LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 117 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 118 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 giao tiếp với Led ma trận.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
- Xem lại phần lý thuyết ở bài 9
Kết nối phần cứng
SSơơ đđồồ kkếếtt nnốốii pphhầầnn ccứứnngg
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 119 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật hiện chuỗi TDC trên Led ma trận
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 120 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai10
Bước 2: Gọi khối Calculation
- Tạo các biến
- Trong cửa sổ Properties: Calculation
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 121 -
Bước 3: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
Bước 4: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 122 -
Bước 5: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
Bước 6: Gọi vòng lặp while
Bước 7: Gọi khối String
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 123 -
- Chọn vào biểu tượng sau đó kéo – thả vảo giửa 2 khối While – Loop
- Nhấn 2 lần vào khối
- Nhấn nút lựa chọn các chức năng của khối String
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 124 -
=
Thay đổi giá trị của biến kiểu chuỗi
Str1[20] = "Hello "
Str2[10] = "World"
TestStr[20]
TestStr = Str1 + Str2
TestStr bây giờ có giá trị là "Hello World"
+
Cộng 2 chuỗi
TestStr = Str1 + Str2
TestStr bây giờ có giá trị là "Hello World"
ToString$(value)
Thay đổi biến dạng số thành dạng chuỗi
TestStr = ToStr$(1234)
TestStr có giá trị là "1234"
ToUpper$(string)
Thay đổi các kí tự thành chữ in hoa.
TestStr = ToUpper$(Str1)
TestStr bây giờ có giá trị là "HELLO "
ToLower$(string)
Thay đổi các kí tự thành chữ thường.
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 125 -
TestStr = ToLower$(Str1)
TestStr bây giờ có giá trị là "hello "
Length$(string)
Trả về độ dài của một chuỗi. Giá trị này không phải là kích thước của một mảng
RetVal = Length$(Str1)
RetVal is now 6
Ghi chú: Kích thước mảng Str1 là 20, nhưng giá trị hiện tại của mảng chỉ có 6 ký
tự giá trị trả về là 6.
Left$(string, size)
Lấy phần tử của một mảng từ phía trái mảng tới n phần tử cần muốn lấy.
TestStr = Left$(Str1, 3)
TestStr bây giờ có giá trị là "Hel"
Right$(string, size)
Lấy phần tử của một mảng từ phía phải mảng tới n phần tử cần muốn lấy.
TestStr = Right$(Str1, 3)
TestStr bây giờ có giá trị là "lo "
Mid$(string, start, size)
Lấy n phần tử vị trí m của mảng.
TestStr = Mid$(Str1, 2, 3)
TestStr bây giờ có giá trị là "llo"
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 126 -
Compare$(string1, string2, compare_type)
So sánh giữa 2 chuỗi. Giá trị trả về là 1 Byte với kết quả như sau:
0 = 2 chuỗi tương ứng với nhau
1 = string1>string2
255 = string2>string1
Ví dụ:
Str1 = "ABC"
Str2 = "abc"
RetVal = Compare$(Str1, Str2, 0)
RetVal có giá trị là 255 (Str2 > Str1) (phân biết chữ in hoa và chữ thường)
RetVal = Compare$(Str1, Str2, 1)
RetVal có giá trị là 0 (không phân biết chữ in hoa và chữ thường)
Str2 = Str1
RetVal = Compare$(Str1, Str2, 0)
RetVal có giá trị là 0
Bước 8: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Nhấn vào nút để tạo các Macro (chương trình con)
- Trong cửa sổ Create a New Macro
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 127 -
Name of new macro: hienthi
Nhấn OK
- Trong cửa sổ Properties: Macro
Macro: hienthi
- Nhấn nút để viết chương
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 128 -
dem = 0 dem1 = dem + dich count = 0b00000001 count1 = NOT count hthi = hang[dem1]
count = count << 1 dem = dem + 1 dem1 = dem + dich count1 = NOT count hthi = hang[dem1]
delay = delay - 1
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 129 -
Bước 9: Gọi khối String
- Nhấn 2 lần vào khối String
- Trong cửa sổ Properties: String Manipulation
o String functions: hang = chuT + chuD
o Nhấn OK
Bước 10: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: hienthi
o Nhấn OK
Bước 11: Gọi khối String
- Nhấn 2 lần vào khối String
- Trong cửa sổ Properties: String Manipulation
o String functions: hang = chuD + chuC
o Nhấn OK
Bước 12: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: hienthi
o Nhấn OK
Bước 13: Gọi khối String
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 130 -
- Nhấn 2 lần vào khối String
- Trong cửa sổ Properties: String Manipulation
o String functions: hang = chuC + nun
o Nhấn OK
Bước 14: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: hienthi
o Nhấn OK
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối Port D với khối Led ma Tran 8x8 tại H7…H0 (PD0 nối với H0)
PD
PA
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 131 -
- Kết nối Port A với khối Led ma Tran 8x8 tại D7…D0 (PA0 nối với D7)
- Kết nối hoàn chỉnh
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai10.hex
Bước 6: Quan sát hiện tượng
- Quan sát chữ hiển trên Led ma trận
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Viết chương trình hiển thị chuỗi: “Truong Cao Dang Cong Nghe Thu
Duc”.
Ngày: …../…../ 200…
BÀI 10 HIỂN THỊ CHUỖI “TDC”
TRÊN LED MA TRẬN Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 132 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 133 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 giao tiếp với LCD.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
Giới thiệu về LCD
Để có được hiển thị tiết kiệm năng lượng và linh hoạt, người ta sử dụng bộ hiển
thị LCD. Có nhiều loại LCD, trong số đó là các bộ hiển thị 16 x 2 và 20 x 2 (có
nghĩa là 2 hàng với 16 ký tự trên một hàng và 2 hàng với 20 ký tự trên một
hàng).
Người ta đã thiết lập chuẩn để cho phép ta có thể giao tiếp với các LCD bất chấp
hãng sản xuất với điều kiện là các LCD có sử dụng cùng IC điều khiển
HD44780.
Hình dáng và kích thước LCD
Các LCD được chế tạo từ các hãng như Densitron, Epson, Optrex, Sharp… Với
các cấu hình thông dụng là 16,20, 24, 32, hay 40 ký tự trên một hàng với màn
hình hiển thị 1, 2, hay 4 hàng . Thí dụ 20 x 2, 40 x 4…
Có loại LCD hiển thị dựa theo ký tự hay đồ họa. Các mạch lái trong các module
LCD là các chip điều khiển, ví dụ Hitachi HD44780.
Chiếu sáng trong bộ hiển thị LCD
Người ta sử dụng các kiểu sau:
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 134 -
Backlit (back lighting): sử dụng đèn chiếu sáng ở sau bộ hiển thị thay vì dùng
ánh sáng phản xạ
CFL (Cold Cathode Flourescent Lamp = Đèn huỳnh quang cathod lạnh): Một
loại đèn huỳnh quang đặc biệt để chiếu sáng phía trong các hiển thị LCD hiện
đại, đặc biệt trong các mảng đồ họa lớn như dùng trong các Laptop. Chúng cho
chiếu sáng rất tốt với dòng điện thấp. Được cấp diện bởi nguồn Ac cao áp và cao
tần (100-1000v, ở tần số 25-75 kHz), các yêu cầu về điện của chúng nghiêm ngặt
vá phải chính xác khớp với inverter thích hơp do nhà sản xuất đề nghị. Thí dụ
định mức cho backlit CFL của Stanley 20 character * 2 line: 230V, 2.5mA, 65
KHz.
Các chân ra của module LCD
Chân số Tên Chức năng
1 VSS Đất
2 VDD Cực + của nguồn điện
3 VEE Tương phản ( constrast)
4 RS Register select (chọn thanh ghi)
5 R/W Read/Write
6 E Enable(cho phép)
7 D0 Bit 0 của dữ liệu
8 D1 Bit 1 của dữ liệu
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 135 -
9 D2 Bit 2 của dữ liệu
10 D3 Bit 3 của dữ liệu
11 D4 Bit 4 của dữ liệu
12 D5 Bit 5 của dữ liệu
13 D6 Bit 6 của dữ liệu
14 D7 Bit 7 của dữ liệu
Tóm tắt tập lệnh điều khiển LCD
Nhị phân Lệnh RS RW
D7 D6 D5 D4 D3 D2 D1 D0
Hex
NOP ( không làm
gì cả )
0 0 0 0 0 0 0 0 0 0 00
Clear display (xóa
hiển thị)
0 0 0 0 0 0 0 0 0 1 01
Display & cursor
home (hiển thị và
đặt cursor ở vị trí
góc trái phía trên)
0 0 0 0 0 0 0 0 1 X 02
hoặc
03
Character Entry
mode (chế độ nhập
0 0 0 0 0 0 0 1 I/D S 04
đến
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 136 -
ký tự) 07
Display On/Off &
Cursor (hiển thị
tắt/mở và cursor)
0 0 0 0 0 0 1 D U B 08
đến
0F
Dislay/ Cursor
Shift (dịch hiển
thị/ cursor)
0 0 0 0 0 1 D/
C
R/
L
X X 10
đến
1F
Function set (đặt
chức năng)
0 0 0 0 1 8/4 2/1 10/
7
X X 20
đến
3F
Set CGRAM
address (đặt địa
chỉ CRRAM)
0 0 0 1 A A A A A A 40
đến
7F
Set DDRAM
address (đặt địa
chỉ DDRAM)
0 0 1 A A A A A A A 80
đến
FF
Busy Flag &Addr
(cờ bận và bộ đếm
địa chỉ)
0 1 BP Bộ đếm địa chỉ
Read Data (đọc dữ
liệu từ CGRAM
hoặc DDRAM)
1 0 Dữ liệu đọc
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 137 -
Write Data (ghi dữ
liệu vào CGRAM
hoặc DDRAM)
1 1 Dữ liệu ghi
Sơ đồ vùng nhớ:
1 2 3 4 ….. 11 12 13 14 15 16 17 18 19 20 Vị trí
00 01 02 03 ….. 0A 0B 0C 0D 0E 0F 10 11 12 13 Hàng 1
40 41 42 43 ….. 4A 4B 4C 4D 4E 4F 50 51 52 53 Hàng 2
14 15 16 17 ….. 1E 1F 20 21 22 23 24 25 26 27 Hàng 3
54 55 56 57 ….. 5E 5F 60 61 62 63 64 65 65 67 Hàng 4
Kết nối phần cứng
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 138 -
SSơơ đđồồ kkếếtt nnốốii pphhầầnn ccứứnngg
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 139 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật hiện chữ “Hello World” và “Chao moi nguoi” trên LCD
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai11
Bước 2: Gọi khối mô phỏng LCD
- Nhấn vào biểu tượng
- Nhấn vào biểu tượng
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 140 -
o Chọn Properties…
Chọn LCD Size: 20x4
o Chọn Component Connections
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 141 -
Cài các thông số như hình
Bước 3: Gọi khối Component Macro
- Chọn vào biểu tượng sau đó kéo – thả vảo giửa 2 khối Begin – End
- Nhấn 2 lần vào khối
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 142 -
- Trong cửa sổ Properties: Component Macro
o Component: LCDDisplay(0)
o Macro: Start
o Nhấn OK
Bước 4: Gọi khối Component Macro
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
o Component: LCDDisplay(0)
o Macro: PrintString
o Parameters: "Hello World"
o Nhấn OK
Bước 5: Gọi khối Component Macro
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 143 -
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
o Component: LCDDisplay(0)
o Macro: Cursor
o Parameters: 0, 1
o Nhấn OK
Bước 6: Gọi khối Component Macro
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
o Component: LCDDisplay(0)
o Macro: PrintString
o Parameters: "Chao moi nguoi"
o Nhấn OK
Chức năng khối Component Macro
Start: Khởi động LCD (phải có trước khi sử dụng các chức năng khác)
Clear: Xóa LCD
PrintASCII: Xuất ra LCD kí tự tương ứng với mã ASCII.
Command: Xuất các lệnh ra LCD
Cursor: Duy chuyển con trỏ tới vị trí x, y
PrintNumber: Xuất ra LCD tương ứng với 1 biến số
PrintString: Xuất ra LCD tương ứng với 1 biến chuỗi
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 144 -
Bước 7: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối PA0, PA1,PA2, PA3 với D4, D5, D6, D7 (DATA-IN) tại khối
LCD.
- Kết nối R/W tại khối LCD vị trí LCD-CONTROL với GND tại khối
Nguồn
- Nối PA6 với RS tại khối LCD vị trí LCD-CONTROL
- Nối PAt với E tại khối LCD vị trí LCD-CONTROL
PA0
PA
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 145 -
- Tại khối LCD vị trai LCD ON/OFF đưa công tắc về vị trí ON (vị trí
hướng lên)
- Kết nối hoàn chỉnh
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai11.hex
Bước 6: Quan sát hiện tượng
- Quan sát chữ hiển trên LCD
- Nếu hiện tượng không đúng với quá trình mô phỏng thì nhấn nút Rest
Chip tại phần mềm nạp SPI – Flash Programmer 3.7, nếu không được
nữa thì thực hiện lại từng bước từ phần A.
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 146 -
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Viết chương trình hiển thị chuỗi:
- Hàng 1: Truong Cao Dang
- Hàng 2: Cong Nghe Thu Duc
- Hàng 3: Thu Duc College
- Hàng 4: of Technology
- Dừng 1 thời gian
- Hàng 1: Khoa Dien – Dien Tu
- Hàng 2: Bo Mon Dien Tu
2. Tương tự bài 1 – Chữ hiển thị chạy từ hàng dưới lên hàng trên.
Ngày: …../…../ 200…
BÀI 11 GIAO TIẾP LCD Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 147 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 148 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 điều khiển bàn phím ma trận 4x4.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
Bàn phím Hex
Khi không nhấn phím thì hàng của bàn phím Hex nối với Vcc thông qua điện trở
R nên có mức logic 1. Để phân biệt được trạng thái của phím nhấn thì mức logic
khi nhấn phím phải là mức logic 0. Mà khi nhấn một phím nào đó thì tương ứng
hàng và cột của bàn phím Hex sẽ kết nối với nhau. Do đó, để thực hiện kiểm tra
một phím thì ta phải cho trước cột chứa phím tương ứng ở mức logic 0, sau
đó kiểm tra hàng của phím, nếu hàng = 0 thì có nhấn phím còn hang = 1 thì
không nhấn phím.
Ví dụ như muốn kiểm tra phím 4 thì ta cho cột chứa phím 4 ở mức logic 0 (chân
5 của J1, các cột khác = 1, nghĩa là dữ liệu tại J1 là 1000xxxxb), sau đó thực hiện
kiểm tra chân 2 của J1 (hàng của phím 4), nếu chân này = 0 thì phím 4 được nhấn
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 149 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật quét phím – hiển thị ra Led 7 đoạn
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai11
Bước 2: Gọi khối Interrupt
- Chọn vào biểu tượng sau đó kéo – thả vảo giửa 2 khối Begin – End
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 150 -
- Nhấn 2 lần vào khối
- Chọn các thông số như hình
- Nhấn nút
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 151 -
- Name of new macro: hienthi
- Nhấn nút để viết chương trình
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 152 -
- Tạo các biến
0b00000001
0b00000000
0b00000010
0b00000000
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 153 -
Bước 3: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: count = 0
o Nhấn OK
Bước 4: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
o Tạo các Macro
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 154 -
- Macro Giaima7doan
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 155 -
Maphim = 0b10000100
Maphim = 0b01000100
Maphim = 0b00100100
Maphim = 0b00010100
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 156 -
Maphim = 0b10000011
Maphim = 0b01000011
Maphim = 0b00100011
Maphim = 0b00010011
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 157 -
Maphim = 0b10000010
Maphim = 0b01000010
Maphim = 0b00100010
Maphim = 0b00010010
Maphim = 0b10000001
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 158 -
- Tạo macro phantich
Maphim = 0b01000010
Maphim = 0b00100001
Maphim = 0b00010001
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 159 -
- Tạo macro ma7doan
hdonvi = count MOD 10 hchuc = count / 10
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 160 -
tam = 0b00000010
tam = 0b10011110
tam = 0b00100100
tam = 0b00001100
tam = 0b10011000
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 161 -
tam = 0b01001000
tam = 0b01000000
tam = 0b00011110
tam = 0b00000000
tam = 0b00001000
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 162 -
- Tạo macro quetphim
Maquet = 0b00000001 Sodem = 4
Luu = Luu AND 0b11110000
Maphim = Luu + Sodem
Giaima7doan
Maquet = Maquet << 1 Sodem = Sodem - 1
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 163 -
- Trong cửa sổ Properties: Macro
o Macro: phantich
o Nhấn OK
Bước 5: Gọi vòng lặp While
Bước 6: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: quetphim
o Nhấn OK
Bước 7: Gọi khối mô phỏng Led 7 đoạn.
- Chọn Component Connections…
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 164 -
- Chọn các thông số như hình
Bước 8: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối Port A với khối Led 7 đoạn tại 7SEG-IN (PA7 nối với A)
- Kết nối PC0, PC1, PC2, PC3 với khối Led 7 đoạn tại SELECT-LED (PC0
với Led3…).
- Kết nối Port D với khối bàn phím ma trận
- Kết nối hoàn chỉnh
PA0
PA PA
PC PD
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 165 -
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai12.hex
Bước 6: Quan sát hiện tượng
- Nhấn các phím
- Quan sát trên led 7 đoạn
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
- Giống bài tập trên, nhưng nhấn lần lượt các phím – hiển thị từ 0 tới 15
- Nhấn số 1 hiển thị số 1, tiếp tục nhấn số 2 hiển thị số 12, tiếp tục nhấn số
3 hiển thị số 23….
Ngày: …../…../ 200…
BÀI 12 QUÉT PHÍM Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 166 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 167 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 điều khiển động cơ DC.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
SSơơ đđồồ pphhầầnn ccứứnngg đđiiềềuu kkhhiiểểnn đđộộnngg ccơơ DDCC
-- Cầu H điều khiển động cơ gồm 4 MOSFET được kích đối xứng nhau. 2
tín hiệu kích thuận,nghịch ở hai đầu OPTO1 và OPTO2. Động cơ hoạt
động khi tín hiệu kích MASS.
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 168 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật điều khiển động cơ thuận nghịch
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 169 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai13
Bước 2: Gọi vòng lặp while
Bước 3: Gọi khối Input
- Nhấn 2 lần vào khối Iutput
- Trong cửa sổ Properties: Input
o Nhấn vào nút Variables
Cửa sổ Variable Manager
Nhấn nút Add New Variable
o Cửa sổ Create a New Variable
Name of New Variable: left
Nhấn OK
o Cửa sổ Create a New Variable
Name of New Variable: right
Nhấn OK
Variable Name chọn left Use Variable
o Variable: left
o Port: Port A
o Single bit: 0
o Nhấn OK
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 170 -
Bước 4: Gọi khối Input
- Nhấn 2 lần vào khối Iutput
- Trong cửa sổ Properties: Input
o Variable: right
o Port: Port A
o Single bit: 0
o Nhấn OK
Bước 5: Gọi khối Decision (khối rẽ nhánh)
- Nhấn 2 lần vào khối Decision
- Trong cửa sổ Properties: Decision
o If : left = 0
Bước 6: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output
o Variable or value: 1
o Port: Port C
o Single bit: 1
o Nhấn OK
Bước 7: Gọi khối Delay
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 171 -
o Delay value or vairable: 200
o Chọn milliseconds
Bước 8: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output
o Variable or value: 0
o Port: Port C
o Single bit: 0
o Nhấn OK
Bước 9: Gọi khối Decision (khối rẽ nhánh)
- Nhấn 2 lần vào khối Decision
- Trong cửa sổ Properties: Decision
o If : right = 0
Bước 10: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output
o Variable or value: 1
o Port: Port C
o Single bit: 0
o Nhấn OK
Bước 11: Gọi khối Delay
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 172 -
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
o Delay value or vairable: 200
o Chọn milliseconds
Bước 12: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output
o Variable or value:0
o Port: Port C
o Single bit:1
o Nhấn OK
Bước 13: Gọi khối mô phỏng nút nhấn
- Trong cửa sổ Properties
o Switches
Number of Switches: 2
Switch Type: Toggle
Direction: Default
Orientation: Vertical
Debounce(ms): 0
- Trong cửa sổ Component connections
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 173 -
Bước 14: Gọi khối mô phỏng led đơn
- Trong cửa sổ Properties
o LED Properties
Number of LEDs: 2
LED Colour: Green
Direction: Default
Orientation: Horizontal
- Trong cửa sổ Component connections
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 174 -
Bước 15: Mô phỏng
- Nhấn vào biểu tượng
- Quan sát hiện tượng
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 175 -
- Kết nối PA0 và PA7 với với khối nút nhấn
- Kết nối PC0 và PC1 với khối điều khiển động cơ DC
- Kết nối hoàn chỉnh
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai13.hex
PA7
PA0
PC
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 176 -
Bước 6: Quan sát hiện tượng
- Nhấn nút
- Quan sát hoạt động của động cơ
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Giống như bài tập trên, nhưng khi đảo chiều thì động cơ dừng lại 100ms
rồi mới đảo chiều.
2. Viết chương trình điều khiển động cơ quay thuận 5s, rồi quay nghịch 5s
Ngày: …../…../ 200…
BÀI 13 ĐIỀU KHIỂN ĐỘNG CƠ DC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 177 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 178 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 điều khiển động cơ bước.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
ĐĐộộnngg ccơơ bbưướớcc
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 179 -
- Khối công suất điều khiển động cơ bước
- Xung điều khiển động cơ như sau:
o Điều khiển một bước:
Ngược Thuận 1 2 3 4 1 2 3 4
1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
o Điều khiển nửa bước:
Ngược Thuận 1 2 3 4 1 2 3 4
1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 180 -
IIVV.. TTHHỰỰCC HHÀÀNNHH
Sơ đồ giải thuật điều khiển động cơ bước full step
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 181 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai14
Bước 2: Gọi vòng lặp while
Bước 3: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
o Tạo biến count
- Trong cửa sổ Properties: Calculation
o Calculations: count = 1
Bước 4: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: count
Port: Port D
Bước 5: Gọi khối Delay
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
o Delay value or vairable: 20
o Chọn milliseconds
Bước 6: Gọi vòng lặp while
- Trong cửa sổ Properties: Loop
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 182 -
o Loop while: count < 5
o Nhấn OK
Bước 7: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: count = count << 1
o Nhấn OK
Bước 8: Gọi khối Output
- Nhấn 2 lần vào khối Output
- Trong cửa sổ Properties: Output chọn các thông số
Variable or value: count
Port: Port D
Bước 9: Gọi khối Delay
- Nhấn 2 lần vào khối Delay
- Trong cửa sổ Properties: Delay
o Delay value or vairable: 20
o Chọn milliseconds
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 183 -
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối PD0, PD1, PD2, PD3 với khối điều khiển động cơ bước
- Kết nối hoàn chỉnh
PD
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 184 -
BB.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai14.hex
Bước 6: Quan sát hiện tượng
- Quan sát hoạt động của động cơ
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Điều khiển động cơ quay 1 vòng, dừng lại 20ms rồi quay ngược lại 1 vòng
2. Điều khiển động cơ bước hoạt động half step
Ngày: …../…../ 200…
BÀI 14 ĐIỀU KHIỂN
ĐỘNG CƠ BƯỚC Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 185 -
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 186 -
II.. MMỤỤCC ĐĐÍÍCCHH
- Sử dụng vi xử lý ATMEGA8515 truyền dữ liệu nối tiếp với máy tính.
IIII.. TTRRAANNGG TTHHIIẾẾTT BBỊỊ
- Máy vi tính có cài phần mềm Flowcode AVR, Visual Basic 6.0
- Bộ thực tập Vi Xử Lý CITA
IIIIII.. LLÝÝ TTHHUUYYẾẾTT
1. Cấu trúc cổng nối tiếp
Cổng nối tiếp được sử dụng để truyền dữ liệu hai chiều giữa máy tính và ngoại
vi, có các ưu điểm sau:
- Khoảng cách truyền xa hơn truyền song song.
- Số dây kết nối ít.
- Có thể truyền không dây dùng hồng ngoại.
- Có thể ghép nối với vi điều khiển hay PLC (Programmable Logic Device).
- Cho phép nối mạng.
- Có thể tháo lắp thiết bị trong lúc máy tính đang làm việc.
- Có thể cung cấp nguồn cho các mạch điện đơn giản
Các thiết bị ghép nối chia thành 2 loại: DTE (Data Terminal Equipment)
và DCE (Data Communication Equipment). DCE là các thiết bị trung gian như
MODEM còn DTE là các thiết bị tiếp nhận hay truyền dữ liệu như máy tính,
PLC, vi điều khiển, … Việc trao đổi tín hiệu thông thường qua 2 chân RxD
(nhận) và TxD (truyền). Các tín hiệu còn lại có chức năng hỗ trợ để thiết lập
và điều khiển quá trình truyền, được gọi là các tín hiệu bắt tay
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 187 -
(handshake). Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là có thể kiểm
soát đường truyền.
Tín hiệu truyền theo chuẩn RS-232 của EIA (Electronics Industry
Associations). Chuẩn RS-232 quy định mức logic 1 ứng với điện áp từ -3V đến -
25V (mark), mức logic 0 ứng với điện áp từ 3V đến 25V (space) và có khả năng
cung cấp dòng từ 10 mA đến 20 mA. Ngoài ra, tất cả các ngõ ra đều có đặc tính
chống chập mạch. Chuẩn RS-232 cho phép truyền tín hiệu với tốc độ đến 20.000
bps nhưng nếu cáp truyền đủ ngắn có thể lên đến 115.200 bps.
Các phương thức nối giữa DTE và DCE:
- Đơn công (simplex connection): dữ liệu chỉ được truyền theo 1 hướng.
- Bán song công ( half-duplex): dữ liệu truyền theo 2 hướng, nhưng mỗi
thời điểm chỉ được truyền theo 1 hướng.
- Song công (full-duplex): số liệu được truyền đồng thời theo 2 hướng.
Định dạng của khung truyền dữ liệu theo chuẩn RS-232 như sau:
Start D0 D1 D2 D3 D4 D5 D6 D7 P Stop
0 1
Khi không truyền dữ liệu, đường truyền sẽ ở trạng thái mark (điện áp -10V). Khi
bắt đầu truyền, DTE sẽ đưa ra xung Start (space: 10V) và sau đó lần lượt truyền
từ D0 đến D7 và Parity, cuối cùng là xung Stop (mark: -10V) để khôi phục trạng
thái đường truyền. Dạng tín hiệu truyền mô tả như sau (truyền ký tự A):
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 188 -
Chiều dài cable cực đại 15m Tốc độ dữ liệu cực đại 20 Kbps Điện áp ngõ ra cực đại 25V Điện áp ngõ ra có tải 5V đến 15V Trở kháng tải 3K đến 7K Điện áp ngõ vào 15V Độ nhạy ngõ vào 3V Trở kháng ngõ vào 3K đến 7K
Tín hiệu truyền của ký tự ‘A’
Các đặc tính kỹ thuật của chuẩn RS-232 như sau:
Các tốc độ truyền dữ liệu thông dụng trong cổng nối tiếp là: 1200 bps,
4800 bps, 9600 bps và 19200 bps.
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 189 -
Sơ đồ chân:
Sơ đồ chân cổng nối tiếp
Cổng COM có hai dạng: đầu nối DB25 (25 chân) và đầu nối DB9 (9 chân) mô tả
như sau:
D25 D9 Tín hiệu
Hướng truyền
Mô tả
1 - - - Protected ground: nối đất bảo vệ 2 3 TxD DTEDCE Transmitted data: dữ liệu truyền 3 2 RxD DCEDTE Received data: dữ liệu nhận 4 7 RTS DTEDCE Request to send: DTE yêu cầu truyền dữ liệu 5 8 CTS DCEDTE Clear to send: DCE sẵn sàng nhận dữ liệu 6 6 DSR DCEDTE Data set ready: DCE sẵn sàng làm việc 7 5 GND - Ground: nối đất (0V) 8 1 DCD DCEDTE Data carier detect: DCE phát hiện sóng mang 20 4 DTR DTEDCE Data terminal ready: DTE sẵn sàng làm việc 22 9 RI DCEDTE Ring indicator: báo chuông 23 - DSRD DCEDTE Data signal rate detector: dò tốc độ truyền 24 - TSET DTEDCE Transmit Signal Element Timing: tín hiệu
định thời truyền đi từ DTE
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 190 -
15 - TSET DCEDTE Transmitter Signal Element Timing: tín hiệu định thời truyền từ DCE để truyền dữ liệu
17 - RSET DCEDTE Receiver Signal Element Timing: tín hiệu định thời truyền từ DCE để truyền dữ liệu
18 - LL Local Loopback: kiểm tra cổng 21 - RL DCEDTE Remote Loopback: Tạo ra bởi DCE khi tín
hiệu nhận từ DCE lỗi 14 - STxD DTEDCE Secondary Transmitted Data 16 - SRxD DCEDTE Secondary Received Data 19 - SRTS DTEDCE Secondary Request To Send 13 - SCTS DCEDTE Secondary Clear To Send 12 - SDSRD DCEDTE Secondary Received Line Signal Detector 25 - TM Test Mode 9 - Dành riêng cho chế độ test 10 - Dành riêng cho chế độ test 11 Không dùng
2. Truyền thông giữa hai nút
Các sơ đồ khi kết nối dùng cổng nối tiếp:
Kết nối đơn giản trong truyền thông nối tiếp
Khi thực hiện kết nối như trên, quá trình truyền phải bảo đảm tốc độ ở đầu phát
và thu giống nhau. Khi có dữ liệu đến DTE, dữ liệu này sẽ được đưa vào bộ đệm
và tạo ngắt.
DTE1 DT2
TxD RxD
GND
TxD RxD GND
DTE1 DT2
TxD RxD
GND
TxD RxD GND
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 191 -
Ngoài ra, khi thực hiện kết nối giữa hai DTE, ta còn dùng sơ đồ sau:
Kết nối trong truyền thông nối tiếp dùng tín hiệu bắt tay
Khi DTE1 cần truyền dữ liệu thì cho DTR tích cực tác động lên DSR của
DTE2 cho biết sẵn sàng nhận dữ liệu và cho biết đã nhận được sóng mang của
MODEM (ảo). Sau đó, DTE1 tích cực chân RTS để tác động đến chân CTS của
DTE2 cho biết DTE1 có thể nhận dữ liệu. Khi thực hiện kết nối giữa DTE và
DCE, do tốc độ truyền khác nhau nên phải thực hiện điều khiển lưu lượng. Quá
trinh điều khiển này có thể thực hiện bằng phần mềm hay phần cứng. Quá trình
điều khiển bằng phần mềm thực hiện bằng hai ký tự Xon và Xoff. Ký tự Xon
được DCE gởi đi khi rảnh (có thể nhận dữ liệu). Nếu DCE bận thì sẽ gởi ký tự
Xoff. Quá trình điều khiển bằng phần cứng dùng hai chân RTS và CTS. Nếu
DTE muốn truyền dữ liệu thì sẽ gởi RTS để yêu cầu truyền, DCE nếu có khả
năng nhận dữ liệu (đang rảnh) thì gởi lại CTS.
3. Truy xuất trực tiếp thông qua cổng
Các cổng nối tiếp trong máy tính được đánh số là COM1, COM2, COM3, COM4
với các địa chỉ như sau:
Tên Địa chỉ Ngắt Vị trí chứa địa chỉ
COM1 3F8h 4 0000h:0400h
COM2 2F8h 3 0000h:0402h
DTE1 DTE2
TxD RxD
GND RTS CTS DSR DCD DTR
TxD RxD GND RTS CTS DSR DCD DTR
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 192 -
COM3 3E8h 4 0000h:0404h
COM4 2E8h 3 0000h:0406h
Giao tiếp nối tiếp trong máy tính sử dụng vi mạch UART với các thanh ghi cho
trong bảng sau:
Offset DLAB R/W Tên Chức năng 0 W THR Transmitter Holding Register (đệm truyền) 0 R RBR Receiver Buffer Register (đệm thu)
0
1 R/W BRDL Baud Rate Divisor Latch (số chia byte thấp) 0 R/W IER Interrupt Enable Register (cho phép ngắt)
1 1 R/W BRDH Số chia byte cao R IIR Interrupt Identification Register (nhận dạng ngắt)
2 W FCR FIFO Control Register 3 R/W LCR Line Control Register (điều khiển đường dây) 4 R/W MCR Modem Control Register (điều khiển MODEM) 5 R LSR Line Status Register (trạng thái đường dây) 6 R MSR Modem Status Register (trạng thái MODEM) 7 R/W Scratch Register (thanh ghi tạm)
Các thanh ghi này có thể truy xuất trực tiếp kết hợp với địa chỉ cổng (ví dụ như
thanh ghi cho phép ngắt của COM1 có địa chỉ là BACOM1 + 1 = 3F9h.
IIR (Interrupt Identification):
IIR xác định mức ưu tiên và nguồn gốc của yêu cầu ngắt mà UART đang chờ
phục vụ. Khi cần xử lý ngắt, CPU thực hiện đọc các bit tương ứng để xác định
nguồn gốc của ngắt. Định dạng của IIR như sau:
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 193 -
D7 D6 D5 D4 D3 D2 D1 D0
00: không có FIFO 11: cho phép FIFO
Cho phép FIFO 64 byte (trong 16750)
- 1: ngắt time-out (trong 16550)
Xác định nguồn gốc ngắt
0: có ngắt 1: không ngắt
D2 D1 Ưu
tiên Tên Nguồn D2 – D0 bị
xoá khi 0 0 4 Đường
truyền Lỗi khung, thu đè, lỗi parity, gián đoạn khi thu
Đọc LSR
0 1 3 Đệm thu Đệm thu đầy Đọc RBR 1 0 2 Đệm phát Đệm phát rỗng Đọc IIR, ghi
THR 1 1 1 Modem CTS, DSR, RI, RLSD Đọc MSR
(mức 1 ưu tiên cao nhất)
IER (Interrupt Enable Register):
IER cho phép hay cấm các nguyên nhân ngắt khác nhau (1: cho phép, 0: cầm
ngắt)
MCR (Modem Control Register):
D7 D6 D5 D4 D3 D2 D1 D0 - - - LOOP OUT2 OUT1 RTS DTR
D7 D6 D5 D4 D3 D2 D1 D0 - - POW HBR MODEM LINE TxEMPTY RxRDY
Cho phép kiểu công suất thấp
Cho phép khi lỗi modem
Cho phép khi THR rỗng
Cho phép khi RBR đầy Cho phép kiểu
nghỉ (hibernate)
Cho phép khi lỗi thu, phát
Mode loopback: kiểm tra hoạt đọng của UART
Điều khiển 2 ngõ ra OUT1, OUT2 của UART
Điều khiển tín hiệu RTS và DTR
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 194 -
MSR (Modem Status Register):
D7 D6 D5 D4 D D2 D1 D0 RLSD RI DSR CTS RLSD RI DSR CTS
LSR (Line Status Register):
FIE: FIFO Error – sai trong FIFO
TSRE: Transmitter Shift Register Empty – thanh ghi dịch rỗng (=1 khi đã phát 1
ký tự và bị xoá khi có 1 ký tự chuyển đến từ THR.
THRE: Transmitter Holding Register Empty (=1 khi có 1 ký tự đã chuyển từ
THR – TSR và bị xoá khi CPU đưa ký tự tới THR).
BI: Break Interrupt (=1 khicó sự gián đoạn khi truyền, nghĩa là tồn tại mức logic
0 trong khoảng thời gian dài hơn khoảng thời gian truyền 1 byte và bị xoá khi
CPU đọc LSR) FE: Frame Error (=1 khi có lỗi khung truyền và bị xoá khi CPU
đọc LSR)
PE: Parity Error (=1 khi có lỗi parity và bị xoá khi CPU đọc LSR)
OE: Overrun Error (=1 khi có lỗi thu đè, nghĩa là CPU không đọc kịp dữ liệu
làm cho quá trình ghi chồng lên RBR xảy ra và bị xoá khi CPU đọc LSR)
RxDR: Receiver Data Ready (=1 khi đã nhận 1 ký tự và đưa vào RBR và bị xoá
khi CPU đọc RBR).
D7 D6 D5 D4 D3 D2 D1 D0 FIE TSRE THRE BI FE PE OE RxDR
Trạng thái của CD, RI, DSR và CTS
1: nếu có thay đổi các tín hiệu so với lần đọc trước RI: = 1 nếu có xung dương tại RI
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 195 -
LCR (Line Control Register):
D7 D6 D5 D4 D3 D2 D1 D0 DLAB SBCB PS2 PS1 PS0 STB WLS1 WLS0
DLAB (Divisor Latch Access Bit) = 0: truy xuất RBR, THR, IER, = 1 cho phép
đặtbộ chia tần trong UART để cho phép đạt tốc độ truyền mong muốn.
UART dùng dao động thạch anh với tần số 1.8432 MHz đưa qua bộ chia 16
thành tần số 115,200 Hz. Khi đó, tuỳ theo giá trị trong BRDL và BRDH, ta sẽ có
tốc độ mong muốn.
Ví dụ như đường truyền có tốc độ truyền 2,400 bps có giá trị chia 115,200 /
2,400 = 48d = 0030h BRDL = 30h, BRDH = 00h.
Một số giá trị thông dụng xác định tốc độ truyền cho như sau:
Tốc độ (bps) BRDH BRDL 1,200 00h 60h 2,400 00h 30h 4,800 00h 18h 9,600 00h 0Ch 19,200 00h 06h 38,400 00h 03h 57,600 00h 02h 115,200 00h 01h
SBCB (Set Break Control Bit) =1: cho phép truyền tín hiệu Break (=0) trong
khoảng thời gian lớn hơn một khung
PS (Parity Select):
PS2 PS1 PS0 Mô tả X X 0 Không kiểm tra 0 0 1 Kiểm tra lẻ 0 1 1 Kiểm tra chẵn 1 0 1 Parity là mark 1 1 1 Parity là space
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 196 -
STB (Stop Bit) = 0: 1 bit stop, =1: 1.5 bit stop (khi dùng 5 bit dữ liệu) hay 2 bit
stop (khi dùng 6, 7, 8 bit dữ liệu).
WLS (Word Length Select):
WLS1 WLS0 Độ dài dữ liệu
0 0 5 bit
0 1 6 bit
1 0 7 bit 1 1 8 bit
4. Truyền thông nối tiếp dùng ActiveX
4.1. Mô tả
Việc truyền thông nối tiếp trên Windows được thực hiện thông qua một ActiveX
có sẵn là Microsoft Comm Control.. ActiveX này dược lưu trữ trong file
MSCOMM32.OCX. Quá trình này có hai khả năng thực hiện điều khiển trao đổi
thông tin:
- Điều khiển sự kiện:
Truyền thông điều khiển sự kiện là phương pháp tốt nhất trong quá trình điều
khiển việc trao đổi thông tin. Quá trình điều khiển thực hiện thông qua sự kiện
OnComm.
- Hỏi vòng:
Quá trinh điều khiển bằng phương pháp hỏi vòng thực hiện thông qua kiểm tra
các giá trị của thuộc tính CommEvent sau một chu kỳ nào đó để xác định xem
có sự kiện nào xảy ra hay không. Thông thường phương pháp này sử dụng cho
các chương trình nhỏ.
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 197 -
ActiveX MsComm được bổ sung vào một Visual Basic Project thông qua
menu Project > Components:
Bổ sung đối tượng MsComm vào VB
Biểu tượng của MsComm: và các thuộc tính cơ bản mô tả như sau:
Thuộc tính Mô tả
CommPort Số thứ tự cổng truyền thông Input Nhận ký tự từ bộ đệm Output Xuất ký tự ra cổng nối tiếp PortOpen Mở / đóng cổng Settings Xác định các tham số truyền
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 198 -
Các thuộc tính của đối tượng MSComm
4.2. Các thuộc tính
Settings:
Xác định các tham số cho cổng nối tiếp.
Cú pháp: MSComm1.Settings = ParamString
MSComm1: tên đối tượng
ParamString: là một chuỗi có dạng như sau: "BBBB,P,D,S" BBBB: tốc độ
truyền dữ liệu (bps) trong đó các giá trị hợp lệ là:
110 2400 38400 300 9600 (măc định) 56000 600 14400 188000 1200 19200 256000
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 199 -
P: kiểm tra chẵn lẻ, với các giá trị:
Giá trị Mô tả O Odd (kiểm tra lẻ) E Even (kiểm tra chẵn) M Mark (luôn bằng 1) S Space (luôn bằng 0) N Không kiểm tra
D: số bit dữ liệu (4, 5, 6, 7 hay 8), mặc định là 8 bit
S: số bit stop (1, 1.5, 2)
Ví dụ:
MSComm1.Settings = "9600,O,8,1" sẽ xác định tốc độ truyền 9600bps, kiểm
tra parity chẵn với 1 bit stop và 8 bit dữ liệu.
CommPort:
Xác định số thứ tự của cổng truyền thông,
Cú pháp: MSComm1.CommPort = PortNumber
PortNumber là giá trị nằm trong khoảng từ 1 đến 99, mặc định là 1.
Ví dụ:
MSComm1.CommPort = 1 xác định sử dụng COM1
PortOpen:
Đặt trạng thái hay kiểm tra trạng thái đóng / mở của cổng nối tiếp. Nếu dùng
thuộc tính này để mở cổng nối tiếp thì phải sử dụng trước 2 thuộc tính Settings
và CommPort.
Cú pháp: MSComm1.PortOpen = True | False
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 200 -
Giá trị xác định là True sẽ thực hiện mở cổng và False để đóng cổng đồng thời
xoá nội dung của các bộ đệm truyền, nhận.
Ví dụ: Mở cổng COM1 với tốc độ truyền 9600 bps
MSComm1.Settings = "9600,N,8,1"
MSComm1.CommPort = 1
MSComm1.PortOpen = True
Các thuộc tính nhận dữ liệu:
Input: nhận một chuỗi ký tự và xoá khỏi bộ đệm.
Cú pháp: InputString = MSComm1.Input
Thuộc tính này kết hợp với InputLen để xác định số ký tự đọc vào. Nếu InputLen
= 0 thì sẽ đọc toàn bộ dữ liệu có trong bộ đệm.
InBufferCount: số ký tự có trong bộ đệm nhận.
Cú pháp: Count = MSComm1.InBufferCount
Thuộc tính này cùng dược dùng để xoá bộ đệm nhận bắng cách gán giá trị 0.
MSComm1.InBufferCount = 0
InBufferSize: đặt và xác định kích thước bộ đệm nhận (tính bằng byte).
Cú pháp: MSComm1.InBufferCount = NumByte
Giá trị măc định là 1024 byte. Kích thước bộ đệm này phải đủ lớn để tránh tình
trạng mất dữ liệu.
Ví dụ: Đọc toàn bộ nội dung trong bộ đệm nhận nếu có dữ liệu
MSComm1.InputLen = 0
If MSComm1.InBufferCount <> 0 Then
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 201 -
InputString = MSComm1.Input
End If
Các thuộc tính xuất dữ liệu:
Bao gồm các thuộc tính Output, OutBufferCount và OutBufferSize, chức
năng của các thuộc tính này giống như các thuộc tính nhập.
CDTimeout:
Đặt và xác định khoảng thời gian lớn nhất (tính bằng ms) từ lúc phát hiện sóng
mang cho đến lúc có dữ liệu. Nếu quá khoảng thời gian này mà vẫn chưa có dữ
liệu thì sẽ gán thuộc tính CommEvent là CDTO (Carrier Detect Timeout Error)
và tạo sự kiện OnComm.
Cú pháp: MSComm1.CDTimeout = NumTime
DSRTimeout:
Xác định thời gian chờ tín hiệu DSR trước khi xảy ra sự kiện OnComm.
CTSTimeout:
Đặt và xác định khoảng thời gian lớn nhất (tính bằng ms) đợi tín hiệu CTS trước
khi đặt thuộc tính CommEvent là CTSTO và tạo sự kiện OnComm.
Cú pháp: MSComm1.CTSTimeout = NumTime
CTSHolding:
Xác định đã có tín hiệu CTS hay chưa, tín hiệu này dùng cho quá trình bắt tay
bằng phần cứng (cho biết DCE sẵn sàng nhận dữ liệu), trả về giá trị True hay
False.
DSRHolding:
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 202 -
Xác định trạng thái DSR (báo hiệu sự tồn tại của DCE), trả về giá trị True hay
False.
CDHolding:
Xác định trạng thái CD, trả về giá trị True hay False.
DTREnable:
Đặt hay xoá tín hiệu DTR để báo sự tồn tại của DTE.
Cú pháp: MSComm1.DTREnable = True | False
RTSEnable:
Đặt hay xoá tín hiệu RTS để yêu cầu truyền dữ liệu đến DTE.
Cú pháp: MSComm1.RTSEnable = True | False
NullDiscard:
Cho phép nhận các ký tự NULL (rỗng) hay không (= True: cấm).
Cú pháp: MSComm1.NullDiscard = True | False
SThreshold:
Số byte trong bộ đệm truyền làm phát sinh sự kiện OnComm. Nếu giá trị này
bằng 0 thì sẽ không tạo sự kiện OnComm.
Cú pháp: MSComm1.SThreshold = NumChar
HandShaking:
Chọn giao thức bắt tay khi thực hiện truyền dữ liệu.
Cú pháp: MSComm1.HandShaking = Protocol
Các giao thức truyền bao gồm:
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 203 -
Protocol Giá trị Mô tả ComNone
ComXon/Xoff
ComRTS
ComRTSXon/Xoff
0
1
2
3
Không băt tay (mặc định)
Bắt tay phần mềm (Xon/Xoff)
Bắt tay phần cứng (RTS/CTS)
Bắt tay phần cứng và phàn mềm
CommEvent:
Trả lại các lỗi truyền thonog hay sự kiện xảy ra tại cổng nối tiếp
Các sự kiện:
Sự kiện Giá trị Mô tả
ComEvSend
ComEvReceive ComEvCTS
ComEvDSR
ComEvCD
ComEvRing
ComEvEOF
1
2
3
4
5
6
7
Đã truyền ký tự
Khi có ký tự trong bộ đệm nhận
Có thay đổi trên CTS (Clear To Send)
Có thay đổi trên DSR (Data Set Ready)
Có thay đổi trên CD (Carrier Detect)
Phát hiện chuông Nhận ký tự kết thúc file
Các lỗi truyền thông:
Lỗi Giá trị Mô tả ComBreak ComCTSTO ComFrame ComOver ComCDTO ComRxOver ComRxParity ComTxFull
1001 1002 1004 1006 1007 1008 1009 1010
Nhận tín hiệu Break Carrier Detect Timeout Lỗi khung Phần cứng không đọc ký tự trước khi gởi ký tự kế Carrier Detect Timeout Tràn bộ đệm nhận Lỗi parity Tràn bộ đệm truyền
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 204 -
4.3. Sự kiện OnComm
Sự kiện OnComm xảy ra bất cứ khi nào giá trị của thuộc tính CommEvent thay
đổi. Các thuộc tính RThreshold và SThreshold = 0 sẽ cấm sự kiện OnComm khi
thực hiện nhận hay gởi dữ liệu. Thông thường, SThreshold = 0 và RThreshold =
1.
Thuộc tính cơ bản của cổng nối tiếp:
Các thuộc tính cơ bản của MSComm
5. Giao tiếp với vi điều khiển
Khi thực hiện giao tiếp với vi điều khiển, ta phải dùng thêm mạch chuyển mức
logic từ TTL 232 và ngược lại. Các vi mạch thường sử dụng là
MAX232 của Maxim hay DS275 của Dallas. Mạch chuyển mức logic mô tả
như sau:
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 205 -
Mạch chuyển mức logic TTL RS232
IIVV.. TTHHỰỰCC HHÀÀNNHH
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 206 -
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 207 -
Sơ đồ giải thuật điều khiển động cơ bước DC bằng máy tính
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 208 -
Bước 1: Tạo dự án
- Thực hiện giống bước 1 ở Bài 1, trang 13
- Lưu bài tập với tên D:\\BaitapAVR\Bai15
Bước 2: Gọi khối Calculation
- Nhấn 2 lần vào khối Calculation
o Tạo biến thuan, nghich, nhan
- Trong cửa sổ Properties: Calculation
o Calculations: thuan = 1
nghich = 1
Bước 3: Gọi khối truyền thông nối tiếp RS232
- Nhấn vào biểu tượng
Cài các thông số như hình
Bước 4: Gọi khối Component Macro
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 209 -
- Nhấn 2 lần vào khối Component Macro
- Chọn các thông số như hình
Bước 5: Gọi vòng lặp while
Bước 6: Gọi khối Connection Point (Tên điểm nối)
- Nhấn vào biểu tượng
Bước 7: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: Nhan =0xff
Bước 8: Gọi vòng lặp While
- Nhấn 2 lần vào khối While
- Trong cửa sổ Properties: Loop
o Loop while: Nhan =0xff
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 210 -
o Nhấn OK
Bước 9: Gọi khối Component Macro
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
Bước 10: Gọi khối Decision (khối rẽ nhánh)
- Nhấn 2 lần vào khối Decision
- Trong cửa sổ Properties: Decision
o If : Nhan = 1
Bước 11: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: thuan = 0
Nghich = 1
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 211 -
Bước 12: Gọi khối Component Macro
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
o Componet: RS232(0)
o Macro: SendRS232Char
o Parameters: 'T'
o Nhấn OK
Bước 13: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Nhấn vào nút để tạo các Macro (chương trình con)
- Trong cửa sổ Create a New Macro
Name of new macro: Dongco
Nhấn OK
- Trong cửa sổ Properties: Macro
Macro: Dongco
- Nhấn nút để viết chương
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 212 -
Lưu đồ giải thuật điều khiển động cơ DC thuận – nghịch
Bước 14: Gọi khối Connection Point (Nhảy tới điểm nối)
- Nhấn vào biểu tượng
Bước 15: Gọi khối Decision (khối rẽ nhánh)
- Nhấn 2 lần vào khối Decision
- Trong cửa sổ Properties: Decision
o If : Nhan = 0
Bước 16: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
o Calculations: thuan = 1
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 213 -
Nghich = 0
Bước 17: Gọi khối Component Macro
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
o Componet: RS232(0)
o Macro: SendRS232Char
o Parameters: 'N'
o Nhấn OK
Bước 18: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: Dongco
o Nhấn OK
Bước 19: Gọi khối Connection Point (Nhảy tới điểm nối)
- Nhấn vào biểu tượng
Bước 20: Gọi khối Decision (khối rẽ nhánh)
- Nhấn 2 lần vào khối Decision
- Trong cửa sổ Properties: Decision
o If : Nhan = 2
Bước 21: Gọi khối Calculation
- Trong cửa sổ Properties: Calculation
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 214 -
o Calculations: thuan = 1
Nghich = 1
Bước 22: Gọi khối Component Macro
- Nhấn 2 lần vào khối Component Macro
- Trong cửa sổ Properties: Component Macro
o Componet: RS232(0)
o Macro: SendRS232Char
o Parameters: 'D'
o Nhấn OK
Bước 23: Gọi khối Macro
- Nhấn 2 lần vào khối Macro
- Trong cửa sổ Properties: Macro
o Macro: Dongco
o Nhấn OK
Bước 24: Gọi khối Connection Point (Nhảy tới điểm nối)
- Nhấn vào biểu tượng
Bước 25: Gọi khối mô phỏng led đơn
- Trong cửa sổ Properties
o LED Properties
Number of LEDs: 2
LED Colour: Green
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 215 -
Direction: Default
Orientation: Horizontal
- Trong cửa sổ Component connections
Bước 15: Mô phỏng
- Nhấn vào biểu tượng
- Trông cửa sổ RS232(0)
- Nhấn vào nút
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 216 -
- Trong cửa sổ Add text to queue đánh số 1 rồi nhấn OK (đề chuyền ký tự)
tiếp tục lần lược các ký tự 2, 0
- Quan sát hiện tượng.
VV.. TTHHÍÍ NNGGHHIIỆỆMM
AA.. KKếếtt nnốốii pphhầầnn ccứứnngg
Từ Bước 1 tới Bước 4 giống Bài 1 – Trang 18
Bước 5: Kết nối với switch
- Kết nối cáp RS232 từ máy tính tới khối RS232 của KIT
- Kết nối PD0 với RXD và PD1 với TXD của khối RS232
- Kết nối PA0 và PA1 với khối điều khiển động cơ DC
RXD TXD
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 217 -
- Kết nối hoàn chỉnh
KKhhốốii RRSS223322
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 218 -
BB.. TTạạoo pphhầầnn mmềềmm ggiiaaoo ttiiếếpp
Bước 1: Khổi động chương trình Visual Basic 6.0
Bước 2: Tạo dự án mới
- Chọn Standard EXE
- Nhấn Open
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 219 -
Bước 3: Lưu dự án
- Trên trình đơn menu chính nhấn vào biểu tượng để lưu dự án
- Trong cửa sổ Save File: đặt tên file là Rs232 OK
- Trong cửa sổ Save Project As: đặt tên dự án là Rs232 OK
Bước 4: Thêm thành phần điểu khiển truyền thông nối tiếp
- Trên trình đơn menu chính chọn Project Components…
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 220 -
- Trong cửa sổ Components chọn Microsoft Comm Control 6.0 OK
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 221 -
Bước 5: Tạo giao diện
Label MSCOMM
Textbox CommandBox
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 222 -
- Chọn vào Form – Properties – Form1:
o Caption: Giao Tiếp
Label Textbox
CommandBox
MSCOMM
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 223 -
- Chọn vào Label – Properties – Label1 o Caption: DIEU KHIEN DONG CO CHAY THUAN - NGHICH
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 224 -
- Tương tự đặt Caption cho các nút nhấn
Bước 6: Viết code
- Nhấn 2 lần vào Form
Option Explicit
Dim buffer As Variant
Dim data As String
Dim i As Variant
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputLen = 0
MSComm1.PortOpen = 1
MSComm1.InputMode = comInputModeText
MSComm1.RThreshold = 1
End Sub
- Nhấn 2 lần vào nút DONG CO CHAY THUAN
i = "1"
MSComm1.Output = i
- Nhấn 2 lần vào nút DONG CO CHAY NGHICH
i = "0"
MSComm1.Output = i
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 225 -
- Nhấn 2 lần vào nút DUNG DONG CO
i = "2"
MSComm1.Output = i
- Nhấn 2 lần vào biểu tượng MSCOMM
If MSComm1.CommEvent = comEvReceive Then
buffer = (MSComm1.Input)
data = Asc(buffer)
Text1.Text = Text1.Text + buffer
End If
CC.. NNạạpp cchhưươơnngg ttrrììnnhh vvààoo cchhíípp
Bước 1, 2, 3, 4: Các bước thực hiện giống như các bước ở Bài 1 – Trang 21.
Bước 5: Nạp chương trình
- Chọn file cần nap D:\\BaitapAVR\bai15.hex
Bước 6: Quan sát hiện tượng
- Nhấn vào biểu tượng trong phần mềm Visual Basic để chạy phần mềm
(để dừng phần mềm nhấn vào biểu tượng )
- Nhấn các nút trên phần mềm điều khiển
- Quan sát hoạt động của động cơ
- Nếu hiện tượng không đúng với quá trình mô phỏng thì thực hiện lại từng
bước từ phần A.
Ngày: …../…../ 200…
BÀI 15 GIAO TIẾP MÁY TÍNH Kiểm tra
Hướng dẫn thực hành vi điều khiển AVR Trang - 226 -
CCÂÂUU HHỎỎII –– BBÀÀII TTẬẬPP
1. Truyền số 0, 1, 2 xuống vi điều khiển để làm gì?
2. Làm sao nhận biết vi điều khiển đã nhận dữ liệu gì?
- Khi kết nối phần cứng phải đảm bảo rằng nguồn đã tắt.
- Không nhấn vào các nút khác ngoài các nút: Signature, Open File,
Program. Vì có thể làm hỏng Chip
- Thao tác gắn các Jump – dây cắm trên Kit thực tập vi xử lý phải nhẹ
nhàng và cẩn thận.
- Khi tháo các Jump – dây cắm phải tháo thẳng góc.
- Khi thực tập có những vấn đề khác thường thì phải báo ngây với giáo viên
đứng lớp, không tự ý giải quyết.
- Những vấn đề không hiểu trong quá trình thực tập hãy mạnh dạng hỏi giáo
viên đứng lớp, đừng lo sợ.
Tài liệu tham khảo
Hướng dẫn thực hành vi điều khiển AVR Trang - 227 -
TTÀÀII LLIIỆỆUU TTHHAAMM KKHHẢẢOO
- Trang web http://dientuvietnam.net
- A introduction to microcontroller programming – Matrix Course
- Data sheet Atmega8515
- Programming and Customizing the AVR Microcontroller
Mục lục
Hướng dẫn thực hành vi điều khiển AVR Trang - 228 -
MMỤỤCC LLỤỤCC
LỜI GIỚI THIỆU ..................................................................................Trang 2
GIỚI THIỆU FLOWCODE ............................................................................3
BBÀÀII 11:: XUẤT DỮ LIỆU RA PORT A .............................................................9
BBÀÀII 22:: ĐIỀU KHIỂN LED CHỚP TẮT ....................................................... 29
BBÀÀII 33:: ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN ...........................................38
BBÀÀII 44:: ĐIỀU KHIỂN LED SÁNG ĐUỔI ...................................................... 50
BBÀÀII 55:: NHẬP DỮ LIỆU TỪ PORT B ........................................................... 59
BBÀÀII 66:: NÚT NHẤN ........................................................................................ 70
BBÀÀII 77:: ĐIỀU KHIỂN LED 7 ĐOẠN ............................................................. 79
BBÀÀII 88:: ĐẾM LẾN 69 HIỂN THỊ RA LED 7 ĐOẠN ....................................90
BBÀÀII 99:: LED MA TRẬN ................................................................................ 106
BBÀÀII 1100:: HIỂN THỊ CHUỖI “TDC” TRÊN LED MA TRẬN .................... 117
BBÀÀII 1111:: GIAO TIẾP LCD ...........................................................................132
BBÀÀII 1122: QUÉT PHÍM .................................................................................. 147
BBÀÀII 1133:: ĐIỀU KHIỂN ĐỘNG CƠ DC ....................................................... 166
BBÀÀII 1144:: ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC .................................................. 178
BBÀÀII 1155:: GIAO TIẾP MÁY TÍNH ................................................................ 186