1. Trang chủ
  2. » Công Nghệ Thông Tin

Hệ thống nhúng - Chương 1 pot

15 225 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống nhúng
Tác giả Lê Mạnh Hải
Trường học Embedded Systems
Chuyên ngành Embedded Systems
Thể loại Giáo trình
Định dạng
Số trang 15
Dung lượng 753,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lesson 1 : THE FIRST FLIGHT• Flight plan: Every flight should have a purpose – PIC24 16-bit microcontroller PIC24FJ128GA010 – MPLAB® IDE – MPLAB C30 • The flight – Our first line of code

Trang 1

Hệ thống nhúng

Thạc sĩ Lê Mạnh Hải

Embedded Systems

Trang 2

Mở đầu

I Mục đích mơn học:

• Cung cấp kiến thức về lập trình nhúng trên Microchip PIC24

• Rèn luyện kỹ năng đọc sách chuyên ngành bằng tiếng Anh

II Thời gian:

• 30 tiết lý thuyết (3 ĐVHT) + 30 tiết thực hành

III Giáo trình và tài liệu tham khảo

• Programming 16-Bit PIC Microcontrollers in C: Learning to Fly the

PIC24 Lucio Di Jasio Elsevier 2007

• Designing Embedded Systems with PIC Microcontrollers Principles

and applications.Tim Wilmshurst Elsevier 2007

IV Đánh giá:

• Thi kết thúc mơn:70% Cĩ một bài báo cáo kỹ thuật

• V Giáo viên:

• Thạc sĩ Lê Mạnh Hải Tel: 0985399000 Khơng gọi điện thoại để hỏi

Trang 3

Lesson 1 : THE FIRST FLIGHT

• Flight plan: Every flight should have a purpose

– PIC24 16-bit microcontroller PIC24FJ128GA010

– MPLAB® IDE

– MPLAB C30

• The flight

– Our first line of code is going to be:

#include <p24fj128ga010.h>

This is not yet a proper C statement, but more of a pseudo-instruction for the preprocessor telling the compiler to read the content of a device-specific file before

proceeding any further The content of the device-specifi

c “.h” file chosen is nothing more than a long list of the names (and sizes) of all the internal special-function

registers (SFRs) of the chosen PIC24 model

Trang 4

C programming

Going back to our “Hello.c” source fi le, let’s add a couple more lines that will introduce you to the main() function:

1 main()

2 {

3 }

We said our mission was to turn on one or more I/O pins: say PORTA, pins RA0–7 In assembly, we would have used a pair of mov

instructions to transfer a literal value to the output port In C it is

much

easier—we can write an “assignment statement” as in the following

example:

1 #include <p24fj128ga010.h>

2 main()

3 {

4 PORTA = 0xff;

5 }

Is it correct?

Trang 5

Compiling and linking

• This operation is called a Project Build The sequence of events

is fairly long and complex, but it is composed mainly of two

steps:

• Compiling: The C compiler is invoked and an object code file

(.o) is generated This file is not yet a complete executable

While most of the code generation is complete, all the addresses

of functions and variables are still undefi ned In fact, this is

also called a relocatable code object If there are multiple

source files, this step is repeated for each one of them.

• Linking: The linker is invoked and a proper position in the

memory space is found for each function and each variable

Also any number of precompiler object code fi les and standard library functions may be added at this time as required Among the several output files produced by the linker is the actual

binary executable file (.hex).

• All this is performed in a very rapid sequence as soon as you

select the option “Build All” from the Project menu.

Trang 6

Data

Sheet

Trang 10

PORT initialization

1 main()

2 {

3 TRISA = 0; // all PORTA pins output

4 PORTA = 0xff;

5 }

Question 1: How many bit does PORTA have?

Question 2: How to set all pins of PORTA?

Trang 11

Testing PORTB

• Most of PORTB pins are multiplexed with the

analog inputs of the analog-to-digital converter

(ADC) peripheral The 8-bit architecture reserved PORTA pins primarily for this purpose—the roles

of the two ports have been swapped!

1 #include <p24fj128ga010.h>

2 main()

3 {TRISB = 0; // all PORTB pins output

4 AD1PCFG = 0xffff; // all PORTB pins digital

5 PORTB = 0xff;}

Trang 12

• If you have the Explorer16 board:

• Use the ICD2 Debugging Checklist to help you prepare the project for

debugging.

• To test the PORTA example, connect the Explorer16 board and check the

visual output on LED0–7.

• To test the PORTB example, connect a voltmeter (or DMM) to pin RB0 and

watch the needle move as you single-step through the code.

Trang 13

Development Tools

Trang 14

• How many ports does PIC24FJ126GA010 have?

• What are differences between PORTA and PORTB

• How to set PORTB to be DIGITAL INPUT?

Trang 15

What is next?

• CHAPTER 2: A LOOP IN THE PATTERN

– An animated simulation

– Using the Logic Analyzer

Ngày đăng: 01/08/2014, 21:20

TỪ KHÓA LIÊN QUAN