do an truyen dong dien(1)

44
LI CM ƠN Để hoàn thành được đồ án này, đầu tiên nhóm thc hin xin được gi li cm ơn đến Ban Giám Hiu, quý Thy Cô trong trường và đặc bit là quý Thy Cô tron g khoa Cơ Đi n TTr ường Đạ i Hc Sư Ph m KThut TP.HCM, đã tn tình chdn, truyn đạt kiến thc cũng như to điu kin thun li cho nhóm thc hin trong sut quá trình hc tp va qua. Đặt bit nhóm thc hin xin chân thành cm ơn Thy Lê Tn Cường đã tn tình hướng dn, quan tâm theo dõi và động viên nhóm thc hin để hoàn thành tt đồ án tt nghip này.  Ngoài ra, nhóm thc hin đề tài cũng xin gi li cm ơn đến tt ccác bn  bè cùng khóa và người thân chung quanh đã giúp đỡ vvt cht và tinh thn để nhóm thc hin đạt được thành tích như ngày hôm nay. NHÓM THC HIN ĐỀ TÀI

Upload: coicon85

Post on 08-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 1/44

LỜI CẢM ƠN

Để hoàn thành được đồ án này, đầu tiên nhóm thực hiện xin được gởi lờicảm ơn đến Ban Giám Hiệu, quý Thầy Cô trong trường và đặc biệt là quýThầy Cô trong khoa Cơ Điện Tử Trường Đại Học Sư Phạm Kỹ ThuậtTP.HCM, đã tận tình chỉ dẫn, truyền đạt kiến thức cũng như tạo điều kiệnthuận lợi cho nhóm thực hiện trong suốt quá trình học tập vừa qua.

Đặt biệt nhóm thực hiện xin chân thành cảm ơn Thầy Lê Tấn Cường đã tậntình hướng dẫn, quan tâm theo dõi và động viên nhóm thực hiện để hoànthành tốt đồ án tốt nghiệp này.

Ngoài ra, nhóm thực hiện đề tài cũng xin gửi lời cảm ơn đến tất cả các bạn

bè cùng khóa và người thân chung quanh đã giúp đỡ về vật chất và tinh thầnđể nhóm thực hiện đạt được thành tích như ngày hôm nay.

NHÓM THỰC HIỆN ĐỀ TÀI

Page 2: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 2/44

Chương 1 : DẪN NHẬP

1.Nội dung đề tài:

Hiển thị nhiệt độ cảm biến nhiệt LM35 trên matlab thong qua cổng RS232giao tiếp với máy tính.

2.Mục đích đề tài:

Söû duïng caûm bieán nhieät ñoä theo doõi söï thay ñoåinhieät ñoä.

Keát hôïp vôùi maùy tính ghi nhaän söï thay ñoåi nhieät ñoänhaèm phaân tích ñaùnh giaù söï bieán ñoåi nhieät ñoä.

Thông qua chương trình vi điều khiển nhaèm ñaùp öùng söï thayñoåi nhieät ñoä tuøy theo muïc ñích söû duïng maø taùcñoäng taêng hay giaûm nhieät ñoä.

Môû roäng kieán thöùc veà caùc loaïi vi ñieàu khieåân môùivaø öùng duïng vaøo trong thöïc teá.

Sử dụng phần mềm matlab nhằm hiển thị giá trị nhiệt độ.

Page 3: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 3/44

Chương 2 : PHƯƠNG THỨC THỰC HIỆN

Phöông aùn thực hiện

Maïch tích hôïp.

Vi ñieàu khieån AVR coù tích hôïp boä chuyeån ñoåiADC coù khaû naêng laäp trình.

Maïch toå hôïp tích hôïp giao tiếp với máy tính thông qua cổngRS232.

Hieån thò

Hieån thò giaù trò nhieät ñoä treân Matlab

Caûm bieán nhieät ñoä

Caûm bieán nhieät ñoä LM35 vôùi ñoä nhaïy 10mV/oCdoøng ñieän tieâu thuï 60µA, phaïm vi söû duïng töø-55 oC ñeán 150 oC.

Giao tieáp maùy tínhGiao tieáp vôùi maùy tính qua coång COM

Page 4: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 4/44

Chương 3 : CƠ SỞ LÝ LUẬN

Söû duïng AVR vi ñieàu khieån vôùi khaû naêng laäp trìnhvaø tích hôïp boä chuyeân ñoåi ADC thuaän tieän trong vieäcthi coâng vaø thieát keá, ñôn giaûn hoùa phaàn cöùng.Söû duïng caûm bieán nhieät ñoä LM35 vôùi phaïm vi söûduïng roäng, doøng ñieän tieâu thuï thaáp.Giao tieáp maùy tính qua coång noái tieáp thieát bò phaàncöùng ñôn giaûn, khoaûng caùch xa 30m ñeán 50m.

Page 5: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 5/44

Khoái xöûlyùtrung taâm

Khoái nguồn

Khoái hieånthò

Khoái giaotieáp maùy

tính

Khoái ñieàukhieån coâng

suaát

Caûm bieánnhieät ñoä

o

t

A.Giôùi thieäu caùc khoái

1.Khoái trung taâm

Khoái naøy söû duïng vi ñieàu khieån ATMEGA32 cuûa

haõng Atmel vôùi caùc tính naêng:

-Vi ñieàu khieån 8 bit, coù tính naêng söû duïng cao,coâng suaát thaáp.-Coù 131 taäp leänh theo kieán truùc RISC, chuû yeáuthöïc hieän trong 1 chu kì maùy.-32x8 thanh ghi ña duïng.-16KB boä nhôù flash coù khaû naêng laäp trình ñöôïc.-512 Bytes EEPROM

-1K Byte Internal SRAM.-Nhieàu ngoõ vaøo ra (I/O Port) 2 höôùng (bi-directional).-2 boä Timer/Counters 8-bit vôùi Separate Prescalersvaø Compare Modes.-1 Timer/Counter 16-bit vôùi Separate Prescaler,Compare Mode vaø -Capture Mode.-4 keânh PWM.-8 keânh chuyeån ñoåi ADC 10-bit-8 keânh chuyeån ñoåi ñôn.

-7 keânh chuyeån ñoåi vi sai chæ ñöôïc ñoùng goùitrong TQFP .-2 keânh chuyeån ñoåi vi sai coù khaû naêng laäp trình,löïa choïn ñoä lôïi 1x, 10x, or 200x.-Giao dieän noái tieáp USART( töông thích chuaån noáitieáp RS-232)

Page 6: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 6/44

-Giao dieän noái tieáp Two-wire Serial( töông thíchchuaån I2C )-Giao dieän noái tieáp SPI Master vaø Slave.-Boä Watchdog Timer coù khaû naêng laäp trình ñöôïc

vôùi boä dao ñoäng treân chip.-Boä so saùnh Analog treân chip.……

Sô ñoà chaân cuûa ATMEGA32

Sô ñoà khoái cuûa ATMEGA32Loõi AVR keát hôïp nhöõng taäp leänh vôùi 32 thanh

ghi laøm vieäc vôùi muïc ñích chung. Caû 32 thanh ghi ñeàu

ñöôïc keát noái tröïc tieáp ñeán ALU. Cho pheùp truy xuaát 2thanh ghi laøm vieäc ñoäc laäp vôùi 1 chu kì maùy. Vôùikieán truùc RISC naøy cho pheùp CPU laøm vieäc nhanhgaáp möôøi laàn kieán truùc CISC.

Page 7: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 7/44

Page 8: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 8/44

Page 9: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 9/44

Moâ taû chaân linh kieän:VCC & GND Chaân caáp nguoàn cho vi ñieàu khieån.Port A (PA7..PA0)

Ñöôïc daønh rieâng cho ngoõ vaøo analog cuûa boä

chuyeån ñoåi ADC. Ngoaøi ra Port A coøn ñöôïc duøng nhö 1Port vaøo ra 2 höôùng neáu boä chuyeån ñoåi ADC khoângsöû duïng. Moãi chaân cuûa Port A ñöôïc cung caáp ñieäntrôû keùo leân beân trong. Boä ñeäm ngoõ ra cuûa Port Añöôïc ñieàu khieån cho caû 2 khaû naêng, sink doøng vaøsource doøng. Khi Port A söû duïng nhö ngoõ vaøo, chuùngseõ source doøng neáu ñieän trôû keùo leân beân trong tíchcöïc.Port B (PB7..PB0)

Port B ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng vôùi

ñieän trôû keùo leân beân trong. Moãi chaân cuûa Port Bñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeämngoõ ra cuûa Port B ñöôïc ñieàu khieån cho caû 2 khaûnaêng, sink doøng vaø source doøng. Khi Port B söû duïngnhö ngoõ vaøo, chuùng seõ source doøng neáu ñieän trôûkeùo leân beân trong tích cöïc. Ngoaøi ra, Port B coøn ñöôïcsöû duïng nhöõng chöùc naêng khaùc, ñöôïc trình baøy nhösau:

Port C (PC7..PC0)

Page 10: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 10/44

Port C ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng vôùiñieän trôû keùo leân beân trong. Moãi chaân cuûa Port Bñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeämngoõ ra cuûa Port C ñöôïc ñieàu khieån cho caû 2 khaû

naêng, sink doøng vaø source doøng. Khi Port C söû duïngnhö ngoõ vaøo, chuùng seõ source doøng neáu ñieän trôûkeùo leân beân trong tích cöïc. Neáu söû duïng giao tieáp

JTAG, ñieän trôû keùo leân ôû chaân PC5(TDI), PC3(TMS)vaø PC2(TCK) seõ tích cöïc thaäm chí coù Reset xaûy ra. PortC söû duïng cho giao tieáp JTAG vaø caùc tính naêng ñaëcbieät cuûa AVR ñöôïc lieät keâ ra sau ñaây:

Port D (PD7..PD0)Port D ñöôïc duøng nhö 1 Port vaøo ra 2 höôùng vôùi

ñieän trôû keùo leân beân trong. Moãi chaân cuûa Port Bñöôïc cung caáp ñieän trôû keùo leân beân trong. Boä ñeämngoõ ra cuûa Port D ñöôïc ñieàu khieån cho caû 2 khaûnaêng, sink doøng vaø source doøng. Khi Port D söû duïngnhö ngoõ vaøo, chuùng seõ source doøng neáu ñieän trôûkeùo leân beân trong tích cöïc. Ngoaøi ra, Port D coøn ñöôïcsöû duïng nhöõng chöùc naêng khaùc, ñöôïc trình baøy nhö

sau:

Page 11: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 11/44

RESETNgoõ vaøo Reset. Neáu möùc Low ñaët vaøo chaân

naøy daøi hôn ñoä roäng xung toái thieåu seõ reset AVR.Cho duø khoâng coù xung clockXTAL1 & XTAL2 Ngoõ vaøo ra cuûa boä dao ñoäng thaïchanh.AVCC

Chaân nguoàn cung caáp cho Port A vaø boä chuyeånñoåi ADC. Thöôøng ñöôïc keát noái vôùi Vcc, thaäm chí neáuADC khoâng ñöôïc söû duïng. Coøn neáu ADC ñöôïc söûduïng, neân keát noái vôùi Vcc thoâng qua 1 maïch loïcthoâng thaáp.

AREF Chaân ñieän aùp tham chieáu cho boä chuyeån ñoåiADC.

ADC (Analog to Digital Converter)Tính năng:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Caùc thanh ghi trong ADC

ADC Multiplexer Selection Register – ADMUX

Bit 7:6 – REFS1:0: Reference Selection Bits.

Page 12: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 12/44

Hai bit naøy löïa choïn ñieän aùp tham chieáu cho

ADC. Neáu nhöõng bit naøy ñöôïc thay ñoåi trong quaù trìnhchuyeån ñoåi thì söï thay ñoåi naøy seõ khoâng ñöôïc taùcñoäng cho tôùi khi quaù trình chuyeån ñoåi hoaøn taát.Ñieän aùp tham chieáu beân trong coù theå khoâng ñöôïcsöû duïng neáu ñieän aùp tham chieáu beân ngoaøi ñöôïcthieát laäp baèng caùch thieát laäp nguoàn VCC taïi chaânAREF.

Bit 5 – ADLAR: ADC Left Adjust Result.Bit ADLAR taùc ñoäng ñeán caùch bieåu dieãn keátquaû cuûa quaù trình chuyeån ñoåi ADC trong thanhghi Data Register.ADLAR=1: keát quaû ñöôïc canh theo leà traùi.ADLAR=0: keát quaû ñöôïc canh theo leà phaûi.ieäc thay ñoåi bit ADLAR aûnh höôûng ngay laäp töùcñeán keát quaû ôû Data Register, baát chaáp quaùtrình chuyeån ñoåi ñang xaûy ra hay khoâng.

Bits 4:0 – MUX4:0 : Analog Channel and Gain Selection Bits.Caùc bit naøy ñöôïc duøng ñeå löïa choïn caùc ngoõvaøo analog cho ADC. Ngoaøi ra coøn ñöôïc duøng ñeålöïa choïn ñoä lôïi cho caùc keânh vi sai. Söï thay ñoåi

nhöõng bit naøy chæ ñöôïc taùc ñoäng khi quaù trìnhchuyeån ñoåi hoaøn taát.

Page 13: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 13/44

ADC Control and Status Register A – ADCSRA

Page 14: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 14/44

Bit 7 –ADEN: ADC Enable.ADEN=1: Cho pheùp ADC hoaït ñoäng.ADEN=0: Taét ADC.

Bit 6 –ADSC: ADC Start Conversion.

Trong cheá ñoä Single Conversion, ADSC=1 seõ baétñaàu quaù trình chuyeån ñoåi. Trong cheá ñoä Free Running, ADSC=1 seõ baét ñaàusöï chuyeån ñoåi laàn ñaàu tieân. Söï chuyeån ñoåiñaàu tieân xaûy ra sau khi ADCS ñöôïc ghi leân 1 vaøsau ADC ñöôïc cho pheùp.ADCS=1 khi quaù trình chuyeån ñoåi xaûy ra vaø trôûveà 0 khi keát thuùc quaù trình chuyeån ñoåi.

Bit 4 – ADIF: ADC Interrupt Flag.ADIF=1 khi quaù trình chuyeån ñoåi hoaøn taát vaø

Data Register ñöôïc caäp nhaät. Quaù trình ngaét ADCseõ ñöôïc thöïc hieän neáu bit ADIE vaø I-bit trongthanh ghi SREG ñöôïc thieát laäp.

Bit 3 – ADIE: ADC Interrupt Enable.Khi bit naøy set leân 1 vaø I-bit trong SREG ñöôïc set.

Ngaét ADC seõ ñöôïc thieát laäp.Bits 2:0 – ADPS2:0: ADC Prescaler Select Bits.

Nhöõng bit naøy quyeát ñònh heä soá chia giöõa taànsoá XTAL vaø xung clock ngoõ vaøo ADC.

The ADC Data Register – ADCL and ADCH:ADLAR = 0

Page 15: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 15/44

ADLAR = 1

Khi quaù trình chuyeån ñoåi hoaøn taát, keát quaû seõ

ñöôïc tìm thaáy ôû 2 thanh ghi naøy. Neáu keânh vi sai ñöôïcsöû duïng, keát quaû seõ ñöôïc trình theo kieåu buø cuûa 2daïng treân.

Khi ADCL ñöôïc ñoïc, ADC Data Register seõ khoângñöôïc update cho ñeán khi ADCH ñöôïc ñoïc. Noùi caùchkhaùc, ADCL phaûi ñöôïc ñoïc tröôùc ADCH.

Special Function IO Register – SFIOR

Bit 7:5 – ADTS2:0: ADC Auto Trigger Source.Neáu bit ADATE trong thanh ghi ADCSRA ghi leân 1,

giaù trò cuûa nhöõng bit naøy seõ löïa choïn nguoàn kích choquaù trình chuyeån ñoåi ADC. Neáu ADATE bò xoùa thì caùcthieát laäp cuûa ADTS2:0 seõ khoâng coù taùc duïng.

Page 16: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 16/44

Caùch tính keát quaû cuûa quaù trình chuyeån ñoåiADC

Sau khi quaù trình chuyeån ñoåi hoaøn taát (ADIF=1),keát quaû seõ ñöôïc tìm thaáy ôû 2 thanh ghi ADCL vaøADCH.

Vôùi quaù trình chuyeån ñoåi ñôn:

Vin : ñieän aùp taïi chaân ngoõ vaøo ñöôïc choïn.Vref : ñieän aùp tham chieáuNeáu söû duïng keânh vi sai:

VPOS : ñieän aùp taïichaân ngoõ vaøo döông.

VNEG : ñieän aùp taïi chaân ngoõ vaøo aâm.GAIN : heä soá khueách ñaïi ñöôïc choïnVREF : ñieän aùp tham chieáu.

USARTBoä USART cuûa vi ñieàu khieån ATMEGA32 coù theå

hoïat ñoäng nhö moät boä truyeàn nhaän song coâng, coùnghóa laø hoaït ñoäng truyeàn vaø nhaän coù theå tieánhaønh ñoàng thôøiø( noù chöùa caùc thanh ghi truyeàn,nhaän rieâng leû).

Boä phaùt toác ñoä baud coù theå taïo ra moät soá lôùntoác ñoä baud.

Page 17: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 17/44

Boä naâng cao toác ñoä baud taïi taàn soá thaïch anhthaáp.Moãi khung döõ lieäu coù theå coù 5,6,7, 8 hoaëc 9 bitdöõ lieäu vaø 1 hoaëc 2 bit stop.

Hoã trôï boä kieåm tra bit chaên leû parity baèêngphaàn cöùng.Phaùt hieän traïng thaùi Overrun.Phaùt hieän khung truyeàn bò loãi.Loïc nhieãu, phaùt hieän loãi bit start.Cho pheùp ba ngaùêt rieâng bieät laø TX Complete, TXData Register Empty, RX Complete.

Trong truyeàn nhaän baát ñoàâng boä hoã trôï chöùcnaêng nhaân ñoâi toác ñoä.

Truyeàn döõ lieäu (5 ñeán 8 bit)Vieäc thieát laäp cheá ñoä truyeàn noái thoâng qua

vieäc thieát laäp bit TXEN (Transmit Enable) beân trongthanh chi UCSRB. Toác ñoä baud, cheá ñoä hoaït ñoäng vaøñònh daïng khung döõ lieäu phaûi ñöôïc thieát laäp tröôùckhi thöïc hieän truyeàn döõ lieäu. Neáu hoaït doïâng ôû cheáñoä ñoàng boä thì xung treân chaân XCK ñöôïc söû duïngnhö laø xung trong truyeàn döõ lieäu.

Döõ lieäu caàn truyeàn ñöa vaøo trong boä ñeäm

truyeàn baèng caùch ghi vaøo thanh ghi xuaát nhaäp UDR .Döõ lieäâu trong boä ñeäm ñöôïc ñöa vaøo thanh ghi dòchkhi thanh ghi dòch ñaõ saün saøng ñeå truyeàn moät khungdöõ lieäu môùi. Thanh ghi dich nhaän moät khung döõ lieäumôùi neáu noù ôû trong tình traïng nhaøn roãi hoaëc ngaysau khi bit stop cuûa khung döõ lieäu tröôùc ñoù ñöôïctruyeàn ñi. Khi döõ lieäu saün saøng trong thanh ghi dòch thìnoù tieán haønh truyeàn ñi vôùi toác ñoä ñöôïc thieát laäpthoâng qua thanh ghi Baud Register, bit UX2 hoaëc XCK tuøythuoäc vaøo cheá ñoä hoaït ñoäng.

Côø vaø ngaét trong truyeàn noái tieáp Truyeàn USART coù hai côø laø USART Data Register

Empty (UDRE) vaø Transmit Complete (TXC), caû côø naøycoù theå ñöôïc duøng trong ngaét. Côø UDRE baùo cho bieátboä ñeäm ñaõ saèn saøng nhaän döõ lieäu môùi . Bít naøy

Page 18: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 18/44

leân möùc moät khi boä ñeäm truyeàn trong tình traïngtroáng (nhaøn roãi) vaø bò xoùa veà khoâng khi boä ñeämchöùa döõ lieäu. Khi ngaét UDRIE (Data Register emptyInterrupt Enable) trong thanh ghi UCSRA leân möùc moät thì

xaåy ra ngaét (vôùi ñieàu kieän ngaét toaøn cuïc cho pheùp)UDRE bi xoùa veà khoâng thoâng qua vieäc ghi leân thanhghi UDR. Khi ngaét ñieàu khieån truyeàn döõ lieäu ñöôïc söûduïng, chöông trình phuïc vuï ngaét ñöôïc thöïc hieän ñeå ghidöõ lieäu môùi vaøo UDR. Coù theå khoâng duøng ngaétbaèng caùch xoùa bit UDRE ñeå caám ngaét.

Bit côø TXC (Transmit Complete) ñöôïc ñaët möùc moätkhi toaøn boä khung döõ lieäu trong thanh ghi dòch ñaõñöôïc dòch ra ngoaøi vaø khoâng coù döõ lieäu môùi xuaáthieän trong boä ñeäm truyeàn. Bit côø TXC töï ñoäng bò

xoùa khi chöông trình phuïc vuï ngaét ñöôïc thöïc thi. Bit côø TXC ñöôïc söû duïng trong giao tieáp truyeàn thoâng baùnsong coâng (nhö chaån RS485). Khi ngaét TransmitComplete cho pheùp töùc laø bit TXCIE trong thanh ghiUCSRB ñöôïc ñaët leân möùc moät khi bit TXC ñaët leânmöùc moät chöông trình phuïc vuï ngaêt ñöôïc thöïc thi vaøcôø TXC töï ñoäng bò xoùa veà khoâng

Nhaän döõ lieäu (5 ñeán 8 bit)

Vieäc nhaän döõ lieäu ñöôïc cho pheùp khi bit RXEN(Receive Enable) trong thanh ghi UCSRB ñöôïc ñaët leânmöùc moät. Toác ñoä baud, cheá ñoä hoaït ñoäng vaø ñònhdaïng khung döõ lieäu phaûi ñöôïc thieát laäp tröôùc khithöïc hieän nhaän döõ lieäu. Neáu hoaït ñoäng ôû cheá ñoäñoàng boä thì xung treân chaân XCK ñöôïc söû duïng nhö laøxung trong nhaän döõ lieäu.

Quaù trình nhaän döõ lieäu baét ñaàu khi boä nhaänphaùt hieän bit start moãi bit theo sau bit start ñöôïc laáymaãu ôû toác ñoä baud hoaëc xung XCK ñöôïc thieát laäptröôùc ñoù, vaø döõ lieäu ñöôïc dòch vaøo thanh ghi dòchcho ñeán khi bit stop ñaàu tieân cuûa khung döõ lieäu ñöôïcnhaän. Moät bit stop thöù hai seõ ñöôïc boû qua. Khi bit stopthöù nhaát ñöôïc nhaän khung döõ lieäu ñöôïc ñaët trongthanh ghi dòch sau ño döõ lieâu ñöôïc di chuyeân vaøo boä

Page 19: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 19/44

ñeäm nhaän döõ lieâu trong boä ñeäm naøy ñöôïc ñoïcthoâng qua thanh ghi xuaát nhaäp UDR.Sô ñoà khoái USART

Toác ñoä baud Tuøy vaøo cheá ñoä hoaït ñoäng maø toác ñoä baud coùtheå ñöôïc xaùc ñònh nhö sau:

Page 20: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 20/44

BAUD: toác ñoä baud (bps).f osc : taàn soá thaïch anh (Hz).

UBRR giaù trò cuûa caùc bit UBRR11:0 trong hai thanhghi UBRRH vaø UBRRL .

Caùc thanh ghi trong USART

Thanh ghi UDR - UART I/O Data Register

Thanh ghi UDR thöïc chaát laø hai thanh ghi rieâng leûveà maët vaät lyù nhöng cuøng chia seû ñòa chæ I/O gioángnhau. Thanh ghi TXB (Transmit Data Buffer Register) ñöôïcsöû duïng trong vieäc truyeàn döõ lieäu, trong nhaän döõlieäu thì döõ lieäu ñöôïc ñoïc töø thanh ghi RXB (ReceiveData Buffer Register).

Thanh ghi UCSRA – USART Control and StatusRegister A

Bit 7- RXC (USART Receive Complete)

Bit côø naøy ñöôïc ñaët leân moät khi coù döõ lieäuchöa ñöôïc ñoïc trong thanh boä ñeäm nhaän vaø bòxoùa khi boä ñeäm nhaän troáng. Bit naøy coù theåñöôïc söû duïng phaùt sinh ngaét Receive CompleteinterruptBit 6-TXD (USART Transmit Complete)

Page 21: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 21/44

Bit côø naøy ñöôïc ñaët leân möùc moät khi toaønboä khung döõ lieäu trong boä ñeäm truyeàn ñöôïc dòchheát ra ngoaøi vaø chöa coù döõ lieäu môùi xuaát hieäntrong boä ñeäm truyeàn. Bit nay töï ñoäng xoùa veà

khoâng khi ngaét Transmit Complete ñöôïc thöïc thi.Bit 5- UDRE( USART Data Register Empty)Côø UDRE baùo neáu boä ñeäm (URD) saüng

saøng nhaän döõ lieäu môùi. Neáu UDRE ôû möùc moätcoù nghóa laø boä ñeäm truyeàn troáng saün saøng choghi döõ lieäu. Côø UDRE coù theå phaùt sinh ngaét DataRegister empty Interrupt.Bit 4-FE (Frame Error)

Bit naøy ñöôïc ñaët leân möùc moät neáu kyù töï keá tieáp trong boä ñeäm nhaän chöùa moät fame loãi

trong khi nhaän döõ lieäu.Bit 3- DOR (Data OverRun)

Bit côø naøy ñöôïc ñaët leân möùc moät neáu DataOverRun ñöôïc phaùt hieän. Moät Data OverRun hoaïtkích hoaït khi boä ñeäm nhaän ñaày (hai kyù töï). Moätkyù töï ñang chöùa trong thanh ghi dòch vaø coù bitstart ñöôïc phaùt hieän. Bit naøy khoâng coù giaù tròcho ñeán khi döõ lieäu trong boä ñeäm nhaän ñöôïcñoïc. Luoân luoân xoùa bit naøy veà khoâng khi thieát

laäp thanh ghi UCSRA.Bit 2- PE ( Parity Error)Bit côø naøy ñöôïc ñaët leân möùc moät neáu tieáp

theo kyù töï trong boä ñeäm nhaän coù bít parity loãi.Luoân luoân xoùa bit naøy veà khoâng khi thieát laäpthanh ghi UCSRA.Bit 1-U2X (Double the USART Transmission Speed)

Bit naøy chæ coù taùc duïng trong cheá ñoätruyeàn baát ñoàng boä. Bit naøy bò xoùa veà khoângthì söû duïng cheá ñoä truyeàn ñoàng boä. Coøn noùñöôïc ñaët leân moät thì boä chia toác ñoä baud giaûmxuoáng töø 16 coøn 8 laøm toác ñoä truyeàn taêng leân.Bit 0-MPCM (Multi-processor Communication

Mode)

Page 22: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 22/44

Thanh ghi UCSRB – USART Control and StatusRegister B

Bit 7-RXCIE (RX Complete Interrupt Enable)Bit RXCIE ñöôïc ñaët leân moät cho pheùp ngaét,

ngaét xaåy ra khi côø RXC ñaët leân moät. Ngaêt toaøncuïc trong thanh ghi SREG ñöôïc ñaët leân moät vaø thìbit RXC trong thanh ghi UCSRA ñöôïc ñaët leân moät.Bit 6-TXCIE (TX Complete Interrupt Enable)

Bit TXCIE ñöôïc ñaët leân moät cho pheùp ngaét,ngaét xaåy ra khi côø TXC ñaët leân moät. Ngaêt toaøn

cuïc trong thanh ghi SREG ñöôïc ñaët leân moät vaø thìbit TXC trong thanh ghi UCSRA ñöôïc ñaët leân moät.Bit 5- UDRIE (USART Data Register Empty

Interrupt Enable)Bit UDRIE ñöôïc ñaët leân moät cho pheùp ngaét,

ngaét xaåy ra khi côø UDRE ñaët leân moät. Ngaêt toaøncuïc trong thanh ghi SREG ñöôïc ñaët leân moät vaø thìbit UDRE trong thanh ghi UCSRA ñöôïc ñaët leân moät.Bit 4- RXEN ( Receiver Enable)

Bit RXEN ñöôïc ñaët leân moät cho pheùp nhaändöõ lieäu. Döõ lieäu ñöôïc nhaän vaøo thoâng qua chaânRxD. Neáu boä nhaän döõ lieäu bò caám thì boä ñeämnhaän vaø caùc côø PE, DOR khoâng coù taùc duïng.Bit 3-TXEN ( Transmitter Enable)

Bit TXEN ñöôïc ñaët leân moät cho pheùp truyeàndöõ lieäu. Döõ lieäu ñöôïc truyeàn ñi thoâng qua chaânRxD. Neáu boä nhaän döõ lieäu bò caám thì boä ñeämtruyeàn khoâng coù taùc duïng.Bit 2- UCSZ2 (Character Size)

Bit UCSZ2 keát hôïp vôùi caùc bít UCSZ1:0 trongthanh ghi UCSRC thieát laäp soá bít döõ lieäu trong moätkhung trong quaù trình truyeàn nhaän.Bit 1- RXB8 (Receive Data Bit 8)

RXB8 bít thöù chín cuûa khung döõ lieäu trongnhaän döõ lieäu khi hoaït ñoäng vôùi khung döõ lieäu

Page 23: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 23/44

chín bit. Phaûi ñöôïc ñoïc tröôùc khi ñoïc caùc bit thaáptöø UDR.Bit 0-TXB8 (Transmit Data Bit 8)

TXB8 bít thöù chín cuûa khung döõ lieäu trong

truyeàn döõ lieäu khi hoaït ñoäng vôùi khung döõ lieäuchín bit. Phaûi ñöôïc ghi tröôùc khi ghi caùc bit thaáp töøUDR.

Thanh ghi UCSRC – USART Control and StatusRegister C

Bit 7 - URSEL ( Register Select)Löïa choïn giöõa vieäc truy caäp thanh ghi UCSRChoaëc thanh ghi UBRRH. Bit URSEL phaûi ñöôïc ñaëtleân moät khi thieát laäp thanh ghi UCSRC.Bit 6 – UMSEL (USART Mode Select)

Choïn cheá ñoä hoaït ñoäng ñoàng boä hoaëc baátñoàng boä.Bit UMSEL ñaët möùc moät thì hoaït ñoängñoàng boä, ôû möùc khoâng thì hoaït ñoäng khoângñoàng boä.Bit 5:4 – UPM1:0 (Parity Mode)

Thieát laäp caùc kieåu parity vaø kieåm tra.

Bit 3 – USBS (Stop Bit Select)Löïa choïn soá löôïng bit stop ñöôïc cheøn vaøo trong

khung döõ lieäu trong truyeàn döõ lieäu. Trong nhaändöõ lieäu noù ñöôïc boû qua. Bit USBS ñaët möùc moätcheøn hai bit stop, ôû möùc khoâng thì cheøn moät bitstop.Bit 2:1 – UCSZ1:0 (Character Size)

Page 24: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 24/44

Hai bit naøy keât hôïp vôùi bit UCSZ2 trong thanh ghiUCSRB thieát laäp soá bít trong moät khung döõ lieäu(Character Size).

Bit 0 – UCPOL ( Clock Polarity)Bit naøy chæ söû duïng trong truyeàn nhaän ñoàng

boä. Bit UCPOL ôû möùc khoâng khi hoaït ñoängtruyeàn nhaän khoâng ñoàng boä. Bit naøy thieát laäpmoái quan heä thay ñoåi döõ lieâu ngoõ ra vaø döõ lieäulaáy maãu, vaø xung ñoàng boä (XCK).

Thanh ghi UBRRL and UBRRH – USART Baud RateRegisters

Bit 15 – URSEL (Register Select)

Page 25: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 25/44

Löïa choïn vieäc truy xuaát giöõa hai thanh ghiUBRRH vaø UCSRC. Bit URSEL ñöôïc ñaët ôû möùckhoâng khi thieát laäp thanh ghi UBRRH.Bit 14:12 – (Reserved Bits)

Caùc bit naøy khoâng coù chöùc naêng trongATMEGA16, vaø phaûi ñöôïc xoùa veà khoâng.Bit 11:0 – UBRR11:0 (USART Baud Rate Register)

Bao goàm 12 bit, 4 bit cuûa thanh ghi UBRRH vaø 8bit cuûa thanh ghi UBRRL. Caùc bit naøy thieát laäp toácñoä baud cuûa USART.

2.Khoái caûm bieán nhieät ñoä:

LM35 laø caûm bieán duøng ñeå ño nhieät ñoä tínhtheo oC. Coù 2 loaïi thöôøng gaëp: loaïi ñoùng goùi theokieåu IC vaø kieåu plastis :

Tính naêng cuûa LM35Ñöôïc hieäu chænh tröïc tieáp thaønh oC.Heä soá chia tuyeán tính + 10.0 mV/ oC.Sai soá khoaûng 0.5 oC taïi 25 oC.Phaïm vi giôùi haïn nhieät ñoä töø −55 tôùi +150 oC.

Page 26: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 26/44

Phuø hôïp vôùi caùc öùng duïng ñieàu khieån töø xa.Giaù thaønh thaáp (15k).Hoaït ñoäng töø 4V ñeán 30V.Doøng qua khoaûng 60 µA.

Khaû naêng töï taûn nhieät thaáp, khoaûng 0.08

o

Ctrong ñieàu kieän khoâng khí laø tónh.Möùc ñoä phi tuyeán tieâu bieåu laø ±1 ⁄ 4 oC.

Trôû khaùng ngoõ ra thaáp, 0.1 Ω vôùi taûi 1 mA.

ÖÙng duïng tieâu bieåuLM35 ño nhieät ñoä ngoõ vaøo vaø xuaát tín hieäu

ñieän aùp ngoõ ra tæ leä tuyeán tính vôùi nhieät ñoä ngoõvaøo laø oC. Vì vaäy noù coù lôïi theá hôn caùc caûm bieántuyeán tính hieäu chænh theo ñoä Kelvin oK. LM35 khoâng

caàn thieát phaûi hieäu chænh hay tinh chænh beân ngoaøivì noù ñöôïc cung caáp phaïm vi chính xaùc tieâu bieåu laø±1 ⁄ 4 oC taïi nhieät ñoä phoøng vaø ±3 ⁄ 4 oC ôû nhieät ñoä töø−55 tôùi +150 oC. Trôû khaùng ngoõ ra thaáp, tuyeán tínhvaø hieäu chænh chính xaùc laøm cho vieäc ñoïc ngoõ ravaø kieåm soaùt maïch ñieän trôû neân deã daøng. LM35coù theå söû duïng nguoàn ñôn hoaëc nguoàn ñoâi vaø ruùtdoøng khoaûng 60 µA.

Nguoàn ñôn duøng ñeåño trong phaïm vi töø +2

oC tôùi +150 oC

Nguoàn ñoâi duøng ñeå ñophaïm vi töø−55 tôùi +150

oC.

Page 27: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 27/44

Bảng A.3: Thông số kỹ thuật của cảm biến nhiệt họ LM35.

Mã sản phẩm Dải nhiệt độ Độ chính xác Đầu ra

LM35A -550C đến +1500C +1.00C 10mV/0C

LM35 -550C đến +1500C +1.50C 10mV/0C

LM35CA -400C đến +1100C +1.00C 10mV/0C

LM35C -400C đến +1100C +1.50C 10mV/0C

LM35D 00C đến +1000C +20C 10mV/0C

LM35 là 1 IC cảm biến nhiệt, mạch tích hợp chính xác cao có điện áp đầu ratỷ lệ tuyến tính với nhiệt độ theo thang độ Celcius. Họ cảm biến này cũng

không yêu cầu cân chỉnh bên ngoài vì bản thân nó đã được cân chỉnh. Họnày cho ra điện áp 10mV ứng với thay đổi nhiệt độ là 10C.Bảng giới thiệumột số thông số kỹ thuật chính của họ LM35.

Hình A.3: Sơ đồ chân của cảm biến nhiệt LM35.

Vì IC cảm biến nhiệt cho ra tương ứng là +10mV/10C mà ADC có độ phângiải là 8 bit tương ứng 256 bước vì vậy ta sẽ chọn V REF cho ADC tương ứnglà 2,56 V.

Page 28: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 28/44

3.Khoái giao tieáp maùy tính

Chuaån giao tieáp RS232Chuaån RS232 söû duïng phöông thöùc truyeàn khoâng

ñoái xöùng, söû duïng tín hieäu ñieän aùp cheânh leänhgiöõa moät daây tín hieäu vaø ñaát. Möùc ñieän aùp ñöôïcsöû duïng giao ñoäng -15V ñeán +15V . Möùc logic 1 töôngñöông vôùi ñieän aùp töø -3V ñeán -15V, möùc logic 0 töôngñöông vôùi ñieän aùp töø 3V ñeán 15V. Toác ñoä laømtruyeàn nhaän khoaûng 20kps vaø phuï thuoäc vaøokhoaûng caùch. Coâng suaát phaùt töông ñoái thaáp nhôøtrôû khaùng ñaàu vaøo haïn cheá.

Chuaån RS232 loaïi 9 chaân:

Giao dieän chuaån RS232 loaïi 9 chaân ( coång COM)DCD : Phaùt hieän soùngmang.DSR : saün saøng laømvieäc.RXD :ñoïc döõ lieäuRTS : yeâu caàu truyeàn döõlieäu.

TXD : Truyeàn döõ lieäu.

CTS : saün saøng nhaän döõlieäu.DTR : saün saøng laømvieäc.RI : Baùo chuoâng.GND : 0V

Page 29: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 29/44

Chương 4 : THIẾT KẾ PHẦN CỨNG HỆ THỐNG

1.Chuẩn RS232

Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232, được gọilà cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đolường…Khi cần dùng nhiều cổng hơn ta có thể lắp đặt các card mở rộng trênđó có thêm một đến hai cổng Com. Có hai dạng cổng Com: cổng Com 25chân và cổng Com 9 chân.Ưu điểm giao diện nối tiếp RS232:

− 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ổngnối tiếp.

Hình 4.1: Chân ra cổng Com DB9.Bảng 4.1: Các Chân và chức năng của cổng Com DB9.

Page 30: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 30/44

Những đặc điểm cần lưu ý trong chuẩn RS232:−Trong chuẩn RS232, các giới hạn trên đối với mức logic 0 và logic 1

là ±12V. Chuẩn RS232 ngày nay đang được áp dụng còn cố định trở kháng

tải trong phạm vi từ 3000Ω đến 7000Ω .

− Mức logic 1 có điện áp nằm trong khoảng –3V đến –12V, mức

logic 0 từ +3V đến +12V.−Trở kháng tải phải lớn hơn 3000Ω nhưng phải nhỏ hơn 7000Ω .

− Tốc độ truyền/nhận dữ liệu cực đại là 100kbps (ngày nay có thểđạt được 200 kbps).

− Các lối vào phải có điện dung nhỏ hơn 2500pF

DB-9 Tên Ký hiệu Chức năng

1Data Carrier Detect

DCDPhát hiện tín hiệu mang dữliệu

2 Receive Data RxD Nhận dữ liệu

3 Transmit Data TxD Truyền dữ liệu

4Data TerminalReady

DTR Đầu cuối dữ liệu sẵn sàng,được kích hoạt bởi bộ nhậnkhi muốn truyền dữ liệu

5 Singal Ground SG Mass của tín hiệu

6 Data Set Ready DSR Dữ liệu sẵn sàng, được kíchhoạt bởi bộ truyền khi nó sẵnsàng nhận dữ liệu

7 Request to Send RTS Yêu cầu gửi, bộ truyền đặtđường này lên mức hoạt độngkhi sẵn sàng truyền dữ liệu

8 Clear To Send CTS

Xóa để gửi, bộ nhận đặtđường này lên mức hoạt độngđể thông báo cho bộ truyền lànó sẵn sàng nhận dữ liệu.

9 Ring Indicate RI

Báo chuông, cho biết là bộ

nhận đang nhận tín hiệu rungchuông.

Page 31: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 31/44

− Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nốiqua cổng nối tiếp RS232 không thể vượt quá 15 m nếu không sử dụngModem.

− Các giá trị tốc độ truyền dữ liệu chuẩn là : 50, 75, 110, 150,

300, 600, 1200, 2400, 4800, 9600, 19200, 28800 …… 56600, 115200bps.

Vi maïch MAX232

-Vi maïch MAX 232 cuûa haõng MAXIM laø moät vi maïchchuyeân duøng trong giao dieän noái tieáp vôùi maùy tính.Chuùng coù nhieäm vuï chuyeån ñoåi möùc TTL ôû loái vaøothaønh möùc +3…+15V hoaëc -3…-15V thaønh möùc TTL ôû

phía nhaän hay möùc +10V hoaëc –10V ôû phía truyeàn.-Vi maïch MAX 232 coù hai boä ñeäm vaø hai boä nhaän.Ñöôøng daãn ñieàu khieån loái vaøo CTS, ñieàu khieån vieäcxuaát ra döõ lieäu ôû coång noái tieáp khi caàn thieát, ñöôïcnoái vôùi chaân 9 cuûa vi maïch MAX 232. Coøn chaân RST(chaân 10 cuûa vi maïch MAX ) noái vôùi ñöôøng daãn baéttay ñeå ñieàu khieån quaù trình nhaän. Thöôøng thì caùcñöôøng daãn baét tay ñöôïc noái vôùi coång noái tieáp quacaùc caàu noái, ñeå khi khoâng duøng ñeán nöõa coù theå

hôû maïch caùc caàu naøy. Caùch truyeàn döõ lieäu ñôngiaûn nhaát laø chæ duøng ba ñöôøng daãn TxD, RxD vaøGND (mass).

SƠ ĐỒ MẠCH PHẦN CỨNG VI ĐIỀU KHIỂN ATEMEGA32 :

Page 32: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 32/44

Chương 5 : THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN

Đoạn codevision AVR:

/*****************************************************This program was produced by theCodeWizardAVR V1.24.8d ProfessionalAutomatic Program Generator© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.com

Project :Version :Date : 6/24/2009Author : F4CGCompany : F4CGComments:

Page 33: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 33/44

Chip type : ATmega32Program type : ApplicationClock frequency : 16.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 512*****************************************************/

#include <mega32.h>#include <delay.h>#include <stdlib.h>

#define RXB8 1#define TXB8 0#define UPE 2#define OVR 3#define FE 4#define UDRE 5#define RXC 7

#define FRAMING_ERROR (1<<FE)#define PARITY_ERROR (1<<UPE)#define DATA_OVERRUN (1<<OVR)#define DATA_REGISTER_EMPTY (1<<UDRE)#define RX_COMPLETE (1<<RXC)

// USART Transmitter buffer#define TX_BUFFER_SIZE 8char tx_buffer[TX_BUFFER_SIZE];

#if TX_BUFFER_SIZE<256unsigned char tx_wr_index,tx_rd_index,tx_counter;#elseunsigned int tx_wr_index,tx_rd_index,tx_counter;#endif

// USART Transmitter interrupt service routine

Page 34: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 34/44

interrupt [USART_TXC] void usart_tx_isr(void)if (tx_counter)

--tx_counter;UDR=tx_buffer[tx_rd_index];if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;;

#ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer#define _ALTERNATE_PUTCHAR_ #pragma used+

void putchar(char c)while (tx_counter == TX_BUFFER_SIZE);#asm("cli")if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))

tx_buffer[tx_wr_index]=c;if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;++tx_counter;

elseUDR=c;

#asm("sei")#pragma used-#endif

// Standard Input/Output functions#include <stdio.h>

unsigned char adc_data;#define ADC_VREF_TYPE 0x60

// ADC interrupt service routineinterrupt [ADC_INT] void adc_isr(void)

Page 35: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 35/44

// Read the 8 most significant bits// of the AD conversion resultadc_data=ADCH;

// Read the 8 most significant bits// of the AD conversion result// with noise cancelingunsigned char read_adc(unsigned char adc_input)ADMUX=adc_input|ADC_VREF_TYPE;#asm

in r30,mcucrcbr r30,__sm_mask

sbr r30,__se_bit | __sm_adc_noise_redout mcucr,r30sleepcbr r30,__se_bitout mcucr,r30

#endasmreturn adc_data;

// Declare your global variables here

unsigned char n,i;float vin,t,tb;char str[11];

void main(void)

// Declare your local variables here

// Input/Output Ports initialization// Port A initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=InFunc1=In Func0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=T

Page 36: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 36/44

PORTA=0x00;DDRA=0x00;

// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=InFunc1=In Func0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTB=0x00;DDRB=0x00;

// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=InFunc1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTC=0x00;DDRC=0x00;

// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=InFunc1=In Func0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTD=0x00;DDRD=0x00;

// Timer/Counter 0 initialization// Clock source: System Clock // Clock value: Timer 0 Stopped// Mode: Normal top=FFh// OC0 output: DisconnectedTCCR0=0x00;

TCNT0=0x00;OCR0=0x00;

// Timer/Counter 1 initialization// Clock source: System Clock // Clock value: Timer 1 Stopped// Mode: Normal top=FFFFh

Page 37: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 37/44

// OC1A output: Discon.// OC1B output: Discon.// Noise Canceler: Off // Input Capture on Falling Edge// Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;

OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;

// Timer/Counter 2 initialization// Clock source: System Clock // Clock value: Timer 2 Stopped// Mode: Normal top=FFh// OC2 output: DisconnectedASSR=0x00;TCCR2=0x00;TCNT2=0x00;OCR2=0x00;

// External Interrupt(s) initialization// INT0: Off // INT1: Off // INT2: Off

MCUCR=0x00;MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x00;

// USART initialization

Page 38: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 38/44

// Communication Parameters: 8 Data, 1 Stop, No Parity// USART Receiver: Off // USART Transmitter: On// USART Mode: Asynchronous// USART Baud rate: 9600UCSRA=0x00;UCSRB=0x48;UCSRC=0x86;UBRRH=0x00;UBRRL=0x67;

// Analog Comparator initialization// Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;SFIOR=0x00;

// ADC initialization// ADC Clock frequency: 1000.000 kHz// ADC Voltage Reference: AVCC pin// Only the 8 most significant bits of // the AD conversion result are usedADMUX=ADC_VREF_TYPE;ADCSRA=0x8C;

// Global enable interrupts#asm("sei")

while (1)// Place your code here

tb=0;for(i=0;i<100;i++) //vong lap chong nhieu

n=read_adc(1); //doc ngo vao ADCvin=(float)n*5/256; //doc dien ap ngo vaot=vin*100; //tinh nhiet dotb+=t;t=tb/100;

Page 39: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 39/44

ftoa(t,0,str); //chuyen nhiet do kieu float sang kieu chuoiprintf("%s",str); //truyen nhiet do len may tinh kieu chuoidelay_ms(1000);

;

Đoạn chương trình tạo form Visual Basic 6.0:

Đoạn chương trình hiển thị nhiệt độ:

Private Sub cmb3_Click()EndEnd Sub

Private Sub com_OnComm()If com.CommEvent = comEvReceive Thentxt.Text = com.InputEnd If End Sub

Private Sub Form_Load()With com

.CommPort = 1 'chose COM1.Settings = "9600,N,8,1" 'baud 9600bps, none parity, 8bit data, 1 bit stop

.InBufferSize = 1024

.InputLen = 0

.RThreshold = 1

.SThreshold = 1

.OutBufferSize = 512

.InputMode = comInputModeText

.PortOpen = True

End Witht1.Interval = 1000End Sub

Private Sub lab2_Click()

End Sub

Page 40: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 40/44

Private Sub t1_Timer()Dim h, m, s As Bytetxt1.Text = Format(Now(), "hh:nn:ss") & " Ngay " &

Format(Now(), "dd-mmm-yyyy")End Sub

Private Sub txt_Change()

End Sub

Private Sub txt1_Change()

End Sub

Đoạn chương trình cho cổng COM:

Private Sub cmb3_Click()EndEnd Sub

Private Sub com_OnComm()

If com.CommEvent = comEvReceive Thentxt.Text = com.InputEnd If End Sub

Private Sub Form_Load()With com

.CommPort = 1 'chose COM1

.Settings = "9600,N,8,1" 'baud 9600bps, none parity, 8

bit data, 1 bit stop.InBufferSize = 1024.InputLen = 0.RThreshold = 1.SThreshold = 1.OutBufferSize = 512.InputMode = comInputModeText

Page 41: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 41/44

.PortOpen = TrueEnd With

t1.Interval = 1000End Sub

Private Sub lab2_Click()

End Sub

Private Sub t1_Timer()Dim h, m, s As Bytetxt1.Text = Format(Now(), "hh:nn:ss") & " Ngay " &

Format(Now(), "dd-mmm-yyyy")End Sub

Private Sub txt_Change()

End Sub

Private Sub txt1_Change()

End Sub

Page 42: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 42/44

Chương 6: KẾT LUẬN VÀ KIẾN NGHỊ

1. Khuyến nghị

Một hệ thống muốn hoàn thiện và có thể ứng dụng vào thực tế thì đòi hỏi

phải trải qua một thời gian thử nghiệm cả phần cứng và phần mềm. Tuynhiên, điều kiện thời gian quá ngắn cộng với trình độ của nhóm thực hiệncòn hạn chế, các kiến thức học trong nhà trường chưa có nhiều ứng dụngvào thực tế nên hệ thống chỉ giài quyết được một số vấn đề và không tránhkhỏi thiếu sót. Mong rằng cuốn đồ án này là tài liệu tham khảo cho các bạn

Page 43: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 43/44

sinh viên khóa sau và những ai quan tâm để hoàn thiện cho hệ thống trêntừng bước đưa vào ứng dụng trong thực tế.

2. Hướng phát triển của đề tài

Vẽ biểu đồ hiển thị trên máy tính bằng phần mềm Teechart

Lưu nhiệt độ tại 1 thời điểm bất kì nào đó để xử lý

Điều khiển tốc độ động cơ quạt cho phù hợp với nhiệt độ thuđược(có thể ứng dụng trong quạt cpu)

TÀI LIỆU THAM KHẢO

1. NGÔ DIÊN TẬP – ĐO LƯỜNG VÀ ĐIỀU KHIỂN BẰNG MÁYTÍNH – NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT

2. NGÔ DIÊN TẬP – LẬP TRÌNH VÀ GHÉP NỐI MÁY TÍNHTRONG WINDOWS – NHÀ XUẤT BẢN KHOA HỌC VÀ KỸTHUẬT

3. NGUYỄN HỮU PHƯƠNG – MẠCH SỐ – NHÀ XUẤT BẢNTHỐNG KÊ

Page 44: Do an Truyen Dong Dien(1)

8/7/2019 Do an Truyen Dong Dien(1)

http://slidepdf.com/reader/full/do-an-truyen-dong-dien1 44/44

4. NGUYỄN ĐÌNH PHÚ – TÀI LIỆU THỰC HÀNH VI ĐIỀU KHIỂN – TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

5. NGUYỄN HỒNG SƠN – KỸ THUẬT TRUYỀN SỐ LIỆU – NHÀXUẤT BẢN LAO ĐỘNG – XÃ HỘI

6. INTERNET:+ WWW.USTR.NET+ WWW.USTR.NET/ INFARED/INFARED.COM+ WWW.USTR.NET/ INFARED/INFARED.HTML+ WWW. IGUANALABS.COM/MBKIT.HTML+ WWW.WEBELECTRONICMAGAZINE.COM