Đề tài thiết kế:
Nghiên cứu, thiết kế bộ nạp Acquy ứng dụng vi điều khiển
II. Số liệu ban đầu:
Lấy từ các thông số của các bộ nạp hiện có ở các trạm.
Hai bình acquy: Điện áp mỗi bình : U = 12V.
Dung lượng mỗi bình : I=5Ah
III. Nội dung phần thuyết minh và tính toán :
Chương I : Tổng quan về hệ thống tự động sạc acquy trong điện lực.
Chương II : Giới thiệu một số tủ nạp.
Chương III : Thiết kế bộ nạp.
Phần 1 : Thiết kế phần chỉnh lưu.
Phần 2 : Thiết kế mạch vi điều khiển.
Phần 3 : Giới thiệu các bộ biến đổi DAC, ADC.
Phần 4 : Sơ đồ mạch ghép nối giữa AT89C51với các bộ DAC, ADC.
IV.Trình chiếu Powerpoint:
Gồm có 4 bản.
MỤC LỤC
Lời nói đầu .0
Chương 1 TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG SẠC ACQUI TRONG ĐIỆN LỰC 1
I. Giới thiệu về nguồn thao tác 1
II. Nguồn thao tác một chiều 1
1. Acqui, công dụng và phân loại .1
2. Acqui axit .2
3. Acqui kiềm .6
III. Các chế độ nạp điện 8
1. Giới thiệu các chế độ nạp .8
2. Các chế độ nạp: .8
2.1 Nạp điện đầu 8
2.2 Nạp điện thường 11
2.3 Nạp điện cân bằng .11
2.4 Chế độ phụ nạp 12
Chương 2 GIỚI THIỆU MỘT SỐ TỦ NẠP ĐẶC TRƯNG .14
I. Giới thiệu chung 14
II. Tủ nạp CDN-HPT 50 220 XE (truyền tải huế) 14
1. Sơ đồ nguyên lý 14
2. Nguyên tắc hoạt động .16
III. Tủ nạp 3PH DC 110 50 của Hyundai-Vinashin 21
1. Sơ đồ nguyên lý .21
2. Đặc tính chung .24
3. Đặc tính kỹ thuật 25
IV. Tủ nạp CHLORIDE 3CBC 220 50 (công ty Việt Á) .27
1. Sơ đồ nguyên lý 27
2. Các thông số bộ nạp 27
3. Chức năng của bộ nạp .28
4. Nguyên tắc chung .28
5. Mô tả tóm tắt về bộ nạp 28
6. Đặc tính kỹ thuật chung 29
7. Các chế độ hoạt động 30
8. Mô tả tóm tắt mạch điều khiển 3CBC-4 .30
Chương 3 THIẾT KẾ BỘ NẠP .33
I. Giới thiệu công nghệ 33
II. Phần thiết kế .34
Phần 1:Thiết kế phần chỉnh lưu .34
1. Tính toán bộ nguồn và mạch chỉnh lưu 34
2. Tính toán các thông số và chọn các linh kiện của mạch điều khiển .40
Phần 2: Thiết kế mạch vi điều khiển 44
1. Giới thiệu về họ vi điều khiển 44
2. Cấu trúc phần cứng của 8051 .47
3. Giới thiệu các chế độ địa chỉ của 8051 .58
4. Hoạt động của bộ định thời timer .59
5. Hoạt động của cổng nối tiếp .61
6. Hệ thống ngắt 65
Phần 3: Giới thiệu các bộ biến đổi DAC, ADC 69
1. Bộ biến đổi tương tự DAC .69
1.1 Giới thiệu chung .69
1.2 Ghép nối DAC0808 (MC1408) với 8051 .71
2. Bộ biến đổi tương tự số ADC 72
2.1 Giới thiệu chung .72
2.2 Ghép nối ADC0804 với 8051 .72
Phần 4: Chương trình 77
1. Sơ đồ mạch ghép nối giữa AT89C51 với các bộ DAC, ADC 77
2. Viết chương trình 78
Tài liêu tham khảo .81
94 trang |
Chia sẻ: banmai | Lượt xem: 1971 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Nghiên cứu, thiết kế bộ nạp Acquy ứng dụng vi điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
khuếch đại cuối cùng ngược trở lên.
3.1. Chọn phần tử ghép quang: Là loại optoTranzistor B817 có cấu trúc như hình dưới:
Các thông số của B817 (TA = 25°C):
Nhiệt độ hoạt động : –30°C to +100°C
Khả năng chịu được sự quá nhiệt 260°C /10 s
Dòng vào cực Anôt của 817 : IF = 50 mA
Tổn hao công suất ở đầu vào: PI= 70 mW
Dòng Colector : IC= 50 mA
Điện áp giữa 2 cực C và E : VCEO= 35 V
Điện áp giữa E và C : VECO= 6 V
Công suất tiêu tán ở cực C : 150 mW
Tổng công suất tiêu tán : 200 mW
Điện trở cách điện : R=1011Ω
Tính chọn điện trở nối vào cực 1 của opto:
R > = = 240Ω
Chọn R=1kΩ (=R5=R4=R22=R20)
Tính chọn điện trở nối vào chân 4 của B817 (cực C).
R = =240Ω
Chọn R=R4=R6=R21=R23=1kΩ
Để kích mở Ti, ta nối đầu ra của B817 một Tranzistor nhằm khuếch đại tín hiệu từ B817.
Dòng kích mở yêu cầu Ig= 40mA =Ic.
Chọn Transistor C1815 có các thông số:.
C1815
Chọn Tranzitor công suất nối vào OPC là loại C1815 kiểu NPN, bán dẩn Silic để mở phần tử ghép quang với các thông số sau:
Điện áp giữa colectơ và bazơ : UCBO = 60V
Điện áp giữa colector và emitter : UCEO= 50V
Điện áp giữa hai cực E và B : UBE = 5V
Dòng điện lớn nhất ở colectơ : ICmax = 150mA.
Công suất tiêu tán ở colectơ : PC = 400mW
Hệ số khuếch đại : hEF = =70 ~700
Dòng điều khiển bazơ của trazitor : IB == =2.1 mA
Nhiệt độ làm việc : -55 ~ +150 °C
Như vậy cần đặt một điện trở ở đầu vào cực C của trazitor có thông số:
R = == 80Ω
R= R15=R26=R19=100Ω
3.2.Chọn Transistor nối vào chân 2 của OPC: Q1,Q2
Ta chọn loại 2 con C1815 như trên.
3.3. Chọn cổng AND:
Toàn bộ mạch điều khiển sẽ dùng 2 cổng AND nên ta chọn IC 4081 họ CMOS. Một IC có 4 cổng AND, các thông số:
Nguồn nuôi IC : Vcc = -0.3 ÷ 16V, ta chọn Vcc = 12V.
Nhiệt độ làm việc : -400C ÷ +850C
Điện áp ứng với mức logic”1”: 2 ÷ 4.5V
Dòng điện : < 1mA
Công suất tiêu thụ : P = 2.5nW / 1cổng
3.4. Chọn tụ C1, C3 và điện trở R1,R9 nối vào Q1,Q2:
R1,R9 dùng để hạn chế dòng vào Q1,Q2.Chúng phải thoả mãn điều kiện:
R1 = R9 ≥ = = 2kΩ
Chọn R = 2kΩ
Chọn R1*C1 = tx = 167µs. Suy ra C = ==0,0835µs
Chọn C = 0,1µs(=100pF).
3.5. Chọn khuếch đại thuật toán:
Mạch điều khiển phải dùng 4 khuếch đại thuật toán, do đó ta chọn 1 IC loại LM324 của hãng Fairchild Semiconductor.
LM324
Sơ đồ chân IC LM324 :
Các thông số của LM324:
Điện áp nguồn nuôi : Vcc = ± 12V
Điện áp vào : -0.3 ~ ± 32V
Nhiệt độ làm việc : 0 ~ 70oC
Công suất tiêu thụ : P = 1310 mW = 1,13W
Tổng trở đầu vào : 106MΩ
Dòng cung cấp : Icc = 1mA
Dòng điện ra : Ira = 40mA
3.5. Tính chọn điện trở nối vào khâu so sánh:
Khuếch đại thuật toán đã chọn là loại LM324:
Chọn R10 = R13 > = = 12 kΩ
Trong đó nguồn nuôi Vcc = 12V thì điện áp vào khâu so sánh là
Uv ≈ 12V. Dòng điện vào được hạn chế để Ilv < 1mA
Do đó ta chọn R10=R13=15kΩ, khi đó dòng vào khâu so sánh là:
Ilvmax = = 0,8mA.
3.6 Tính chọn bộ tạo xung chùm:
U
2 1
7
6
8 4
3
5
Ura
R2
C
0.01µF
IC555
R1
Muốn tạo xung chùm xung có tần số f== 3kHz hay chu kỳ của của xung chùm (chu kỳ tín hiệu ra):
T = = 334µs
Ta có: T = 0.693(R1 + 2R2)C
Chọn C = 100pF=0,1µF,
Suy ra T = 0,693(R1 +2R2)0,1=334
R1+ 2R2 = 4819Ω
Chọn R1 là biến trở 200Ω, còn chọn R2 =5k.
Phần 2. Thiết kế mạch vi điều khiển
1. Tổng quan về họ vi điều khiển 8051.
1.1 Sơ đồ khối chung của bộ vi điều khiển:
Sơ đồ khối chung của hầu hết các bộ vi điều khiển là toàn bộ những phần nằm trong đường chấm trên hình1.1. Nó bao gồm bộ nhớ ROM và RAM, mạch giao tiếp nối tiếp, mạch giao tiếp song song, bộ định thời gian, hệ thống ngắt và các bus được tích hợp trên cùng một chíp.
Nguồn đồng hồ ngoài
Ngắt ngoài
Thiết bị nối tiếp
Thiết bị song song
Đồng hồ nội
Timers
Điều khiển ngắt
Giao tiếp nối tiếp
Giao tiếp song song
CPU
Bus dữ liệu, địa chỉ, điều khiển
RAM
ROM
Hình 3.6: Sơ đồ khối tổng quát của một bộ điều khiển
1.2 Đơn vị xử lý trung tâm CPU (Central Processing Unit):
Thanh ghi lệnh (IR)
Khối điều khiển và giải mã lệnh
Khối Logic và số học
CPU
Hình 3.7 Sơ đồ khối của CPU
Các thanh ghi
Bộ đếm chương trình ( PC)
Là thành phần chính của một chíp vi điều khiển, nó quản lý tất cả hoạt động của bộ vi điều khiển, thực hiện các phép toán trên số liệu. Thực chất, nó chỉ là tập hợp các mạch logic nhằm thực hiện liên tục hai hoạt động chính là tìm lệnh và thi hành lệnh.
Hình 3.7 mô tả các khối bên trong của CPU. Nó có một tập các thanh ghi dùng cho việc lưu trữ tạm thời các thông tin, khối số học và logic ALU (Arithmetic and Logic Unit) thực hiện các phép toán dựa trên các thông tin được lưu trong thanh ghi, khối điều khiển và giải mã lệnh (Instruction Decode and Contrrol Unit) xác định phép thi hành và chuẩn bị các hoạt động cần thiết để thực hiện lệnh đó có kết hợp với thông tin trong 2 thanh ghi phụ. Thanh ghi lệnh (Instruction Register) chứa mã nhị phân của mỗi lệnh được thi hành. Bộ đếm chương trình (Program Couter) lưu giữ địa chỉ trong bộ nhớ của lệnh cần thực hiện tiếp theo.
1.3 Bộ nhớ bán dẫn RAM và ROM (EPROM):
Bộ nhớ dùng để lưu trữ chương trình và dữ liệu, có hai loại bộ nhớ là RAM và ROM. Chúng ta có thể phân biệt sự khác nhau giữa RAM và ROM dựa trên hai tính năng.
- Thứ nhất, RAM (Random Access Memory) là bộ nhớ cho phép đọc và ghi dữ liệu được, còn ROM (Read Only Memory) là bộ nhớ chỉ đọc, trong một số chíp vi điều khiển còn sử dụng EPROM (Erasable Programmable ROM) là ROM lập trình có thể xoá được để thay thế cho ROM .
- Thứ hai, dữ liệu trong RAM sẽ bị mất đi khi không cung cấp điện, còn dữ liệu trong ROM thì vẫn lưu lại khi không cấp nguồn cho nó.
1.4 Bus địa chỉ, bus dữ liệu và bus điều khiển:
Bus là tập hợp các đường dây mang thông tin với cùng mục đích. Trong chíp vi điều khiển có 3 loại bus là bus địa chỉ, bus dữ liệu và bus điều khiển. Trong hoạt động đọc hay ghi, CPU xác định vị trí của dữ liệu bằng cách đặt một địa chỉ vào bus địa chỉ, rồi kích hoạt một tín hiệu trên bus điều khiển để chỉ thị hoạt động đó là đọc hay ghi.
Hoạt động đọc sẽ lấy 1 byte dữ liệu từ bộ nhớ tại một vị trí xác định rồi đặt lên bus dữ liệu. CPU đọc dữ liệu này và đặt nó vào một trong các thanh ghi nội trú của CPU. Hoạt động ghi thì ngược lại, CPU lấy dữ liệu đưa ra bus dữ liệu. Nhờ có tín hiệu điều khiển, bộ nhớ nhận biết được đây là một hoạt động ghi và nó sẽ lưu dữ liệu trên vào vùng nhớ đã xác định nhờ địa chỉ mà CPU đã gởi tới nó từ trước.
- Bus dữ liệu mang thông tin trao đổi giữa CPU và bộ nhớ, giữa CPU và thiết bị I/O. Độ rộng của bus dữ liệu đóng vai trò khá quan trọng trong vấn đề tăng tốc cho một bộ vi điều khiển, 8051có độ rộng bus dữ liệu là 8 bit. Hiện nay nhiều bộ vi điều khiển sử dụng bus địa chỉ và dữ liệu dồn kênh, nghĩa là sử dụng cùng một đường truyền cho các bus dữ liệu và một số bit địa chỉ. Trong trường hợp này, bộ vi điều khiển có thêm các mạch ngoài dùng để phân tích các tín hiệu địa chỉ và dữ liệu trong các bus tương ứng.
- Các bus dữ liệu hoạt động theo 2 hướng, còn bus địa chỉ thì hoạt động theo 1 hướng. Bởi vì thông tin địa chỉ luôn luôn được cung cấp bởi CPU, nhưng dữ liệu thì có thể lưu thông theo cả hai chiều tuỳ theo hoạt động ghi vào hay đọc ra. Thông tin lưu trữ trên bus dữ liệu có thể là những lệnh của chương trình, địa chỉ gắn vào câu lệnh, dữ liệu được sử dụng bởi chương trình. Bus điều khiển là 1 tổ hợp các báo hiệu, mỗi báo hiệu có một vai trò xác định để điều khiển hoạt động của hệ thống hoạt động một cách hiệu quả. Những tín hiệu điều khiển là những tín hiệu định thời được cung cấp bởi CPU nhằm đồng bộ việc vận chuyển thông tin trên bus địa chỉ và bus dữ liệu.
2. Cấu trúc phần cứng của 8051.
Sơ đồ khối của IC vi điều khiển 8051:
IC 8051 là chíp vi điều khiển trong họ vi điều khiển 5 đã được Intel giới thiệu và đưa ra thị trường. Các thành phần bên trong nó gồm có:
4KB ROM.
128 byte RAM.
4 port xuất nhập (I/O port) 8 bit.
2 bộ định thời 16 bit.
Mạch giao tiếp nối tiếp.
Không gian nhớ chương trình (mã) ngoài 64K
Không gian nhớ giữ liệu ngoài 64K
Bộ vi xử lý bit (thao tác trên các bit riêng lẽ).
210 vị trí nhớ được định địa chỉ, mỗI vị trí 1 bit.
Nhân/chia trong 4s.
Các chíp vi điều khiển còn lại trong họ 51 khác với 8051 ở sự tích hợp các thành phần bên trong chíp như RAM, ROM (hoặc EPROM), bộ đếm thời gian.
Chip
Bộ nhớ chương trình trên chip
Bộ nhớ dữ liệu trên chip
Các bộ định thời
8051
4K ROM
128 byte
2
8031
0K
128 byte
2
8751
4K EPROM
128 byte
2
8052
8K ROM
256 byte
3
8032
OK
256 byte
3
8752
8K EPROM
256 byte
3
Hình 3.8: So sánh các IC thuộc họ vi điều khiển 51
Hình 3.9: Sơ đồ chân của 8051
2.2 Chức năng của các chân IC 8051:
Chíp vi điều khiển 8051 có 32 trong tổng số 40 chân có chức năng như là những cổng I/O, trong đó có 24 chân được sử dụng vào 2 mục đích. Nghĩa là ngoài chức năng I/O, mỗi chân có thể là một đường điều khiển của bus địa chỉ hay bus dữ liệu khi hệ thống sử dụng bộ nhớ ngoài. Hoặc là mỗi đường hoạt động một cách độc lập để giao tiếp với các thiết bị đơn bit như là các công tắc, đèn LED, Transistor, mô tơ và loa.
Trong những mô hình thiết kế không dùng bộ nhớ ngoài, P0 được sử dụng như là cổng I/O. còn đối với những hệ thống lớn hơn có yêu cầu một số lượng đáng kể bộ nhớ ngoài thì P0 trở thành các đường truyền dữ liệu và 8 bit thấp của bus địa chỉ.
- Cổng P1 được chỉ định là cổng I/O từ chân 1 đến 8. Chúng được sử dụng cho mục đích duy nhất là giao tiếp với các thiết bị ngoài khi cần thiết.
- Cổng P2 là cổng I/O hoặc là đường truyền 8 bit cao của bus địa chỉ cho những mô hình thiết kế có bộ nhớ chương trình nằm ở ngoài hoặc có hơn 256 byte bộ nhớ dữ liệu ngoài.
- Cổng P3 ngoài mục đích chung là cổng I/O, những chân này còn kiêm luôn nhiều chức năng khác nữa liên quan đến các tính năng đặc biệt của 8051.
Interup contrl
Other register
128 bytes RAM
Timer 1
Timer 0
CPU
Oscillator
Bus contrlo
I/ O ports
Serial port
ADRESS/DATA
EA
RST
PSEN
ALE
TXD*
RXD
ROM
4K- 8051
INT1
INT0
Timer1
Timer 0
Serial
T1
T1
Hình 3.10: Sơ đồ khối của 8051
Bit
Tên
Địa chỉ bit
Chức năng thứ hai
P3.0
RXD
BOH
Nhận dữ liệu cho cổng nối tiếp
P3.1
TXD
B1H
Truyền dữ liệu cho cổng nối tiếp
P3.2
INT0
B2H
Ngắt 0 bên ngoài
P3.3
INT1
B3H
Ngắt 1 bên ngoài
P3.4
T0
B4H
Ngõ vào bộ đếm thời gian 0
P3.5
T1
B5H
Ngõ vào bộ đếm thời gian 1
P3.6
WR
B6H
Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7
RD
B7H
Điều khiển đọc bộ nhớ dữ liệu ngoài
Hình 3.11: Chức năng thứ hai của các chân Port 3
- PSEN là một tín hiệu điều khiển cho phép bộ nhớ chương trình bên ngoài hoạt động. Nó thường được kết nối đến chân OE (Output Enable) của EPROM để thực hiện đọc các byte chương trình. Xung tín hiệu PSEN luôn ở mức thấp trong suốt phạm vi quá trình của một lệnh. Còn khi thi hành chương trình từ ROM ở ngay bên trong chip, chân PSEN luôn ở mức cao (không hoạt động).
- Tín hiệu ALE có chức năng tách byte địa chỉ thấp và bus dữ liệu khi cổng P0 được sử dụng ở chế độ tuần tự hay còn gọi là chế độ dò kênh, nghĩa là sử dụng một đường truyền cho các bit dữ liệu và byte thấp của bus địa chỉ.Khi chân EA ở mức cao, 8051/8052 được phép thực hiện các chương trình lưu trữ ở vùng nhớ thấp hơn 4Kbyte/8Kbyte ROM bên trong chíp. Còn khi EA ở mức thấp chỉ có những chương trình lưu ở bộ nhớ bên ngoài mới được thực hiện. (dùng cho 8051)
- 8051 có một bộ dao động nội bộ bên trong chíp hoạt động bám theo tần số của một con dao động thạch anh nằm bên ngoài. Tần số thông dụng của thạch anh là 12MHz cho hầu hết các IC thuộc họ 51.
2.3. Tổ chức bộ nhớ:
Không gian bộ nhớ của bộ vi điều khiển được phân chia ra thành 2 phần dữ liệu và chương trình. Hầu hết các IC MCS-51 đều có bộ nhớ chương trình và dữ liệu nằm bên trong chíp, tuy nhiên cũng có thể mở rộng dung lượng lên đến 64K bộ nhớ chương trình và 64K bộ nhớ dữ liệu bằng cách sử dụng thêm một số bộ nhớ ngoài.
Bên trong chíp vi điều khiển 8031 chỉ có 128 byte bộ nhớ dữ liệu (RAM) mà không có bộ nhớ chương trình (ROM). Nó có thể kết nối tối đa 64Kbyte bộ nhớ chương trình và 64Kbyte bộ nhớ dữ liệu bên ngoài.
Bộ nhớ
dữ liệu
Hoạt động nhờ 2 tín hiệu điều khiển
RD và WK
0000
FFFF
Bộ nhớ
Chương trình
Hoạt động nhờ tín hiệu PSEN
FFFF
0000
Bộ nhớ chương trình
00
FF
Bộ nhớ
Bên ngoài
Bộ nhớ bên trong chip
Hình 3.12 Không gian bộ nhớ của 8051
Hình 3.12 trình bày chi tiết bộ nhớ dữ liệu. Không gian bộ nhớ trong được phân chia ra gồm các bank thanh ghi (00H-1FH), RAM địa chỉ theo bit (20H-2FH), RAM dùng chung (30H-7FH), và các thanh ghi chức năng đặc biệt.
Byte Address
Bit Address
Byte Address
Bit Address
7F
Ram dùng chung
FF
F0
F7
F6
F5
F4
F3
F2
F1
F0
B
E0
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D0
D7
D6
D5
D4
D3
D2
D1
D0
PSW
30
B8
-
-
-
BC
BB
BA
B9
B8
IP
2F
7F
7E
7D
7C
7B
7A
79
78
2E
77
76
75
74
73
72
71
70
B0
B7
B6
B5
B4
B3
B2
B1
B0
P3
2D
6F
6E
6D
6C
6B
6A
69
68
2C
67
66
65
64
63
62
61
60
A8
AF
-
-
AC
AB
AA
A9
A8
IE
2B
5F
5E
5D
5C
5B
5A
59
58
2A
57
56
55
54
53
52
51
50
A0
A7
A6
A5
A4
A3
A2
A1
A0
P2
29
4F
4E
4D
4C
4B
4A
49
48
28
47
46
45
44
43
42
41
40
99
Not bit addressable
SBUF
27
3F
3E
3D
3C
3B
3A
39
38
98
9F
9E
9D
9C
9B
9A
99
98
SCON
26
37
36
35
34
33
32
31
30
25
2F
2E
2D
2C
2B
2A
29
28
90
97
96
95
94
93
92
91
90
P1
24
27
26
25
24
23
22
21
20
23
1F
1E
1D
1C
1B
1A
19
18
8D
Not bit addressable
TH1
22
17
16
15
14
13
12
11
10
8C
Not bit addressable
TH0
21
0F
0E
0D
0C
0B
0A
9
8
8B
Not bit addressable
TL1
20
7
6
5
4
3
2
1
0
8A
Not bit addressable
TL0
1F
Bank 3
89
Not bit addressable
TMOD
18
88
8F
8E
8D
8C
8B
8A
89
88
TCON
17
Bank 2
87
Not bit addressable
PCON
10
0F
Bank 1
83
Not bit addressable
DPH
8
82
Not bit addressable
DPL
7
Default Register bank 0
for R0 - R7
81
Not bit addressable
SP
0
80
87
86
85
84
83
82
81
80
P0
RAM
Thanh ghi chức năng đặc biệt
Hình 3.13. Tổ chức bộ nhớ dữ liệu
. Các thanh ghi chức năng đặc biệt:
8051 có các thanh ghi R0 đến R7 và 21 thanh ghi chức năng đặc biệt SFR (Special Function Register) nằm ở phần trên của RAM trong từ địa chỉ 80H đến FFH.
Thanh ghi trạng thái PSW (Program Status Word): Thanh ghi PSW chứa các bit trạng thái được tóm tắt trong hình 1.9.
CY
AC
F0
RS1
RS0
OV
-
P
Hình 3.14: Các bit thanh ghi trạng thái
+ Cờ nhớ CY (Carry Flag): Cờ nhớ được sử dụng cho 2 mục đích. Nó được dùng trong các phép toán số học, cờ nhớ được lập khi kết quả phép toán có nhớ hoặc là phải mượn. Ngoài ra cờ nhớ còn được sử dụng như là thanh ghi 1 bit cho các lệnh booorlean hoạt động trên các bit.
+ Cờ nhớ phụ AC (Auxiliary Carry flag): Khi thực hiện phép tính các số BCD, bit AC được bật nếu kết quả phép toán vừa thực hiện cờ nhớ hay có mượn đối với 4 bit thấp.
+ Cờ 0 F0 (Flag 0): Là bit cờ dùng chung được dành sẵn cho các ứng dụng của người sử dụng.
+ Bit chọn lựa bank thanh ghi: các bit RS0 và RS1 dùng để xác định bank thanh ghi tích cực. Chúng được xóa mỗi khi hệ thống khởi động lại và được thay bởi phần mềm khi cần thiết.
+ Cờ tràn OV (Over low Flag): Cờ tràn được bật nếu kết quả của một phép toán cộng hay trừ các số có dấu bị sai.
+ Bit chẵn lẻ P (parity bit): Bit Parity được tự động lập hay xóa sau mỗi chu kỳ máy để thiết lập Parity chẵn với thanh ghi A. Nghĩa là tổng số bit 1 của thanh ghi A cộng với bit Parity thì luôn luôn chẵn.
-Thanh ghi B: Thanh ghi B được sử dụng đi kèm với thanh ghi A để thực hiện các phép toán nhân và chia. Thanh ghi B cũng được xem như là thanh ghi đệm dùng chung. Nó có địa chỉ bit từ F0H đến F7H.
- Con trỏ ngăn xếp SP: Là một thanh ghi 8 bit, nó chứa địa chỉ của phần dữ liệu đang hiện diện tại đỉnh của ngăn xếp. Ngăn xếp hoạt động theo phương thức vào trước ra sau. Hoạt động đẩy vào ngăn xếp làm tăng SP lên trước khi ghi dữ liệu vào. Hoạt động lấy ra khỏi ngăn xếp sẽ đọc dữ liệu ra rồi giảm SP.
-Con trỏ dữ liệu DTPR (Data Pointer): DTPR được sử dụng để truy cập vào bộ nhớ chương trình và bộ nhớ dữ liệu bên ngoài, đó là thanh ghi 16bit có 8bit thấp ở địa chỉ 82H (DPL) và 8bit cao ở địa chỉ 83H (DPH).Các thanh ghi cổng: các cổng I/O của 8051 bao gồm P0 tại địa chỉ 80H, P1 tại địa chỉ 90H, P2 tại địa chỉ A0H và P3 tại địa chỉ B0H. tất cả các cổng đều có địa chỉ bit nên cung cấp khả năng giao tiếp với bên ngoài rất mạnh.
-Các thanh ghi bộ đếm thời gian: 8051 có 2 bộ đếm thời gian 16bit để định các khoảng thời gian hay đếm các sự kiện. Timer 0 có địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao), Timer 1 có địa chỉ 8BH (TL1: byte thấp) và 8DH (TL2: byte cao). Hoạt động của bộ đếm thời gian được thiết lập bởi thanh ghi chế độ thời gian TMOD và thanh ghi điều khiển thời gian TCON, chỉ có TCON có địa chỉ bit.
-Thanh ghi cổng tuần tự: IC8051 chứa 1 cổng nối tiếp để kết nối với các thiết bị nối tiếp như modem hoặc để giao tiếp với các IC khác sử dụng giao tiếp nối tiếp (bộ chuyển đổi A/D, thanh ghi dịch, bộ nhớ RAM...). bộ đệm dữ liệu nối tiếp SBUF lưu giữ cả dữ liệu truyền đi và dữ liệu nhận được. Hoạt động ghi SBUF sẽ nạp vào dữ liệu để truyền đi, còn hoạt động đọc SBUF sẽ truy cập vào dữ liệu đã nhận được. Nhiều chế độ hoạt động khác nhau có thể lập trình được thông qua địa chỉ bit của thanh ghi điều khiển cổng nối tiếp tại địa chỉ 98H.
-Các thanh ghi ngắt: 8051 có 5 nguồn ngắt và 2 mức ưu tiên. Các ngắt bị cấm sau khi hệ thống khởi động lại và sẽ được bật bằng cách ghi vào thanh ghi cho phép ngắt IE (Interrup enable register). Mức ưu tiên được thiết lập thông qua thanh ghi ưu tiên ngắt IP (Interrup priority register). Cả 2 thanh ghi này đều có địa chỉ bit.
-Thanh ghi điều khiển năng lượng PCON (Power control register): Chứa nhiều bit điều khiển đảm nhận những chức năng khác nhau.
SMOD
-
-
-
GF1
GF0
PD
IDL
Hình 3.15 : các bit thanh ghi điều khiển năng lượng
+ Bit SMOD làm tăng gấp đôi tốc độ baud của cổng nối tiếp khi ở chế độ1, 2, 3. Bit 2 và 3 là các bit cờ dùng chung được dành sẵn cho các ứng dụng của người dùng. Các bit điều khiển năng lượng là: bit hạ thấp năng lượng PD (Power down) và bit ngừng không hoạt động IDL (Idle). Các bit này sẽ chuyển bộ vi điều khiển sang 2 chế độ hoạt động cơ bản.
2.5. Bộ nhớ ngoài:
Vi điều khiển cho phép mở rộng lên đến 64K không gian bộ nhớ chương trình và 64K không gian bộ nhớ dữ liệu nằm bên ngoài. Khi sử dụng bộ nhớ ngoài thì cổng P0 không được dành cho hoạt động I/O, nó trở thành đường truyền bus dữ liệu (D0-D7) và byte thấp (A0-A7) của bus địa chỉ. Cổng P2 thường được sử dụng cho đường truyền byte cao của bus địa chỉ.
Trong suốt một nửa chu kỳ nhớ đầu, tín hiệu ALE sẽ chốt byte thấp của bus địa chỉ vào bộ chốt 74HC573, và trong nữa chu kỳ nhớ còn lại, cổng P0 được sử dụng như là bus dữ liệu để đọc dữ liệu vào MC hay ghi dữ liệu ra bộ nhớ ngoài. Chế độ hoạt động như vậy gọi là chế độ dồn kênh.
Địa chỉ
A0...A15
Dữ liệu
D0...D7
A8...A15
Không ghép kênh (24 đường)
Địa chỉ
Địa chỉ
Dữ liệu
Ghép kênh (16 đường)
Hình 3.16: Giản đồ thời gian trong chế độ dồn kênh và không dồn kênh.
Phương thức truy cập vào bộ nhớ chương trình ngoài:
Bộ nhớ chương trình ngoài được đọc bởi tín hiệu PSEN. Khi bộ nhớ chương trình bên ngoài được sử dụng, cả cổng P0 và P2 đều không sử dụng như cổng I/O. các kết nối phần cứng được mô tả trên hình 1.12. Một vòng chu kỳ máy của 8051 gồm có 12 chu kỳ dao động. Nếu bộ dao động nội hoạt động bám theo một dao động thạch anh 12MHz thì một chu kỳ máy là 1ms. Suốt một chu kỳ máy chuẩn, tín hiệu ALE dao động 2 lần và 2 byte được đọc ra từ bộ nhớ chương trình.
Port 0
EA
ALE
8051
Port 2
/PSEN
D0...D7
A0...A7
EPROM
A8...A15
/OE
D Q
G
74HC573
Hình 3.17: Sơ đồ đấu nối phần cứng của 8051 với ROM ngoài
Một chu kỳ máy
Port 0
P1
P2
S1
P1
P2
P1
P2
P1
P2
P1
P2
S2
S3
S4
S5
S6
P1
P2
P1
P2
S1
OSC
Opcode
PCL
PCL
Byte 2
Port 2
PCH
PCH
Hình 3.18: Giản đồ thời gian cho hoạt động đọc bộ nhớ chương trình bên ngoài
Truy cập bộ nhớ dữ liệu ngoài:
Các hoạt động đọc ghi bộ nhớ dữ liệu được điều khiển bởi 2 tín hiệu RD cà WR. Cách duy nhất truy cập đến bộ nhớ dữ liệu ngoài là dùng lệnh MOVX, sử dụng con trỏ dữ liệu DPTR 16bit hoặc R0 hay R1 làm thanh ghi địa chỉ.
Giản đồ thời gian cho hoạt động đọc bộ nhớ dữ liệu ngoài bằng lệnh MOVX A, @DPTR được chỉ trong hình 1.15. Lúc này, một xung ALE và một xung PSEN bị bỏ qua và thay vào đó là một xung RD để đọc RAM. Giản đồ thời gian cho một hoạt động ghi cũng tương tự, chỉ khác là xung WR ở mức thấp để ghi dữ liệu ra cổng P0 và RD tồn tại ở mức cao.
Port 0
ALE
8051
Port 2
/RD
/WR
/PSEN
D0...D7
A0...A7
RAM
A8...A15
/OE
/WR
/CS
D Q
G
74HC573
Hình 3.19 : Sơ đồ đấu nối phần cứng của 8051 với RAM bên ngoài
Một chu kỳ máy
Port 0
Một chu kỳ máy
S1
S2
S3
S4
S5
S6
ALE
DPL
External Data in
PCH
DPH
S1
S2
S3
S4
S5
S6
Port 2
Hình 3.20: Giản đồ thời gian của lệnh MOVX
2.6 Reset hệ thống:
5V
100
8,2K
10uF
Hình 3.21: Sơ đồ mạch thực hiện reset hệ thống
Để reset 8051: Ta phải giữ chân RST ở mức cao trong tối thiểu 2 chu kỳ máy rồi mới trở lại mức thấp. Việc reset có thể thực hiện hoàn toàn bằng tay thông qua công tắc, hoặc có thể tự động reset khi cấp điện.
Tình trạng các thanh ghi trong 8051 sau khi reset được tóm tắt trong hình1.17. Bộ đếm chương trình sẽ được nạp vào giá trị 0000H, bởi vì khi RST xuống mức thấp, sự thực hiện chương trình luôn luôn bắt đầu tại tai địa chỉ đầu tiên của bộ nhớ chương trình. Nội dung của RAM bên trong chíp không bị ảnh hưởng bởi hoạt động reset.
Thanh ghi
Nội dung
Thanh ghi
Nội dung
Bộ đếm CT
0000H
IP
xxx00000B
Thanh ghi A
00H
IE
0xx00000B
Thanh ghi B
00H
Thanh ghi Timer
00H
PSW
00H
SCON
00H
SP
07H
SBUF
00H
DPTR
0000H
PCON(Hmos)
0xxxxxxxB
Cổng P(0,1,2,3)
FFH
PCON(Cmos)
0xxx0000B
Hình 3.22: Giá trị các thanh ghi sau reset hệ thống
3. Giới thiệu các chế độ đia chỉ của 8051:
3.1. Các chế độ địa chỉ của 8051:
Bộ vi điều khiển 8051 sử dụng 8 chế độ địa chỉ để xác định vùng dữ liệu cần thiết cung cấp cho chế độ hoạt động. Bao gồm các chế độ địa chỉ sau:
Địa chỉ thanh ghi.
Địa chỉ trực tiếp.
Địa chỉ gián tiếp .
Địa chỉ tức thời.
Địa chỉ tương đối.
Địa chỉ tuyệt đối .
Địa chỉ dài .
Địa chỉ liệt kê.
3.2.Tập lệnh:
Tập lệnh của 8051 chia thành 5 nhóm chính là:
Lệnh số học: Gồm các lệnh cộng, trừ, nhân, chia, tăng, giảm tác động trên các địa chỉ và thanh ghi.
Lệnh logic:Gồm các lệnh thực hiện phép toán Boolean, lệnh quay thanh ghi.
Lệnh chuyển dữ liệu: Gồm các lệnh chuyển dữ liệu giữa các thanh ghi, giữa thanh ghi và bộ nhớ, giữa các vùng nhớ với nhau.
Lệnh Boolean: 8051 chứa một bộ xử lý Boolean hoàn chỉnh thực hiện các phép toán trên từng bit. Những lệnh truy cập các bit này không chỉ là các lệnh rẽ nhánh có điều kiện mà còn có các lệnh chuyển, bật, xoá, bù, AND và OR.
Lệnh rẽ nhánh chương trình: Gồm những lệnh rẽ nhánh có điều kiện hay không có điều kiện. Các lệnh rẽ nhánh chương trình sữ dụng 3 kiểu địa chỉ là kiểu địa chỉ tương đối, địa chỉ dài và địa chỉ tuyệt đối.
4 . Hoạt động của bộ định thời Timer:
4.1 Giới thiệu bộ Timer trong 8051:
Bộ Timer là một dãy các flip - flop chia 2, chúng nhận một tín hiệu đưa vào như là nguồn đồng hồ. Tín hiệu từ nguồn đồng hồ đưa vào flip flop thứ nhất, và ngõ ra của flip flop thứ nhất được đưa vào flip flop thứ 2 và cứ thế tiếp tục. Mỗi tầng kế tiếp nhau được chia cho 2, nên bộ định thời n tầng sẽ chia tầng số tín hiệu đồng hồ cho 2n. Ngõ ra của tầng cuối cùng dùng để điều khiển flip flop tràn, còn gọi là cờ tràn, nó được kiểm tra bởi phân mềm và thường dùng để tạo ra một ngắt. Giá trị nhị phân trong các flip flop hiểu là các xung đồng hồ được đếm khi bộ định thời hoạt động. Các bộ đếm sẽ thực hiện đếm lên từ giá trị nạp vào thanh ghi THx và TLx, cho đến FFFFh và cơ tràn được bật và bộ đếm lại lấy giá trị trong thanh ghi THx và THx. Ban đầu mật định giá tri trong thanh ghi THx và TLx là 0000h.
Trong 8051 có 2 bộ định thời 16 bít, mỗi bộ có 4 chế độ hoạt động nó thường được sử dụng:
Tạo ra tốc độ baud cho việc truyền thông nối tiếp.
Đếm sự kiện và đo khoảng thời gian trôi qua giữa các sự kiện.
Để truy cập vào bộ định thời ta dùng 6 thanh ghi sau:
SFR
Mục đích
Địa chỉ
Chế đô địa chỉ bít
TCON
Điều khiển
88h
Có
TMOD
Định Mode
89h
0
TL0
Byte thấp của Timer0
8Ah
0
TL1
Byte thấp của Timer1
8Bh
0
TH0
Byte cao của Timer0
8Ch
0
TH1
Byte cao của Timer1
8Dh
0
Hình 3.23: Các thanh ghi chức năng đặc biệt của bộ định thời.
Thanh ghi kiểu thời gianTMOD:
Bit
Tên
Timer
Chức năng
7
GATE
1
Nếu GATE=1và INT1 cao thì Timer1 mới hoạt động
6
C/T
1
Bít chọn Counter/Timer
5
M1
1
Bit chọn Mode
4
M0
1
Bit chọn Mode
3
GATE
0
Bit GATE của Timer0
2
C/T
0
Bít chọn Counter/Timer
1
M1
0
Bit chọn Mode
0
M0
0
Bit chọn Mode
Hình 3.24: các bit trong thanh ghi TMOD
4.3 Thanh ghi điều khiển định thời TCON :
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TCON chứa các bít tình trạng và các bít điều khiển cho Timer0 và Timer1.
TF0, TF1: cờ tràn bật bởi phần cứng khi sảy ra tràn và được xoá bởi phần mềm hoặc phần cứng khi sử dụng ngắt.
TR0, TR1: điều khiển chạy cho Timer0 và Timer1. Bật xoá bởi phần mềm.
IE0, IE1: cờ phát hiện ngắt từ bên ngoài, được xoá bởi phần mềm hoặc phần cứng khi sử dụng ngắt.
IT0, IT1: chọn lựa cách tác động của ngắt bên ngoài là tác động mức thấp hay tác động sườn âm.
Nguồn đồng hồ:
Có thể định nhịp bởi 1 trong hai nguồn đồng hồ, việc lựa chọn này bằng cách ghi vào C/T trong thanh ghi TMOD khi mà bộ định thời được thiết lập. Một nguồn đồng hồ dùng để xác định khoảng thời gian và nguồn kia dùng để đếm sự kiện.
Nếu C/T= 0, Timer nhận xung từ từ bộ dao động bên trong chíp, và được chia cho 12 để tạo ra xung hợp lí phù hợp cho các ứng dụng. Các thanh ghi THx và TLx được tăng lên sau mỗi xung nhịp có tần số 1Mhz nếu bộ dao động nội hạt có tần số là 12Mhz. Hiện tượng tràn sảy ra phụ thuộc vào giá trị nạp vào thanh ghi THx và TLx.
Nếu C/T=1, bộ định thời được định nhịp bởi nguồn từ bên ngoài thông qua 2 chân P3.4(T0) và P3.5(T1). Trong hầu hết các ứng dụng, nguồn bên ngoài này cung cấp cho Timer một xung vào lúc xảy ra một sự kiện nào đó, lúc này bộ Timer là bộ đếm sự kiện. Số các sự kiện được xác định bởi phần mềm bằng cách đọc các thanh ghi định thời TLx/THx, bởi vì giá trị 16bit trong các thanh ghi này tăng lên sau mỗi sự kiện.
0= Up (Interval Timing)
1= Down (Event Counting)
On - chip Oscillator
¸12
Timer Clock
T0 or T1 pin
C/T
Hình 3.25: Nguồn đồng hồ
5. Hoạt động của cổng nối tiếp:
5.1 Giới thiệu chung:
Bộ vi điều khiển có chứa một cổng nối tiếp ở bên trong, nó có thể hoạt động ở 4 Mode khác nhau. Chức năng chủ yếu của cổng nối tiếp là thực hiện việc chuyển đổi từ song song sang nối tiếp để xuất dữ liệu ra, và từ nối tiếp sang song song để nhập dữ liệu vào thông qua 2 chân P3.1 (TXD) và P3.0 (RXD).
Cổng nối tiếp có tính năng hoạt động kép, tức là cùng một lúc có thể truyền và nhận dữ liệu, ngoài ra 8051 còn sử dụng cơ chế bộ đệm cho phép một ký tự được nhận vào và lưu trữ trong bộ đệm trong khi nhận vào ký tự thứ 2. Nếu CPU đọc ký tự đầu tiên trước khi ký tự thứ 2 được nhận đầy đủ thì dữ liệu sẽ không bị mất.
Hoạt động ghi vào SBUF sẽ nạp vào dữ liệu để truyền đi, và hoạt động đọc SBUF truy cập vào phần dữ liệu nhận được. Thật sự SBUF là 2 thanh ghi khác biệt và tách rời nhau, thanh ghi phát chỉ ghi và thanh ghi nhận chỉ đọc.
Tần số hoạt động của cổng nối tiếp hay tốc độ baud có thể cố định (được cấp bởi bộ dao động nội của 8051) hay thay đổi. Timer 1 được sử dụng làm nguồn phát tốc độ baud có thể thay đổi được bằng cách lập trình cho nó.
5.2 Thanh ghi điều khiển cổng nối tiếp SCON:
Chế độ hoạt động của cổng nối tiếp trong 8051 được thiết lập bằng thanh ghi điều khiển cổng nối tiếp SCON.
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
Hình 3.26: Các bit trong thanh ghi điều khiển cổng nối tiếp SCON.
SM0, SM1: là 2 bit thiết lập mode hoạt động cho cổng nối tiếp
SM2: Bit mode cho phép chế độ truyền thông đa xử lý trong mode2 và mode3. Ri sẽ không được kích hoạt nếu nhận được bit thứ 9 là bit 0
REN: Bit cho phép nhận, phải được bật bởi chương trình để nhận ký tự
TB8: Chứa bit thứ 9 được truyền đi trong mode2 và mode3
RB8: Nơi nhận bit thứ 9 trong mode2 và mode3
TI: Cờ ngắt phát, được bật sau khi truyền xong bit cuối cùng của một ký tự và được xoá bởi chương trình.
RI: Cờ ngắt nhận, được bật sau khi truyền xong bit cuối cùng của một ký tự. Và được xoá bởi chương trình.
5.3 Các chế độ hoạt động (Mode):
Cổng nối tiếp của 8051 có tất cả 4 chế độ hoạt động được chọn lựa bởi các bit SM0 và SM1 trong SCON.
SM0=0, SM1=0:Mode 0 (thanh ghi dịch)
SM0=0, SM1=1:Mode 1 (8bit UART)
SM0=1, SM1=0:Mode 2 (9 bit UART)
SM0=1, SM1=1:Mode 3 (9 bit UART)
Thanh ghi dịch 8bit (Mode 0):
Trong mode 0, cổng nối tiếp hoạt động như một thanh ghi dịch 8bit. Hai chân RXD và TXD không được dùng như truyền thống, chân RXD được sử dụng cho cả dữ liệu nhập vào và dữ liệu xuất ra, còn chân TXD dùng xuất nhịp đồng hồ, bit LSB được truyền hay nhận đầu tiên trong 8 bit.
Hoạt động nhận dữ liệu được bắt đầu khi bit cho phép nhận REN bật 1 và bit ngắt RI bị xoá về 0. Khi RI bị xoá,các xung đồng hồ được ghi ra đường TXD, tại thời điểm bắt đầu của một chu kỳ máy và dữ liệu sẽ được dịch chuyển vào ngõ RXD bởi nhịp đồng hồ.
Tốc độ baud = 1/12 (tần số của bộ dao động nội).
Chế độ 8bit UART với tốc độ baud thay đổi (Mode 1):
Trong mode 1, cổng nối tiếp của 8051 hoạt động như là một bộ 8bit UART có tốc độ baud thay đổi. 10bit được phát đi trên đường TXD hoặc được nhận vào ngõ RXD. Chúng bao gồm một bit Start (luôn luôn ở mức 0), tiếp theo là 8bit dữ liệu (bit LSB ở đầu ), và bit Stop cuối cùng (luôn luôn là 1). Chu kỳ của mỗi bit là số nghịch đảo của tốc độ baud. Tốc độ baud được thiết lập bởi mức tràn Timer 1.
Hoạt động phát được khởi đầu bằng cách ghi vào SBUF. Dữ liệu được chuyển dịch ra ngõ TXD bắt đầu bởi bit Start, tiếp theo là 8bit dữ liệu và kết thúc bằng bit Stop. Cờ ngắt phát được đi TI được bật ngay khi bit Stop xuất hiện ở chân TXD.
Hoạt động nhận được khởi đầu bằng sự chuyển đổi từ 1 qua 0 tại ngõ RXD. Giả thiết rằng một bit Start hợp lệ đã được phát hiện, sau đó bit Start bị bỏ qua, 8bit dữ liệu được dịch chuyển vào trong thanh ghi dịch của cổng nối tiếp. Tiếp theo:
Bit thứ 9 (bit Stop) được dịch chuyển vào trong RB8 của SCON
8bit dữ liệu được nạp vào SBUF
Cờ ngắt báo hiệu nhận được (RI) bật lên.
Tốc độ baud = (tốc độ tràn Timer 1).
Ví dụ, nếu tốc độ baud là 1200 thì tốc độ tràn là:
Tốc độ tràn Timer 1 = 38,4KHz
Nếu sử dụng thạch anh 12MHz để điều khiển bộ dao động nội, thì Timer 1 được định nhịp ở mức 1MHz. Vì bộ định thời phải tràn ở tốc độ 38,4KHz và nó cũng được định nhịp ở mức 1000KHz. Như vậy cứ 1000¸38,4 = 26,04 nhịp đồng hồ thì phải xảy ra tràn một lần (làm tròn thành 26 nhịp đồng hồ). Bởi vì bộ định thời đếm lên và hiện tượng tràn xảy ra khi có sự chuyển đổi từ FFH qua 00H, một giá trị đếm 26 nhỏ hơn 0 được yêu cầu nạp vào cho TH1. Như vậy giá trị đúng là -26 tức là E6H..
Mode 9 bit UART với tốc độ baud cố định (Mode 2):
Trong mode 2, 11bit dược phát đi hay nhận gồm có: bit Start, 8bit dữ liệu, 1 bit dữ liệu thứ chín được lập trình và bit Stop. Khi phát đi thì cho dù thế nào đi nữa, bit thứ chín cũng được đặt vào TB8 trong SCON (có thể là bit Parity). Khi nhận, bit thứ chín nhận được sẽ được đặt vào RB8 trong mode 2 bằng 1/32 hay 1/64 tần số của bộ dao động nội.
Tốc độ baud = (Tần số bộ dao động nội)
Mode 9bit UART với tốc độ baud thay đổi (Mode 3):
Mode 3 cũng giống như mode 2 ngoại trừ tốc độ baud được lập trình và được cung cấp bởi bộ định thời. Thực tế thì mode 1, mode 2 và mode 3 rất giống nhau, điểm khác biệt ở đây là tốc độ baud (cố định trong mode 2, thay đổi trong mode 1 và 3) và số bit dữ liệu (8bit trong mode 1, 9bit trong mode 2 và 3).
Tốc độ baud = (Tốc độ tràn Timer 1).
On chip oscillator
¸12
Baud rate clock
(a) Mode 0
¸64
¸32
Baud rate clock
On chip oscillator
(b) Mode 2
SMOD = 0
SMOD = 1
¸64
¸32
Baud rate clock
On chip oscillator
(c) Mode 1 and Mode 3
SMOD = 0
SMOD = 1
Hình 3.27: Nguồn đồng hồ cho cổng nối tiếp
Truyền thông đa xử lý
Các chế độ 2 và 3 là các chế độ dự phòng cho việc truyền thông đa xử lý. Trong các chế độ này, 9 bit dữ liệu được thu và bit thứ 9 được đưa đến RB8. Port có thể được lập trình sao cho khi bit Stop được nhận, ngắt do port được tích cực khi chỉ nếu RB8 =1. Đặc trưng này có được bằng cách set bit SM2 trong thanh ghi SCON bằng 1. Đặc trưng này được ứng dụng trong mô hình mạng sử dụng nhiều 8051 được sắp xếp theo mô hình chủ/tơ ( master/slave ) như trình bày trong hình vẽ:
Master 8051
TXD
P0 P1 P2 P3
8051 Slave1
RXD
P0 P1 P2 P3
8051 Slave2
RXD
32 I/O lines
32 I/O lines
3. Hệ thống ngắt:
Khi bộ xử lý chủ muốn truyền một khối dữ liệu đến một trong nhiều bộ xử lý tớ, trước tiên bộ xử lý chủ phát đi một byte địa chỉ nhận dạng bộ xử lý tớ đích. Một byte địa chỉ khác với một byte dữ liệu ở chỗ bit thứ 9 là một trong byte địa chỉ và là 0 trong byte dữ liệu. Một byte dịa chỉ ngắt tất cả các bộ xử lý tớ để cho mỗi một bộ xử lý tớ có thể khảo sát byte nhận được để kiểm tra xem có phải là bộ xử lý tớ đang được định địa chỉ không. Bộ xử lý tớ được định địa chỉ sẽ xóa bit SM2 của mình và chuẩn bị nhận các byte dữ liệu theo sau. Các bộ xử lý tớ không được định địa chỉ có các bit SM2 của chúng được set bằng 1 và thực thi công việc riêng của chúng, bỏ qua khong nhận các byte dữ liệu. Các bộ xử lý này sẽ được ngắt lần nữa khi bộ xử lý chủ phát tiếp byte địa chỉ kế. Khi liên kết đã được thiết lập trạm tớ có thể phát đến trạm chủ bằng cách không sử dụng bit dữ liệu thứ 9 .
6. Hệ thống ngắt:
6.1 Giới thiệu chung:
Ngắt đóng vai trò quan trọng trong việc thiết kế và thực hiện các ứng dụng của vi điều khiển. Chúng cho phép hệ thống đáp ứng một cách không đồng bộ đến 1 sự kiện và giải quyết sự kiện đó khi chương trình khác đang chạy.
Khi một ngắt xảy ra thì chương trình chính tạm thời dừng công việc đang thi hành và rẽ nhánh sang ISR, tiếp theo ISR hoạt động để đáp ứng yêu cầu của ngắt, và nó sẽ kết thúc bằng lệnh quay về, chương trình chính sẽ hoạt động tiếp tục tại ngay sau điểm rẽ nhánh. Chương trình chính thực hiện ở mức cơ bản (base - level), còn ISR thực hiện ở mức ngắt (Interrup - level).
a) Quá trình thực hiện chương trình mà không có ngắt
t
Chương trình chính
ISR
ISR
CT chính
CT chính
CT chính
t
Thực hiện ISR
Quay trở lại CT chính
b) Quá trình thực hiện chương trình có ngắt
Hình 3.28: Trình tự thực hiện chương trình không có ngắt và có ngắt
6.2 Tổ chức ngắt của 8051:
Có tất cả là 5 nguồn ngắt trên 8051: 2 ngắt ngoài, 2 ngắt bộ định thời và 1 ngắt cổng nối tiếp. Tất cả các ngắt đều bị cấm sau khi hệ thống khởi động và được bật riêng lẻ bởi phần mềm. Có thể truy cập đến các ngắt thông qua thanh ghi cho phép ngắt IE.
Độ ưu tiên của ngắt:
Mỗi một nguồn ngắt có thể được lập trình để đạt được một trong 2 mức ưu tiên thông qua thanh ghi chức năng đặc biệt có địa chỉ bit IP tại địa chỉ 0B8H. thanh ghi IP bị xóa sau khi hệ thống khởi động để đặt các ngắt ở mức ưu tiên thấp hơn so với mặc định. Trong 8051 tồn tại 2 mưc ưu tiên. Khi một ngắt có mức ưu tiên cao xuất hiện trong khi một ISR có mức ưu tiên thấp đang thi hành thì ISR đó sẽ bị ngừng lại, và ISR có mức ưu tiên cao hơn sẽ được thực hiện.
Bit
Tên
Địa chỉ bit
Chức năng 1= Enable; 0= Disable
IE.7
EA
AFH
Bit bật/tắt dùng chung
IE.6
-
AEH
Không được định nghĩa
IE.5
ET2
ADH
Cho phép ngắt Timer 2(8052)
IE.4
ES
ACH
Cho phép ngắt cổng nối tiếp
IE.3
ET1
ABH
Cho phép ngắt Timer 1
IE.2
EX1
AAH
Cho phép ngắt ngoài 1
IE.1
ET0
A9H
Cho phép ngắt Timer 0
IE.0
EX0
A8H
Cho phép ngắt ngoài 0
Hình 3.29: Các bit trong thanh ghi IE ( Interrupt Enable)
Bit
Tên
Địa chỉ bit
Chức năng 1= Enable; 0= Disable
IP.7
-
-
Không xác định
IP.6
-
-
Không xác định
IP.5
PY2
0BDH
Ưu tiên cho ngắt Timer 2
IP.4
PS
0BCH
Ưu tiên cho ngắt cổng nối tiếp
IP.3
PT1
0BBH
Ưu tiên cho ngắt Timer 1
IP.2
PX1
0BAH
Ưu tiên cho ngắt ngoài 11
IP.1
PT0
0B9H
Ưu tiên cho ngắt Timer 0
IP.0
PX0
0B8H
Ưu tiên cho ngắt ngoài 0
Cơ chế chọn lựa tuần tự:
Nếu có 2 ngắt với cùng mức ưu tiên xảy ra đồng thời, thì một cơ chế chọn lựa theo thứ tự có sẵn sẽ xác định ngắt nào được đáp ứng trước. Việc chọn lựa theo thứ tự sẽ là External 0, Timer 0, External 1, Timer 1, Serial Port, Timer 2.Hình 1.24 giới thiệu 5 nguồn ngắt, cơ cấu cho phép chung và riêng lẻ, cơ chế chọn lựa tuần tự, và các mức ưu tiên. Tình trạng của tất cả các nguồn ngắt là sẵn sàng nhờ vàobit cờ tương ứng trong thanh ghi SFR. Tất nhiên, nếu bất cứ ngắt nào bị cấm, ngắt đó sẽ không xuất hiện nhưng phần mềm vẫn có thể kiểm tra cờ ngắt. Ngắt của cổng nối tiếp có được là nhờ kết quả của phép toán OR cờ ngắt nhận được RI với cờ ngắt phát đi TI. Cũng như vậy, ngắt của Timer 2 được tạo ra bởi sự tràn bộ định thời TF2 OR với EXF2.
INT0
INT0
TF0
TF1
RI
TI
IE0
IE0
Interrupt enable
Global enable
Interrupt polloing sequence
Low priority interrupt
High priority interrupt
IP register
IE register
IT0
IT1
0
1
0
1
Hình 3.30: Cấu trúc hệ thống ngắt trong 8051
6.3 Quá trình xử lý ngắt:
- Khi một ngắt xuất hiện và nó được CPU chấp nhận, chương trình chính bị ngừng, các hoạt động tiếp theo xảy ra như sau:
Thực hiện xong lệnh hiện hành lúc đó
Bộ đếm chương trình PC được lưu vào trong Stack
Lưu giữ tình trạng của ngắt hiện tại
Các nguồn ngắt được giữ tại mức của ngắt hiện tại
Nạp vào PC địa chỉ vector của ISR
ISR thực hiện
- ISR hoạt động để đáp lại yêu cầu của ngắt. ISR kết thúc bằng lệnh RETI có tác dụng quay trở lại chương trình chính, lệnh này sẽ nạp lại giá trị củ của PC trong ngăn xếp và khôi phục lại tình trạng của ngắt củ. Việc thực hiện chương trình chính tiếp tục diễn ra tại nơi nó tạm dừng.
Vector ngắt:
- Khi một ngắt được chấp nhận thì giá trị nạp vào trong PC gọi là vector ngắt. Nó chính là địa chỉ bắt đầu của ISR tương ứng với ngắt được chấp nhận.
- Các vector ngắt được cho trong hình 1.31. Cờ RST cũng tạo ra một ngắt nhằm khởi động lại hệ thống có vector ngắt là 0000H, nó ngắt chương trình chính và nạp vào PC giá trị mới là 0000H.
Ngắt
Cờ
Địa chỉ Vector
System reset
RST
0000H
Exernal 0
IE0
0003H
Timer 0
TF0
000BH
External 1
IE1
0013H
Timer 1
TF1
001BH
Serial Port
RI or TI
0023H
Timer 2
TF2 or EXF2
002BH
Hình 3.31: Các Vector ngắt
Phần 3. Giới thiệu các bộ biến đổi DAC, ADC:
1. Bộ biến đổi số tương tự DAC:
1.1 Giới thiệu: Bộ biến đổi số tương tự DAC là thiết bị được sử dụng rộng rãi để chuyển đổi xung số về tín hiệu tương tự.
Cấu trúc của bộ biến đổi:
VCC
VREF(-)
VREF(+)
RANGE
CONTROL
MSB LSB
A1 A2 A3 A4 A5 A6 A7 A8
COMPE
VCC
GND
I0
CURRENT SWITCH
H 2R LADDER
B CIRCUIT
NPN CURRENT
SOURCE PAIR
REFERENCE
CURRENT AMP
MSB A1 5
9 A5
10 A6
11 A7
12 AB LSB
13 VCC
14 VREF(+)
15 VREF(-)
16 COMP
A4 8
A3 7
A2 6
I0 4
VEE 3
GND 2
NC (NOTE2) 1
DAC0808
Hình3.32. Cấu trúc và sơ đồ chân của DAC0808
Ở đây ta sử dụng bộ biến đổi D/A–8 bit loại DAC0808
Các thông số cơ bản của bộ biến đổi:
Nhiệt độ hoạt động: 00 ≤ TA ≤ +750C
Điện áp nguồn cung cấp (TA = 250C):
Vcc = 5VDC
VEE = 5VDC
Dòng của nguồn cung cấp (Tất cả các bit ở mức thấp)
Icc = 2,3 ~ 22 mA
IEE = - 4,3 ~ -13mA
Dòng điện tham chiếu
Iref = 2mA
Dòng điện ra (VEE = -15V):
Io = 2 ~ 4,2mA
Công suất tiêu hao: 1000mW
Nhiệt độ lớn nhất tại mối hàn mà IC chịu được (trong 10s): 260oC
Có hai phương pháp thực hiện chuyển đổi DAC: Phương pháp trọng số nhị phân và phương pháp bậc thang R/2R. Rất nhiều mạch tích hợp DAC, trong đó có MC1408 (DAC0808) được sử dụng trong phần này, đều sử dụng phương pháp hình thang R/2R vì phương pháp này cho phép đạt được độ chính xác cao hơn. Tiêu chuẩn để đánh một bộ DAC trước hết là độ phân giải. Độ phân giải là hàm của số đầu vào nhị phân. Độ phân giải chung thường 8, 10 và 12 bit. Số bit dữ liệu đầu vào quyết định độ phân giải của bộ DAC, vì số mức đầu vào bằng 2n với n là số bit dữ liệu đầu vào. Do vậy, một bộ DAC 8 bit như DAC0808 chẳng hạn có 256 mức điện áp (dòng điện) rời rạc ở đầu ra. Tương tự như vậy, một bộ DAC 12 bit cho 4096 mức điện áp rời rạc. Cũng có các bộ DAC 16 bit song chúng rất đắt .
Ta có một số đặc tính của bộ biến đổi DAC0808:
1.2 Ghép nối DAC0808 (MC1408) với 8051:
Ở DAC0808 tín hiệu đầu vào số được chuyển thành dòng (Iout) và nếu nối điện trở tới chân Iout thì kết quả được chuyển thành điện áp, dòng tổng được cấp bởi chân Iout là một hàm của số nhị phân đầu vào D0-D7 của DAC0808 và được tính theo Iref như sau:
Iout =Iref (+++++++)
Trong đó D0 là bit thấp LSB và D7 là bit cao MSB, dòng đầu vào Iref phải được áp vào chân 14. Dòng Iref thường đặt giá trị 2,0mA. Hình vẻ giới thiệu mạch tạo tham chiếu dòng (thiết lập Iref = 2mA) bằng cách sử dụng điện áp nuôi 5V và các điện trở 1KW. Nếu Iref = 2mA, còn tất cả đầu vào nối tới DAC ở mức cao, thì dòng điện cực đại ở đầu ra là 1,99Ma.
Chuyển Iout sang điện áp ở DAC0808
R=2,5K POT
100PF
2.5K
1K
1.5K
Dải điều khiển
+5V
VREF(-)
VREF(+)
-12V
VEE
COMP
GND
8051
+5V
P1.0
P1.7
D0
D7
8051
DAC
8051
Vcc
IOUT
Điện máy hiện sóng
vout=0-10V
Nếu nối điện trở tới chân Iout thì dòng được chuyển thành điện áp và có thể kiểm tra đầu ra bằng máy hiện sóng. Tuy nhiên, như vậy sẽ làm giảm độ chính xác do bị thay đổi trở kháng vào của tải. Vì vậy, dòng ra Iref cần được cách ly bằng cách dùng khuyếch đại thuật toán với điện trở hồi tiếp R = 5kΩ. Nếu R = 5kΩ, thì khi đầu vào thay đổi nhị phân, điện áp đầu ra sẽ thay đổi:
Vout = Io*R.
Hình3.33. Nối ghép 8051với DAC0808
Sơ đồ lấy điện áp ra dùng khuếch đại thuật toán:
V0
OUTPUT
DIGITAL
INPUTS
5000K
VREF =10000V
5K
5000K
VCC =5V
VEE =-15V
MSB
LSB
12
10
11
10
9
8
7
6
5
13
14
15
2
4
16
3
0,1
LF351
DAC0808
Hình 3.34. Sơ đồ lấy điện áp ra dùng khuyếch đại thuật toán
2. Bộ chuyển đổi tương tự số ADC:
2.1 Giới thiệu: Các bộ chuyển đổi ADC được sử dụng hết sức rộng rãi. Máy tính số làm việc trên các giá trị nhị phân, tuy nhiên trong thực tế, các đại lượng vật lý đều ở dạng tương tự (liên tục ) nhiệt độ áp suất, độ ẩm, tốc độ… là một trong những đại lượng vật lý của thế giới thực mà ta thường gặp hàng ngày. Một đại lượng vật lý được chuyển về dòng điện hoặc điện áp qua một thiết bị được gọi là bộ biến đổi. Bộ biến đổi cũng có thể được xem như bộ cảm biến. Mặc dù chỉ có các bộ cảm biến nhiệt, tốc độ, áp suất, ánh sáng và nhiều đại lượng tự nhiên khác, nhưng chúng đều có một đặt điểm chung là cho ra các tín hiệu dòng điện hoặc điện áp ở dạng liên tục. Do vậy, cần một bộ chuyển đổi tương tự số để bộ vi điều khiển có thể đọc được chúng. Chip ADC được sử dụng rộng rãi hiện nay là ADC804.
2.2 Chip ADC 804:
Chip ADC804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hãng National Semiconductor. Chip này cũng được nhiều hãng khác sản xuất. Chip có điện áp nuôi +5V và độ phân giải 8bit. Ngoài độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC. Thời gian chuyển đổi được định nghĩa là thời gian mà bộ ADC cần để chuyển đổi một đầu vào tương tự thành một số nhị phân. Đối với ADC804 thời gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK R và CLK IN và không bé hơn 110µs. Sơ đồ tổng quát nối ghép ADC0804 với bộ vi điều khiển:
TRANSDUCER
DIFF INPUTS
150PF
10K
5V
20
19
4
6
7
8
9
10
1
2
3
5
11
12
13
14
15
16
17
18
BUS
ANY
PROCESSOR
CS
RD
WR
INTR
D87
D86
D85
D84
D83
D82
D81
D80
VCC
CLK R
CLK IN
VIN(+)
VIN(-)
A GND
VREF/2
D GND
A/D
Hình 3.35. Sơ đồ ghép nối ADC với bộ điều khiển
Các chân của ADC804 có các chức năng sau:
CS (Chip select): Chọn chip
Là chân chọn chip, đầu vào tích cực mức được sử dụng để kích hoạt chip ADC804.
RD (Read): Đọc
Đây là tín hiệu đầu vào, tích cực mức thấp. Có một xung cao xuống thấp đến chân RD thì dữ liệu Các bộ ADC chuyển đổi tương tự thành số nhị phân và giữ nó ở một thanh ghi trong. RD được sử dụng để cóp dữ liệu đã chuyển đổi tới đầu ra của ADC804. Khi CS=0 nếu ra dạng số 8 bit được đưa tới các chân dữ liệu DO-D7. Chân RD còn được coi là cho phép đầu ra .
WR (Write): Ghi
Chân vào tích cực mức thấp được dùng để báo cho ADC804 bắt đầu quá trình chuyển đổi. Nếu CS =0 khi WR tạo ra xung co xuống thấp thì bộ ADC804 bắt đầu tiến hành chuyển đổi giá trị đầu vào tương tự Vin về số nhị phân 8 bit.
CLK IN và CLK R
CLK IN là chân vào nối với đồng hồ ngoài được sử dụng để tạo thời gian. Tuy nhiên, 804 cũng có một bộ tạo xung đồng bộ trên chip. Để dùng đồng hồ trong (cũng còn được gọi là đồng hồ riêng) của 804 thì các chân CLK IN và CLK R được nối tới một tụ điện và các điện trở như chỉ ra ở hình dưới. Trong trường hợp này tần số đồng hồ được xác định bằng biểu thức:
Giá trị thông thường của các đại lượng trên là R = 10k, C = 150pF và tần số nhận được là f =606Hz, còn thời gian chuyển đổi sẽ là 110.
Thường mở START
Đến đèn LEDs
5
3
11
12
13
14
15
16
17
18
INTR
WR
D7
D6
D5
D4
D3
D2
D1
D0
D GND
RD
CS
CLK IN
CLK R
V ref/2
A GND
Vin(-)
Vin(+)
20
150pF
10K
10
2
1
4
19
9
8
7
6
10K
POT
+5V
ADC0804
Hinh 3.36. Sơ đồ kiểm tra ADC804 ở chế độ chạy tự do
Ngắt INTR (Interrupt)
Là chân tích cực mức thấp. Bình thường, chân này ở trạng thái cao và khi việc chuyển đổi hoàn tất thì nó xuống thấp để báo cho CPU biết là dữ liệu được chuyển đổi đã sẵn sàng để lấy đi. Sau khi INR xuống thấp, cần đặt CS=0 và gửi một xung cao xuống thấp tới chân RD để đưa dữ liệu ra.
Vin(+) và Vin(-)
Đây là hai đầu vào tương tự vi sai, trong đó Vin= Vin (+) -Vin(-). Thông thường Vin(-) được nối xuống đất và Vin (+) được dùng làm đầu vào tương tự và sẽ chuyển đổi về dạng số.
Vcc
Là chân nguồn nuôi +5V. Chân này còn dùng làm điện áp tham chiếu khi đầu vào Vref/2 (chân 9) để hở.
Vref/2
Chân 9 là điện áp đầu vào được dùng làm điện áp tham chiếu. Nếu chân này hở thì điện áp đầu vào tương tự cho ADC804 nằm trong dải 0 đến +5V. Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự mà áp đến Vin khác với dải 0 đến 5V. Chân Vref/2 được dùng để thực hiện các điện áp đầu vào có dải khác với 0 – 5V.
Ta có bảng quan hệ điện áp Vref/2 với Vin
Vref/2(V)
Vin(V)
Kích thước bước (mV)
Hở*
0 đến 5
5/256 = 19.53
2
0 đến 4
4/255 = 15.62
1.5
0 đến 3
3/255 = 11.71
1.28
0 đến 2.56
2.56/256 = 10
1
0 đến 2
2/256 = 7.81
0.5
0 đến 1
1/256 = 3.90
Ghi chú: Vcc = 5V.
Khi Vref/2 hở thì đo được ở đó khoảng 2,5V.
D0-D7
D0-D7 là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là bit thấp nhất). Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển đổi chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp.
Điện áp đầu ra có thể được tính theo công thức:
Dout =
Trong đó:
Dout là đầu ra dữ liệu số (dạng thập phân);
Vin là điện áp đầu vào tương tự;
Kích thước bước hay độ phân giải là sự thay đổi nhỏ nhất được tính bằng (2*Vref/2) chia cho 256 đối với ADC 8 bit.
Chân đất tương tự và chân đất số:
Đây là những chân đầu vào cấp chung cho cả tín hiệu số và tương tự. Đất tương tự được nối với chân đất của chân Vin tương tự, còn đất số được nối với đất của chân Vcc. Lý do có hai đất là để cách ly tín hiệu tương tự Vin khỏi các điện áp ký sinh gây ra do các chuyển mạch số đầu ra D0-D7. Việc cách ly này nhằm tăng độ chính xác của dữ liệu ra số.
Ta có một số đường đặc tính của ADC0804:
Phần 4:
` Sơ đồ mạch ghép nối giữa AT89C51 với các bộ ADC, DCA.
CHƯƠNG TRÌNH NẠP CHO MẠCH VI ĐIỀU KHIỂN
;……….......................Định nghĩa………………………………
VOLT_1 EQU 20H
VOL_2 EQU 21H
VOL_3 EQU 22H
;……..FORMAT : VOLT_1, VOLT_2, VOLT_3
DATE_READ EQU 23H
FL_FULL BIT 24H.0
;……………………..ADC0804……………………………………..
READ BIT P2.5
WRITE BIT P2.6
INTR BIT P2.7
IN_DATA EQU P1
BUT_START BIT P2.0
;……………………DAC0808……………………………………..
OUT_DATA EQU P3
ORG
MAIN:
SETB BUT_START
WAIT:
JB BUT-START, WAIT; Chờ ấn nút
CLR FL_FULL
LOOP:
JB FL_FULL, WAIT
ACALL START_ADC
ACALL START_DAC
SJMP LOOP
;…………………….CHUYEN DOI ADC…………………………….
START_ADC:
SETB READ
CLR WRITE
SETB INTR
ACALL START
ACALL GET_DATA
ACALL CONVERT
RET
,…………………………………START………………………………………..
; WR CHUYỂN TỪ MỨC THẤP LÊN CAO
; CHỜ INTR CHUYỂN SANG MỨC THẤP
, RD GỬI XUNG CAO XUỐNG THẤP
;…………………………………………………………………………………….
START:
CLR WRITE
NOP
SETB WRITE, Chuyển xung thấp
lên cao
CHECK:
JB INTR, Chờ chuyển đổi xong
;………………………………GET_DATA……………………………………….
GET_DATA:
CLR READ; Gửi xung cao xuống thấp
chờ READ
MOV A, IN_DATA, Đọc DATA
MOV DATA_READ, A
RET
,…………………………….CONVERT………………………………………….
CONVER:
MOV B, #51
DIV AB
MOV VOLT_1, A
MOV A, B
MOV B, #10
DIV AB
MOV VOLT_2, A
MOV VOLT_3, B
RET
,…………………………………………………………………………………….
START_DAC:
MOV A, DATA_READ, Nhận lại tín hiệu
khi đọc vào.
CJNE A, #0FFH, TIEP_THEO
MOV OUT_DATA, #00H
SETB FL_FULL, Báo là acqui đã đầy
SJMP END_DAC
TIEP_THEO:
SWAP A
MOV OUT_DATA, A
MOV P0, A, xuất ra LED
END_DAC:
RET
,…………………………END OF PROGRAMMER………………………….
END.
Tài liệu tham khảo
Sách điện tử công suất (tác giả: Nguyễn Bính)
Sách điện tử công suất I (tác giả: Lê Văn Doanh, Nguyễn Thế Công, Trần Văn Thịnh)
Sách điện tử công suất II (tác giả: Lê Văn Doanh, Nguyễn Thế Công, Trần Văn Thịnh)
Sách điện tử công suất (tác giả: Võ Minh Chính, Phạm Quốc Hải, Trần Trọng Minh)
Automatismes Energie Electronique Systemes. CDN-HPT 50 220 (truyền tải huế)
Sách 3PH DC 110 50 của Hyundai-Vinashin Shipyard co, ltd.
Sách CHLORIDE 3CBC 220 50 (công ty TNHH Việt Á)
Sách hướng dẩn vận hành tủ nạp PTX-SC và acqui ESG (truyền tải II)
Sách hướng dẩn vận hành tủ nạp G11, G12 và acqui axit-chì
Sách hướng dẩn vận hành tủ nạp acqui HPT (AEES)
Sách hướng dẩn vận hành tủ nạp ắc qui QD 216/80 và acqui 4OPzS200
Họ vi điều khiển 8051 (tác giả: Tống Văn On, Hoàng Đức Hải)
Sách vi điều khiển (tác giả: Nguyễn Tăng Cường, Phan Quốc Thắng)
Một số trang web tham khảo:
www.alldatasheet.com
www.google.com.vn
Các file đính kèm theo tài liệu này:
- datn_thiet_ke_bo_nap_acqui_9111.doc