GIỚI THIỆU FLOWCODE 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
Trang 2Cá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
Trang 3GIỚI THIỆU FLOWCODE
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
Trang 4Thanh 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ụ
Trang 5Cử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:
Trang 6Cử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
Trang 7Cử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
Trang 8Cử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ụ
Trang 9XUẤT DỮ LIỆU RA PORT A Kiểm tra
- 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
- Máy vi tính có cài phần mềm Flowcode AVR
- Bộ Thực Tập Vi Xử Lý CITA
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 /
Trang 10XUẤT DỮ LIỆU RA PORT A Kiểm tra
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 độ
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)
Trang 11XUẤT DỮ LIỆU RA PORT A Kiểm tra
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:
Trang 12XUẤT DỮ LIỆU RA PORT A Kiểm tra
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
Trang 13XUẤT DỮ LIỆU RA PORT A Kiểm tra
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
Trang 14XUẤT DỮ LIỆU RA PORT A Kiểm tra
- 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
Trang 15XUẤT DỮ LIỆU RA PORT A Kiểm tra
- 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
Trang 16XUẤT DỮ LIỆU RA PORT A Kiểm tra
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
Trang 17XUẤT DỮ LIỆU RA PORT A Kiểm tra
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:
Trang 18XUẤT DỮ LIỆU RA PORT A Kiểm tra
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
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
Trang 19XUẤT DỮ LIỆU RA PORT A Kiểm tra
Bước 3: Nối dây nạp chương trình vào board ATMEGA8515
Trang 20XUẤT DỮ LIỆU RA PORT A Kiểm tra
- 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
Trang 21XUẤT DỮ LIỆU RA PORT A Kiểm tra
- Kết nối hoàn chỉnh
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
Trang 22XUẤT DỮ LIỆU RA PORT A Kiểm tra
- 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
Trang 23XUẤT DỮ LIỆU RA PORT A Kiểm tra
Bước 3: Mở chương trình nạp SpiPgm
- Chọn chip MEGA8515
- Nhấn vào Signature kiểm tra chip
Trang 24XUẤT DỮ LIỆU RA PORT A Kiểm tra
- Nếu thông báo như hình: chip đã được nhận diện Ta tiến hành bước 3
Trang 25XUẤT DỮ LIỆU RA PORT A Kiểm tra
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
Trang 26XUẤT DỮ LIỆU RA PORT A Kiểm tra
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
CÂU HỎI – BÀI TẬP
- 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
Trang 27
XUẤT DỮ LIỆU RA PORT A Kiểm tra
- Đổ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
Trang 28XUẤT DỮ LIỆU RA PORT A Kiểm tra
- 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ợ
Trang 29ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
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
Trang 30ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
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
Trang 31ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
- 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
Trang 32ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
- 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
Trang 33ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
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
Trang 34ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
- Nhấn 2 lần vào biểu tượng
- Trong ô Delay value or variable: gõ giá trị 250
Trang 35ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
- 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
Trang 36ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
- Các bước thực hiện giống như các bước ở Bài 1 – Trang 18
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
CÂU HỎI – BÀI TẬP
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
Trang 37ĐIỀU KHIỂN LED CHỚP TẮT Kiểm tra
- 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ợ
Trang 38ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
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
Trang 39ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
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
Trang 40ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Trang 41ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
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
Trang 42ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Trang 43ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Trang 44ĐIỀU KHIỂN LED CHỚP TẮT 3 LẦN
Kiểm tra
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