Hệ thống đo lường sốđược sử dụng vỡ cú nhiều ưu điểm: Cỏc tớn hiệu tương tự qua biến đổi thành cỏc tớn hiệu số cú cỏc xung rừ ràng ở trạng 0,1 sẽ giới hạn được nhiều mức tớn hiệu gõy sai số. Mặt khỏc, hệ thống này tương thớch với dữ liệu với mỏy tớnh, qua giao tiếp với mỏy tớnh ứng dụng rộng rói trong kỹ thuật:
Chuyển
đổi sơ cấp
Mạch
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010 43 A. Sơđồ khối: Hỡnh5.3 Sơđồ khối của một hệ thống đo lường số B. Nguyờn lý hoạt động
Đối tượng cần đo là đại lượng vật lý đưa vào cỏc đặc tớnh của đối tượng cần đo mà ta chọn một loại cảm biến thớch hợp để biến đổi thụng sốđại lượng vật lý cần đo thành đại lượng điện đưa vào mạch chế biến tớn hiệu gồm: bộ cảm biến, hệ thống khuếch đại, xử lý tớn hiệu)
Bộ chuyển đổi tớn hiệu sang số ADC làm nhiệm vụ chuyển tớn hiệu từ tớn hiệu tương tự sang số và kết nối với vi xử lý.
Bộ vi xử lý cú nhiệm vụ thực hiện những phộp tớnh và xuất ra những lệnh trờn cơ
sở trỡnh tự những lệnh chấp hành đó thực hiện trước đú.
Bộ dồn kờnh tương tự (multiplexers) và bộ chuyển đổi ADC được dựng chung tất cả cỏc kờnh. Dữ liệu nhập vào vi xử lý sẽ cú tớn hiệu chọn đỳng kờnh cần xử lý để đưa vào bộ chuyển đổi ADC và đọc đỳng giỏ trịđặc trưng của nú qua tớnh
Đại lượng đo Đại lượng đo Điều khiển chọn kờnh Hiển thị Sử dụng kết quả Cả m biế n Chế bi ến tớn hi ệu đo Dồn kờnh tương tự ADC Chế bi ến tớn hi ệu đo Cả m biế n Vi xử lý Chương trỡnh
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
44
Việc đo nhiệt độ được tiến hành nhờ cỏc dụng cụ hỗ trợ chuyờn biệt như đó giới thiệu ở phần I. Việc sử dụng cỏc IC cảm biến nhiệt đểđo nhiệt độ là phương phỏp thụng dụng được sử dụng trong bài luận văn này, nờn ởđõy chỉ giới thiệu về IC cảm biến nhiệt.
5.2.2. Chuyển đổi tương tự- số
5.2.2.1. Khỏi niệm chung
Microcontroller 8051/8031 l à một IC thuộc họ vi điều khiển MCS-51 do hóng Intel phỏt minh và chế tạo.Vào năm 1971 tập đoàn Intel đó giới thiệu 8080, bộ vi xử lớ thành cụng đầu tiờn, tiếp đú khụng lõu Motorola, RCA, MOS Technology và Zilog cũng đó giới thiệu cỏc bộ vi xử lớ tương tự : 6800, 1801, 6502 và Z80. Bản thõn cỏc vi mạch này tuy khụng cú nhiều hiệu quả sử dụng nhưng khi là một phần của một mỏy tớnh đơn board (Single Board Computer), chỳng trở thành thành phần trung tõm trong cỏc sản phẩm cú ớch dựng để nghiờn cứu và thiết kế.Năm 1976 Intel giới thiệu bộ vi điều khiển( Micro Controller) 8748, một chip tương tự như cỏc bộ vi xử
lớ và là chipđầu tiờn trong họ vi điều khiển MCS-48. 8748 là một vi mạch chứa trờn 17000 transistor bao gồm một CPU, 1K byte EPROM, 64 byte RAM, 27 chõn xuất nhập và một bộ định thời 8 bit. Sự ra đời của IC này và cỏc IC khỏc, của họ MCS- 48 đó nhanh chúng trở thành chuẩn cụng nghiệp trong cỏc ứng dụng hướng điều khiển (Control Oriented Application). Độ phức tạp, kớch thước và khả năng của bộ
vi điều khiển được tăng thờm mụt bậc quan trọng vào năm 1980 khi Intel cụng bố
chip 8051, bộ vi điều khiển đầu tiờn của họ vi điều khiển MCS-51. So với 8048,
chip 8051 chứa trờn 60000 transistor bao gồm 4K byte ROM, 128 byte RAM, 32
đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Vi điều khiển 8051 cũng như họ vi điều khiển MCS-51 là một trong những bộ vi điều khiển 8-bit mạnh và linh hoạt nhất, đó trở thành bộ vi điều khiển hàng đầu trong những năm gần đõy. Những bộ vi xử lý dựng chung thường gặp như họ Intel x86 (8086, 80286, 80386, 80486, Pentium..) hoặc họ 680x0 của Motorola (6800, 68010, 68020, 68030, 68040…). Những bộ vi xử lý này khụng cú RAM, ROM và khụng cú cỏc port I/O trờn chip, do đố khi sử dụng thiết kế hệ thống phải bổ sung thờm RAM, ROM, I/O
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
45
và cỏc bộ định thời (Timer/Counter) ngoài để cho chỳng hoạt động được. Tuy việc này làm cho hệ thống cồng kềnh, phức tạp và giỏ thành cao hơn nhưng chỳng lại cú
ưu điểm là linh hoạt hơn so với vi điều khiển.
5.2.2.2. Kiến trỳc vi điều khiển 8051
a. Tổ chức bộ nhớ
Cỏc vi điều khiển thuộc họ 8051 đều tổ chức thành 2 khụng gian chương trỡnh và dữ
liệu, hỡnh 5.4 và hỡnh 5.5 sẽ mụ tả điều này. Kiến trỳc vi xử lý 8 bit của 8051 này cho phộp truy nhập và tớnh toỏn nhanh hơn đối với khụng gian dữ liệu nhờ việc phõn chia 2 khụng gian bộ nhớ chương trỡnh và dữ liệu như trờn. Tuy nhiờn bộ nhớ
ngoài được truy nhập bởi hệ thống 16 bit địa chỉ vẫn cú thể thực hiện nhờ thanh ghi con trỏ.
Bộ nhớ chương trỡnh (ROM, EPROM) là bộ nhớ chỉ đọc, cú thể mở rộng tối đa 64Kbyte. Vúi họ vi điều khiển 89xx, bộ nhớ chương trỡnh được tớch hợp sẵn trong chip cú kớch thước nhỏ nhất là 4kByte. Với cỏc vi điều khiển khụng tớch hợp sẵn bộ
nhớ chương trỡnh trờn chip, buộc phải thiết kế bộ nhớ chương trỡnh bờn ngoài. Vớ dụ
sử dụng EPROM: 2764 (64Kbyte), khi đú chõn PSEN phải ở mức tớch cực (5V).
Hỡnh 5.4 Cấu trỳc vi điều khiển 89C51
Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trỡnh. Họ vi điều khiển 8051 cú bộ nhớ dữ liệu tớch hợp trờn chip nhỏ nhất là 128byte và cú thể mở
rộng với bộ nhớ dữ liệu ngoài lờn tới 64kByte. Với những vi điều khiển khụng tớch hợp ROM trờn chip thỡ vẫn cú RAM trờn chip là 128byte. Khi sử dụng RAM ngoài, CPU đọc và ghi dữ liệu nhờ tớn hiệu trờn cỏc chõn RD và WR. Khi sử dụng cả bộ
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
46
PSEN bởi cổng logic AND để phõn biệt tớn hiệu truy xuất dữ liệu trờn ROM hay RAM ngoài.
Bộ nhớ chương trỡnh:
Hỡnh 5.5 Cấu trỳc bộ nhớ chương trỡnh
Hỡnh 5.6 Địa chỉ cỏc ngắt trờn bộ nhớ chương trỡnh
Hỡnh 5.5 mụ tả cấu trỳc bộ nhớ chương trỡnh. Sau khi khởi động, CPU bắt đầu thực hiện chương trỡnh ở vị trớ 0000H. Hỡnh 5.6 mụ tảđịa chỉ ngắt mặc định trờn bộ
nhớ chương trỡnh. Mối khi xảy ra ngắt, con trỏ của CPU sẽ nhảy đến đỳng địa chỉ
ngắt tương ứng và thực thi chương trỡnh tại đú. Vớ dụ ngắt ngoài 0 sẽ cú địa chỉ là 0003H, khi xảy ra ngắt ngoài 0 thỡ con trỏ chương trỡnh sẽ nhảy đến đỳng địa chỉ
0003H để thực thi chương trỡnh tại đú. Nếu trong chương trỡnh ứng dụng khụng xử
dụng đến ngắt ngoài 0 thỡ địa chỉ 0003H vẫn cú thể dựng cho mục đớch khỏc (sử
dụng cho bộ nhớ chương trỡnh). Bởi vậy khi lập trỡnh bằng ngụn ngữ Assembly, phần đầu chương trỡnh bao giờ cũng phải cho chương trỡnh nhảy đến địa chỉ cao hơn địa chỉ chứa cỏc ngắt và mó lệnh viết cho cỏc ngắt thỡ phải viết đỳng địa chỉ của cỏc ngắt tương ứng.
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010 47 Bộ nhớ dữ liệu: Hỡnh 5.6 Cấu trỳc bộ nhớ dữ liệu Hỡnh 5.7 mụ tả cấu trỳc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi
điều khiển 8051. CPU sẽ dựng đến cỏc chõn RD và WR khi truy cập đến bộ nhớ dữ
liệu ngoài.
Hỡnh 5.7 mụ tả cấu trỳc bộ nhớ dữ liệu trong chip, được chia thành 3 khối là 128 byte thấp, 128 byte cao và 128 byte đặc biệt.
Hỡnh 5.8 Cấu trỳc bộ nhớ trong
Hỡnh 5.8 mụ tả cấu trỳc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển 8051. 32 byte đầu tiờn (00H-1FH) được sử dụng cho 4 bộ 8 thanh ghi R0-R7. Hai bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi điều khiển sẽ dựng trong khi thực thi chương trỡnh.
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
48
Hỡnh 5.9 Cấu trỳc 128 byte thấp của bộ nhớ dữ liệu trong
8051 chứa 210 vị trớ bitđược định địa chỉ trong đú 128 bit chứa trong cỏc byte ở địa chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần cũn lại chứa trong cỏc thanh ghi đặc biệt. Ngoài ra 8051 cũn cú cỏc port xuất/nhập cú thểđịnh địa chỉ từng
bit, điều này làm đơn giản việc giao tiếp bằng phần mềm với cỏc thiết bị xuất/nhập
đơn bit.
Vựng RAM đa mục đớch cú 80 byte đặt ởđịa chỉ từ 30H đến 7FH, bờn dưới vựng này từđịa chỉ 00H đến 2FH là vựng nhớ cú thểđược sử dụng tương tự. Bất kỳ vị trớ nhớ nào trong vựng RAM đa mục đớch đều cú thểđược truy xuất tự do bằng cỏch sử
dụng cỏc kiểu định địa chỉ trực tiếp hoặc giỏn tiếp.
Bất kỳ vị trớ nhớ nào trong vựng RAM đa mục đớch đều cú thểđược truy xuất tự
do bằng cỏch sử dụng cỏc kiểu định địa chỉ trực tiếp hoặc giỏn 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 chiếm phần trờn của Ram nội từđịa chỉ 80H đến FFH. Cần lưu ý là khụng phải tất cả 128 địa chỉ từ 80H đến FFH đều được định nghĩa mà chỉ cú 21 địa chỉđược định nghĩa.
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
49
a. Giới thiệu về vi điều khiển 8052
8052 là một phiờn bản của họ 8051. 8052 cú tất cả cỏc thụng số kỹ thuật của 8051, ngoài ra cũn cú thờm 128 byte RAM, 4KB ROM và một bộđịnh thời nữa. Như vậy, 8052 cú tổng cộng 256 byte RAM, 8KB ROM và ba bộđịnh thời.
256 BYTES CỦA RAM NỘI
Cỏc tiờu chuẩn 8.051 vi điều khiển chứa 128 bytes of Internal RAM cú sẵn cho nhà phỏt triển như là bộ nhớ làm việc cho cỏc biến và / hoặc cho cỏc hoạt động ngăn xếp. Hướng dẫn tham khảo cỏc địa chỉ trong khoảng 00h qua 7Fh tham khảo nội bộ
của 8.051 RAM, trong khi cỏc địa chỉ trong khoảng 80h qua FFh tham khảo đặc biệt chức năng ghi (SFRs).
Mặc dự cú 8052 256 bytes of Internal RAM, phương phỏp nờu trờn của referrencing họ vẫn cũn đỳng sự thật. Bất kỳ địa chỉ giữa 00h và 7Fh đề cập đến nội bộ nhớ RAM trong khi đú địa chỉ trong khoảng 80h qua FFh tham khảo SFRs. Của 8.052 bổ sung nội RAM chỉ cú thểđược gọi bằng cỏch giỏn tiếp. Giỏn tiếp giải quyết luụn luụn đề cập đến nội bộ nhớ RAM, khụng bao giờđể SFR một.
Vỡ vậy, để đọc giỏ trị chứa trong nội địa chỉ 90h RAM, nhà phỏt triển sẽ cần phải code một cỏi gỡ đú dọc theo dũng của những điều sau đõy:
MOV R0, # 90h; Thiết lập địa chỉ giỏn tiếp đến 90h MOV A, @ R0; Đọc nội dung của RAM nội trỏđến bởi R0
Đoạn mó trờn đầu tiờn giao 90h giỏ trị cho R0 đăng ký. Nú sau đú đọc, giỏn tiếp, cỏc nội dung của địa chỉ chứa trong R0 (90h). Như vậy, sau khi hai hướng dẫn cú thực hiện, cỏc ắc sẽ chứa giỏ trị của nội địa chỉ 90h RAM.
Điều rất quan trọng để hiểu rằng mó ở trờn là khụng giống như sau: MOV A, 90h; Đọc nội dung của SFR 90h (P1)
hướng dẫn này sử dụng trực tiếp giải quyết; nhớ lại rằng trực tiếp giải quyết RAM khi đọc nội địa chỉ được trong khoảng 00h qua 7Fh, và đọc một SFR khi địa chỉ được trong khoảng 80h đến FFh. Vỡ vậy trong trường hợp vớ dụ này, thứ hai, đọc hướng dẫn di chuyển giỏ trị của SFR 90h-đú sẽ xảy ra là P1 (I / O Port 1).
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
50
NEW SFRs CHO BA hẹn giờ'S 8.052
Ngoài 8.051 của tiểu chuẩn 21 SFRs, việc bổ sung thờm 8.052 một SFRs thờm 5 liờn quan đến 8.052 giờ thứ ba này. Tất cả cỏc SFRs ban đầu 8.051 chức năng chớnh xỏc như chỳng làm trong 8.051, 8.052 chỉ cần thờm cỏc SFRs mới, nú khụng thay đổi định nghĩa của cỏc SFRs tiờu chuẩn.
T2CON SFR
Cỏc hoạt động của Timer2 (T2) được kiểm soỏt gần như hoàn toàn bởi cỏc SFR T2CON, tại địa chỉ C8H. Lưu ý rằng kể từ khi SFR này là chia hết cho rằng đú là 8-bit địa BIT NAME BIT ĐỊA CHỈ Mễ TẢ 7 TF2 CFH
Timer 2 tràn. bit này được thiết lập khi T2 tràn. Khi T2 ngắt được kớch hoạt, bit này sẽ gõy ra những giỏn
đoạn đểđược kớch hoạt. bit này sẽ khụng được thiết lập nếu một trong hai TCLK hoặc RCLK bit được thiết lập.
6 EXF2 CEH
Timer 2 ngoài Cờ. Do tải lại một hoặc chụp gõy ra bởi một sự chuyển tiếp 1-0 ngày T2EX (P1.1), nhưng chỉ khi EXEN2 được thiết lập. Khi T2 ngắt được kớch hoạt, bit này sẽ gõy ra những giỏn đoạn đểđược kớch hoạt.
5 RCLK CDH
Nhận Đồng hồ hẹn giờ 2. Khi bit này được thiết lập, Timer 2 sẽđược sử dụng để xỏc định cỏc cổng nối tiếp nhận được tốc độ truyền. Khi rừ ràng, Timer 1 sẽđược sử dụng.
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
51
Timer 2 sẽđược sử dụng để xỏc định cỏc cổng nối tiếp truyền tốc độ baud. Khi rừ ràng, Timer 1 sẽđược sử
dụng.
3 EXEN2 CBH
Kớch hoạt tớnh năng hẹn giờ 2 ngoài. Khi được thiết lập, một sự chuyển tiếp 1-0 ngày T2EX (P1.1) sẽ gõy ra ảnh chụp hoặc nạp lại xảy ra.
2 TR2 CAH Timer 2 Run. Khi được thiết lập, hẹn giờ 2 sẽđược bật. Nếu khụng, nú bị tắt.
1 C/T2 C9H
Timer 2 Lượt truy cập / Interval Timer. Nếu rừ ràng, Timer 2 là một khoảng thời gian truy cập. Nếu thiết lập, Timer 2 là tăng thờm 1-0 chuyển về T2 (P1.0).
0 CP/RL2 C8H
Timer 2 Capture / Reload. Nếu rừ ràng, tựđộng tải lại xảy ra vào giờ 2 tràn, hoặc T2EX 1-0 nếu EXEN2 chuyển tiếp được thiết lập. Nếu đặt, ảnh chụp sẽ xảy ra trờn một sự chuyển tiếp 1-0 của T2EX nếu EXEN2
được thiết lập.
Bảng 2.1 Cỏc bit địa chỉ T2CON S ER
Thời gian 2 thỏng 5 được sử dụng như một mỏy phỏt điện tốc độ truyền. Điều này
được thực hiện bằng cỏch thiết lập hoặc RCLK (T2CON.5) hoặc TCLK (T2CON.4).
Với tiờu chuẩn 8.051 Time 1 là hẹn giờ chỉ cú thể được sử dụng để xỏc định tốc độ
truyền của cổng nối tiếp. Ngoài ra, tiếp nhận và truyền tải tốc độ truyền phải được giống nhau.
Với 8.052, tuy nhiờn, người sử dụng cú thể cấu hỡnh cỏc cổng nối tiếp để nhận
được ở một tốc độ truyền và truyền với nhau. Vớ dụ, nếu RCLK được thiết lập và TCLK được xúa bỏ, dữ liệu nối tiếp sẽ được nhận tại tốc độ truyền xỏc định bởi Timer 2 trong khi tốc độ truyền dữ liệu truyền đi sẽđược xỏc định bởi Timer 1. Xỏc định cỏc giỏ trị tự động tải lại-một tốc độ truyền cụ thể được thảo luận trong Serial Port hoạt động; sự khỏc biệt duy nhất là trong trường hợp của 2 Thơi gian,
Người thực hiện: Nguyễn Thị Phương Huệ Khoỏ học: 2008-2010
52
cỏc giỏ trị tựđộng tải lại, được đặt trong RCAP2H và RCAP2L, và giỏ trị là 16-bit giỏ trị hơn là một giỏ trị 8-bit.
Chỳ ý: Khi Timer 2 được sử dụng như một mỏy phỏt điện tốc độ truyền (hoặc TCLK hoặc RCLK được thiết lập), cỏc Timer 2 tràn Cờ (tF2) sẽ khụng được thiết lập.
Thời gian 2 trong tải lại-AUTO MODE
Chế độ đầu tiờn trong đú Timer 02 Thỏng 5 được sử dụng là Auto-Reload. Cỏc chếđộ tựđộng tải lại cỏc chức năng giống như Timer 0 và Timer 1 ở chếđộ tựđộng