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

Tài liệu Chương 1: GIỚI THIỆU VỀ CÁC HỌ VI XỬ LÝ VÀ THÔNG DỤNG ppt

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 (582.4 KB, 25 trang )

Chương 1: Giới thiệu 1 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
Chương 1
GIỚI THIỆU VI XỬ LÍ – VI ĐIỀU KHIỂN
1.1. GIỚI THIỆU VỀ CÁC HỌ VI XỬ LÝ VÀ THÔNG DỤNG
1.1.1. Lịch sử phát triển của bộ vi xử lí và bộ vi điều khiển
Sự ra đời và phát triển nhanh chóng của kỹ thuật vi điện tử mà đặc trưng là kỹ thuật vi
xử lí đã tạo ra một bước ngoặt quan trọng trong sự phát triển của khoa học tính toán, điều
khiển và xử lí thông tin. Kỹ thuật vi xử lí đóng một vai trò rất quan trọng trong tất cả các
lĩnh vực của cuộc sống và khoa học kỹ thuật, đặc biệt là lĩnh vực Tin học và Tự động hóa.
Năm 1971, hãng Intel đã cho ra đời bộ vi xử lí (microprocessor) đầu tiên trên thế giới tên
gọi là Intel-4004/4bit , nhằm đáp ứng nhu cầu cấp thiết của một công ty kinh doanh là hãng
truyền thông BUSICOM. Intel-4004 là kết quả của một ý tưởng quan trọng trong kỹ thuật vi
xử lí số. Đó là một kết cấu logic mà có thể thay đổi được chức năng của nó bằng chương
trình ngoài chứ không phát triển theo hướng tạo ra một cấu trúc cứng chỉ thực hiện một số
chức năng nhất định như trước đây.
Sau đó, các bộ vi xử lí mới liên tục được đưa ra thị trường và ngày càng được phát triển,
hoàn thiện hơn trong các thế hệ sau :
Vào năm 1972, hãng Intel đưa ra bộ vi xử lí 8-bit đầu tiên với tên Intel-8008/8bit. Từ
1974 đến 1975 , Intel chế tạo các bộ vi xử lí 8-bit 8080 v 8085A. Cũng vào khoảng thời gian
này, một loạt các hãng khác trên thế giới cũng đã cho ra đời các bộ vi xử lí tương tự như :
6800 của Motorola với 5000 tranzitor, Signetics 6520, 1801 của RCA, kế đến là 6502 của
hãng MOS Technology và Z80 của hãng Zilog.
Năm 1978 xuất hiện Intel 8086 là loại bộ xi xử lý 16 bit với 29.000 tranzitor, Motorola
68000 tích hợp 70.000 tranzitor, APX 432 chứa 120.000 tranzitor. Bộ vi xử lý của Hewlet
Pakard có khoảng 450.000 tranzitor. Từ năm 1974 đến 1984 số tranzitor tích hợp trong một
chip tăng khoảng 100 lần.
Năm 1983, Intel đưa ra bộ vi xử lý 80286 dung trong các máy vi tinh họ AT (Advanced
Technology). 80286 sử dụng I/O 16 bit, 24 đường địa chỉ và không gian nhớ địa chỉ thực
16MB. Năm 1987, Intel đưa ra bộ vi xử lý 80386 32-bit. Năm 1989 xuất hiện xuất hiện bộ
vi xử lý Intel 80486 là cải tiến của Intel 80386 với bộ nhớ ẩn và mạch tính phép toán đại số


dấu phẩy động. Năm 1992, xuất hiện Intel 80586 còn gọi là Pentium 64 bit chứa 4 triệu
tranzitor.
Chương 1: Giới thiệu 2 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
Độ phức tạp, sự gọn nhẹ về kích thước và khả năng của các bộ vi điều khiển được tăng
thêm một bậc quan trọng vào năm 1980 khi Intel công bố chip 8051, bộ vi điều khiển đầu
tiên của họ vi điều khiển MCS-51. So với 8048, chip 8051 chứa trên 60.000 transistor bao
gồm 4K byte ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời
16-bit – một số lượng mạch đáng chú ý trong một IC đơn.
Từ các bộ vi xử lý ban đầu chỉ là các bộ xử lý trung tâm trong một hệ thống, không thể
hoạt động nếu thiếu các bộ phận như RAM, ROM, bo mạch chủ các hãng đã phát triển các
bộ vi xử lý này lên thành các bộ vi điều khiển để phục vụ các mục đích riêng biệt, khác
nhau trong công nghiệp. Một bộ vi điều khiển là một hệ vi xử lí thật sự được tổ chức trong
một chip (trong một vỏ IC) bao gồm một bộ vi xử lí (microprocessor), bộ nhớ chương trình
(ROM), bộ nhớ dữ liệu (RAM), tuy không bằng dung lượng RAM ở các máy vi tính nhưng
đây không phải là một hạn chế vì các bộ vi điều khiển được thiết kế cho một mục đích hoàn
toàn khác, ngoài ra trên chip còn có bộ xử lý số học-logic (ALU) cùng với các thanh ghi
chức năng, các cổng vào/ra, cơ chế điều khiển ngắt, truyền tin nối tiếp, các bộ định thời
Hiện nay, các bộ vi điều khiển được sử dụng rất rộng rãi và ngày càng được chuẩn hóa để
có thể sử dụng rộng rãi trong các ngành công nghiệp, có mặt trong nhiều máy móc, trong
các hàng tiêu dùng.
1.1.2. Ưu và khuyết điểm của các bộ vi điều khiển
Các công việc được thực hiện bởi các bộ vi điều khiển thì không mới. Điều mới là các
thiết kế hiện thực với ít thành phần hơn so với các thiết kế trước đó. Các thiết kế trước đó
đòi hỏi phải vài chục hoặc vài trăm IC để hiện thực nay chỉ cần một ít thành phần trong đó
bao gồm bộ vi điều khiển. Số thành phần được giảm bớt, hiệu quả trực tiếp của tính khả lập
trình của các bộ vi điều khiển và độ tích hợp cao trong công nghệ chế tạo vi mạch, thường
chuyển thành thời gian phát triển ngắn hơn, giá thành khi sản xuất thấp hơn, công suất tiêu
thụ thấp hơn và độ tin cậy cao hơn. Vấn đề ở đây là tốc độ. Các giải pháp dựa trên bộ vi
điều khiển không bao giờ nhanh bằng giải pháp dựa trên các thành phần rời rạc. Những tình

huống đòi hỏi phải đáp ứng thật nhanh (cỡ nsec) đối với các sự kiện (thường chiếm thiểu số
trong các ứng dụng) sẽ được quản lý tồi khi dựa vào các bộ vi điều khiển.
Tuy nhiên trong vài ứng dụng, đặc biệt là các ứng dụng liên quan đến con người, các
khoảng thời gian trễ tính bằng nsec, μsec hoặc thậm chí msec là không quan trọng. Việc
giảm bớt các thành phần là một điều lợi như đã đề cập, các thao tác trong chương trình điều
khiển làm cho thiết kế có thể thay đổi bằng cách thay đổi phần mềm. Điều này có ảnh
Chương 1: Giới thiệu 3 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
hưởng tối thiểu đến chu kỳ sản xuất. Do đó các bộ vi điều khiển có thể được ứng dụng rộng
rãi trong các ứng dụng phục vụ con người.
Để có thể hiểu rõ hơn về các bộ vi điều khiển, chúng ta sẽ tìm hiểu về một số các họ vi
điều khiển của một số hãng điện tử điển hình đang được sử dụng rộng rãi trong khoa học kỹ
thuật và đời sống.
1.2. KHÁI QUÁT HỌ 8051
1.2.1. Họ MCS-51™
MCS-51™ là một họ IC vi điều khiển do Intel phát triển và sản xuất. Một số nhà sản
xuất được phép cung cấp các IC tương thích với các sản phẩm MCS-51™ của Intel là
Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel…
Các IC của họ MCS-51™ có các đặc trưng chung như sau:
 4 port I/O 8 bit
 Giao tiếp nối tiếp
 64K không gian bộ nhớ chương trình mở rộng
 64K không gian bộ nhớ dữ liệu mở rộng
 Một bộ xử lý luận lý (thao tác trên các bit đơn)
 210 bit được địa chỉ hóa
 Bộ nhân/chia 4 μs.
Ngoài ra, tùy theo số hiệu sản xuất mà chúng có những khác biệt về bộ nhớ và bộ định
thời/bộ đếm như trong bảng so sánh dưới đây:
Số hiệu sản
xuất

Bộ nhớ chương
trình trên chip
Bộ nhớ dữ liệu
trên chip
Số bộ định thời
(bộ đếm)
8031
8051
8751
8951
0K
4K ROM
4K EPROM
4K FLASH
128 byte
128 byte
128 byte
128 byte
2
2
2
2
8032
8052
8752
8952
0K
8K ROM
8K EPROM
8K FLASH

256 byte
256 byte
256 byte
256 byte
3
3
3
3
Chương 1: Giới thiệu 4 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
1.2.2. Giới thiệu AT89C51
AT89C51 là một Microcomputer 8 bit, loại CMOS, có tốc độ cao và công suất thấp với
bộ nhớ Flash có thể lập trình được. Nó được sản xuất với công nghệ bộ nhớ không bay hơi
mật độ cao của hãng Atmel, và tương thích với chuẩn công nghiệp của 80C51 và 80C52 về
chân ra và bộ lệnh. Vì lý do đó, kể từ đây về sau ta sẽ dùng thuật ngữ “80C51” (hoặc
"8051").

Hình 1.2: Sơ đồ khối của AT89C51
Những đặc trưng của AT89C51
Chương 1: Giới thiệu 5 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
+ Tương thích với các sản phẩm MCS-51
+ 4KByte bộ nhớ Flash có thể lập trình lại với 1000 chu kỳ đọc/xoá
+ Hoạt động tĩnh đầy đủ: 0Hz đến 24MHz
+ Khoá bộ nhớ chương trình ba cấp
+ 128 x 8 bit RAM nội
+ 32 đường xuất-nhập lập trình được (tương ứng 4 port)
+ Hai timer/counter 16 bit
+ Một port nối tiếp song công lập trình được
+ Mạch đồng hồ và bộ dao động trên chip

Cấu hình chân của AT89C51 như sau:

Hình 1.3: Sơ đồ chân của AT89C51
Như vậy AT89C51 có tất cả 40 chân. Mỗi chân có chức năng như các đường I/O
(xuất/nhập), trong đó 24 chân có công dụng kép: mỗi đường có thể hoạt động như một
đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus địa chỉ và bus đữ
liệu.
1.2.3. Mô tả xuất nhập
 VCC (chân 40)
Chân cấp nguồn.
 GND (chân 20)
Chân nối đất.
 Port 0
Chương 1: Giới thiệu 6 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
Port 0 là một port xuất/nhập song hướng cực máng hở 8 bit. Nếu được sử dụng như là
một ngõ xuất thì mỗi chân có thể kéo 8 ngõ vào TTL. Khi mức 1 được viết vào các chân của
port 0, các chân này có thể được dùng như là các ngõ nhập tổng trở cao.
Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu (phần byte
thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ chương trình ngoài. Ở chế độ này, P0 có
các điện trở pullup bên trong.
Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, và xuất ra các
byte code khi kiểm tra chương trình. Cần có các điện trở pullup bên ngoài khi thực hiện việc
kiểm tra chương trình.
 Port 1
Port 1 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong. Các bộ
đệm ngõ ra của port 1 có thể kéo hoặc cung cấp 4 ngõ nhập TTL. Khi mức 1 được viết vào
các chân của port 1, chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng
như là các ngõ nhập. Nếu đóng vai trò là các ngõ nhập, các chân của port 1 (được kéo xuống
thấp qua các điện trở bên ngoài) sẽ cấp dòng I

IL
do các điện trở pullup bên trong.
 Port 2
Port 2 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong.
Các bộ đệm ngõ ra của port 2 có thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các mức 1
được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở pullup nội và
có thể được dùng như các ngõ vào. Khi được dùng như các ngõ vào, các chân của port 2
(được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng I
IL
do có các điện trở pullup bên
trong.
Port 2 phát ra byte cao của địa chỉ khi đọc từ bộ nhớ chương trình ngoài và khi truy cập
bộ nhớ dữ liệu ngoài dùng các địa chỉ 16 bit (MOVX @DPTR). Trong ứng dụng này, nó
dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1. Khi truy cập bộ nhớ dữ liệu
ngoài dùng các địa chỉ 8 bit (MOVX @RI), port 2 phát ra các nội dung của thanh ghi chức
năng đặc biệt P2.
Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập trình và
kiểm tra Flash.
 Port 3
Port 3 là một port xuất-nhập song hướng 8 bit có điện trở pullup nội bên trong.
Chương 1: Giới thiệu 7 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
Các bộ đệm ngõ ra của port 3 có thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các mức 1
được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở pullup nội và
có thể được dùng như các ngõ vào. Khi được dùng như các ngõ vào, các chân của port 3
(được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng I
IL
do có các điện trở pullup bên
trong.
Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt kê dưới

đây:
Bảng :Các chức năng chuyển đổi trên Port 3
Chân Tên Các chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
INT0

INT1

T0
T1
WR

RD
Port nhập nối tiếp
Port xuất nối tiếp
Ngắt 0 bên ngoài
Ngắt 1 bên ngoài
Ngõ vào Timer/Counter 0
Ngõ vào Timer/Counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài

 RST (chân 9)
Ngõ vào reset. Một mức cao trên chân này khoảng hai chu kỳ máy trong khi bộ dao động
đang chạy sẽ reset thiết bị.
 ALE/
PROG

ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy cập bộ nhớ ngoài.
Chân này cũng là ngõ nhập xung lập trình (
PROG
) khi lập trình Flash.
Khi hoạt động bình thường, ALE được phát với một tỷ lệ không đổi là 1/6 tần số bộ dao
động và có thể được dùng cho các mụch đích timing và clocking bên ngoài. Tuy nhiên, lưu
ý rằng một xung ALE sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài.
Nếu muốn, hoạt động ALE có thể cấm được bằng cách set bit 0 của SFR tại địa chỉ 8Eh.
Nếu bit này được set, ALE chỉ dược hoạt động khi có một lệnh MOVX hoặc MOVC.
Ngược lại, chân này được kéo lên cao bởi các điện trở pullup "nhẹ". Việc set bit cấm-ALE
không có tác dụng khi bộ vi điều khiển đang ở chế độ thi hành ngoài.

PSEN

Chương 1: Giới thiệu 8 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
PSEN (Program Store Enable) là xung đọc bộ nhớ chương trình ngoài. Khi AT89C52
đang thi hành mã (code) từ bộ nhớ chương trình ngoài,
PSEN
được kích hoạt hai lần mỗi
chu kỳ máy, nhưng hai hoạt động
PSEN sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu
ngoài.


EA/Vpp
EA (External Access Enable) phải được nối với GND để cho phép thiết bị đọc code từ
bộ nhớ chương trình ngoài có địa chỉ từ 0000H đến FFFFH. Tuy nhiên, lưu ý rằng nếu bit
khoá 1 (lock-bit 1) được lập trình,
EA sẽ được chốt bên trong khi reset.
EA phải được nối với Vcc khi thi hành chương trình bên trong. Chân này cũng nhận
điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đó áp lập trình 12V được
chọn).
 XTAL1 và XTAL2
XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại dao động nghịch được
cấu hình để dùng như một bộ dao động trên chip.

Hình 1.4: Các kết nối của bộ dao động
Không có yêu cầu nào về duty cycle của tín hiệu xung ngoài,vì ngõ nhập nối với mạch
tạo xung nội là một flip-flop chia đôi, nhưng các chỉ định về thời gian high và low, các mức
áp tối đa và tối thiểu phải được tuân theo. Các đặc trưng khác sẽ được trình bày một cách
chi tiết hơn ở những phần sau.
1.3. HỆ VI XỬ LÝ Z-80
1.3.1. Cấu trúc CPU
- Bộ nhớ chính gồm ROM & RAM.
- Các bộ giao tiếp (Input / Output Adapter)
- Các Thiết bị ngoại vi ( Peripheral).
Chương 1: Giới thiệu 9 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
Bus : Data Addr Ctrl

Hình 1.5: Sơ đồ khối của vi xử lý Z-80
CPU Là khối liên kết trung tâm, thực hiện các phép toán và điều khiển các liên kết còn lại
thông qua việc thi hành Lệnh: Lệnh là một giá trị nhị phân tượng trưng (mã hóa) cho 1 phép
tính mà CPU thực hiện được, giá trị này do nhà sản xuất qui định. Dựa vào số bit của Data

Bus để phân loại CPU:
- CPU 8 bit: 8080, 8085 của Intel
6800, 6802 của Intel
Z80 của Zilog
- CPU có Data Bus lớn hơn 8 bit:
16 bit: 8088, 8086, 80286 của Intel
32 bit: 80386, 80486 của Intel
64 bit: Pentium
Ngoài ra theo xu thế hiện nay, người ta có thể phân loại CPU theo 2 hướng: CISC (
Complete Instruction Set Computer) và RISC ( Reduced Instruction Set Computer)
Gồm 3 phần chính:
- Tập thanh ghi ( Register Set).
- Bộ số học và Logic ( Arithmetic & Logic Unit).
- Khối điều khiển và giải mã lệnh.
Bộ nhớ chính : Chứa số liệu và Lệnh của CPU
Chương 1: Giới thiệu 10 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
Các bộ giao tiếp : Là những phần tử mạch trung gian cho phép CPU điều khiển các thiết
bị ngoại vi (bàn phím, máy in, đèn chỉ thị, … ).
a. Tập thanh ghi
:
• Chức năng
: Đóng vai trò là những ô nhớ nằm bên trong CPU. Mỗi thanh ghi được
nhà sản xuất qui định cho người sử dụng bằng 1 tên gọi (A, B, C, …). Các thanh ghi là cơ
sở (nơi chứa số liệu) cho đa số các phép toán mà CPU thực hiện.
• Phân loại
:
+ Các thanh ghi địa chỉ: liên quan đến Addr Bus.
+ Các thanh ghi dữ liệu: liên quan đến Data Bus.
• Các thanh ghi thường gặp trong CPU 8 bit

:
a1. Thanh ghi PC
( Program Counter)
+ Số bit của PC = Số bit của Addr Bus.
+ PC chứa địa chỉ của Lệnh mà CPU đang thực hiện.
+ PC tự động tăng ghi lên 1 sau mỗi byte thực hiện.
Thường khi mới Reset CPU giá trị thanh ghi PC = Hằng số.
*** Nhận xét
:
- Các lệnh mà người sử dụng muốn CPU thực hiện tuần tự theo thời gian phải được đặt
theo thứ tự tăng dần của địa chỉ trong bộ nhớ.
- Sự thay đổi giá trị của thanh ghi PC bởi một nguyên nhân nào đó chúng sẽ làm
chuyển hướng việc thi hành Lệnh của CPU.
a2. Các thanh ghi đa năng ( General Purpose)
:
- Số bit bằng độ rộng của Data Bus.
- Các thanh ghi này thường được dùng trong các lệnh của CPU (tính toán, chuyển dời
dữ liệu, …).
- Trong số các thanh ghi đa năng, có 1 thanh ghi đặc biệt gọi là bộ tích lũy (gọi là
thanh ghi A) – Accumulator. Đặc biệt ở chỗ là những phép toán chỉ tiến hành được trên
thanh ghi A mà không thực hiện được trên các thanh ghi khác.
a3. Thanh ghi Cờ ( Flag – Condition):

- Thanh ghi này thường không tham gia vào các phép toán nhưng nó phản ánh một giá
trị đặc biệt của kết quả thu được sau phép toán đó.
- Mỗi bit trong thanh ghi có ý nghĩa độc lập và thường được gọi là 1 cờ.
+ Các Cờ thường gặp:
Chương 1: Giới thiệu 11 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
*Cờ Z (Zero): 1

0

Z =

nếu kết quả =
0

1 số khác 0
*Cờ C (Carry):
1
Z =

nếu
Có bit nhớ (phép +) hoặc có bit
m
ượn (-)
Ngược lại
0
Các bit nhớ hoặc mượn được xét tại vị trí MSB.
*Cờ H (Halt):
Giống như Cờ C nhưng vị trí mà nó phản ánh (xét đến) là bit thứ 4 (bit 3)
của kết quả.
Cờ này ảnh hưởng đến các phép tính cho số BCD.
*Cờ S (Sign):
Quan điểm về số (+) và (-) trong hệ μP:
Định nghĩa
: Nếu xem các số đang thao tác là 1 số có dấu và nếu xét trong một độ dài
hữu hạn bit thì 2 số đối nhau được định nghĩa như sau: X + Y = 0.
Ví dụ
: Nếu xét theo quan điểm trên thì FF = - 1

vì FF + 01 = 00
Người ta chứng minh được : - X = X + 1
Nhận xét
:
MSB = 0 Tầm số (+)
Nếu Thì số đó
MSB = 1 Tầm số (-)
Với một số nhị phân n bit mà nhìn như số có dấu, người ta chia thành 2 tầm số như
nhận xét trên.
Ví dụ
: 00 Æ 7F: biểu diễn số +0 Æ +127
80 Æ FF: biểu diễn số -128 Æ -1
Giá trị của Cờ S thực chất là giá trị MSB của kết quả, do đó nếu trong trường hợp tính
toán với số có dấu thì Cờ S được dùng để xác định xem số đó thuộc tầm (+) hay (-).
*Cờ O
(OverFlow):
Cờ O chỉ sử dụng trong các phương trình tính toán với số có dấu.
Chương 1: Giới thiệu 12 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
1 : Phản ánh hiện tượng tràn (quá tầm vực của số đó)
O =
0 : Nếu ngược lại
Ví dụ
: 0100 0000 (64)
0100 0001 (65)
1000 0001 (129 > 127 thuộc tầm số (+) ).
Æ Cờ O = 1.
a4. Thanh ghi chỉ số
:
- Nó được dùng trong phép định vị chỉ số.

a5. Nhà hầm và thanh ghi con trỏ nhà hầm Stack Pointer (SP)
:
• Khái niệm
: Nhà hầm là một vùng nhớ RAM được CPU chọn làm nơi chứa tạm các
giá trị của các thanh ghi khi cần thiết (Khi thi hành lệnh cất thanh ghi) và khi phục hồi lại
chúng.
• Cơ chế hoạt động
:
+ Nhà hầm được quản lý theo cơ chế địa chỉ: Địa chỉ của vùng nhớ RAM được dùng làm
nhà hầm phải được nạp vào thanh ghi SP. Do đó 1 lệnh nào đó có liên quan đến nhà hầm sẽ
được thực hiện theo địa chỉ này.
Ví dụ
: lệnh cất thanh ghi A thì CPU sẽ đem nội dung của thanh ghi A vào ô nhớ có địa
chỉ nằm trong SP (ký hiệu là [SP] ).
+ Nhà hầm hoạt động theo nguyên tắc giảm, nghĩa là sau lệnh cất nội dung của một
thanh ghi 8 bit giá trị của thanh ghi SP sẽ giảm 1.
+ Phục hồi lại giá trị của thanh ghi đem cất trước đó bằng cách đem nội dung ô nhớ có
địa chỉ chứa trong SP +1 về lại thanh ghi A sau đó tăng SP lên 1.
+ Nhà hầm hoạt động theo nguyên tắc LIFO ( Last In First Out), nghĩa là thanh ghi
nào cất vào trước sẽ được lấy ra sau.
1.3.2. Hệ thống Bus :
Address Bus: Là Bus 1 chiều do CPU gởi ra. Số bit của Addr sẽ qui định số ô nhớ mà
CPU truy xuất được hay còn gọi là khả năng định vị (mapping) của CPU.
Data Bus: Là Bus 2 chiều, là nơi chuyển lệnh hoặc số liệu trong quá trình hoạt động của
CPU.
Control Bus: Mỗi đường là 1 chiều (nhưng quan điểm theo kiểu tổng quát là 2 chiều), nó
chứa các tín hiệu của CPU để điều khiển các linh kiện xung quanh.
Chương 1: Giới thiệu 13 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn


Hình 1.6: Sơ đồ cấu trúc chân Z -80 hãng NEC
A
0
÷ A
15
: 16 bit của Addr Bus (3 trạng thái) Æ Có 2
16
B = 64 KB ô nhớ.
• D
0 ÷
D
7
: 8 bit của Data Bus (2 chiều – 3 trạng thái).
• Điều kiện về điện :
+ CK (Clock): Sóng vuông (biên độ TTL) f ≤ 4 MHz .
+ RESET: có độ rộng khoảng vài chục μs, lúc reset thì PC = 0000h
• CPU điều khiển các linh kiện ngoài:
+ RD (ReaD)= 0: Data Bus là vào đối với CPU.
+ WR (WRite) :
WR = 0 : Data Bus là ra đối với CPU.
Lưu ý : Đọc lệnh RD = 0
Xác định
Thi hành lệnh : RD = 0 hoặc WR = 0
• MERQ (MEmory ReQuest):
+ Khi MERQ = 0 đảm bảo 1 giá trị ổn định trên Addr Bus.
Chương 1: Giới thiệu 14 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
MERQ = 0: Đọc lệnh từ bộ nhớ.
+ Cụ thể
MERQ = 1: Thi hành lệnh thuộc nhóm LD

.+ IORQ ( In Out ReQuest):
- Chân này = 0: Báo hiệu 1 giá trị ổn định trên Addr Bus.
= 0: Thi hành lệnh thuộc nhóm IN / OUT.
- Cụ thể
= 1: Trạng thái phục vụ ngắt.
• Nhóm chân thông báo trạng thái CPU:
+ M1 ( Machine Cycle 1 ):


16 States

MC1 MC2
M1 = 0 : Nếu CPU đang ở chu kỳ máy 1.
Nhận xét
: M1 và MERQ có thể cùng = 0.
+ HALT = 0: Báo hiệu CPU ngưng hoạt động.
Lúc này CPU chỉ hoạt động lại khi có tín hiệu Reset hoặc có một hiện tượng ngắt xảy ra.
+ RFSH ( ReFreSH): Xem giản đồ thời gian.
• Nhóm chân điều khiển trạng thái của CPU:
+ WAIT = 0 : CPU sẽ kéo dài việc thi hành hoặc đọc lệnh hiện tại cho đến khi
WAIT = 1.
+ INT ( Interrupt)
+ NMI ( Non Maskable Int )
+ BUSRQ ( BUS ReQuest) = 0: CPU sẽ đưa tất cả các chân lên 3 trạng thái và thông
báo bằng tín hiệu BUSACK ( ACKnownlegde) = 0.
* Tập thanh ghi của Z-80
:
- Các thanh ghi đa năng: A, B, C, D, E, H, L. Trong đó A là bộ tích lũy và 6 thanh ghi
còn lại có thể ghép cặp và dùng như 3 thanh ghi 16 bit BC, DE, HL.
- Tập thanh ghi phụ ( có dấu phẩy): A’, B’, … Cất hết dữ liệu của các thanh ghi đa

năng khi cần thiết ( như một nhà hầm nhỏ ).
Chương 1: Giới thiệu 15 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
- Thanh ghi chỉ số: IX, IY.
- Thanh ghi I: Dùng trong cơ chế xử lý ngắt.
1.4. VI ĐIỀU KHIỂN AVR
Vi điều khiển AVR (Atmel Norway design) thuộc họ vi điều khiển Atmel, nó là họ Vi
điều khiển khá mới trên thị trường cũng như đối với người sử dụng. Đây là họ Vi Điều
Khiển được chế tạo theo kiến trúc RISC (Reduced Intruction Set Computer) có cấu trúc khá
phức tạp. Ngoài các tính năng như các họ VĐK khác, nó còn tích hợp nhiều tính năng mới
rất tiện lợi cho người thiết kế và lập trình.
Sự ra đời của AVR bắt nguồn từ yêu cầu thực tế là hầu hết khi cần lập trình cho vi điều
khiển, chúng ta thường dùng những ngôn ngữ bậc cao HLL (Hight Level Language) để lập
trình ngay cả với loại chip xử lí 8 bit trong đó ngôn ngữ C là ngôn ngữ phổ biến nhất. Tuy
nhiên khi biên dịch thì kích thước đoạn mã sẽ tăng nhiều so với dùng ngôn ngữ Assembly.
Hãng Atmel nhận thấy rằng cần phải phát triển một cấu trúc đặc biệt cho ngôn ngữ C để
giảm thiểu sự chênh lệch kích thước mã đã nói trên. Và kết quả là họ vi điều khiển AVR ra
đời với việc làm giảm kích thước đoạn mã khi biên dịch và thêm vào đó là thực hiện lệnh
đúng đơn chu kỳ máy với 32 thanh ghi tích lũy và đạt tốc độ nhanh hơn các họ vi điều khiển
khác từ 4 đến 12 lần. Vì thế nghiên cứu AVR là một đề tài khá lý thú và giúp cho sinh viên
biết thêm một họ vi điều khiển vào loại mạnh nhất hiện nay.
1.4.1. Phân loại AVR
• AT90S8535: Không có lệnh nhân hoặc chia trên thanh ghi. AT 90S8535 là bộ vi điều
khiển CMOS 8 bit tiêu thụ điện năng thấp dựa trên kiến trúc RISC (Reduced Intruction Set
Computer). Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp,
vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1 Mhz. Vi Điều
Khiển này cho phép người thiết kế có thể tối ưu hoá mức độ tiêu thụ năng lượng mà vẫn
đảm bảo tốc độ xử lí.
• ATMEGA 8, 16, 32 (AVR loại 8 bit, 16 bit, 32 bit): Là loại AVR tốc độ cao, tích hợp
sẵn ADC 10 bit.

• AVR tích hợp sẵn LCD driver : Atmega169,329
• AVR có tích hợp SC (power stage controller): AT90PWM thường dùng trong các ứng
dụng điều khiển động cơ hay chiếu sáng nên còn gọi là lighting AVR.
• Attiny11, 12, 15: AVR loại nhỏ. Phần cốt lõi của AVR kết hợp tập lệnh phong phú về
số lượng với 32 thanh ghi làm việc đa năng. Toàn bộ 32 thanh ghi đều được nối trực tiếp với
Chương 1: Giới thiệu 16 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
ALU (Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung
nhịp. Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC
(Complex Intruction Set Computer) thông thường.
1.4.2. Cấu trúc AVR

Hình 1.7: Sơ đồ chân của vi xử lý AVR
Được chế tạo theo kiến trúc RISC, hiệu suất cao và điện năng tiêu thụ thấp.
- Bộ lệnh gồm 118 lệnh, hầu hết đều thực thi chỉ trong một chu kì xung nhịp.
- 32x8 thanh ghi làm việc đa dụng.
- 8KB Flash ROM lập trình được ngay trên hệ thống.
+Giao diện nối tiếp SPI cho phép lập trình ngay trên hệ thống.
+Cho phép 1000 lần ghi/xoá.
- Bộ EEPROM 512 byte.
+Cho phép 100.000 ghi/xoá.
- Bộ nhớ SRAM 512 byte.
- Bộ biến đổi ADC 8 kênh, 10 bit.
- 32 ngõ I/O lập trình được.
- Bộ truyền nối tiếp bất đồng bộ vạn năng UART.
- Vcc=2.7V đến 6V.
- Tốc độ làm việc: 0 đến 8 MHz. Sơ đồ chân Atmega16
Chương 1: Giới thiệu 17 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
- Tốc độ xử lí lệnh đến 8 MIPS ở 8 MHz nghĩa là 8 triệu lệnh trên giây.

- Bộ đếm thời gian thực (RTC) với bộ dao động và chế độ đếm tách biệt
- 2 bộ Timer 8 bit và 1 bộ Timer 16 bit với chế độ so sánh và chia tần số tách biệt và chế
độ bắt mẫu.
- Ba kênh điều chế độ rộng xung PWM.
- Có đến 13 interrupt ngoài và trong.
- Bộ định thời Watchdog lập trình được, tự động reset khi treo máy.
- Bộ so sánh tương tự.
- Ba chế độ ngủ: chế độ rỗi (Idle), tiết kiệm điện (Power save) và chế độ Power Down.
VCC: Điện áp nguồn nuôi.
GND: Nối mass.
1.4.3. Xuất/ nhập
PortA (PA7…PA0): PortA là Port vào/ ra hai hướng 8 bit, các chân của PortA có các
điện trở nối lên nguồn dương. Các chân ra của Port A có thể cho phép dòng điện 20mA đi
qua và trực tiếp điều khiển LED hiển thị.
Khi các chân PA0 đến PA7 là các lối vào và được đặt xuống mức thấp từ bên ngoài,
chúng sẽ là nguồn dòng nếu các điện trở nối lên nguồn dương được kích hoạt. Các chân của
cổng A ở vào trạng thái có điện trở cao khi tín hiệu reset ở mức tích cực hoặc ngay cả khi
không có tín hiệu xung clock.
Port A cung cấp các đường địa chỉ/ dữ liệu vào/ ra hoạt động theo kiểu đa hợp kênh khi
dùng bộ nhớ SRAM ở bên ngoài.
PortA còn có thêm chức năng là ngõ vào tương tự và đưa đến bộ chuyển đổi AD.
Các Port B, C, D tương tự như Port A nhưng không có chức năng chuyển đổi AD
RESET: Lối vào đặt lại. Bộ vi điều khiển sẽ được đặt lại khi chân này ở mức thấp trong
hơn 50ns, các xung ngắn hơn không tạo ra tín hiệu đặt lại.
XTAL1: Lối vào bộ khuếch đại đảo và lối vào mạch tạo xung nhịp bên trong.
XTAL2: Lối ra bộ khuếch đại đảo. XTAL1 và XTAL2 lần lượt là lối vào và lối ra của
một bộ khuếch đại đảo. Bộ khuếch đại này được bố trí để làm bộ tạo dao động trên chip.
Một bộ tinh thể thạch anh hoặc một bộ cộng hưởng gốm có thể được sử dụng. Để điều khiển
bộ vi điều khiển từ một nguồn xung nhịp bên ngoài, chân XTAL2 để trống, còn chân
XTAL1 được nối với bộ dao động bên ngoài.

ICP: Là chân vào cho chức năng bắt tín hiệu vào bộ timer/ counter1.
Chương 1: Giới thiệu 18 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
OC1B: Là chân ra PWM, ngõ ra so sánh của timer/ counter1.
ALE: Là chân tín hiệu cho phép chốt địa chỉ được dùng khi truy nhập bộ nhớ ngoài.
Xung ALE được dùng để chốt 8 bit địa chỉ thấp vào một bộ chốt địa chỉ trong chu kỳ truy
cập bộ nhớ thứ nhất. Sau đó các chân AD0-7 được dùng làm các đường dữ liệu trong chu kỳ
truy nhập bộ nhớ thứ hai.
1.5. HỌ PIC
1.5.1. Giới thiệu các họ vi điều khiển 8 bit của hãng Microchip Technology
Hãng Microchip Technology là một trong những nhà cung cấp hàng đầu về các giải pháp
điều khiển cho các hệ thống nhúng (Embedded control system). Hai dòng sản phẩm chính
của hãng là các họ vi điều khiển 8-bit PIC16/17 và các chip nhớ không bay hơi EEPROM
nối tiếp, những sản phẩm này được đưa vào ứng dụng cho việc đưa ra các giải pháp thiết kế
các hệ thống điều khiển nhúng của hãng cung cấp cho khách hàng.
Các họ vi điều khiển PIC16Cxx v PIC17Cxx của hãng Microchip Technology được sử
dụng khá thông dụng và rộng rãi cho các ứng dụng điều khiển trong việc chế tạo các sản
phẩm tiêu dùng, trong tự động hóa văn phòng, thiết bị ngoại vi của máy tính, các hệ thống
tự động điều khiển
Dưới đây liệt kê các đặc điểm chính, các thnh phần cơ bản của một số chip vi điều khiển
trong các họ vi điều khiển 8- bit PIC16Cxx v PIC17Cxx.
1.5.2. Cấu trúc phần cứng

Hình 1.8: Sơ đồ chân của PIC18F4431/4331
PIC được thiết kế tương thích với RISC CPU. Tập lệnh gồm có 35 word.
- Thích hợp với tần số dao động đầu vào 20MHz, chu kỳ lệnh là 20ns.
Chương 1: Giới thiệu 19 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
- Bộ nhớ chương trình: 8Kb
- Bộ nhớ dữ liệu(RAM): 368Byte

- Bộ nhớ EEPROM: 256Byte
- Có 3 bộ định thời: Timer0 (8 bit), timer1(16 bit), timer2(8 bit)
- 2 chế độ Capture, chế độ điều khiển độ rộng xung
- giao tiếp RS232, chế độ SPI, I2C, giao tiếp song song.
- Có 15 nguyên nhân ngắt
- 5 cổng vào/ra dữ liệu 8 kênh đầu vào tín hiệu tương tự, chuyển đổi AD 10bit, 2 kênh so
sánh tín hiệu tương tự
Tập lệnh: gồm có 35 từ khóa.
VDD: chân nguồn tương thích họ TTL 5V
VSS: nối đất GND
PORTA: gồm có 6 bit (RA5-RA0), là cổng vào ra dữ liệu 2 chiều được định hướng bởi
thanh ghi TRISA. Nếu TRISA=0, các chân của PORTA sẽ định hướng kiểu cổng ra
(output), nếu TRISA=0xFF PORTA sẽ định hướng đầu vào (input)
Ngoài ra PORTA còn là các chân đầu vào tín hiệu Analog khi đặt cấu hình chuyển đổi
ADC. Sau khi reset phần cứng PORTA mặc định ở chế độ ADC. Khi muốn làm cổng vào ra
dữ liệu cần tắt chế độ ADC.
PORTE: chỉ có 2 chân RE2-RE0, cũng giống như PORTA, khi không đặt ở chế độ ADC
cổng này cũng được định hướng vào ra bởi TRISE.
PORTB, PORTC, PORTD cũng giống như hai PORT trên, đều được cấu hình vào ra
định hướng bới thanh ghi TRISB, TRISC, TRISD nhưng lại không có chế độ ADC.
OSC1: chân vào dao động
OSC2: chân ra dao động
Dao động ngoài có thể sự dụng thạch anh đến tần số 20MHz
Chương 1: Giới thiệu 20 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn

Hình 1.9: Sơ đồ đấu nối giao tiếp của PIC
1.5.3 Công cụ phát triển cho họ vi điều khiển PIC16/17
Họ vi điều khiển PIC16/17 được hỗ trợ bởi đầy đủ các công cụ phát triển cả về phần
cứng và phần mềm sau đây :

PICMASTERđ Real-Time In-Curcirt Emulator.
PROMATETM Universal Programmer.
PICSTARTđ Low-Cost Prototype Programmer.
PICDEM-1 Low-Cost Demonstration Board.
PICDEM-2 Low-Cost Demonstration Board.
MPASM Assembler.
MPSIM Softwave Simulator.
C Compiler (MP-C).
Fuzzy logic development system (fuzzy TECHđ-MP).
Dưới đây ta sẽ đi vào giới thiệu hai công cụ phát triển phần mềm thường được sử dụng
là MPASM Assembler và C Compiler (MP-C).
MPASM Assembler
MPASM có hỗ trợ đầy đủ cho việc viết tạo ra các Macro trong chương trình mã ngữ,
viết chương trình bằng ngôn ngữ Assembly, cung cấp các mã nguồn có sẵn và các định dạng
file khác nhau. Nó tạo ra một môi trường cho phép soạn thảo mã nguồn, biên dịch cũng như
gỡ rối các chương trình của người sử dụng lập trình cho các chip vi điều khiển khác nhau
bao gồm cả họ PIC16Cxx, PIC 16Cxx v PIC16C5x.
Chương 1: Giới thiệu 21 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
MPASM có các đặc điểm chính sau đây trong việc hỗ trợ phát triển các ứng dụng của
người dùng:
+ Cho phép biên dịch chương trình từ mã Assembly sang mã đối tượng cho tất cả các vi
điều khiển của hãng Microchip.
+ Cho phép tạo ra các chương trình Macro.
+ Tạo ra tất cả các file cần thiết (Object, Listing, Symbol, và các dạng đặc biệt khác) khi
biên dịch và gỡ rối cho các hệ vi điều khiển của Microchip.
+ Hỗ trợ việc sử dụng và tạo ra các file định dạng Hex, Decimal v Octal.
C Compiler (MP-C)
Công cụ phát triển phần mềm MP-C là một trình biên dịch hoàn chỉnh và được tích hợp
vào trong môi trường phát triển cho các chip vi điều khiển họ PIC16/17 của Microchip.

Trình biên dịch này có nhiều khả năng mạnh mẽ và rất dễ sử dụng, điều này khó có thể tìm
thấy ở một công cụ phát triển nào khác.
Để dễ dàng cho việc sử dụng và gỡ rối, trình biên dịch MP-C sử dụng các ký hiệu thông
tin thích hợp với các kí hiệu của công cụ phát triển khác là PICMASTERđ Universal
Emulator. Ngoài ra hiện nay còn có một số phần mềm khác rất linh hoạt, hỗ trợ viết cho
nhiều dòng PIC, từ 16/17/18 đến dsPIC bằng C như CCS C, HT PIC, HT PIC 18 hay bằng
Pascal như MikroPascal
1.5.4. Giới thiệu họ PIC16Cxx
Chương 1: Giới thiệu 1 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
(0) : Tần số cấp tạo xung Clock (MHz).
(1) : Dung l−ợng bộ nhớ ch−ơng trình
EPROM trong.
(2) : Dung l−ợng bộ nhớ ch−ơng trình
EEPROM trong.
(3) : Dung l−ợng bộ nhớ dữ liệu RAM trong
(bytes).
(4) : Dung l−ợng bộ nhớ dữ liệu EEPROM
trong (bytes).
(5) : Số Module Timer.
(6) : Số Capture, Module PWM.
(7) : Cổng nối tiếp.
(8) : Cổng song song.
(9) : Số kênh chuyển đổi Analog – Digital
(ADC).
(10) : Số bộ so sánh (Comparator).
(11) : Số nguồn ngắt (Interrup source).
(12) : Số đ−ờng vo/ra (I/O pins).

1.5.5. Đánh giá các dòng PIC

- Dòng PIC nhiều chân nhất l dòng dsPIC30Fxxxx và PIC18Fxxxx, có những con số
chân lên đến 80 chân.
- Dòng PIC ít chân nhất là dòng PIC10Fxxx, chỉ có 6 chân
- Dòng PIC phổ biến nhất là dòng PIC16F877A (đủ mạnh về tính năng, 40 chân, bộ nhớ
đủ cho hầu hết các ứng dụng thông thường)
- Dòng PIC mà được các chuyên gia đánh giá cao nhất là dòng PIC16F876A (28 chân,
chức năng không khác gì so với PIC16F877A, nhưng nhỏ gọn hơn nhiều, và số chân cũng
không quá ít như PIC16F88).
- Dòng PIC hỗ trợ giao tiếp USB là dòng PIC18F2550 và PIC18F4550
- Dòng PIC điều khiển động cơ mạnh nhất là dòng PIC18F4x31 và dòng dsPIC30F dùng
điều khiển động cơ
- Dòng PIC hiện nay đã không còn được sản xuất nữa là dòng PIC17xxxxx.
*(Các đánh giá về PIC được trích ở website www.picvietnam.com)
1.6. VI ĐIỀU KHIỂN THÔNG MINH PsoC
1.6.1. Giới thiệu
PSoC là chữ viết tắt của Programmable System on Chip. Đó là một công nghệ chế tạo
chip hiện đại nhất cho đến nay, cho phép tạo ra các chip hệ thống xử lí hỗn hợp (Mixed
signal) với khả năng xử lí thuật toán mạnh.
Đặc điểm của các thế hệ vi điều khiển chế tạo theo cụng nghệ trước đây là trong một chip
vi điều khiển chỉ có thể thay đổi được chương trinh phần mềm chứ không thể lập trình thay
đổi được cấu trúc phần cứng. Giá thành cho việc sử dụng các chip vi điều khiển và mua các
Chương 1: Giới thiệu 2 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
phần mềm hỗ trợ để phát triển các ứng dụng là rất đắt và mang lại hiệu quả không cao, khó
có thể thông minh hóa việc điều khiển hệ thống.
Với chip vi điều khiển thông minh chế tạo theo công nghệ PSoC, chúng ta có thể lập trình
trên chip để thay đổi không những cả phần mềm điều khiển mà cả cấu trúc phần cứng ngay
khi hệ thống đang hoạt động. Việc ứng dụng chip vi điều khiển thông minh theo công nghệ
PSoC mang lại hiệu quả cao về kỹ thuật và giá thành giảm đi nhiều lần so với việc sử dụng
các chip vi điều khiển trước đây. Đối với các chip vi điều khiển thông minh, bên trong nó

đó tích hợp đầy đủ các thnh phần CPU, các bộ nhớ, các khối (block) tương tự và số nên một
số thành phần ngoại vi bên ngoài chip trong hệ thống có thể giảm đi. Vì thế, giá thành và
kích thước của hệ thống giảm đi nhiều so với hệ thống sử dụng các chip vi điều khiển thế hệ
trước đây.
Hiện nay, có nhiều hãng điện tử trên thế giới quan tâm đầu tư cho việc nghiên cứu và áp
dụng công nghệ chế tạo chip mới này. Trong đó có thể kể đến hãng Cypress Microchip đã
áp dụng thành công công nghệ PSoC để cho ra đời các họ vi điều khiển thông minh
CY8C24xxx, CY8C25xxx, CY8C26xxx v CY8C27xxx.
Một ví dụ cụ thể về khả năng lập trình thay đổi cả cấu hình phần cứng và chương trình
phần mềm điều khiển là đề tài ứng dụng chip vi điều khiển thông minh công nghệ PSoC để
chế tạo máy bán hàng thông minh tự động. Máy có chức năng bán hàng tự động vào ban
ngày và ban đêm thì nó thay đổi cả cấu hình phần cứng và chương trình
phần mềm để làm chức năng truyền thông.

Hình 1.9: Hình dạng một chip thông minh
Chương 1: Giới thiệu 3 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
1.6.2. Công cụ phát triển cho họ vi điều khiển thông minh PSoC
Phần mềm PSoC Designer là một công cụ hon chỉnh được tích hợp vào hệ thống hỗ trợ
cho việc phát triển cả về mặt lập trình cấu hình phần cứng và chương trình phần mềm cho
các chip vi điều khiển thông minh chế tạo theo công nghệ PSoC của hãng Cypress
Microchip, ví dụ như họ CY8C25-26xxx.
Phần mềm PSoC Designer được xây dựng trên nền hệ điều hành Windows và nó có thể
chạy được trên Windows98, Windows NT 4.0, Windows 2000, Windows Millennium (Me),
or Windows XP. PSoC Designer giúp người sử dụng lựa chọn một thuật toán cấu hình phần
cứng cho vi điều khiển, lập trình phần mềm cho vi điều khiển, và gỡ rối. Hệ thống này cho
phép quản lí cơ sở dữ liệu bằng các project, tích hợp phần gỡ rối với In-Circuit Emulator,
cho phép lập trình ngay trên hệ thống (In-system programming), và hỗ trợ việc tạo ra các
Macro CYASM cho chương trình bằng hợp ngữ. PSoC Designer cũng hỗ trợ việc lập trình
bằng ngôn ngữ bậc cao C và biên dịch, gỡ rối các chương trình đó cho các thiết bị của hãng

Cypress Microchip.
Chương 1: Giới thiệu 4 Giáo trình vi xử lý
Canquynhon.blogtiengviet.net Đại học Quy Nhơn
PHỤ LỤC

8031 CPU 1.50€
8039 CPU 3.35€
80535-N CPU PLCC=SAB… 25.00€
8085 CPU 5.05€
8086 CPU 7.55€
8088 CPU 6.70€
80C286 PLCC 8.40€
80C31 PLCC 1.50€
80C31 = M80C31 jalallinen 1.50€
80C32 PLCC 3.00€
80C32 ⎧Prosessor 3.00€
80C51 4.00€
80C51 PLCC 4.00€
80C51 SAT 42-0 ohjelma 1.00€
80C52 SAT43-06 ohjelma 1.00€
80C88 CPU 8.40€
80C188EC20 PLCC 12.00€
80960 JS25 so-kotelo =TA 27.00€
80960 KA16 fpga = TA 27.00€
8243 I/O expander 4.20€
82C37 Multim.DMA 6.70€
82C50=TL16C450 smd 3.35€
8251 Prog.comm. 5.05€
82C51 = M82C51 1.00€
82C51 PLCC = M82C51 1.00€

8253 Prog.timer 5.05€
82C53 PLCC 1.65€
8254 Timer/counter 5.05€
82C54 Timer/counter 2.00€
82C54 PLCC 1.65€
8255 Prog.perph. 2.50€
8259=M5L8259=SAB8259 4.20€
82C59 = M82C59A-2 2.00€
82C84A 3.00€
8286 Octal bus tx/rx 5.05€
87S181 Prom 1k x 8 3.35€
91L01… = PCD5101
9346 pintaliitos 0.80€
9346 EEPROM 1.15€
93C06 EEPROM 2.50€
93C46 pintaliitos SO wide 1.65€
93C46 pintaliitos SO-8 1.65€
93C46 EEPROM 3.35€
93L422 SRAM 4.20€
ADC 0800 8-bit AD 6.70€
ADC 0804 AD-con. 6.90€
ADC 0808 PLCC 8bit AD 3.35€
ADC 0809 8-bit A/D 7.10€
ADC 0809 PLCC 8bit AD 3.35€
ADC 0820 8-bit A/D 13.45€
ADC 0832 8-bit serial A/D 11.75€
ADC 0844 4ch ADC mux 13.45€
ADC 0848 8-bit ADC 8ch 6.70€
ADC 1211 12-bit A/D 6.70€
ADC 601JG 12-bit A/D 16.80€

AT 89C51 microcontroller PH
AT 89C51-24JC PLCC PH
AT 89C2051 PH
AT 89C4051 PH
AT 89LV51 PH
AT 89LV52 PH
AT 89S53 PH
AT 89S8252 PH
AT 90S1200 PH
AT 90S2313 PH
AT 90S2323 PH
AT 90S2343 PH
AT 90S8515 PH
AT 90S8535 PH
AT 93C46 eeprom 1k PH
AT 93C56-10PC eeprom 2k PH
AT 93C56-10SC eeprom2k smd PH
AT 93C57 PH
AT 93C66-10PC eeprom 4k PH
AT 93C66-10SC eeprom4k smd PH
AT 93C66W-10SC eeprom4k s PH
ATF 16V8BQL-25SI EE PLD PH
ATMEGA 16-16 DIP PH
ATMEGA 161-8 DIP PH
ATMEGA 163-8 DIP PH
ATMEGA 323-8 DIP PH
ATT 3042-70 PLCC 14.00€
BA 1404 Stereo tx 4.35€
BA 2266A Rx servo con. 7.55€
BA 3121 isolation amp. 4.80€

BA 3822LS equalizer ster. 3.00€
BA 5204 3Vdualpoweramp 2.50€
BA 683A 18LEDmeter 8.20€
BA 6137 = KA 2285B 3.35€
BA 6209 Motor driver 3.00€

×