Tải bản đầy đủ (.pdf) (97 trang)

Nghiên cứu vi điều khiển arm lpc2103 ứng dụng lập trình quang báo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.78 MB, 97 trang )

TRƢỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ
==========

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Đề tài

NGHIÊN CỨU VI ĐIỀU KHIỂN ARM LPC2103
ỨNG DỤNG LẬP TRÌNH QUANG BÁO

Ngƣời hƣớng dẫn
Sinh viên thực hiện
Lớp

KS. ĐẶNG THÁI SƠN
MAI THẾ ANH
46K - ĐTVT

VINH, 5/2010


Mục lục
Mục lục .......................................................................................................................... 1
Lời nói đầu .................................................................................................................... 5
Thuật ngữ viết tắt ......................................................................................................... 6
Chƣơng 1. Giới thiệu đề tài ......................................................................................... 8
1.1. Mục đích đề tài ...................................................................................................... 8
1.2. Phƣơng pháp nghiên cứu...................................................................................... 8
1.3. Tình hình nghiên cứu phát triển cơng nghệ vi điều khiển ARM, quang báo


trong và ngoài nƣớc ..................................................................................................... 9
1.3.1 ARM .................................................................................................................... 9
1.3.2. Quang báo ......................................................................................................... 11
Chƣơng 2. Vi điều khiển ARM LPC2103 ................................................................ 13
2.1. Giới thiệu chung .................................................................................................. 13
2.1.1. Khái quát........................................................................................................... 13
2.1.2. Các tính năng cơ bản ....................................................................................... 13
2.1.2.1. Tổng quan kiến trúc ...................................................................................... 14
2.1.2.2. Bộ xử lí ARM7TDMI-S................................................................................. 14
2.1.2.3. Hệ thống nhớ flash trên chíp ........................................................................ 16
2.1.2.4. Hệ thống nhớ SRAM trên chíp ..................................................................... 17
2.1.3. Ứng dụng .......................................................................................................... 17
2.1.4. Sơ đồ khối......................................................................................................... 18
2.2. Khối điều khiển hệ thống<System Control Block> ......................................... 22
2.2.1. Khái quát.......................................................................................................... 22
2.2.2. Các chân chức năng ........................................................................................ 22
2.2.3. Các thanh ghi chức năng ................................................................................ 23
2.2.4. Nguồn dao động ............................................................................................... 24
2.2.5. Ngõ vào ngắt ngoài .......................................................................................... 24
2.2.5.1. Khái quát các thanh ghi ................................................................................ 24
2.2.5.2. Thanh ghi chứa các cờ ngắt ngoài ( EXINT-0xE01FC140) ....................... 25

1


2.2.5.3. Thanh ghi thiết lập chức năng wakeup dùng ngắt ngoài (EXTWAKEUP0xE01FC144) .............................................................................................................. 26
2.2.5.4. Thanh ghi thiết lập các chế độ ngắt ngoài (EXTMODE-0x01FC148) ...... 26
2.2.5.5. Thanh ghi thiết lập cực tính cho chế độ ngắt ngồi (EXTPOLAR0xE01FC14C) .............................................................................................................. 27
2.2.5.6. Kết hợp nhiều chân ngắt ngoài cho cùng nguồn ngắt ................................ 28
2.2.6. Vịng khóa pha (Phase locked loop-PLL) ..................................................... 28

2.2.6.1. Miêu tả thanh ghi .......................................................................................... 29
2.2.6.2. Thanh ghi điều khiển PLL ........................................................................... 31
2.2.6.3. Thanh ghi tạo cấu hình PLL (PLLCFG-0xE01FC084) ............................. 32
2.2.6.4. Thanh ghi trạng thái PLL (PLLSTAT-0xE01FC088) ................................ 33
2.2.6.5. Các chế độ hoạt động của PLL..................................................................... 34
2.2.6.6. Thanh ghi cập nhật giá trị PLL liên tục (PLLFEED-0xE01FC08C) ........ 34
2.2.6.7. PLL và chế độ Power Down.......................................................................... 35
2.2.6.8. Tính tốn tần số dao động của PLL ............................................................. 35
2.2.6.9. Thủ tục xác định cấu hình PLL ................................................................... 35
2.2.7. Điều khiển nguồn............................................................................................. 36
2.2.7.1. Diễn tả thanh ghi .......................................................................................... 36
2.2.7.2. Thanh ghi điều khiển nguồn (PCON-0xE01FC0C0) ................................. 37
2.2.7.3. Thanh ghi điều khiển nguồn cho ngoại vi (PCONP-0xE01FC0C4) .......... 37
2.2.8. Reset ................................................................................................................. 38
2.2.9. Bộ chia VPB ..................................................................................................... 39
2.2.9.1. Thanh ghi của bộ chia VPB (VPBDIV - 0xE01FC100) ............................. 39
2.2.10. Wakeup time .................................................................................................. 40
2.3. Bộ điều khiển vector ngắt(VIC) ........................................................................ 41
2.3.1. Chức năng ........................................................................................................ 41
2.3.2. Diễn giải........................................................................................................... 41
2.3.3. Các thanh ghi điều khiển ngắt ...................................................................... 42
2.3.4. Các bƣớc thực hiện 1 chƣơng trình ngắt ...................................................... 43
2.3.4.1. Đối với ngắt FIQ ........................................................................................... 43
2.3.4.2. Đối với ngắt IRQ ........................................................................................... 43

2


2.3.4.3. Đối với ngắt non IRQ .................................................................................... 44
2.4. Sử dụng các thanh ghi xuất nhập đa dụng (GPIO) ........................................ 45

2.5. Sử dụng ADC ...................................................................................................... 46
2.6. UART0 và UART1 ............................................................................................. 48
2.6.1. Chức năng ........................................................................................................ 48
2.6.2. Diễn tả các chân chức năng ............................................................................ 48
2.6.3. Diễn tả các thanh ghi chức năng .................................................................... 48
2.6.3.1. Thanh ghi đệm truyền thu <U0RBR - 0xE000C000> ................................. 48
2.6.3.2. Thanh ghi giữ giá trị truyền phát <U0THR - 0xE000C000> ..................... 49
2.6.3.3. Thanh ghi cho phép ngắt truyền thông nối tiếp <U0IER - 0xE000C004>
...................................................................................................................................... 50
2.6.3.4. Thanh ghi nhận dạng ngắt truyền thông nối tiếp <U0IIR - 0xE000C008>
...................................................................................................................................... 51
2.6.3.5. Thanh ghi điều khiển FIFO cho truyền thông nối tiếp <U0FCR0xE000C008> .............................................................................................................. 52
2.6.3.6. Thanh ghi điều khiển đường truyền cho truyền thông nối tiếp <U0LCR0xE000C00C> ............................................................................................................. 53
2.6.3.7. Thanh ghi điều khiển trạng thái cho đường truyền cho truyền thông nối
tiếp (U0LSR-0xC000C014) ......................................................................................... 54
2.6.4. Kiến trúc của bộ truyền thông nối tiếp UART0 ........................................... 56
2.7. Time/Counter TIMER0 và TIMER1 ............................................................... 57
2.7.1. Tính năng chính .............................................................................................. 57
2.7.2. Các thanh ghi điều khiển Timer/Counter ...................................................... 57
2.7.2.1. Thanh ghi cờ ngắt của Timer/Counter (IR, T0IR và T1IR) ....................... 57
2.7.2.2. Thanh ghi điều khiển Timer/Counter (TCR, T0TCR và T1TCR) .............. 58
2.7.2.3. Thanh ghi điều khiển đếm (CCR, T0CTCR và T1CTCR)........................... 58
2.7.2.4. Thanh ghi điều khiển ở chế độ Match (MCR, T0MCR và T1MCR): ......... 59
Chƣơng 3. Phƣơng pháp lập trình với ARM ........................................................... 60
3.1. Cơng cụ phát triển .............................................................................................. 60
3.2. Cài đặt keil ........................................................................................................... 61
3.3. Trình biên dịch C ............................................................................................... 62

3



3.4. Xây dựng một đề án ........................................................................................... 63
3.4.1. Tạo một đề án .................................................................................................. 63
3.4.2. Quản lý một đề án (Project manager) ........................................................... 64
3.4.2.1. Cửa sổ soạn thảo chương trình (Application Editor) .................................. 65
3.4.2.2. Cửa sổ trạng thái ra (Outout Window) ........................................................ 65
3.4.2.3. Mơi trường soạn thảo cấu hình linh kiện(Device Editor) .......................... 65
3.4.3. Môi trƣờng gỡ rối Debbug ............................................................................. 65
Chƣơng 4. Ứng dụng lập trình quang báo ............................................................... 67
4.1. Cấu trúc nguyên lý phần cứng ........................................................................... 67
4.1.1. Sơ đồ khối tổng quát ....................................................................................... 67
4.1.2. Khối nguồn ....................................................................................................... 68
4.1.3. Khối điều khiển trung tâm ............................................................................. 70
4.1.3.1. Mạch kết nối JTAG ....................................................................................... 71
4.1.3.2. Mạch Reset hệ thống ..................................................................................... 71
4.1.3.3. Mạch giao tiếp cổng COM ............................................................................ 72
4.1.4. Khối đệm và giải mã hàng .............................................................................. 73
4.1.5. Khối đệm và giải mã cột ................................................................................. 75
4.1.6. Khối hiển thị (ledmatrix) ................................................................................ 77
4.2. Thiết kế phần mềm............................................................................................. 80
4.2.1. Thiết kế lƣu đồ chƣơng trình ......................................................................... 80
4.2.1.1. Lưu đồ chương trình chính .......................................................................... 81
4.2.1.2. Lưu đồ chương trình hiển thị ....................................................................... 82
4.2.1.3. Lưu đồ hiệu ứng dich chữ ............................................................................ 84
4.2.1.4. Lưu đồ hiệu ứng chữ rơi .............................................................................. 85
KẾT LUẬN ................................................................................................................. 86
Phụ lục 1. Tài liệu tham khảo ................................................................................... 87
Phụ lục 2. Mã nguồn chƣơng trình ........................................................................... 88

4



Lời nói đầu
Ngày nay đại đa số các lĩnh vực sản xuất điều khiển, giám sát, đo lường….đều
được trang bị hệ thống tự động hóa. Kĩ thuật vi điều khiển được sử dụng nhờ những
tính năng ưu việt như: khả năng lập trình phù hợp với thiết kế nhỏ và lớn cũng như
giao tiếp với thiết bị ngoại vi và máy tính đã đem lại sự hồn hảo, độ chính xác và tính
mềm dẻo cao thơng qua giao tiếp giữa người và máy.
Vi điều khiển quản lý hoạt động của hệ thống thơng qua phần mềm, nhờ vậy ta
có thể mở rộng và thay đổi hoạt động một cách dễ dàng bằng cách thay đổi một số
thông số của chương trình. Vi điều khiển hoạt động theo chương trình đã nạp sẵn, đọc
các tín hiệu từ bên ngồi đưa vào sau đó lưu trữ và xử lý, trên cơ sở đó đưa ra các
thơng báo, tín hiệu điều khiển các thiết bị bên ngồi hoạt động theo đúng thơng số và
yêu cầu của hệ thống.
Qua những kiến thức học tập và nghiên cứu một số họ vi điều khiển và được sự
hướng dẫn tận tình của thầy Đặng Thái Sơn em đã mạnh dạn chọn đề tài “Nghiên cứu
vi điều khiển ARM LPC2301 ứng dụng lập trình quang báo” làm đồ án tốt nghiệp
với mong muốn nâng cao khả năng hiểu biết của mình về dịng vi điều đang được ứng
dụng rộng rãi này và kỹ thuật để làm ra một sản phẩm đáp ứng yêu cầu thực tế.
Nội dung đồ án gồm 4 chương:
Chương 1. Giới thiệu đề tài.
Chương 2. Vi điều khiển ARM LPC2103.
Chương 3. Phương pháp lập trình với ARM.
Chương 4. Ứng dụng lập trình quang báo.
Em xin chân thành cảm ơn thầy giáo KS.Đặng Thái Sơn đã tận tình hướng dẫn
em hồn thành tốt đồ án này.
Mặc dù đã cố gắng nhưng với điều kiện khó khăn, kinh nghiệm hạn chế và thời
gian có hạn nên kết quả đạt được còn hạn chế. Em rất mong được sự góp ý và phê
bình của q thầy cơ và bạn đọc.
Sinh viên

Mai Thế Anh
5


Thuật ngữ viết tắt
Từ viết tắt
ARM

Tiếng Anh
Advanced RISC Machines

Tiếng Việt
Vi điều khiển với tập kiến trúc phát
triển RISC

ADC

Analog-to-Digital Converter

Bộ chuyển đổi tương tự số

APB

ARM Peripheral Bus

Bus ngoại vi ARM

AHB

Advanced High-perfommance


Bus chức năng thực thi cao

Bus
AMBA

CISC

Advanced Microcontroller Bus

Kiến trúc bus nâng cao của vi điều

Architecture

khiển

Complex Instruction Set

Máy tính với tập lệnh đầy đủ

Computer
CPU

Central Processing Unit

Đơn vị xử lý trung tâm

CPLD

Complex programmable logic


Thiết bị logic có khả năng lập trình

device

phức tạp

Curent Program Status Register

Thanh ghi trạng thái chương trình hiện

CPSR

tại
DBGSEL

Debug select

Lựa chọn chế độ gỡ rối

EINT

External Interrupt

Ngắt ngoài

FPGA

Field-Programmable Gate Array Vi mạch dùng cấu trúc mảng phân tử


FIQ

Fast Interrupt Request

Yêu cầu ngắt có mức ưu tiên cao nhất

GPIO

General Purpose Input/Output

Ngõ vào ra đa dụng

Ports
IDE

Integrated Development

Mơi trường thiết kế hợp nhất

Environment
ISP

In-System Programming

Lập trình trong hệ thống

IAP

In-Application


Lập trình trong ứng dụng

JTAG

Joint Test Action Group

Chuẩn giao tiếp cho vi điều khiển

6


LED

Light Emitting Diode

Diode phát quang

LR

Link Register

Thanh ghi liên kết

LIC

License ID Code

Mã khóa ID

MCU


Multipoint Control Unit

Đơn vị điều khiển đa mục đích

PDA

Personal Digital Assistant

Thiết bị số hỗ trợ người sử dụng

PC

Program Counter

Bộ đếm chương trình

PIC

Programmable Intelligent

Máy tính khả trình thơng minh

Computer
PLL

Phase Locked Loop

Vịng khóa pha


RISC

Reduced Instruction Set

Máy tính với tập lệnh suy giảm

Computer
RTC

Real-time Clock

Đồng hồ thời gian thực

SRAM

Static RAM

RAM tĩnh

SP

Stack Point

Con trỏ ngăn xếp

SPI

Serial Peripheral Interface

Giao diện ngoại vi nối tiếp


USB

Universal Serial Bus

Chuẩn kết nối tuần tự trong máy tính

UART

Universal Asynchronous

Chuẩn truyền/nhận không đồng bộ

Receiver/Transmitter
VIC

Vectored Interrupt Controller

Bộ điều khiển vector ngắt

7


Chƣơng 1. Giới thiệu đề tài
1.1. Mục đích đề tài
Nghiên cứu để hiểu rõ về cấu trúc phần cứng, phần mềm lập trình. Ứng dụng
lập trình bảng điện tử thực hiện một số hiệu ứng thông dụng như: hiệu ứng dịch chữ
trái, dịch phải, cuộn tròn, chớp tắt, hiệu ứng chữ rơi,…..

1.2. Phƣơng pháp nghiên cứu

Để thực hiện đề tài em đã thực hiện các trình tự nghiên cứu tuần tự như sau:
Tìm hiểu một số chip vi điều khiển khả trình phổ dụng:
-

8051.

-

PIC.

-

AVR.

-

ARM.

Chọn chip vi điều khiển ARM LPC2103 nghiên cứu sâu phương pháp thực
hiện:
-

Nghiên cứu cấu trúc và các tính năng của ARM LPC2103.

-

Nghiên cứu mơi trường phát triển IDE.

-


Nghiên cứu phương pháp thiết kế và lập trình trên chip ARM.

Tham khảo các thiết kế có sẵn với ARM.
Phần cứng đáp ứng các yêu cầu đặt ra:
-

Lập sơ đồ khối hệ thống.

-

Sơ đồ nguyên lý của modun sử dụng.

Thiết kế phần mềm với các tính năng đặt ra:
-

Thiết kế lưu đồ thuật tốn chương trình chính.

-

Thiết kế modul chương trình chính.

-

Thiết kế lưu đồ thuật tốn các modul chương trình con.

-

Thiết kế các modul chương trình con.

Nạp chạy thử mạch và ghi nhận kết quả.


8


1.3. Tình hình nghiên cứu phát triển cơng nghệ vi điều khiển ARM,
quang báo trong và ngoài nƣớc
1.3.1 ARM
Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc
vi xử lý 32-bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng. Do có đặc
điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện
tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết
kế quan trọng hàng đầu.
Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM
trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU ARM được tìm
thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện
thoại di động, máy đa phương tiện, máy trò chơi cầm tay, và máy tính cầm tay) cho
đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn.) Một nhánh nổi
tiếng của họ ARM là các vi xử lý Xscale của Intel.
Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của
cơng ty máy tính Acorn.
Nhóm thiết kế, dẫn đầu bởi Roger Wilson và Steve Furber, bắt đầu phát triển
một bộ vi xử lý có nhiều điểm tương đồng với Kỹ thuật MOS 6502 tiên tiến. Acorn đã
từng sản xuất nhiều máy tính dựa trên 6502, vì vậy việc tạo ra một chip như vậy là
một bước tiến đáng kể của cơng ty này.
Nhóm thiết kế hồn thành việc phát triển mẫu gọi là ARM1 vào năm 1985, và
vào năm sau, nhóm hồn thành sản phẩm “thực‟‟ gọi là ARM2. ARM2 có tuyến dữ
liệu 32-bit, khơng gian địa chỉ 26-bit tức cho phép quản lý đến 64Mbyte địa chỉ và 16
thanh ghi 32-bit. Một trong những thanh ghi này đóng vai trị là bộ đếm chương trình
với 6 bit cao nhất và 2 bit thấp nhất lưu giữ các cờ trạng thái của bộ vi xử lý. Có thể
nói ARM2 là bộ vi xử lý 32-bit khả dụng đơn giản nhất trên thế giới, với chỉ gồm

30.000 transistor (so với bộ vi xử lý lâu hơn bốn năm của Motorola là 68000 với
khoảng 68.000 transistor). Sự đơn giản như vậy có được nhờ ARM khơng có vi
chương trình (mà chiếm khoảng ¼ đến 1/3 trong 68000) và cũng giống như hầu hết

9


các CPU vào thời đó, khơng hề chứa cache. Sự đơn giản này đưa đến đặc điểm tiêu
thụ công suất thấp của ARM, mà lại có tính năng tốt hơn cả 286. Thế hệ sau, ARM3,
được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa.
Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầu hợp
tác với Acorn để phát triển các thế hệ lõi ARM mới. Công việc này trở nên quan trọng
đến nỗi Acorn nâng nhóm thiết kế trở thành một cơng ty mới gọi là Advanced RISC
Machines. Vì lý do đó bạn thường được giải thích ARM là chữ viết tắt của Advanced
RISC Machines thay vì Acorn RISC Machine. Advanced RISC Machines trở thành
công ty ARM Limited khi cơng ty này được đưa ra sàn chứng khốn London và
NASDAQ năm 1998.
Kết quả sự hợp tác này là ARM6. Mẫu đầu tiên được công bố vào năm 1991 và
Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở cho PDA hiệu
Apple Newton. Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi tính
RiscPC của họ.
Trải qua nhiều thế hệ nhưng lõi ARM gần như khơng thay đổi kích thước.
ARM2 có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000. Ý tưởng của
nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ
phận tùy chọn nào đó để tạo ra một CPU hồn chỉnh, một loại CPU mà có thể tạo ra
trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với
nhiều tính năng mà giá thành vẫn thấp.
Thế hệ thành công nhất có lẽ là ARM7TDMI với hàng trăm triệu lõi được sử
dụng trong các máy điện thoại di động, hệ thống video game cầm tay, và Sega
Dreamcast. Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP, cũng có một số

giấy phép tạo ra bộ vi điều khiển dựa trên lõi này.
Dreamcast đưa ra bộ vi xử lý SH4 mà chỉ mượn một số ý tưởng từ ARM (tiêu
tán công suất thấp, tập lệnh gọn …) nhưng phần cịn lại thì khác với ARM. Dreamcast
cũng tạo ra một chip xử lý âm thanh được thiết kế bởi Yamaha với lõi ARM7. Bên
cạnh đó, Gameboy Advance của Nintendo, dùng ARM7TDMI ở tần số 16,78 MHz.
Hãng DEC cũng bán giấy phép về lõi cấu trúc ARM (đôi khi chúng ta có thể bị
nhầm lẫn vì họ cũng sản xuất ra DEC Alpha) và sản xuất ra thế hệ Strong ARM. Hoạt
động ở tần số 233 MHz mà CPU này chỉ tiêu tốn khoảng 1 watt công suất (những đời

10


sau cịn tiêu tốn ít cơng suất hơn nữa). Sau những kiện tụng, Intel cũng được chấp
nhận sản xuất ARM và Intel đã nắm lấy cơ hội này để bổ sung vào thế hệ già cỗi i960
của họ bằng Strong ARM. Từ đó, Intel đã phát triển cho chính họ một sản phẩm chức
năng cao gọi tên là Xscale.

1.3.2. Quang báo
Trong đời sống hiện đại ngày nay, quảng cáo là một phần không thể thiếu
trong nhịp sống bùng nổ công nghệ thông tin như hiện nay.

bất cứ nơi đâu ta cũng

bắt gặp những biển quảng cáo từ đơn giản, thủ công cho đến những biển quảng cáo
điện tử hiện đại, thẩm mỹ. Đó là những bảng quảng cáo điện tử mà chúng ta gọi là
những bảng đ n quang báo. Cơng nghệ điện tử này cịn được sử dụng trong nhiều lĩnh
vực như những biển báo giao thông, những bảng điểm trên những sàn giao dịch chứng
khoán, hay tại các sân bay, siêu thị... Những bảng quang báo này góp phần làm cho
thành phố chúng ta có được một bộ mặt của một thành phố hiện đại và văn minh. Tác
dụng của bảng quang báo là khá to lớn và tính kinh tế của việc dùng quảng cáo bằng

LED nó tăng tính chú ý và đẹp.
Quảng đóng vai trị quan trọng trong sự phát triển của một công ty, doanh
nghiệp hay thậm chí là của một cửa hàng. Quảng cáo tốt sẽ đem lại nhiều lợi ích to
lớn. Cũng chính vì vậy mà khơng ngạc nhiên khi hàng năm các doanh nghiệp đã đầu
tư rất nhiều vào vấn đề này. Một trong những biện pháp được ưa dùng hiện nay đó là
sử dụng bảng quảng cáo bằng đ n LED, vì sự đơn giản, hiện đại, bắt mắt, chi phí hợp
lý cũng như tính hiệu quả của nó. Những bảng thông tin, cổng chào hay những bảng
LED quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều chú ý chắc hẳn đã khơng cịn
xa lạ đối với người dân, nhất là người dân đô thị.
Quảng cáo bằng đ n LED hiện nay được ứng dụng rất rộng rãi trong nhiều
ngành, nhiều lĩnh vực. Nó khơng chỉ giới hạn bởi việc hiển thị các dòng chữ, các biển
hiệu nhấp nháy mà cịn có thể hiển thị các hình ảnh đồ họa, các hình ảnh full colour và
đặc biệt là có thể hiển thị được cả video. Nó cũng khơng chỉ giới hạn trong việc quảng
cáo trong nhà (indoor), bán ngoài trời (semi – outdoor ) mà cịn có thể quảng cáo ở cả
ngoài trời, ngay giữa ban ngày với độ sáng và độ sắc nét cao.
Trong những năm gần đây quang báo (bảng diện tử) được phát triển mạnh mẽ
với nhiều chủng loại phục vụ cho các mục đích khác nhau.

11


Có nhiều IC chuyên dụng được sử dụng làm bảng điện tử cùng với việc kết hợp
các công nghệ mới như FPGA, CPLD thì bảng điện tử thực sự được phát triển về quy
mô và mức độ kỹ thuật:
-

Các loại màn hình Full Color Indoor, Out Door.

-


Bảng điện tử Led hiển thị số.

-

Bảng điện tử Led ma trận một màu.

-

Bảng điện tử Led ma trận ba màu, đa sắc.

-

Bảng điện tử hiển thị thơng tin Chứng khốn.

-

Bảng điện tử hiển thị tỷ giá Ngân hàng, Kết quả xổ số, Nghiệp vụ Bưu điện.

-

Bảng điện tử hiển thị múi giờ quốc tế.

-

Bảng điện tử Led động - Biển vẫy.

-

Trang trí nội thất , qn bar bằng cơng nghệ LED.


-

Trang trí tịa nhà bằng LED.

Qua tìm hiểu các nguồn thơng tin (mạng internet, thăm dị thị trường, báo chí
cơng nghệ,….) em thấy có rất nhiều cơng ty lớn cũng như các cơng ti vừa và nhỏ thiết
kế bảng điện tử với các công nghệ hiện đại và nhu cầu của xã hội là rất lớn.
Trong khn khổ đề tài với tính chất học thuật em mạnh dạn đưa ra ứng dụng
ARM vào điều khiển bảng điện tử vì những tính năng mạnh ưu việt, tốc độ xử lý và
dung lượng nhớ được tích hợp trên nó.

12


Chƣơng 2. Vi điều khiển ARM LPC2103
2.1. Giới thiệu chung
2.1.1. Khái quát
LPC2103 là vi điều khiển 32 bít hỗ trợ thời gian thực và trace nhúng xây dựng
trên cấu trúc của ARM7TDMI-S. LPC2103 có 32kB bộ nhớ flash tốc độ cao, vùng
nhớ nội mở rộng tới 128 bit địa chỉ, cấu hình cho phép thực thi các chỉ lệnh 32bit chỉ
trong một chu kì xung nhịp. Để tiện cho những ứng dụng nhỏ, LPC2103 hỗ trợ tập
lệnh 16 bít thu gọn (Thumb). Với chế độ thu gọn này, kích thước tập lệnh chỉ còn 70%
so với tập lệnh 32bit làm cùng chức năng.
Đóng gói 48 chân, sử dụng ít năng lượng, time 32bit, 8 kênh ADC, 9 nguồn
ngắt ngoài, LPC2103 thích hợp cho những ứng dụng cơng nghiệp, hóa học, nghiên
cứu điều khiển, và cả thương mại.
Hỗ trợ cấu trúc JTAG, ISP, IAP cho phép mở rộng các ứng dụng nhúng.

2.1.2. Các tính năng cơ bản
-


Vi điều khiển ARM7TDMI-S 32bit đóng gói 48 chân.

-

8kB SRAM trong chip, 32kB bộ nhớ flash có thể lập trình (chu kì ghi xóa ít
nhất là 10.000 lần).

-

Bus mở rộng 8/16/32.

-

Lập trình ISP/IAP sử dụng chế độ boot loader. Có thẻ xóa một sector hoặc
tồn bộ chip trong thời gian 1ms, lập trình ghi 256 bytes trong thời gian
1ms.

-

Hỗ trợ chạy mô phỏng thời gian thực ngay trên ứng dụng nhúng
(embeddedICE RT).

-

8 kênh ADC 10bit với thời gian chuyển đổi 2,44ms.

-

2 Time 32bit kết nối với 7 kênh capture và 7 kênh compare.


-

2 Time 16 bit kết nối với 3 kênh capture và 7 kênh compare.

-

Giao diện nối tiếp gồm 2 kênh UART <16C550>, I2C tốc độ cao
<400kbits/s>, 2 kênh SPI.

13


-

Xung nhịp CPU tối đa 60MHz có sẵn nhờ vịng khóa pha trên chip có thể
lập trình được (PLL).

-

Vector ngắt có địa chỉ truy cập và các mức ưu tiên.

-

Đến 32 chân xuất nhập đa dụng ở mức điện áp 5V.

-

Có 13 chân ngắt ngồi theo mức hoặc cạnh.


-

Tần số CPU có thể đạt 70MHz thơng qua khả năng lập trình PLL trên chíp
với tần số vào từ 10MHz đến 25MHz và thời gian thiết lập là 100 s .

-

Bộ dao động tích hợp trên chíp hoạt động với dao động thạch anh bên ngoài
tần số từ 1MHz đến 25MHz.

-

Các chế độ tiết kiệm nguồn Idle, Power down và Pown down với sự kích
hoạt của RTC.

-

Chức năng sử dụng tối ưu nguồn bằng cách cho phép hoặc không cho phép
từng nguồn ngoại vi riêng lẻ.

-

Đưa vi điều khiển vào lại chế độ hoạt động bình thường từ chế độ Power
down nhờ ngắt ngoài hoặc RTC.

2.1.2.1. Tổng quan kiến trúc
Bộ xử lí trung tâm (CPU) của LPC2103 ARM7TDMI-S hỗ trợ giao tiếp bus
AMBA (Advanced Microcontroller Bus Architecture). Ngoại vi AHB cho phép kết
nối tới dải địa chỉ 2MB. Mỗi vùng nhớ AHB có 16kB. Các chức năng ngoại vi của
LPC2103 được kết nối tới bus AHB. Các ngoại vi APB cũng cho phép kết nối tới dải

địa chỉ 2MB bắt đầu ở điểm 3.5GB. Mỗi ngoại vi APB cũng được định vị đến không
gian nhớ 16kB trong không gian nhớ APB.
Sự kết nối ngoại vi đến chân được điều khiển bởi khối kết nối chân. Điều này
phải được cấu hình bằng phần mềm tùy theo ứng dụng yêu cầu của người sử dụng.
2.1.2.2. Bộ xử lí ARM7TDMI-S
ARM7TDMI-S là bộ lí 32bit đa năng có tốc độ thực thi cao, tiêu thụ năng
lượng thấp. Kiến trúc ARM dựa trên nguyên lí kiến trúc RISC(Reduced Instruction
Set Conputer) với tập lệnh và mã máy đơn giản hơn kiến trúc CISC(Complex
Instruction Set Computer).

14


Kĩ thuật pipeline được sử dụng để bộ xử lí và hệ thống nhớ có thể hoạt động
liên tục.
Bộ xử lí ARM7TDMI-S cũng sử dụng chế độ THUM, phù hợp với các ứng
dụng tốc độ cao với bộ nhớ hạn chế. Ý tưởng chính của chế độ THUM cung cấp tập
lệnh suy giảm. Vậy bộ xử lý ARM7TDMI-S có hai tập lệnh cơ bản:
-

Tập lệnh tiêu chuẩn 32bit.

-

Tập lệnh thum on 16bit THUM.

ARM7 có kiến trúc load-and-store vì vậy để thực hiện bất kỳ câu lệnh xử lý dữ
liệu nào đầu tiên dữ liệu phải được chuyển từ bộ nhớ lưu trữ đến tập thanh ghi xử lý
của hệ thống. Chỉ lệnh xử lý dữ liệu sẽ được thực thi và sau đó dữ liệu sẽ được lưu dữ
trở lại bộ nhớ.

M1

MOV M1,R1

M2

MOV M1,R1

M3

MOV M1,R1

ADD R4,R1,R2

Hình 2.1. Sơ đồ thể hiện thực hiện lệnh ADD của ARM7.
Tập thanh ghi trung tâm bao gồm 16 thanh ghi có độ rộng 32bit ký hiệu từ R0R15. Các thanh ghi từ R0-R12 là các thanh ghi người sử dụng, chúng khơng có mục
đích đặc biệt nào khác. Các thanh ghi R13-R15 có các chức năng đặc biệt trong CPU:
-

R13 là con trỏ dữ liệu SP (stack pointer).

-

R14 gọi là thanh ghi liên kết LR (link register).

-

R15 là bộ đếm chương trình PC (program counter).

Nhiều câu lệnh có thể được thực hiện trên các thanh ghi R13-R15 nếu chúng

được sử dụng theo tiêu chuẩn thanh ghi người sử dụng.

15


R0

R0
R0
R0
R0
R0

R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12

SP

R13


LR

R14

PC

R15

Current Program Status Register

CPSR

Hình 2.2. Mơ tả tập thanh ghi của ARM7.
CPSR (Curent Program Status Register) là thanh ghi trạng thái chương trình.
Thanh ghi này chỉ ra kết quả hoạt động xử lý dữ liệu hiện tại, các cờ người sử dụng,
thiết lập chế độ hoạt động và cho phép ngắt.
2.1.2.3. Hệ thống nhớ flash trên chíp
LPC2103 tích hợp 32kB bộ nhớ flash trên chip. Bộ nhớ này được sử dụng để
lưu trữ chương trình và dữ liệu. chương trình của bộ nhớ có thể được nạp theo các
cách sau:
-

Sử dụng giao diện JTAG truyền nối tiếp.

-

Sử dụng ISP và UART.

-


Sử dụng khả năng IAP.

Chương trình ứng dụng sử dụng chức năng IAP có thể xóa và lập trình bộ nhớ
flash trong khi ứng dụng đang chạy, cung cấp sự mềm dẻo trong việc lưu trữ dữ liệu
và phát triển chương trình.
Bộ nhớ flash của LPC2103 cung cấp tối thiểu 100.000 chu kì ghi đọc và có khả
năng duy trì dữ liệu trong 20 năm.

16


2.1.2.4. Hệ thống nhớ SRAM trên chíp
Hệ thống nhớ SRAM trên chíp có thể được sử dụng cho việc lưu trữ mã và dữ
liệu. SRAM có thể được truy nhập theo 8bit, 16bit và 32bit. LPC2103 có 8kB SRAM
trên chíp.
SRAM của LPC2103 được thiết kế để quản lý bộ nhớ theo byte.
SRAM sử dụng điều khiển phối hợp bộ đệm phản hồi để ngăn CPU vào tình
trạng treo vi điều khiển khi truy cập dữ liệu ngược. Bộ đệm phản hồi luôn giữ giá trị
cuối của phần mềm vào SRAM. Dữ liệu này chỉ được ghi vào SRAM khi phần mềm
yêu cầu quá trình ghi nhận khác. Nếu quá trình Reset xảy ra, thanh ghi SRAM sẽ
không phản ánh đúng giá trị ghi vào SRAM ngay trước khi Reset hệ thống. Muốn truy
cập đúng dữ liệu, phần mềm cần đưa ra đúng mã nhận dạng. Vì thế, trước khi vào chế
độ Idle hay Power- down, giá trị này được ghi vào bộ nhớ đệm<dummy> để sau khi
Reset, sẽ truy cập đúng giá trị mong muốn.

2.1.3. Ứng dụng
-

Điều khiển trong công nghiệp.


-

Hệ thống y tế.

-

Cổng thông tin, truyền thông đa phương tiện.

-

Mục đích học thuật, nghiên cứu ứng dụng.

-

Các mục đích đa dụng khác.

17


2.1.4. Sơ đồ khối

Hình 2.3. Sơ đồ khối của LPC2103.

18


Vùng bus ngoại vi AHB/VPB không được định nghĩa.
Bảng mô tả chức năng các chân của LPC2103
Bảng 2.1. Mô tả các chân chức năng của ARM LPC2103
Kí hiệu


Số
thứ
tự

P0.0 đến P0.31

P0.0/TXD0/
MAT3.1

13

P0.1/RXD0/
MAT3.2

14

P0.2/SCL0/
CAP0.0

18

P0.3/SDA0/
MAT0.0

18

Loại

Mơ tả


I/O

Port 0 gồm 32bit I/O có thể điều khiển riêng lẻ
từng bit. Hoạt động của các chân Port0 phụ thuộc
vào chức năng từng chân được chọn thông qua
khối kết nối chân (Pin Connect Block).
Chú ý chân P0.31 chỉ được phép cấu hình là chân
ra.
P0.0 chân vào ra đa dụng.
TXD0 ngõ ra của UART0.
MAT3.1 ngõ ra PWM cho time3.
P1.0 chân vào ra đa dụng.
Ngõ vào UART0.
MAT3.2 ngõ ra PWM 2 cho time3
P0.2 ngõ vào ra đa dụng, ngõ ra cực máng hở
SCL0 ngõ vào/ra xung clock I2C0. Ngõ ra có cực
máng hở.
CAP0.0 ngõ vào capture kênh 0 cho time0.
P0.3 ngõ vao ra đa dụng, ngõ ra cực máng hở.
SDA0 ngõ vào ra dữ liệu I2C0, ngõ ra có cực
máng hở.
MAT0.0 ngõ ra PWM kênh0 của time0, ngõ ra
có cực máng hở.
P0.4 ngõ vào/ra đa dụng.
Ngõ xung clock cho SPI0. Ngõ ra clock SPI của
master hoặc ngõ vào clock của slave.
Ngõ vào capture kênh 1 của time0
P0.5 ngõ vào ra đa dụng.
MISO ngõ vào ra dữ liệu SPI0. Ngõ vào của

master hoặc ngõ ra của slave.
MAT0.1 ngõ ra PWM kênh 1 của time0.
P0.6 ngõ vào ra đa dụng.
MISO0 ngõ dữ liệu cho SPI0. Ngõ ra của master
hoặc ngõ vào của slave.
CAP0.2 ngõ vào capture kênh 2 của time0.
P0.7 ngõ vào ra đa dụng.
SSEL0 lựa chọn slave cho SPI0.
MAT2.0 ngõ ra PWM kênh 0 của time 2.
P0.8 ngõ vào ra đa dụng.
TXD1 ngõ ra của UART1.

I/O
O
O
I/O
I
O
I/O
I/O
I
I/O
I/O
O

P0.4/SCK0/
CAP0.1

22


P0.5/MISO0/
MAT0.1

23

I
I/O
I/O

24

I/O
I/O
I/O

P0.6/MOSI/
CAP0.2

P0.7/SSEL0/
MAT2.0

28

P0.8/TXD1/
MAT2.1

29

I/O
I/O


I
I/O
I
O
I/O
O

19


P0.9/RXD1/
MAT2.2

30

P0.10/RTS1/
CAP1.0/AD0.3

35

P0.11/CTS1/
CAP1.1/AD0.4

36

P0.12/DSR1/
MAT1.0/AD0.5

37


P0.13/DTR1/
MAT1.1

41

P0.14/DCD1/
SCK1/EINT1

44

P0.15/RI1/
EINT2

45

P0.16/EINT0/
MAT0.2

46

P0.17/CAP1.2/
SCL1

47

P0.18/CAP1.3/
SDA1

48


P0.19/MAT1.2/
MISO1

1

P0.20/MAT1.3/
MOSI1

2

P0.21/SSEL1/
MAT3.0

3

O
I/O
I
O
I/O
O
I
I
I/O
I
I
I
I/O
I

O
I
I/O
O
O
I/O
I
I/O
I
I/O
I
I
I/O
I
O
I/O
I
I/O
I/O
I
I/O
I/O
O
I/O
I/O
O
I/O
I/O
I


MAT2.2 ngõ ra PWM kênh 2 time2.
P0.9 ngõ vào ra đa dụng.
RXD1 ngõ vào UART1.
MAT2.2 đầu ra PWM kênh 2 timer2.
P0.10 ngõ vào ra đa dụng.
RTS1 ngõ ra để gửi dữ liệu đối với UART1.
CAP1.0 ngõ vào capture kênh 0 timer1.
AD0.3 ngõ vào thứ 3 của bộ ADC0.
P0.11 ngõ vào ra đa dụng.
CTS1 đồng bộ để nhân dữ liệu của bộ UART1.
CAP1.1 đầu vào capture kênh 1 của timer1.
AD0.4 ngõ vào thứ 4 của ADC.
P0.12 ngõ vào ra đa dụng.
DSR1 đầu vào thiết lập sẵn sàng nhận dữ liệu của
UART1.
MAT1.0 ngõ ra PWM kênh 0 timer1.
AD0.5 ngõ vào thứ 5 của ADC.
P0.13 ngõ vào ra đa dụng.
DTR1 ngõ ra sẵn sàng truyền dữ liệu của
UART1.
MAT1.1 đầu ra PWM kênh 1 timer1.
P0.14 ngõ vào ra đa dụng.
DCD1 phát hiện dữ liệu vào của UART1.
SCK1 xung clock nối tiếp cho SPI1.
EINT1 ngõ vào ngắt ngoài 1.
P0.15 ngõ vào ra đa dụng.
RI1 dùng cho UART1.
EINT2 ngõ vào cho ngắt ngoài 2.
P0.16 ngõ vào ra đa dụng.
EINT0 ngõ vào ngắt ngoài 0.

MAT0.2 ngõ ra PWM kênh 2 timer0.
P0.17 ngõ vào ra đa dụng.
CAP1.2 ngõ vào capture kênh 2 timer 1.
SCL1 xung clock cho I2C1.
P0.18 ngõ vào ra đa dụng.
CAP1.3 ngõ vào capture kênh 3 timer1.
SDA1 ngõ dữ liệu cho I2C.
P0.19 ngõ vào ra đa dụng.
MAT1.2 ngõ ra PWM kênh 2 timer1.
MISO1 ngõ dữ liệu của SPI1.
P0.20 ngõ vào ra đa dụng.
MAT1.3 ngõ ra PWM kênh 3 timer1.
MOSI1 ngõ dữ liệu của SPI1.
P0.21 ngõ vào ra đa dụng.
SSEL1 chân chọn SPI1.
20


P0.22/AD0.0

32

P0.23/AD0.1

33

P0.24/AD0.2

34


P0.25/AD0.6

38

P0.26/AD0.7

39

P0.27/TRST/
CAP2.0

8

P0.28/TMS/
CAP2.1

9

P0.29/TCK/
CAP2.2

10

P0.30/TDI/
MAT3.3

15

P0.31/TDO


16

RTCX1
RTCX2
RTCK
XTAL1
XTAL2
DBGSEL
RTS
VSSA
VDDA

20
20
26
11
12
27
6
31
42

O
I/O
I
I/O
I
I/O
I
I/O

I
I/O
I
I/O
I
I
I/O
I
I
I/O
I
I
I/O
I
O
O
O
I
O
I/O
I
O
I
I
I
I

MAT3.0 ngõ ra PWM kênh 0 timer3
P0.22 ngõ vào ra đa dụng.
ADC0.0 ngõ vào 0 của ADC0.

P0.23 ngõ vào ra đa dụng.
ADC0.1 ngõ vào 1 của ADC0.
P0.24 ngõ vào ra đa dụng.
ADC0.2 ngõ vào 2 của ADC0.
P0.25 ngõ vào ra đa dụng.
ADC0.6 ngõ vào 6 của ADC0.
P0.26 ngõ vào ra đa dụng.
ADC0.7 ngõ vào 7 của ADC0.
P0.27 ngõ vào ra đa dụng.
TRST kiểm tra reset cho giao diện JTAG.
CAP2.0 đầu vào capture kênh0 timer2.
P0.28 ngõ vào ra đa dụng.
TMS lựa chọn chế độ cho giao diện JTAG.
CAP2.1 ngõ vào capture kênh1 timer2.
P0.29 ngõ vào ra đa dụng.
TCK kiểm tra JTAG cho giao diện JTAG.
CAP2.2 ngõ vào capture kênh 2 timer2
P0.30 ngõ vào ra đa dụng.
TDI kiểm tra dữ liệu cho giao diện JTAG.
MAT3.3 ngõ ra PWM 3 cho timer3.
P0.31 ngõ ra đa dụng.
TDO kiểm tra dữ liệu ra của JTAG.
Ngõ vào mạch dao động RTC.
Ngõ ra từ mạch dao động RTC.
Ngõ ra clock JTAG.
Ngõ vào mạch dao động.
Ngõ ra từ mạch khuếch đại dao động.
Lựa chọn chế độ debug.
Chân reset ngoài.
Đất chống nhiễu.

Cung cấp nguồn 3.3V

21


2.2. Khối điều khiển hệ thống<System Control Block>
2.2.1. Khái quát
Khối điều khiển hệ thống có một số chức năng và thanh ghi có quan hệ với một
số thiết bị ngoại vi:
-

Tinh thể dao động.

-

Ngõ vào ngắt ngoài.

-

Điều khiển định vùng bộ nhớ.

-

PLL (vịng khóa pha)

-

Điều khiển nguồn.

-


Reset.

-

Phân chia bus ngoại vi VPB.

-

Đồng hồ wake up hệ thống.

2.2.2. Các chân chức năng
Bảng 2.2. Các chân chức năng điều khiển hệ thống

X1

Hướng
truyền
vào

X2

Ra

Ngõ ra của tinh thể dao động từ bộ khuếch đại dao động.

EINT0

Vào


EINT0

Vào

EINT1

Vào

EINT2

Vào

RESET

Vào

+ Ngõ vào ngắt ngồi 0. Có thể dụng chức năng này để wake
hệ thống từ các chế độ tiết kiệm nguồn(powerdown hoặc Idle)
+ P0.1 và P0.16 có thể được chọn để thực hiên chức năng
này.
+ Mức thấp trên các chân này ngay sau khi Reset ngồi sẽ cấu
hình cho phần cứng ngoài yêu cầu vào ISP.
Ngắt ngoài 1
Các chân P0.3 và P0.14 thực hiên chức năng này
+ Ngắt ngoài 1.
+ Các chân P0.3 và P0.14 thực hiện chức năng này
+ Ngắt ngoài 2
+ Các chân P0.7 và P0.15 thực hiện chức năng này
Ngõ vào Reset ngoài, mức thấp trên chân này sẽ đưa chip vào
chế độ reset: các ngoại vi vào trạng thái mặc định, vi xử lý bắt

đầu từ địa chỉ 0x00000000.

Tên

Chức năng
Ngõ vào nguồn hệ thống.

22


2.2.3. Các thanh ghi chức năng
Bảng 2.3. Các thanh ghi chức năng điều khiển hệ thống
Hướng
Giá trị
truy cập
reset
Ngắt ngoài
EXTINT
Thanh ghi chứa cờ ngắt Đọc/Ghi
0
ngoài.
EXTWAKE
Thanh ghi Wakeup
Đọc/Ghi
0
ngắt ngoài.
EXTMODE Thanh ghi định chế độ Đọc/Ghi
0
ngắt ngoài.
EXTPOLA

Thanh ghi phân cực
Đọc/Ghi
0
(mức/cạnh)
Điều khiển phân vùng bộ nhớ
MEMMAP Điều khiển phân vùng Đọc/Ghi
0
ngắt ngồi.
Vịng khóa pha
PLLCON
Thanh ghi điều khiển
Đọc/Ghi
0
PLL.
PLLCFG
Cấu hình thanh ghi
Đọc/Ghi
0
PLL.
PLLSTAT
Thanh ghi trạng thái
Chỉ đọc
0
PLL.
PLLFEED
Thanh ghi cấp giá trị
Chỉ ghi
N
PLL.
Điều khiển nguồn

PCON
Thanh ghi điều khiển
Đọc/Ghi
0
nguồn
PCONP
Điều khiển nguồn cho Đọc/Ghi 0x3BE
ngoại vi.
Bộ chia bus ngoại vi VPB
VPBDIV
Điều khiển chia bus
Đọc/Ghi
0
ngoại vi VPB.
Tên

Chức năng

Địa chỉ
0xE01FC14
0xE01FC144
0xE01FC148
0xE01FC14C

0xE01FC040

0xE01FC080
0xE01FC084
0xE01FC088
0xE01FC08C


0xE01FC0C0
0xE01FC0C

0xE01FC10

23


2.2.4. Nguồn dao động
Cấu hình trên chip cho phép chọn dao động tần số từ 1MHz-30MHz. Thường
gặp dạng nguồn dao động ngồi như hình vẽ dưới:

Hình 2.4. Chọn dao động từ nguồn

Hình 2.5. Chọn tần số hoạt động từ nguồn

dao động.

thạch anh.

Hình 2.6. Thuật tốn chọn tần số dao động của MCU.

2.2.5. Ngõ vào ngắt ngồi
LPC2103 có 3 ngõ vào ngắt ngoài được chọn trên các chân chức năng. Các
chân chứ năng này có thể được chọn để wakeup hệ thống khi vi xử lý đang ở chế độ
tiết kiệm nguồn.
2.2.5.1. Khái quát các thanh ghi
Chứa năng ngắt ngoài dùng 4 thanh ghi đi k m với nó. Thanh ghi EXINT chứa
cờ ngắt và thanh ghi EXTWAKEUP chứa bit cho phép từng ngắt ngồi có thể wakeup

24


×