Điều khiển nhiệt độ lò điện
Trang 1Ngày nay, với sự phát triển của khoa học kỹ thuật, trong cuộc sống hằng ngày việc đo và đặt nhiệt độ theo mong muốn trong một không gian giới hạn nào đó như: trong nhà máy, xí nghiệp, trong bệnh viện, trong công ty, nhà ở,…là rất cần thiết theo nhu cầu của con người Điều đó chứng tỏ con người ngày càng muốn giao tiếp nhiều hơn với môi trường
“Điều khiển nhiệt độ lò điện” Với mục đích giữ nhiệt độ lò theo ý muốn Bên cạnh
đó tìm hiểu về kỹ thuật tương tự, kỹ thuật số và vi xử lý
những sai sót rất mong quý thầy cô bỏ qua và có hướng giúp đỡ để em có hướng đi cao hơn sau này trong lĩnh vực nghiên cứu khoa học
Em xin chân thành cám ơn:
9 Cô Đào Thị Thu Thủy đã tận tình hướng dẫn em trong suốt quá trình thực hiện đề tài này
9 Quý Thầy Cô trong Khoa Công Nghệ Điện Tử đã giúp cho em có nhiều kiến thức để thực hiện đề tài
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Chữ ký của giáo viên
Trang 3NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Chữ ký của giáo viên
Trang 4MỤC LỤC
LỜI NÓI ĐẦU - 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN - 2
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN - 3
MỤC LỤC - 4
CHƯƠNG 1: LÝ THUYẾT - 6
1 IC cảm biến nhiệt độ - 6
1.1 LM335, LM334 - 6
1.2 Đặc tính của một số IC cảm biến nhiệt thông dụng - 7
2 Bộ biến đổi ADC - 7
2.1 Sơ đồ chân ADC0804 - - 8
2.2 Chức năng các chân ADC0804 - 8
3 Tìm hiểu về P89V51RB2 - 11
3.1 Sơ đồ khối P89V51RB2 - 11
3.2 Sơ đồ chân và chức năng các chân P89V51RB2 - 12
3.2.1 Các Port - - 12
3.2.2 Các chân tín hiệu điều khiển - - 14
3.3 Tổ chức bộ nhớ - 15
3.3.1 Bộ nhớ trong - 15
3.3.1.1 Bộ nhớ ROM - 16
3.3.1.2 Bộ nhớ RAM - 16
3.3.1.3 Các thang ghi chức năng đặc biệt - 17
3.3.2 Bộ nhớ ngoài - 20
3.4 Hoạt động Reset - 22
3.5 Các tập lệnh - 23
3.6 Hoạt động của các port nối tiếp - 25
3.6.1 Thanh ghi đệm port nối tiếp (SBUF) - 25
3.6.2 Thanh ghi điều khiển Port nối tiếp SCON - 25
3.6.3 Khởi động và truy xuất các thanh ghi Port nối tiếp - 27
CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG - 29
Trang 51.1 Nhiệm vụ đặt ra - 29
1.2 Hướng giải quyết - 29
2 Thiết kế phần cứng và nguyên lý hoạt động của các khối - - 29
2.1 Khối cảm biến nhiệt và khối ADC - 29
2.2 Khối xử lý và nút nhấn - 31
2.3 Khối điều khiển quạt, đèn - 32
2.4 Khối hiển thị - 33
2.5 Khối nguồn - 33
2.6 Sơ đồ nguyên lý điều khiển nhiệt độ lò điện - 34
2.7 Sơ đồ mạch in điều khiển nhiệt độ lò điện - 34
3 Phần mềm và giải thuật - 35
3.1 Phần mềm - 35
3.2 Lưu đồ giải thuật - - 35
CHƯƠNG 3: ĐÁNH GIÁ – KẾT LUẬN - 37
1 Kết quả thực hiện - 37
2 Khuyết điểm - 37
3 Hướng khắc phục và phát triển - 37
PHỤC LỤC - 39
TÀI LIỆU THAM KHẢO - 46
Trang 6CHƯƠNG 1: LÝ THUYẾT
1 IC cảm biến nhiệt độ:
Là loại cảm biến dùng để chuyển tín hiệu vật lý thành tín hiệu điện dưới dạng điện áp hay dòng điện Dựa vào đặc tính rất nhạy của các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt độ tuyệt đối Sự tác động của nhiệt độ tạo
ra điện tích tự do và các lỗ trống trong chất bán dẫn Bằng sự phá vỡ các phân tử, bứt electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo xuất hiện các
lỗ trống Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo quy luật hàm mũ với nhiệt độ
1.1 LM335, LM334:
LM335 là một cảm biến thông dụng Nó hoạt động như một Diode Zener có điện áp đánh thủng tỷ lệ với nhiệt độ tuyệt đối với độ gia tăng 10mV/0K LM335 hoạt động trong phạm vi dòng từ 0,4mA ÷5mA mà không thay đổi đặc tính, điều đặc biệt
là LM335 có điện áp đầu ra tỷ lệ tuyến tính với sự thay đổi nhiệt độ đầu vào
Hình 1.1: LM335
- Ngõ ra là điện áp
- Sai số cực đại 1,50C khi nhiệt độ lớn hơn 1000C
- Khoảng nhiệt độ hoạt động: −650C→1500C
- Đáp ứng của LM335:
Trang 7
1.2 Đặc tính của một số IC cảm biến nhiệt thông dụng:
Loạt các bộ cảm biến LM35 cũng là các bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh Chúng đưa ra điện áp 10mV cho mỗi sự thay đổi 10C
2 Bộ biến đổi ADC (Analog to Digital Converter):
Các bộ chuyển đổi ADC thuộc trong những thiết bị được sử dụng rộng rãi nhất để thu dữ liệu Các máy tính số sử dụng các giá trị nhị phân, nhưng trong thế giới vật lý thì mọi đại lượng ở dạng tương tự (liên tục) Nhiệt độ, áp suất (khí hoặc chất lỏng), độ
ẩm và vận tốc và một số ít trong những đại lượng vật lý của thế giới thực mà ta 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à các bộ biến đổi Các bộ biến đổi cũng có thể coi như là các 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 cho ra các tín hiệu dạng dòng điện hoặc điện áp ở dạng liên tục Do vậy, ta cần một bộ chuyển đổi tương tự số sao cho bộ vi điều khiển có thể đọc được chúng Có hai loại được sử dụng rộng rãi nhất là ADC0809 và ADC0804
2.1 Sơ đồ chân ADC0804:
Trang 8Chíp ADC0804 là bộ chuyển đổi tương tự số trong họ các loạt ADC800 từ hãng National Semiconductor Nó cũng được nhiều hãng khác sản xuất, nó làm việc với +5V và có độ phân giải 8 bit Ngoài độ phân giải thì thời gian chuyển đổi cũng là một yếu tố quan trọng khác khi đánh giá một bộ ADC Thời gian chuyển đổi được định nghĩa như là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân Trong ADC0804 thời gian chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ
của ADC0804 được mô tả như sau:
Hình 1.3: Sơ đồ chân ADC0804
2.2 Chức năng các chân ADC0804:
được sử dụng để kích hoạt chíp ADC0804 Để truy cập ADC0804 thì chân này phải ở mức thấp
thấp Các bộ ADC chuyển đổi đầu vào tương tự thành số nhị phân tương đương với nó
và giữ nó trong một thanh ghi trong RD được sử dụng để nhận dữ liệu được chuyển đổi ở đầu ra của ADC0804 Khi CS = 0 nếu một xung cao – xuống – thấp được áp đến chân RD thì đầu ra số 8 bit được hiển diện ở các chân dữ liệu D0 – D7 ChânRD cũng được coi như cho phép đầu ra
đổi”): Đây là chân đầu vào tích cực mức thấp được dùng để báo cho ADC0804 bắt đầu quá trình chuyển đổi Nếu CS = 0 khi WR tạo ra xung cao – xuống – thấp thì bộ
Trang 9thời gian cần thiết để chuyển đổi thay đổi phụ thuộc vào tần số đưa đến chân CLK IN
và CLK R Khi việc chuyển đổi dữ liệu được hoàn tất thì chân INTR được ép xuống thấp bởi ADC0804
Chân CLK IN (chân số 4) và CLK R (chân số 19): Chân CLK IN là một chân đầu vào được nối tới một nguồn đồng hồ ngoài khi đồng hồ ngoài được sử dụng
để tạo ra thời gian Tuy nhiên ADC0804 cũng có một máy tạo xung đồng hồ Để sử dụng máy tạo xung đồng hồ trong của ADC0804 thì các chân CLK IN và CLK R được nối tới một tụ điện và một điện trở (hình 1.4) Trong trường hợp này tần số đồng hồ được xác định bằng biểu thức:
1
1,1
f RC
=
Hình 1.4: Kiểm tra ADC0804 ở chế độ chạy tự do Giá trị tiêu biểu của các đại lượng trên là R = 10kΩ và C = 150pF và tần số nhận được là f = 606kHz và thời gian chuyển đổi sẽ mất là 110μ s
Chân ngắt INTR (chân số 5): Đây là chân đầu ra tích cực mức thấp Bình thường nó ở 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 INTR xuống thấp,
ta đặt CS = 0 và gửi một xung cao xuống – thấp tới chân RD lấy dữ liệu ra của ADC0804
Chân Vin (+) và Vin (-):
Trang 10Đây là các đầu vào tương tự vi sai mà Vin = Vin(+) – Vin(-) Thông thường Vin(-) được nối xuống đất và Vin (+) được dùng như đầu vào tương tự chuyển đổi về dạng số
Chân VCC (chân số 20): Đây là chân nguồn nối +5V, nó cũng được dùng như điện áp tham chiếu khi đầu vào V REF/2 (chân số 9) để hở
Chân V REF/2 (chân số 9): Là một điện áp đầu vào được dùng cho điện áp tham chiếu Nếu chân này hở (không được nối) thì điện áp đầu vào tương tự cho ADC0804 nằm trong dãy 0 →5V (giống như chân VCC) Tuy nhiên, có nhiều ứng dụng
mà đầu vào tương tự áp đến Vin cần phải khác ngoài dãy 0→5V Chân V REF/2 được dùng để thực thi các điện áp đầu vào khác ngoài dãy 0→5V Ví dụ: Nếu dãy đầu vào tương tự cần phải là 0 →4V thì V REF/2 được nối với +2V
Hình 1.5 : Biểu diễn dãy điện áp Vin đối với các đầu vào V REF/2 khác nhau
Các chân dữ liệu D0 – D7 (Từ chân 11 đến chân 18):
Các chân dữ liệu D0 – D7 (D7 là các bit cao nhất MSB và D0 là bit thấp LSB) là các chân đầu ra dữ liệu số Đây là những chân đượ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 bị đưa xuống thấp
Để tính điện áp đầu ra ta có thể sử dụng công thức sau:
Với 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ự và độ phân dãy là sự thay đổi nhỏ nhất được tính như là (2xV REF/2) chia cho 256 đối với ADC
Trang 11sinh tạo ra việc chuyển mạch số được chính xác Trong phần trình bày thì các chân được nối chung với một đất Tuy nhiên, trong thực tế thu đo dữ liệu các chân đất này được nối tách biệt
Từ những điều trên ta kết luận rằng các bước cần phải thực hiện khi chuyển đổi
dữ liệu bởi ADC0804 là:
9 Bật CS = 0 và gửi một xung thấp lên cao tới chân WR để bắt đầu chuyển đổi
9 Duy trì hiển thị chân INTR Nếu INTR xuống thấp thì việc chuyển đổi được hoàn tất và ta có thể sang bước kế tiếp Nếu INTR cao tiếp tục thăm dò cho đến khi nó xuống thấp
xuống thấp đến chân RD để lấy dữ liệu ra khỏi chip ADC0804 Phân chia thời gian cho quá trình này được trình bày như hình 1.6
Hình 1.6: Phân chia thời gian đọc và ghi của ADC0804
3 Tìm hiểu về P89V51RB2:
Là bộ vi điều khiển của Philips Corporation Đây là một phiên bản cải tiến sử dụng CPU là bộ vi điều khiển 80C51 với nhiều tính năng vượt trội: Dung lượng ROM/RAM trên chip rất lớn, 3 Timer 16 bit + 1 Watch-dog Timer, 2 thanh ghi DPTR,
8 nguồn ngắt, PWM (Pulse Width Modulator), SPI (Serial Peripheral Interface) và đặc biệt là bộ nhớ chương trình trên chip có tính năng ISP (In-System Programming) và IAP (In-Application Programming),…
3.1 Sơ đồ khối:
Trang 123.2 Sơ đồ chân và chức năng các chân P89V51RB2:
P89V51RB2 có 40 chân trong đó 32 chân có công dụng xuất/nhập Trong 32 chân đó có 24 chân có tác dụng kép (Nghĩa là 1 chân có 2 chức năng), mỗi một đường
có thể hoạt động xuất/nhập, hoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp
Hình 1.8: Sơ đồ chân P89V51RB2
3.2.1 Các Port:
Hình 1.7: Sơ đồ khối của 89V51RB2
Trang 14P3.4 B4HT0 Ngõ vào của bộ định thời/ đếm 0.
Bảng 1.9: Bảng tóm tắt chức năng các chân của Port 3
3.2.2 Các chân tín hiệu điều khiển:
Chân PSEN\:
- PSEN (Program Store Enable): Cho phép bộ nhớ chương trình, chân số 29
- Chân PSEN\: Có chức năng là tín hiệu cho phép truy xuất (đọc) bộ nhớ chương trình (ROM) ngoài hoặc là tín hiệu truy xuất, tích cực mức thấp
- PSEN ở mức thấp trong thời gian CPU tìm - nạp lệnh từ ROM ngoài Khi CPU sử dụng ROM trong, PSEN sẽ ở mức cao
- Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nối với chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài
Chân ALE:
- ALE (Address Latch Enable): Cho phép chốt địa chỉ, chân số 30
- Chân ALE có chức năng là tín hiệu cho phép chốt địa chỉ để thực hiện việc giải đa hợp cho bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) Ngoài ra chân ALE còn là tín hiệu xuất, tích cực mức cao
- Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chíp và
có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình (PGM\)
Chân EA\:
- EA ( External Access): Truy xuất ngoài, chân số 31
- Tín hiệu vào EA\ thường được mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 89V51RB2 thi hành chương trình từ ROM nội Nếu ở mức 0, 89V51RB2 thi hành chương trình từ ROM ngoài
Trang 15- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp lập trình (Vpp = 12V – 12,5V cho 89V51RB2)
Chân Reset:
- RST (Reset): Thiết lập lại, chân số 9
- Khi ngõ vào RST đưa lên cao ít nhất 2 chu kỳ máy, 89V51RB2 thiết lập lại trạng thái ban đầu Khi ngõ vào RST ở mức thấp IC hoạt động bình thuờng
Chân XTAL1, XTAL2:
- XTAL (Crystal): Tinh thể thạch anh, chân số 18 – 19
- XTAL1: Ngõ vào mạch tạo xung clock trong chip
- XTAL2: Ngõ ra mạch tạo xung clock trong chip
- Bộ dao động được tích hợp bên trong 89V51RB2, khi sử dụng 89V51RB2 người thiết kế chỉ cần nối thêm thạch anh (Tần số thạch anh thường sử dụng là 12MHZ) và tụ
0000H
Bộ nhớ
dữ liệu
Bộ nhớ ngoài chip
Trang 16Hình 1.10: Tóm tắt các vùng nhớ của 89V51RB2
3.3.1 Bộ nhớ trong:
Bộ nhớ trong 89V51RB2 bao gồm ROM và RAM RAM trong 89V51RB2 bao gồm nhiều thành phần: RAM đa chức năng, RAM định địa chỉ bit và các dãy thanh ghi
3.3.1.1 Bộ nhớ ROM (Bộ nhớ chương trình):
Bộ nhớ chương trình dùng để lưu trữ chương trình điều khiển cho chip hoạt động
3.3.1.2 Bộ nhớ RAM (Bộ nhớ dữ liệu):
Bộ nhớ dữ liệu dùng để lưu trữ các dữ liệu và tham số
RAM đa chức năng:
- Trên hình vẽ cho thấy 80 byte RAM đa chức năng chiếm địa chỉ từ 30H đến 7FH
- Mọi địa chỉ trong vùng RAM đa chức năng đều có thể truy xuất tự do dùng kiểu định địa chỉ trực tiếp hoặc gián tiếp
RAM định địa chỉ bit:
- RAM định địa chỉ bit gồm 128 bit được định địa chỉ chứa các byte có địa chỉ từ 20H đến 2FH
- RAM định địa chỉ bit có 3 kiểu truy xuất dữ liệu: trực tiếp, gián tiếp hoặc theo từng bit
Các dãy thanh ghi:
- 32 vị trí thấp của bộ nhớ nội chứa các dãy thanh ghi Các lệnh của 89V51RB2 hỗ trợ 8 thanh ghi từ R0 – R7 thuộc dãy 0 và theo mặc định sau khi Reset
hệ thống các thanh ghi này ở các địa chỉ từ 00H đến 07H
- Các lệnh dùng các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so với các lệnh có chức năng tương ứng dùng kiểu địa chỉ trực tiếp Các dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này
Trang 17- Do có 4 dãy thanh ghi nên tại một thời điểm chỉ có một dãy thanh ghi tích cực Dãy thanh ghi tích cực có thể được thay đổi bằng cách thay đổi bit chọn dãy trong từ trạng thái chương trình PSW
3.3.1.3 Các thang ghi chức năng đặc biệt:
- Các thanh ghi nội của hầu hết các bộ vi xử lý đều được truy xuất rõ ràng bởi một tập lệnh
- Các thanh ghi nội của 89V51RB2 được cấu hình thành một phần của RAM trên chip, vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp) Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt (SFR: Special Function Register) chiếm phần trên của RAM nội từ địa chỉ 80H đến FFH
- Ngoại trừ thanh ghi A có thể được truy xuất rõ ràng còn lại hầu hết các thanh ghi chức năng đặc biệt được truy xuất bằng kiểu định địa chỉ trực tiếp
Thanh ghi từ PSW (Program Status Word):
Trang 18B (byte cao) Lệnh DIV AB sẽ lấy A chia B, kết quả số nguyên đặt vào A, số dư đặt vào B
- Thanh ghi A có địa chỉ byte là E0H và địa chỉ bit từ E0H – E7H
- Con trỏ ngăn xếp (SP: Stack Pointer) là một thanh ghi 8 bit ở địa chỉ byte
là 81H, dùng để lưu trữ tạm thời các dữ liệu Đây là thanh ghi không định địa chỉ bit Thanh ghi này chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh ngăn xếp Các lệnh trên ngăn xếp bao gồm lệnh cất dữ liệu vào ngăn xếp (PUSH) và lệnh lấy dữ liệu ra khỏi ngăn xếp (POP) Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP Đối với chip 8051 thì vùng nhớ được dùng để làm ngăn xếp được lưu giữ trong RAM nội
- Để sử dụng ngăn xếp thì ta phải khởi động thanh ghi SP (nghĩa là nạp giá trị cho thanh ghi SP) → vùng nhớ của ngăn xếp có địa chỉ bắt đầu là (SP) +1 và địa chỉ kết thúc là 7FH
- Sau khi reset IC, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên
sẽ được cất vào ô nhớ ngăn xếp có địa chỉ 08H Nếu phần mềm ứng dụng không khởi
Trang 19động SP một giá trị mới thì dãy thanh ghi 1, có thể cả 2 và 3 sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con (ACALL, LCALL) và các lệnh trở về (RET, RETI) để lưu trữ giá trị của bộ đếm chương trình khi bắt đầu thực hiện chương trình con và lấy lại khi kết thúc chương trình con
Thanh ghi port xuất nhập:
Các Port của P89V51RB2 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2 ở địa chỉ A0H, Port 3 ở địa chỉ B0H Tất cả các Port này đều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp
Thanh ghi port nối tiếp:
P89V51RB2 chứa một port nối tiếp cho việc trao đổi thông tin với các thiết bị nối tiếp như máy tính hoặc giao tiếp nối tiếp với các IC khác Một thanh ghi đệm dữ liệu nối tiếp (SBUF: Serial Buffer) ở địa chỉ 99H sẽ giữ cả dữ liệu truyền và
dữ liệu nhận Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Ngoài ra còn có thanh ghi điều khiển port nối tiếp (SCON: Serial Control) có địa chỉ byte 98H dùng để báo trạng thái và điều khiển quá trình hoạt động của port nối tiếp
Thanh ghi định thời:
89V51RB2 có chứa hai bộ định thời/bộ đếm 16 bit được dùng cho việc định thời hoặc đếm sự kiện Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao) Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao) Việc khởi động Timer được SET bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển Timer (TCON) ở địa chỉ 88H Chỉ có TCON được địa chỉ hoá từng bit
Thanh ghi ngắt:
Trang 20- Thanh ghi IE (Interrupt Enable: Cho phép ngắt) có địa chỉ byte A8H và địa chỉ bit A8H – AFH có công dụng cho phép hoặc không cho phép các ngắt hoạt động (có thể từng ngắt riêng rẽ hoặc tất cả các ngắt)
- Thanh ghi IP (Interrup Priority: Ưu tiên ngắt) có địa chỉ byte B8H và địa chỉ bit B8H – BCH có công dụng thiết lập mức ưu tiên cho các ngắt (ưu tiên thấp hoặc
ưu tiên cao)
Thanh ghi điều khiển nguồn:
Thanh ghi PCON (Power Control: Điều khiển nguồn) không có bit định
vị Nó ở địa chỉ 87H chứa nhiều bit điều khiển Thanh ghi PCON được tóm tắt như sau:
• Bit 7 (SMOD) → cho phép tăng gấp đôi tốc độ truyền dữ liệu nối tiếp (tốc độ baud) khi SMOD = 1
• Bit 6, 5, 4 → không có địa chỉ
• Bit 3, 2 (GF1, GF0) → cho phép người lập trình dùng với mục đích riêng
• Bit 1 (PD) → dùng để quy định chế độ nguồn giảm
• Bit 0 (IDL) → dùng để quy định chế độ nghỉ
Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các
IC họ MCS – 51 nhưng chỉ được thi hành trong sự biên dịch của CMOD
Kết nối và truy xuất bộ nhớ dữ liệu ngoài:
Trang 21
Hình 1.12: Sơ đồ kết nối và truy xuất bộ nhớ dữ liệu ngoài
Bộ nhớ dữ liệu ngoài là bộ nhớ đọc/ghi được cho phép bởi các tín hiệu RD\ và WR\ ở các chân P3.7 và P3.6 Lệnh dùng để truy xuất bộ nhớ dữ liệu ngoài là MOVX,
sử dụng con trỏ dữ liệu 16 bit DPTR hoặc R0, R1 làm thanh ghi chứa địa chỉ
Giải mã địa chỉ:
Nếu trường hợp ROM và RAM được kết hợp từ nhiều bộ nhớ có dung lượng nhỏ hoặc cả hai giao tiếp với chip 89V51 thì cần phải giải mã địa chỉ Việc giải
mã này cần cho hầu hết các bộ vi xử lý
địa chỉ mà chip 89V51 quản lý (0000H – FFFFH) cần phải được giải mã thành từng đoạn 8KB để chip có thể chọn từng IC nhớ trên các giới hạn 8KB tương ứng: IC1: 0000H – 1FFFH, IC2: 2000H – 3FFFH,…
IC chuyên dùng cho việc tạo tín hiệu giải mã là 74HC138, các ngõ ra của
IC này lần lượt nối với các ngõ vào chọn chip CS\ tương ứng của các IC nhớ để cho các IC nhớ hoạt động (tại một thời điểm chỉ có một IC nhớ được phép hoạt động) Cần lưu ý là do các đường cho phép IC nhớ hoạt động riêng lẻ cho từng loại (PSEN\ cho bộ
D0 – D7
A0 – A7 CS\
Trang 22R2 8K2
Các không gian nhớ chương trình và dữ liệu gối nhau:
phát sinh trong quá trình phát triển phần mềm cho 8951 Làm thế nào phần mềm được viết cho một hệ thống đích để gỡ rối nếu phần mềm chỉ có thể được thực thi từ không gian bộ nhớ chương trình chỉ đọc
Giải pháp tổng quát là cho các bộ nhớ chương trình và dữ liệu ngoài gối lên nhau Vì PSEN\ được dùng để đọc chương trình và RD\ được dùng để đọc bộ nhớ
dữ liệu, một RAM có thể chiếm không gian nhớ chương trình và dữ liệu bằng cách nối chân OE\ tới ngõ ra cổng AND có các ngõ vào là PSEN\ và RD\
3.4 Hoạt động Reset:
Hình 1.13: Hoạt động Reset
89V51RB2 có ngõ vào Reset tác động ở mức cao trong khoảng thời gian 2 chu
kỳ xung máy, sau đó xuống mức thấp để 89V51RB2 bắt đầu làm việc RST có thể kích bằng tay bởi một nút nhấn thường hở hoặc RST khi cấp nguồn
Trạng thái của các thanh ghi sau khi Reset hệ thống: