Đề tài
Ứng dụng họ điều khiển ghép nối 04
LED 7 thanh để hiển thị số đo nhiệt độ
dung vi mạch LM35, ADC0808,
khoảng đo (-55 – 125)◦C
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
Mục Lục
Lời nói đầu
Với sự tiến bộ của con người, với sự phát triển của khoa học kỹ thuật thì các
nghành công nghiệp phát triển mạnh mẽ, các hệ thống ứng dụng ra đời, điều đó
cũng đặt ra yêu cầu cao về chất lượng, độ chính xác. Một trong những hệ thống
được ứng dụng nhiều nhất là: hệ thống đo điều khiển và hiển thị ra led 7
thanh.Các hệ thống đang ngày dần được tự động hóa với những kỹ thuật như vi
xử lý, vi điều khiển… đang ngày một làm cho các bộ tự động dần trở nên tốt
hơn đảm bảo yêu cầu hơn.
Trong quá trình sản xuất ở các nhà máy,xí nghiệp; quá trình điều khiển
nhiệt độ trong các phòng, hội nghị, các khu chung cư, việc đo và khống chế
nhiệt độ tự động là yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm bắt
được nhiệt độ làm việc của các hệ thống, dây chuyền sản xuất… thì giúp chúng
ta biết được tình trạng làm việc theo yêu cầu và có những xử lý kịp thời để tránh
hư hỏng và giải quyết các sự cố sảy ra.Yêu cầu của các hệ thống là phải đảm
bảo chính xác, kịp thời và nhanh, hệ thống làm việc ổn định ngay cả khi có
nhiễu và do tác động khác.
Nhóm : 6 Page 2
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
Hà Nội ngày 24 tháng 12 năm 2012
Nhóm : 6 Page 3
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
Đề tài:
Ứng dụng họ điều khiển ghép nối 04 LED 7 thanh để hiển thị số đo nhiệt
độ dung vi mạch LM35, ADC0808, khoảng đo (-55 – 125)◦C, Hệ số gồm có:
thể thay đổi được chức năng của nó bằng chương trình ngoài chứ không phát
triển theo hướng tạo ra một cấu trúc cứng chỉ thực hiện một số chức năng nhất
định như trước đây. Sau đó, các bộ vi xử lý mới liên tục được đưa ra thị trường
ngày càng được phát triển, hoàn thiện hơn trong các thế hệ về sau.
Vào năm 1972, hãng Intel đưa ra bộ vi xử lý 8 bit đầu tiên với tên Intel 8008/8
bit. Từ năm 1974 – 1975, Intel chế tạo các bộ vi xử lý 8-bit 8080 và 8085A.
Cũng vào khoảng thời gian này, một loạt các hãng khác trên thế giới cũng đã
cho ra đời các bộ vi xử lý tương tự như : 6800 của Motorola với 5000 Tranzitor,
signetics 6520, 1801 của RCA, kế đến là 6502 của hãng MOS Technology và
Z80 của hãng Zilog.
2. Các bộ vi điều khiển
2.1. Các bộ vi điều khiển và các bộ xử lý nhúng.
Trong mục này chúng ta bàn về nhu cầu đối với các bộ vi điều khiển (VĐK )
và so sánh chúng với các bộ vi xử lý cùng dạng chung Pentium và các bộ vi xử
lý 86 khác. Chúng ta cùng xem xét vai trò của các bộ vi điều khiển trong thị
trường các sản phẩm nhúng. Ngoài ra, chúng ta còn cung cấp một số tiêu chuẩn
vể cách lựa chọn một bộ vi điều khiển như thế nào.
Nhóm : 6 Page 5
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
2.2. Bộ vi điều khiển so với bộ vi xử lý cùng dùng chung
Sự khác nhau giữa một bộ vi điều khiển và một bộ vi xử lý là gì? Bộ xử lýở đây
là cá bộ vi xử lý công dụng chung như họ Intel là 86(8086, 80286, 80386,
80486 và Pentium) hoặc họ Motorola là 680 là ( 68000, 68010, 68020, 68030,
68040 vv ) Những bộ vi xử lý này không có RAM, ROM và không có các
cổng vào ra trên chíp.Với lý do đó mà chúng được gọi chung là các bộ vi xử lý
công dụng chung.
Hình: Hệ thống vi xử lý được so sánh với hệ thống vi điều khiển
a)Hệ thống vi xử lý công dụng chung
b) Hệ thống vi điều khiển
Như thiết kế hệ thống sử dụng bộ vi xử lý công dụng chung chẳng hạn
một “hệ thống trênchíp”. 8051 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có
thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bit
được chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 có tất cả 4 cổng vào-
ra I/O mỗi cổng rộng 8bit. Mặc dù 8051 có thể có một ROM trên
chíp cực đại là 64 K byte,nhưng các nhà sản xuất lúc đó đã cho
xuất xưởng chỉ với 4K byte ROM trên chíp 8051 đã trở nên phổ biến
sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng
biến thể nào của 8051 mà họ thích với điều kiện họ phải để mã lại
tương thích với 8051.Điều này dẫn đến sự ra đời nhiều phiên bản
của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp
khác nhau được bán bởi hơn nửa các nhà sản xuất. Điềunày quan trọng
là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độ và dung lương
nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051 ban đầu về
các lệnh. Điều này có nghĩa là nếu ta viết chương trình của mình cho
một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà
không phân biệt nó từ hãng sản xuất nào.
2.
Nhóm : 6 Page 7
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
• Interrupt control : Điều khiển ngắt.
• Other registers : Các thanh ghi khác.
• ROM : là loại bộ nhớ không mất dữ liệu khi mất nguồn cung cấp, được gọi là
nhớ chương trình bên trong .
• RAM : là bộ nhớ dữ liệu bên trong có dung lượng 128Byte dùng để lưu trữ dữ
liệu như biến số, hằng số, bộ đệm truyền thông.
• Timer 2, 1 , 0 : Bộ định thời 2 , 1 , 0
• CPU : Đơn vị điều khiển trung tâm.
• Oscillator : Mạch dao động.
• Bus control: Điều khiển Bus
• I/O ports: Các ports vào/ ra
lý.
Nhóm : 6 Page 9
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
- Tần số thạch anh thường dùng trong các ứng dụng là 12Mhz và 11.092MHz
(Giao tiếp với cổng COM), tần số tối đa là 24Mhz.
4. !"#$#$#%&'()#*
8051 có 4 cổng vào ra song song có tên lần lượt là P0, P1, P2, P3 tất cả các
cổng này đều là cổng ra vào 2 chiều 8 bit. Các bít của mỗi cổng là một chân trên
chíp như vậy mỗi cổng sẽ có 8 chân trên chíp. Hướng dữ liệu dùng cổng đó làm
cổng ra hay cổng vào là độc lập giữa các cổng và giữa các chân trong cùng 1
cổng.
Các chân P0 không có điện trở treo cao (pullup resistor) bên trong, mạch lái
tạo mức cao chi có khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/
dữ liệu. Như vậy với chức năng ra thông thường, P0 là cổng ra open drain, với
chức năng vào, P0 là cổng cao trở. Nếu muốn sử dụng cổng P0 làm cổng vào /ra
thông dụng thì ta phải thêm trở tử 4K7 đến 10K. Các cổng P1, P2, P3 đều có
điện trở pullup bên trong, do đó có thể dùng với chức năng cổng vào/ra thông
thường mà không cần thêm điện trở bên ngoài.
• Cổng truyền thông nối tiếp ( Serial Port) :
Cổng nối tiếp trong 8051 chủ yếu được dùng trong các ứng dụng có yêu cầu
truyền thông với máy tính, hoặc với 1 vi điều khiển khác. Liên quan đến cổng
nối tiếp chủ yếu có 2 thanh ghi : SCON và SBUF. Ngoài ra, một thanh ghi khác
là thanh ghi PCON (không đánh địa chỉ bít) có bít 7 tên là SMOD quy định tốc
độ truyền của cổng nối tiếp có gấp đôi lên (SMOD=1) hay không (SMOD=0).
Cổng có đặc điểm :
- Truyền song công : có nghĩa là tại một thời điểm có thể vừa truyền vừa nhận dữ
liệu.
- Phương thức truyền không đồng bộ: là dữ liệu được truyền đi theo từng kí tự.
- Bộ đệm truyền nhận dữ liệu đều có tên là SBUF
- SCON là thanh ghi bit được dùng để lập trình việc đóng khung dữ liệu, xác định
bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.
Các đặc điểm của chip AT89C51 được tóm tắt như sau :
• 4Kbyte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ
ghi/xóa
• Tần số hoạt động từ: 0Hz đến 24MHz
• 3 mức khóa bộ nhớ lập trình
• 2 bộ Timer/counter 16 bit
• 128 Byte RAM nội
• 4 Port xuất /nhập I/O 8 bit.
• Giao tiếp nối tiếp
• 64KB vùng nhớ mã ngoài
Nhóm : 6 Page 11
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
• 64KB vùng nhớ dữ liệu ngoại
• 4µs cho hoạt động nhân hoặc chia
Chương 3: CHUẨN RS232
1.
Được xây dựng phục vụ chủ yếu trong việc ghép nối điểm – điểm giữa hai
thiết bị đầu cuối (DTE, Data Terminal Equipment).mặc dù tính năng hạn chế
nhưng chuẩn RS232 có từ lâu đời nhất vì thế nên nó được sử dụng rộng rãi.
Ngày nay mỗi máy tính cá nhân có vài cổng RS232( cổng com) có thể sử dụng
nối các thiết bị ngoại vi hoặc với các máy tính khác.
2. ./#01234565
+ Khả năng chống nhiễu của các cổng nối tiếp cao
+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công
nối tiếp
6789:/;<=>#?4565
+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-15V.
Hiện nay đang được cố định trở kháng tải trong phạm vi từ-7000Ω- 3000Ω
diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit
được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ
bit và tốc độ baud là phải đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400,
4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường
dùng tốc độ là 19200, Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử
dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền
1 bit. Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì
thời gian chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc Baud và
khoảng cách truyền.
c) Bit chẵn lẻ hay Parity bit
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm
tra lỗi khi truyền dữ liệu là bổ xungthêm dữ liệu được truyền để tìm ra hoặc
sửa một số lỗi trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một
kỹ thuật kiểm tra chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các
bit "1" được gửi trongmột khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9
Nếu như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường
hợp không mắc lỗi vì thế không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa
Nhóm : 6 Page 13
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
lỗi này không được sử dụng trong trường hợp có khả năng một vài bit bị mắc
lỗi.
4. & CDE565
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi.
Max232 là IC của hãng Maxim. Đây là IC chay ổn định và được sử dụng phổ
biến trong các mạch giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp
(12K hay 10K) và tích hợp trong đó hai kênh truyền cho chuẩn RS232. Dòng
tín hiệu được thiết kế cho chuẩn RS232 . Mỗi đầu truyền ra và cổng nhận tín
LED). Thông thường trong các mạch thiết kế thực tế người thiết kế thường
hay sử dụng loại Anot chung. Phương pháp ghép nối là cấp dòng, đảo trạng
thái thông qua đệm và quét LED
2. H31<F0G
Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có
thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số và các ký
tự mong muốn.Các ICs điều khiển đều khó khả năng sinh dòng kém tức là
dòng đầu ra của các chân ICs nhỏ hơn khả năng nuốt dòng. Do vậy, nếu ghép
nối trực tiếp các net với các chân cổng IC thì loại Anode chung là thích hợp
hơn cả. Cần phải chú ý dòng dồn về ICs quá mức chịu được thì cũng không
được vì làm nóng và dei ICs điều khiển
* 2 cách ghép nối thường dùng:
+ Cách 1 : Dùng trực tiếp các chân điều khiển (vi xử lý)
Nhóm : 6 Page 15
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
Đối với cách này thì nhìn thì rất tốn chân của vi xử lý. Và dòng của LED sẽ
dồn tất cả về vi xử lý. Nếu một hệ thống lớn thì cách này không ổn vì ảnh
hưởng đến vi xử lý và nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn
tới chết ( chúng ta tưởng tượng xem nếu mà hệ thống nhiều phần điều khiển từ
các chân vi xử lý mà tất cả các tải điều khiển dồn trực tiếp dòng về vi xử lý thì
lúc đó dòng trong 1 thời điểm khá lớn vượt quá ngưỡng cho phép của vi xử lý.
Dòng mà vi xử lý chịu đựng được cũng khá nhỏ đâu dưới 100mA ). Các
này chỉ dùng được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản
như hiện thị LED, đếm số từ 0 đến 9 chả hạn.
+ Cách 2 : Dùng IC giải mã BCD sang LED 7 thanh
Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7. Đối với
cách này thì trông rất ổn. Vừa tiếp kiệm được chân vi xử lý và tránh được dòng
dồn về vi xử lý (dòng ở đây được dồn về 7447). Đây là cách mà người thiết kế
thường dùng trong các hệ thống cần đến hiện thị.
Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị
Nhóm : 6 Page 17
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
123 sẽ được hiện thị lên 3 LED đó. Đó là thuật toán quét LED dựa vào hiện
tượng lưu ảnh trong mắt khi chúng ta quét với tần số lớn.
Như vậy đối với phương pháp này chúng ta tiếp kiệm được một số lượng
lớn chân vi xử lý và đồng thời tiếp kiệm được năng lượng tiêu thụ do phương
pháp quét LED trong thời gian ngắn. Khi đó tối đa trong 1 thời điểm có 1 LED
sáng toàn bộ thôi. Cần phải tính toán giá trị dòng vào cho LED sao cho LED
sáng đẹp bằng cách thêm bớt điện trở.
CHƯƠNG 5: CẢM BIẾN NHIỆT LM35 VÀ IC ADC0808
1. Giới thiệu về cảm biến nhiệt độ LM35
LM35 là cảm biến nhiệt độ bán dẫn thông dụng của hãng National
Semiconductor .
Đặc tính của LM35 :
• Chuẩn hóa theo thang đo nhiệt đọ Cesius
• Đầu ra tuyến tính 10mV/1độC
• Dải nhiệt độ đo được từ -55 tới 150 độ tùy theo kiểu đóng vỏ
• Dòng tiêu thụ rất nhỏ cỡ 60uA, nên nhiệt tự tỏa rất nhỏ hầu như không
ảnh hưởng đến kết quả đo.
• Sai số nhỏ , chỉ khoảng 0.5độ C
2. Giới thiệu về ADC0808
Nhóm : 6 Page 18
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
Bộ adc0808 là ic cmos tích hợp 8 bộ chuyển đổi tương tự số 8 bít. Bộ
chọn kênh được giải mã qua 3 chân điều khiển tương tích
Với :
IN0 tới IN7 : 8 ngõ đầu vào tương tự
DDR A,B,C : là 3 chân giải mã chọn 1 trong 8 ngõ vào
Z1 tới Z8 : ngõ ra song song 8 bit
ALE : Cho phép chốt yêu cầu
Trường ĐHCN Hà Nội BTL VI XỬ LÝ GVHD: Ts. Nguyễn Thu Hà
ALE
START
INTR
START
ALE
INTR
d0
d1
d2
d3
d4
d5
d6
d7
d7
d6
d5
d4
d3
d2
d1
d0
EN
EN
TH1
TL1
TH1 TL1
XTAL2
18
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
IN4
2
IN5
3
IN6
4
IN7
5
START
6
OUT5
8
EOC
7
OE
9
CLOCK
10
OUT2
20
OUT7
14
OUT6
15
OUT8
17
OUT4
18
OUT3
19
STOP
C1
10u
R3
10k
X1
12MHZ
C2
33p
C3
33p
Q3
NPN
Q4
NPN
Q5
NPN
Q6
NPN
• Phân tích mạch :
Cảm biến nhiệt LM35 được nối với đầu vào IN0 tương ứng với chân chọn
địa chỉ đầu vào ADD A = ADD B = ADD C = 0;
Đầu ra số của ADC0808 được nối với Port 1 của 8051 .
Vì cảm biến LM35 làm loại LM35DZ với dải nhiệt độ max là 128 độ C
nên giá trị điện áp max là 1.28V tương ứng với giá trị số đầu ra là 255.= >
cần đưa điện áp tham chiếu Vref(+) = 1.28V, Vref(-) = 0.
Nguồn xung chuyển đổi clock với tần số 640Khz .
Khối hiển được nối với port P0 và được hiển thị theo phương pháp quét a not.
• Hoạt động
Ta đặt cho hệ thống trong dải đo từ 15
C:0x0819 60F2 JZ C:080D
C:0x081B EC MOV A,R4
C:0x081C 7004 JNZ C:0822
C:0x081E FD MOV R5,A
C:0x081F FE MOV R6,A
C:0x0820 FF MOV R7,A
C:0x0821 22 RET
C:0x0822 C8 XCH A,R0
C:0x0823 60DB JZ C:0800
C:0x0825 2481 ADD A,#SP(0x81)
C:0x0827 C8 XCH A,R0
C:0x0828 5009 JNC C:0833
C:0x082A C3 CLR C
C:0x082B 98 SUBB A,R0
C:0x082C 6002 JZ C:0830
C:0x082E 5006 JNC C:0836
C:0x0830 020951 LJMP C:0951
C:0x0833 98 SUBB A,R0
C:0x0834 50CA JNC C:0800
C:0x0836 F582 MOV DPL(0x82),A
C:0x0838 E9 MOV A,R1
C:0x0839 29 ADD A,R1
C:0x083A 4B ORL A,R3
C:0x083B 4A ORL A,R2
C:0x083C 7005 JNZ C:0843
Nhóm : 6 Page 25