Upload
tri-dung-nguyen
View
188
Download
4
Embed Size (px)
Citation preview
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 1/90
1
Môn học: Thiết bị ngoại vi và Kỹ thuật ghép nối (tài liệu lưu hành nội bộ)
Bộ môn Kỹ thuật máy tính
Khoa CNTT- ĐH BKHN
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 2/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 2
Chương 5: Vi điều khiển
Tổng quan Vi điều khiển họ 8051
Giới thiệu chung
Vi điều khiển họ 8051
Tài liệu tham khảo: “The 8051 MicroController Architecture, Programming and Applications”. “Programming embedded systems”
“Kỹ thuật vi xử lý (Văn Thế Minh)”,“Cấu trúc và lập trình họ vi điều khiển 8051
( NguyễnTăng Cường, Phan Quốc Thắng)” www.atmel.com, http://www.hiendaihoa.com
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 3/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 3
Tổng quan về Vi điều khiển
Một hệ vi xử lý (computer) thông thườngbao gồm các khối chức năng cơ bản: Khối xử lý trung tâm (CPU)
Bộ nhớ (Memory)
Khối phối ghép với các thiết bị ngoại vi
Các bus truyền thông tin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 4/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 4
Tổng quan về Vi điều khiển
Bộ xử lý
trung tâm(CPU)
Phối ghépvào / ra
Bộ nhớ(Memory)
Bus địa chỉ
Thiết bịvào ra
Bus dữ liệu
Bus điều khiển
Sơ đồ khối của Hệ Vi Xử Lý
Chú ý: Một hệ thống có cấu trúc như trên được gọi chung làmột HỆ VI XỬ LÝ, máy tính (computer ) là một ứng dụng cụthể của hệ vi xử lý.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 5/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 5
Tổng quan về Vi điều khiển
Bộ vi xử lý đa năng(MicroProcessor-µP):
Làm nhiệm vụ củaCPU.
Muốn có một hệ vi xử lý(computer) thì phải kếthợp với: BUS,RAM,ROM, Bộ phối ghépvào/ ra,…
Vd: Họ Intel x86 vàPentium hoặc Motorola680x0, AMD,…
CPU:Bộ vi xử lý đa năng(x86,Pentium, họMotorola,AMD)
Phối ghépvào / ra
Bộ nhớ(Memory)
Bus địa chỉ
Thiết bịvào ra
Bus dữ liệu
Bus điều khiển
Sơ đồ khối của Hệ Vi Xử Lý
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 6/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 6
Tổng quan về Vi điều khiển
Bộ vi điều khiển (MicroController): Có thể xem là một hệ vi xử lý.
Bên trong bộ vi điều khiển, bao gồm đầy đủ các
thành phần cơ bản của một hệ vi xử lý : • Bộ vi xử lý (làm chức năng CPU, đơn giản hơncác bộ vi xử lý đa năng)
• Bộ nhớ RAM, ROM,..
• Cổng vào ra • Bộ định thời,…
VD: 6811 của Motorola, 8051 của Intel,PIC củaMicrochip,…
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 7/90Thiết bị ngoại vi và Kỹ thuật ghép nối 7
Tổng quan về Vi điều khiển
Bộ vi xử lý đa năng và Bộ vi điều khiển:
CPU ROM
Timer
RAM
I/OCổng
vào ra
Bộ VI ĐIỀU KHIỂN
CPU:Bộ vi xử lý đanăng
(x86,Pentium, họMotorola,AMD)
Phối ghépvào / ra
Bộ nhớ(Memory)
Bus địa chỉ
Thiết bịvào ra
Bus dữ liệu
Bus điều khiển
Hệ Vi Xử Lý
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 8/90Thiết bị ngoại vi và Kỹ thuật ghép nối 8
Tổng quan về Vi điều khiển
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 9/90Thiết bị ngoại vi và Kỹ thuật ghép nối 9
Tổng quan về Vi điều khiển
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 10/90Thiết bị ngoại vi và Kỹ thuật ghép nối 10
Tổng quan về Vi điều khiển
Ứng dụng của Bộ vi điều khiển: Trong các hệ thống công nghiệp
Các hệ thống truyền thông, trong máy tính
Robot, ôtô, xe máy
Nhà thông minh
…
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 11/90Thiết bị ngoại vi và Kỹ thuật ghép nối 11
Tổng quan về Vi điều khiển
Trong hệ thống nhà thông minh có thể điều khiển được,vi điều khiển và các bộ vi xử lý nhúng xuất hiện rấtnhiều: các dụng cụ gia đình (lò vi sóng, tủ lạnh, ti vi,stereos), máy tính và các thiết bị máy tính (máy in laser,modem, disk driver), điều khiển tự động(điều khiển máy,chuẩn đoán, điều khiển thời tiết), điều khiển môi trường,công cụ, vũ trụ…
Khi các ứng dụng không cần quan tâm nhiều đến việctính toán thì các vi điều khiển thường xuyên được sửdụng. Ngoài ra vi điều khiển và vi xử lý nhúng còn đượcsử dụng trong rộng rãi trong công nghiệp robot. Trongmột số ứng dụng, nhiều nhiệm vụ đặc biệt được phânphối cho các điều khiển trong cùng một hệ thống. Cácthông tin trao đổi giữa các điều khiển này có thể là trựctiếp hoặc qua một bộ xử lý trung tâm
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 12/90Thiết bị ngoại vi và Kỹ thuật ghép nối 12
Tổng quan về Vi điều khiển
Công nghệ chế tạo: CMOS - Complementary Metal Oxide Semiconductor. Đây
là tên của một công nghệ chế tạo các vi điều khiểnhiện nay.
CMOS yêu cầu ít năng lượng hơn các công nghệsản xuất cũ và cho phép sử dụng pin. Chip CMOSgần như là tĩnh, có nghĩa là clock có thể chạy chậm
lại đặt chip vào trạng thái ngủ.CMOS có một khuyết điểm là tiếng ồn(do dao độngđiện)lớn hơn các công nghệ sản xuất trước đó.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 13/90Thiết bị ngoại vi và Kỹ thuật ghép nối 13
Kiến trúc Von-Neuman
Đặc điểm kiến trúc: Von-Neuman Architecure:
• Vi điều khiển theo kiếntrúc Von-Neuman chỉ cómột đường bus dữ liệuđược sử dụng cho cả lệnhvà dữ liệu.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 14/90Thiết bị ngoại vi và Kỹ thuật ghép nối 14
•Chương trình và dữ liệu đượclưu trữ trên cùng một vùngnhớ.
•Khi vi điều khiển gửi địa chỉđến bộ nhớ chính, đầu tiên tìm
lệnh và giải mã lệnh rồi tìm dữliệu phục vụ cho lệnh đó.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 15/90Thiết bị ngoại vi và Kỹ thuật ghép nối 15
Kiến trúc Harvard
Harvard Architecture:Vi điều khiển có kiến trúc Harvard
có hai đường bus lệnh và dữ liệu
riêng biệt và cho phép xử lý songsong.
Khi một lệnh đang được tìm và giảimã thì lệnh hiện tại đang được thựchiện trên đường bus dữ liệu.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 16/90Thiết bị ngoại vi và Kỹ thuật ghép nối 16
Và sau khi lệnh hiện tại đã thựchiện xong thì lệnh tiếp theo đãđược sẵn sàng tiến hành.
Đây chính là một ưu điểm củakiến trúc Harvard so với kiến
trúc Von-Neuman cho phép cáclệnh được thưc thi nhanh hơn.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 17/90Thiết bị ngoại vi và Kỹ thuật ghép nối 17
Kiến trúc Havard và Von Neuman
CPU
Bộ nhớchương trình
Bộ nhớDữ liệu
Kiến trúc Havard
CPU
Bộ nhớ
Kiến trúcVon Neumann
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 18/90Thiết bị ngoại vi và Kỹ thuật ghép nối 18
CISC
CISC (Complex Instruction Set Computer):Hầu hết các vi điều khiển ngày nay đều
sản xuất trên công nghệ CISC.
Các vi điều khiển này đều có tập lệnh lêntới 80 lệnh, và có một số chức năng điềukhiển đặc biệt. Một số lệnh chỉ được thực
hiện trên các thanh ghi hoặc trên cáckhông gian địa chỉ, một số khác lại chỉthực hiện theo chế độ địa chỉ.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 19/90Thiết bị ngoại vi và Kỹ thuật ghép nối 19
Ưu điểm của CISC so với cáckiến trúc khác là nhiều lệnh giốngnhư macro làm cho người lậptrình có thể sử dụng một lệnh ởmột nơi tương tự như việc sử
dụng nhiều các lệnh đơn giản.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 20/90Thiết bị ngoại vi và Kỹ thuật ghép nối 20
RISC
RISC (Reduce Instruction SetComputers):Là xu hướng phát triển của các thế hệ vi điều
khiển và đã xuất hiện trên thị trường vi điềukhiển.
Việc dùng tập lệnh mới và sử dụng silicon quý giáđể chế tạo làm cho giá thành của vi điều khiển
cao song lại có những đặc điểm nổi bật sau: chipnhỏ hơn, lượng pin nhỏ hơn, và cần năng lượngcung cấp thấp hơn rất nhiều.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 21/90Thiết bị ngoại vi và Kỹ thuật ghép nối 21
Đặc điểm của bộ vi xử lý theo kiến trúcRISC là:thiết kế theo kiến trúc Harvard (có đường bus lệnh
và dữ liệu riêng cho phép vừa truy cập chươngtrình vừa truy cập dữ liệu).
Các lệnh pineline làm tăng tốc độ xử lý.
Cho phép một lênh được thực thi trên bất kỳ thanh
ghi nào và sử dụng bất kỳ chế độ địa chỉ nào, cáclệnh không cần phải sự kết hợp nào cả.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 22/90Thiết bị ngoại vi và Kỹ thuật ghép nối 22
Họ vi điều khiển 8051
Giới thiệu chung
Các thành phần và lập trình với 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 23/90Thiết bị ngoại vi và Kỹ thuật ghép nối
23
Giới thiệu chung 8051
Năm 1981, Intel đầu tiên cho ra mắt bộ viđiều khiển gọi là 8051 (MCS-51):8 bit
128 Kbyte RAM,
4K byte ROM,
2 bộ định thời,
1 cổng nối tiếp
4 cổng 8 bit.
Tất cả đều được tích hợp trên một chip
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 24/90Thiết bị ngoại vi và Kỹ thuật ghép nối
24
Giới thiệu chung họ 8051
Intel cho phép các nhà sản xuất khác: Atmel, Phillips,.. sản xuất các biến thểcủa 8051 ( RAM, ROM, và số bộ định thời
thay đổi) Cùng với 8051 còn có : 8052, 8031
8052: 256K RAM, 8K ROM, 3 bộ định thời (timer)
8031: ROM ngoài lên tới 64 Kb, 128K RAM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 25/90Thiết bị ngoại vi và Kỹ thuật ghép nối
25
Giới thiệu chung 8051
Một số phiên bản 8051 của Atmel: AT89C51:4K ROM, 128K RAM, 2 bộ định thời,
VCC 5V, đóng vỏ 40 chân.
AT89C2051: 2K ROM, 128 RAM, 2 bộ định thờiVCC 3 V, đóng vỏ 20 chân.
AT89C52: 8K ROM, 256K RAM, 3 bộ định thời,
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 26/90Thiết bị ngoại vi và Kỹ thuật ghép nối
26
Giới thiệu chung 8051
Xem cụ thể trong datasheet của từng loại:
Vd AT89C51: Compatible with MCS-51™ Products
8K Bytes ROM, In-System Reprogrammable Flash Memory
Endurance: 1,000 Write/Erase Cycles (ghi/ xóa tới 1000 lần)
Fully Static Operation: 0 Hz to 24 MHz
128 x 8-bit Internal RAM
32 Programmable I/O Lines
Two 16-bit Timer/Counters
Eight Interrupt Sources
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 27/90Thiết bị ngoại vi và Kỹ thuật ghép nối
27
Giới thiệu chung 8051
Một số phiên bản của hãng Dallas: DS5000-8: 8K ROM, 128K RAM, 2 bộ định thời,
VCC 5V, đóng vỏ 40 chân.
DS5000-32: 32K ROM, 128K RAM, 2 bộ định thời,VCC 5V, đóng vỏ 40 chân.
DS5000T-8: như DS5000-8 nhưng có thêm đồnghồ thời gian thực (Real Time Clock)
Các phiên bản của Phillips: nhiều sản phẩmgồm cả ADC, DAC, I/O mở rộng.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 28/90Thiết bị ngoại vi và Kỹ thuật ghép nối
28
Các thành phần của 8051
Sơ đồ khối:
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 29/90Thiết bị ngoại vi và Kỹ thuật ghép nối
29
Các thành phần của 8051
40 chân, chia thành 2 nhóm:Nhóm chân nguồn, dao động vàđiều khiển (8 chân):VCC,GND, XTAL1, XTAL2, RST, /EA,
/PSEN, ALE
Nhóm chân cổng vào/ra: Bốn cổng P0,P1,P2,P3, mỗi cổng 8
chân ~ cổng 8 bit. Các bit của các cổngđược thiết lập mặc định là cổng ra,muốn chuyển thành cổng vào thì phảiđược lập trình. Các chân của cổng(Px.y) có thể được điều khiển riêng rẽ.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 30/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 30
Các thành phần của 8051
Các chân XTL1 (19) và XTL2 (18)để mắc thạch anh cho mạch tạoxung nhịp của MCS-51.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 31/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 31
Các thành phần của 8051
Chân RESET (9):Là tín hiệu vào tích cực mức cao
để thiết lập lại trạng thái ban đầucho MCS-51.
Chân /EA (31) là chân tínhiệu vào Khi nối /EA với +5v thì MCS-51
chỉ làm việc với các bộ nhớROM, RAM bên trong nó.
khi nối /EA với đất thì MCS-51làm việc với các bộ nhớ ROM,RAM bên ngoài.
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 32/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 32
Các thành phần của 8051
Chân ALE (30)là tín hiệu ra dùng để chốt địa chỉ
khi sử dụng bộ nhớ ngoài.
Chân /PSEN (29)Là tín hiệu ra tích cực mức thấp
Dùng để đọc mã lệnh từ bộ nhớchương trình bên ngoài (khi /EA
nối đất)
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 33/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 33
Các thành phần của 8051
Cổng 0: P0 Dùng làm cổng vào ra khi /EA
được nối với +5v (~không sửdụng bộ nhớ ngoài)
Khi /EA nối đất, P0 được sửdụng làm bus địa chỉ và dữ liệucho bộ nhớ ngoài:
• Ở nửa đầu của chu kỳ lệnhtruy nhập bộ nhớ ngoài,MCS-51 đưa ra P0 8 bit địachỉ thấp (A0 A7)
ầ
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 34/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 34
Các thành phần của 8051
Cổng 1: P1 Đối với nhóm 8051,P1 chỉ được
sử dụng làm cổng vào ra.
Đối với nhóm 8052 thì chân P1.0có thể được dùng để nhận xungclock T2 cho Timer 2, còn chânP1.1 được dùng làm đầu vào choTimer 2.
ầ
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 35/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 35
Các thành phần của 8051
Cổng 2: P2 Các chân cổng 2: P2.0 P2.7 (21
28) được dùng làm cổng vào rakhi /EA được nối với +5v.
Khi /EA được nối đất(làm việcvới bộ nhớ ngoài) thì cổng 2được sử dụng để đưa ra 8 bít địachỉ cao (A8 A15) cho bộ nhớngoài.
ầ
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 36/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 36
Các thành phần của 8051
Cổng 3: P3 được dùng làm cổng vào ra
hoặc dùng cho chức năng khác như sau: P3.0 (RxD) có thể dùng để nhận số liệu nối
tiếp P3.1 (TxD) có thể dùng để phát số liệu nối tiếp P3.2 (INTO) có thể dùng để nhận ngắt ngoài 0 P3.3 (INT1) có thể dùng để nhận ngắt ngoài 1; P3.4 (T0) có thể dùng để nhận xung clock cho
Timer 0; P3.5 (T1) có thể dùng để nhận xung clock cho
Timer 1;
P3.6 (/WR) khi /EA nối đất thì nó được dùngđể đưa ra tín hiệu điều khiển ghi RAM ngoài; P3.7 (/RD) khi /EA nối đất thì nó được dùng
để đưa ra tín hiệu điều khiển đọc RAM ngoài.
ầ
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 37/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 37
Các thành phần của 8051
Bộ định thời /bộ đếm(Timer): Họ 8051 có ít nhất 2 bộ định thời/ bộ đếm (timer):
Timer 0, Timer 1;
Bộ định thời có chứa 1 thanh ghi, giá trị của thanhghi sẽ tăng thêm 1 sau những khoảng thời gianbằng nhau;
Chúng có thể dùng bộ định thời để tạo một bộ trễ
thời gian, hoặc dùng làm bộ đếm để đếm các sựkiện xảy ra bên ngoài bộ BVĐK
ế
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 38/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 38
Bộ định thời /bộ đếm(Timer)
Các thanh ghi liên quan tới bộ định thời: Thanh ghi chức năng đặc biệt TCON
Thanh ghi chức năng đặc biệt TMOD
Các thanh ghi THx and TLx
ế
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 39/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 39
Bộ định thời/bộ đếm (Timer)
Thanh ghi TCON: TRx: được thiết lập bởi người lập trình để kích hoạt bộ
Timer hoạt động.
VD: SETB TR0 ;TR0=1~Timer0 bắt đầu hoạt động SETB TR1 ;TR1=1~Timer1 bắt đầu hoạt động
TFx: Giá trị mặc định là 0. Khi Timer tràn, TFx được thiết lập =1
ế
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 40/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 40
Bộ định thời/bộ đếm (Timer)
Thanh ghi chế độ TMOD:
ế
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 41/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 41
Bộ định thời/bộ đếm (Timer)
GATE = 0: khởi động bộ định thời bằngphần mềm.
GATE =1: khởi động bộ định thời bằng
phần cứng từ nguồn ngoài. C/T = 1 thì Timer được dùng như một bộ
đếm sự kiện.
/ ế ( )
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 42/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 42
Bộ định thời/bộ đếm (Timer)
C/T = 0:Timer được dùng như một bộ định thời tạo độ trễ
thời gian.
Tần số thạch anh đi liền với 8051 được làm nguồn
cho đồng hồ của bộ định thời. the timers were incremented every 12 oscillator
cycles =>Tần số của bộ định thời luôn bằng 1/12
tần số của thạch anh gắn với 8051
Bộ đị h hời/bộ đế (Ti )
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 43/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 43
Bộ định thời/bộ đếm (Timer)
Thanh ghi của bộ Timer0:TH0, TL0
Thanh ghi của bộ Timer1: TH1, TL1.
Khi Timer hoạt động ở chế độ tạo trễ về
thời gian, giá trị của THxTLx sẽ tự độngđược tăng lên 1 sau 12 chu kỳ đồng hồcủa 8051.
Bộ đị h thời/bộ đế (Ti )
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 44/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 44
Bộ định thời/bộ đếm (Timer)
Vd: giả sử tần số thạch anh XTAL =11.0592MHz. Hãy tìm các giá trị cầnđược nạp vào các thanh ghi TH và TL
nếu ta muốn độ thời gian trễ là 5ms. Lời giải:
Bộ định thời làm việc với tần số bằng 1/12 tần số
XTAL, do vậy ta có là tần số của bộ định thời: 11,0592 / 12= 0,9216 (MHz).
Kết quả là sau : 1 / 0,9216 MHz = 1,085 µs. Giá trịcủa ThxTLx gắn với bộ Timer tăng 1.
Bộ đị h thời/bộ đế (Ti )
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 45/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 45
Bộ định thời/bộ đếm (Timer)
Để có được ta chia 5ms cho 1.085s vànhận được số n = 4608 nhịp. Để nhậnđược giá trị cần được nạp vào TL và TH
thì ta tiến hành lấy 65536 trừ đi 4608bằng 60928. Ta đổi số này ra số hexthành EE00H. Do vậy, giá trị nạp vào TH
là EE Và TL là 00.
Cá th h hi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 46/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 46
Các thanh ghi
Các thanh ghi:Các thanh ghi được dùng để lưu cất thông tin tạm
thời
Phần lớn các thanh ghi của 8051 là các thanh ghi 8bit.
Trong 8051 chỉ có một kiểu dữ liệu: Loại 8 bit*
8 bit của một thanh ghi được trình bày như sau :
D7 D6 D5 D4 D3 D2 D1 D0
Cá th h hi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 47/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 47
Các thanh ghi
Một số thanh ghi của 8051 :
Cá th h hi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 48/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 48
Các thanh ghi
Thanh ghi tích luỹ A được sử dụng chotất cả mọi phép toán số học và lô-gíc
Lệnh cộng ADD.
Lệnh cộng ADD có các phép như sau: ADD A, nguồn ; Cộng th nguồn vào thanh ghi A.
Nguồn ở đây có thể là giá trị hằng số hoặc là một
thanh ghi khác
Cá th h hi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 49/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 49
Các thanh ghi
Để cộng hai số như 25H và 34H thì mỗisố có thể chuyển đến một thanh ghi vàsau đó cộng lại với nhau như:
MOV A, #25H ; Nạp giá trị 25H vào A MOV R2, #34H ; Nạp giá trị 34H vào R2
ADD A, R2; Cộng R2 vào A và kết quả A = A + R2
Cá th h hi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 50/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 50
Các thanh ghi
Cách 2:
MOV R5, #25H ; Nạp giá trị 25H vào thanh ghi R5
MOV R7, #34H ; Nạp giá trị 34H vào thanh ghi R7
MOV A, #0 ; Xoá thanh ghi A (A = 0)
ADD A, R5 ; Cộng nội dung R5 vào A (A = A + R5)
ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7;= 25H + 34H)
Cá th h hi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 51/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 51
Các thanh ghi
Cách 3:MOV A, #25H ; Nạp giá trị thứ
;nhất vào thanh ghi A (A = 25H)
ADD A, #34H ; Cộng giá trị thứ hai là 34H vào;A (A = 59H)
Lệnh ADD báo rằng toán hạng nguồn cóthể hoặc là một thanh ghi hoặc là một dữliệu trực tiếp (tức thời) nhưng thanh ghiđích luôn là thanh ghi A,
Ch t ì h h ữ t 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 52/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 52
Chương trình hợp ngữ trong 8051
Một chương trình hợp ngữ bao gồm một chuỗi các
dòng lệnh hợp ngữ. Một lệnh hợp ngữ có chứa một từgợi nhớ (mnemonic)VD: vd2_1.asm
ORG 0H ; Bắt đầu (origin) tại ngăn nhớ 0
MOV R5, #25H ; Nạp 25H vào R5 MOV R7, #34H ; Nạp 34H vào R7 MOV A, #0 ; Nạp 0 vào thanh ghi A ADD A, R5 ; Cộng nôi dụng R5 vào A (A = A + R5) ADD A, R7 ; Cộng nội dung R7 vào A (A = A + R7)
ADD A, #121H ; Cộng giá trị 12H vào A (A = A + 12H) HERE: SJMP HERE ; ở lại trong vòng lặp này END ; Kết thúc tệp nguồn hợp ngữ
Ch ơng trình hợp ngữ trong 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 53/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 53
Chương trình hợp ngữ trong 8051
Các lệnh ADD và MOV là các lệnh đếnCPU,
Các lệnh ORG và END là các chỉ lệnh
đối với hợp ngữ.ORG để chỉ dẫn đặt mã lệnh tại ngăn nhớ 0
END thì báo cho hợp ngữ biết kết thúc mã
nguồn
Chương trình hợp ngữ trong 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 54/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 54
Chương trình hợp ngữ trong 8051
Dịch và chạy một chương trình hợp ngữtrong 8051:Soạn thảo file nguồn , phần mở rộng của các tệp
nguồn phải là “asm” hay “src” tuỳ theo trình hợpngữ mà ta sử dụng
Biên dịch, liên kết để tạo ra một tệp với đuôi mởrộng “Hex” có thể nạp tốt vào trong ROM
Chương trình hợp ngữ trong 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 55/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 55
Chương trình hợp ngữ trong 8051
Tệp liệt kê “.lst”: Tệp liệt kê là một tuỳ chọn, nó liệt kê tất cả
mọi mã lệnh và địa chỉ cũng như tất cả các
lỗi mà trình hợp ngữ phát hiện ra.Nhiều trình hợp ngữ giả thiết rằng, tệp liệt
kê là không cần thiết trừ khi ta báo rằng tamuốn tạo ra nó.
Lập trình viên sử dụng tệp liệt kê để tìmcác lỗi cú pháp
Chương trình hợp ngữ trong 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 56/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 56
Chương trình hợp ngữ trong 8051
Ví dụ tệp liệt kê: vd2_1.lst
1 0000 ORG 0H ; Bắt đầu ở địa chỉ 0 2 0000 7D25 MOV R5, #25H ; Nạp giá trị 25H vào R5 3 0002 7F34 MOV R7, #34H ; Nạp giá trị 34H vào R7 4 0004 7400 MOV A, #0 ; Nạp 0 vào A (xoá A) 5 0006 2D ADD A, R5 ; Cộng nội dung R5 vào
;A (A = A + R5)6 0007 2F ADD A, R7 ; Cộng nội dung R7 vào
;A (A = A + R7)7 0008 2412 ADD A, #12H ; Cộng giá trị 12H vào A
„(A = A + 12H)
8 000A BCEF HERE: SJMP HERE ; ở lại vòng lặp này 9 000C END ; Kết thúc tệp .asm
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 57/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 57
Bộ đếm chương trình và không gian ROM
Bộ đếm chương trình (PC) trong 8051:Bộ đếm chương trình chỉ đến địa chỉ của lệnh kế
tiếp cần được thực hiện.
Khi CPU nạp mã lệnh từ bộ nhớ ROM chương trình
thì bộ đếm chương trình tăng lên và chỉ đến lệnhkết tiếp
Bộ đếm chương trình trong 8051: 16 bit =>truy cậpcác địa chỉa chương trình từ 0000 đến FFFFH (64kbyte mã lệnh )
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 58/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 58
Bộ đếm chương trình và không gian ROM
Địa chỉ bắt đầu khi 8051 được cấpnguồn: Khi bộ vi điều khiển được cấp nguồn thì nó bắt đầu
từ địa chỉ nào?
Họ 8051 đều bắt đầu từ địa chỉ 0000 khi nó đượcbật nguồn.
~ khi 8051 được cấp nguồn thì bộ đếm chương trình
có giá trị 0000
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 59/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 59
Bộ đếm chương trình và không gian ROM
Đặt mã vào ROM chương trình :Chương trình được đốt vào trong ROM.
Mã lệnh và toán hạng được đưa vào các vị trí nhớROM bắt đầu từ địa chỉ 0000 như bảng liệt kê dưới
đây.
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 60/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 60
Bộ đếm chương trình và không gian ROM
Địa chỉ 0000 chứa mã 7D là mã lệnh đểchuyển một giá trị vào thanh ghi R5
Địa chỉ 0001 chứa toán hạng chuyển vào
R5
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 61/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 61
Bộ đếm chương trình và không gian ROM
Mã máy “7F34” được đặt trong các ngăn nhớ0002 và 0003 và biểu diễn mã lệnh và toánhạng đối với lệnh “MOV R7, #34H”.
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 62/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 62
Bộ đếm chương trình và không gian ROM
Ngăn nhớ 0006 có mã 2D là mã đối vớilệnh “ADD A, R5” và ngăn nhớ 0007 cónội dung 2F là mã lệnh cho “ADD A, R7”.
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 63/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 63
Bộ đếm chương trình và không gian ROM
Thực hiện một chương trình theo từngbyte :Khi 8051 được bật nguồn, bộ đếm chương trình PC
có nội dung 0000 và bắt đầu nạp mã lệnh đầu tiên
từ vị trí nhớ 0000 của ROM chương trình. Trong trường hợp của chương trình này là mã 7D
để chuyển một toán hạng vào R5. Khi thực hiện mã
lệnh CPU nạp giá trị 25 vào, bộ đếm chương trìnhđược tăng lên để chỉ đến 0002
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 64/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 64
Bộ đếm chương trình và không gian ROM
Khi thực hiện mã lệnh 7F thì giá trị 34Hđược chuyển vào R7 sau đó PC đượctăng lên 0004:
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 65/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 65
Bộ đếm chương trình và không gian ROM
Ngăn nhớ 0004 chứa mã lệnh của lệnh“MOV A, #0”. Lệnh này được thực hiện vàbây giờ PC = 0006
Bộ đếm chương trình và không gian ROM
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 66/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 66
Bộ đếm chương trình và không gian ROM
PC = 0006 chỉ đến lệnh kế tiếp là “ADD A, R5”. Đây là lệnh một byte, sau khithực hiện lệnh này PC = 0007.
Các thanh ghi
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 67/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 67
Các thanh ghi
Qúa trình này cứ tiếp tục cho đến khi tấtcả mọi lệnh đều được nạp và thực hiện.
PSW (Program Status Word)
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 68/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 68
PSW (Program Status Word)
Thanh ghi từ trạng thái chương trìnhPSW / thanh ghi cờ.
Thanh ghi 8 bit:
6 bit được 8051 sử dụng: Cờ nhớ CY (carry), cờ AC (auxiliary cary), cờ chẵn lẻ P (parity) và cờ trànOV (overflow). RS0 và RS1 được sử dụng để thayđổi các thanh ghi băng
2 bit chưa dùng là các cờ cho người dùng địnhnghĩa.
PSW (Program Status Word)
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 69/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 69
PSW (Program Status Word)
CY (PSW.7) : Cờ nhớ
AC (PSW.6) : Cờ phụ (PSW.5) : Dành cho người dùng đn
RS1 (PSW.4) :chọn băng thanh ghi
RS0 (PSW.3) :chọn băng thanh ghi OV (PSW.2) : Cờ bận
(PSW.1) :Dành cho người dùng đn
PSW (Program Status Word)
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 70/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 70
PSW (Program Status Word)
Cờ nhớ CY:Cờ này được thiết lập mỗi khi có nhớ từ bit D7.
Cờ này được tác động sau lệnh cộng hoặc trừ 8 bit.
Được thiết lập lên 1 hoặc xoá về 0 trực tiếp bằnglệnh “SETB C” và “CLR C” nghĩa là “thiết lập cờnhớ” và “xoá cờ nhớ” tương ứng
PSW (Program Status Word)
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 71/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 71
PSW (Program Status Word)
Cờ AC: Cờ này báo có nhớ từ bit D3 sang D4 trong phép
cộng ADD hoặc trừ SUB.
Cờ chẵn lẻ P: Cờ chẵn lẻ chỉ phản ánh số bit một trong thanh
ghi A là chẵn hay lẻ. Nếu thanh ghi A chứa một sốchẵn các bit một thì P = 0. Nếu A có một số lẻ cácbit một thì P = 1.
Cờ tràn OV: Cờ này được thiết lập mỗi khi tràn số trong phép
tính số có dấu.
PSW (Program Status Word)
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 72/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 72
PSW (Program Status Word)
Ví dụ: Hãy trình bày trạng thái các bit cờ CY, AC và P
sau lệnh cộng 38H với 2FH dưới đây: MOV A, #38H
ADD A, #2FH ; Sau khi cộng A = 67H, CY = 0
Lời giải: 38 00111000
+
2F 00101111
67 01100111 Cờ CY = 0 vì không có nhớ từ D7
Cờ AC = 1 vì có nhớ từ D3 sang D4
Cờ P = 1 vì thanh ghi A có 5 bit 1 (lẻ)
Tool
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 73/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 73
Tool
µProvision
Proteus
Lập trình C với 8051
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 74/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 74
Lập trình C với 8051
Tài liệu tham khảo: Embedded C ( Michael J. Pont)
Họ vi điều khiển 8051 (Tống Văn On)
Which OS should you use?
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 75/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 75
Which OS should you use?
Which OS should you use?
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 76/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 76
Which OS should you use?
Two fundamental differences between theembedded systems:
1: Majority of embedded systems are
required to run only one program: thisprogram will start running when themicrocontroller is powered up, and will stoprunning when the power is removed.
2: Many of the facilities provided by the moderndesktop OS are generally unavailable.
Which OS should you use?
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 77/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 77
Which OS should you use?
The simplest architecture in an embedded system is
typically a form of„Super Loop‟
void main(void)
{
// Prepare run function XX_Init();
while(1) // ‘for ever’ (Super Loop)
{
X(); // Run function X()}
}
Which OS should you use?
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 78/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 78
Which OS should you use?
Example:
Which OS should you use?
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 79/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 79
Which OS should you use?
Example (…):
/*------------------------------------------------------------*-Main.C-------------------------------------------------------------Framework for a central heating system using a Super Loop.[Compiles and runs but does nothing useful]-*------------------------------------------------------------*/ #include "Cen_Heat.h"
/*------------------------------------------------------------*/ void main(void)
{ // Init the systemC_HEAT_Init();
Which OS should you use?
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 80/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 80
c OS s ou d you use
while(1) // 'for ever' (Super Loop)
{
// Find out what temperature the user requires
// (via the user interface)
C_HEAT_Get_Required_Temperature();
// Find out what the current room temperature is
// (via temperature sensor)
C_HEAT_Get_Actual_Temperature();
// Adjust the gas burner, as requiredC_HEAT_Control_Boiler();
}
}
Reading from (writing to ) Port pin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 81/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 81
g ( g ) p
Reading from (writing to ) Port pin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 82/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 82
g ( g ) p
Reading from (writing to ) Port pin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 83/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 83
g ( g ) p
Reading from (writing to ) Port pin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 84/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 84
g ( g ) p
Reading from (writing to ) Port pin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 85/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 85
g ( g ) p
Reading from (writing to ) Port pin
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 86/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 86
g ( g ) p
Example: Tạo tín hiệu nhấp nháy (0,1) ở một chân
của một cổng. #include <reg52.h>
// LED is to be connected to this pin
sbit LED_pin = P1^5;
// Stores the LED statebit LED_state_G;
// Function prototypes
void LED_FLASH_Init(void);
void LED_FLASH_Change_State(void);void DELAY_LOOP_Wait(const unsigned int);
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 87/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 87
void main(void)
{LED_FLASH_Init();
while(1)
{
// Change the LED state (OFF to ON, or viceversa)
LED_FLASH_Change_State();
// Delay for *approx* 1000 ms
DELAY_LOOP_Wait(1000);
}
}
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 88/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 88
voidLED_FLASH_Init
(void)
{
LED_state_G = 0;
}
5/17/2018 Thiet Bi Ngoai Vi Va Ky Thuat Ghep Noi - slidepdf.com
http://slidepdf.com/reader/full/thiet-bi-ngoai-vi-va-ky-thuat-ghep-noi 89/90
Thiết bị ngoại vi và Kỹ thuật ghép nối 89
void LED_FLASH_Change_State(void)
{// Change the LED from OFF to ON (or vice versa)if (LED_state_G == 1)
{
LED_state_G = 0;
LED_pin = 0;}else
{
LED_state_G = 1;
LED_pin = 1;}
}