đồ án2

download đồ án2

of 32

Transcript of đồ án2

  • 8/2/2019 n2

    1/32

    N THIT BO

    SV:DNG MNH TUN TRANG 1

    CHNG1:GII THIU CHUNG V I2C

    Ngy nay trong cc h thng in t hin i, rt nhiu ICs hay thit b ngoi vicnphi giao tip vi cc ICs hay thit b khcgiao tip vi th gii bn ngoi.Vi mc tiu t c hiu qu cho phn cng tt nht vi mch in n gin,Phillips pht trin mt chun giao tip ni tip 2 dy c gi l I2C. I2C l tn

    vit tt ca cm t Inter Intergrated Circuit Bus giao tip gia cc IC vi

    nhau.

    Lch s I2C Thm vo y(Phn ny s thm sau) I2C mc d c phttrin bi Philips, nhng n c rt nhiu nh sn xut IC trn th gii sdng. I2C trthnh mt chun cng nghip cho cc giao tip iu khin, c

    th k ra y mt vi tn tui ngoi Philips nh: Texas Intrument (TI),MaximDallas, analog Device, National Semiconductor Bus I2C c s

    dng lm bus giao tip ngoi vi cho rt nhiu loi IC khc nhau nh cc loi Viiu khin 8051, PIC, AVR, ARM, chp nh nh RAM tnh (Static Ram),EEPROM, b chuyn i tng t s (ADC), s tng t(DAC), IC iu khinLCD, LED

    BUS I2C v cc thit bngoi vi

  • 8/2/2019 n2

    2/32

    N THIT BO

    SV:DNG MNH TUN TRANG 2

    1.1.c im giao tip I2C

    Mt giao tip I2C gm c 2 dy: Serial Data (SDA) v Serial Clock (SCL). SDAl ng truyn d liu 2 hng, cn SCL l ng truyn xung ng h v chtheo mt hng.

    Nh hnh v trn, khi mt thit b ngoi vi kt ni vo ng I2C th chn SDAca n s ni vi dy SDA ca bus, chn SCL s ni vi dy SCL.

    Kt ni thit bvo bus I2Cch chun (Standard mode)v ch nhanh (Fast mode)

    Mi dy SDA hay SCL u c ni vi in p dng ca ngun cp thng qua

    mt in trko ln (pullup resistor). S cn thit ca cc in trko ny l v

    chn giao tip I2C ca cc thit b ngoi vi thng l dng cc mng h

    (opendrain or opencollector).

    Gi tr ca cc in trny khc nhau ty vo tng thit b v chun giao tip,thng dao ng trong khong 1K n 4.7K.Trli vi hnh 1.1, ta thy c rt nhiu thit b(ICs) cng c kt ni vo mt

    busI2C, tuy nhin s khng xy ra chuyn nhm ln gia cc thit b, bi mi thit bsc nhn ra bi mt a ch duy nht vi mt quan h ch/ttn ti trong sutthi gian kt ni. Mi thit b c th hot ng nh l thit b nhn d liu hay cth va truyn va nhn. Hot ng truyn hay nhn cn ty thuc vo vic thitb l ch (master) hay t(slave).

  • 8/2/2019 n2

    3/32

    N THIT BO

    SV:DNG MNH TUN TRANG 3

    Mt thit b hay mt IC khi kt ni vi bus I2C, ngoi mt a ch (duy nht) phn bit, n cn c cu hnh l thit b ch (master) hay t(slave). Ti sao lic s phn bit ny ? l v trn mt bus I2C th quyn iu khin thuc v thitb ch (master). Thit b ch nm vai tr to xung ng h cho ton h thng, khi

    gia hai thit b ch/tgiao tip th thit b ch c nhim v to xung ng h vqun l a ch ca thit b ttrong sut qu trnh giao tip. Thit b ch gi vai trchng, cn thit b tgi vai tr bng trong vic giao tip.

    .

    Truyn nhn dliu gia ch/t

    Nhn hnh trn ta thy xung ng h ch c mt hng t chn t, cn lung dliu c thi theo hai hng, t chn thay ngc li tn ch.

    V d liu truyn trn bus I2C, mt bus I2C chun truyn 8bit d liu c hng

    trn ng truyn vi tc l 100Kbits/s Ch chun (Standard mode).Tc truyn c th ln ti 400Kbits/sCh nhanh (Fast mode) v cao nht

    l 3,4Mbits/sCh caotc (Highspeed mode).Mt bus I2C c th hot ng nhiu ch khc nhau:- Mt ch mt t(one masterone slave)

    - Mt ch nhiu t(one mastermulti slave)- Nhiu ch nhiu t(Multi mastermulti slave)D ch no, mt giao tip I2C u da vo quan h ch/t. Gi thit mt thitb A mun gi d liu n thit bB, qu trnh c thc hin nh sau:

    Thit b A (Ch) xc nh ng a ch ca thit b B (t), cng vi vic xc

    nh a ch, thit b A s quyt nh vic c hay ghi vo thit b t

    Thit b A gi d liu ti thit b B

    Thit b A kt thc qu trnh truyn d liu

    Khi A mun nhn d liu t B, qu trnh din ra nh trn, ch khc l A s nhnd liu t B. Trong giao tip ny, A l ch cn B vn l t. Chi tit vic thit lpmt giao tip gia hai thit b sc m t chi tit trong cc mc di y.

  • 8/2/2019 n2

    4/32

    N THIT BO

    SV:DNG MNH TUN TRANG 4

    1.2.START and STOP conditions

    START v STOP l nhng iu kin bt buc phi c khi mt thit b ch munthit lp giao tip vi mt thit bno trong mng I2C. START l iu kinkhi u, bo hiu bt u ca giao tip, cn STOP bo hiu kt thc mt giao

    tip. Hnh di y m tiu kin START v STOP.Ban u khi cha thc hin qu trnh giao tip, chai ng SDA v SCL u mc cao (SDA = SCL = HIGH). Lc ny bus I2C c coi l di (bus free),sn sng cho mt giao tip. Hai iu kin START v STOP l khng th thiutrong vic giao tip gia cc thit b I2C vi nhau

    Hnh 1.4. iu kin START v STOP ca bus I2C

    iu kin START: mt s chuyn i trng thi t cao xung thp trn ngSDA trong khi ng SCL ang mc cao (cao = 1; thp = 0) bo hiu mt iukin STARTiu kin STOP: Mt s chuyn i trng thi t mc thp ln cao trn ngSDA trong khi ng SCL ang mc cao.Chai iu kin START v STOP u c to ra bi thit b ch. Sau tn hiuSTART, bus I2C coi nh ang trong trang thi lm vic (busy). Bus I2C s ri,sn sng cho mt giao tip mi sau tn hiu STOP t pha thit b ch.Sau khi c mt iu kin START, trong qua trnh giao tip, khi c mt tn hiuSTART c lp li thay v mt tn hiu STOP th bus I2C vn tip tc trong trngthi bn. Tn hiu START v lp li START u c chc nng ging nhau l khi

    to mt giao tip.

  • 8/2/2019 n2

    5/32

    N THIT BO

    SV:DNG MNH TUN TRANG 5

    1.3.nh dng dliu truyn

    D liu c truyn trn bus I2C theo tng bit, bit d liu c truyn i ti misn dng ca xung ng htrn dy SCL, qu trnh thay i bit d liu xy rakhi SCL angmc thp.

    Qu trnh truyn 1 bit dliu

    Mi byte d liu c truyn c di l 8 bits. Slng byte c th truyn trongmt ln l khng hn ch. Mibyte c truyn i theo sau l mt bit ACK bohiu nhn d liu. Bit c trng s cao nht (MSB) sc truyn i u tin,cc bt sc truyn i ln lt. Sau 8 xung clock trn dy SCL, 8 bit d liu c truyn i. Lc ny thit b nhn, sau khi nhn 8 bt d liu s ko SDAxung mc thp to mt xung ACK ng vi xung clock th9 trn dy SDA

    bo hiu nhn 8 bit. Thit b truyn khi nhn c bit ACK s tip tc thchin qu trnh truyn hoc kt thc.

    Dliu truyn trn bus I2C

  • 8/2/2019 n2

    6/32

    N THIT BO

    SV:DNG MNH TUN TRANG 6

    Bit ACK trn bus I2C

    Mt byte truyn i c km theo bit ACK l iu kin bt buc, nhm m bo choqu trnh truyn nhn c din ra chnh xc. Khi khng nhn c ng a chhay khi mun kt thc qu trnh giao tip, thit b nhn s gi mt xung

    NotACK (SDA mc cao) bo cho thit b ch bit, thit b ch s to xung

    STOP kt thc hay lp li mt xung START bt u qu trnh mi.

    1.4.nh dng a ch thit bMi thit b ngoi vi tham gia vo bus i2c u c mt a ch duy nht, nhm phnbit gia cc thit b vi nhau. di a ch l 7 bit, iu c ngha l trnmt bus I2C ta c th phn bit ti a 128 thit b. Khi thit b ch mun giao tipvi ngoi vi no trn bus I2C, n s gi 7 bit a ch ca thit b ra bus ngaysau xung START. Byte u tin c gi s bao gm 7 bit a ch v mt bt th 8iu khin hng truyn.

    Cu trc byte dliu u tin

  • 8/2/2019 n2

    7/32

    N THIT BO

    SV:DNG MNH TUN TRANG 7

    Mi mt thit b ngoi vi s c mt a ch ring do nh sn xut ra n quy nh.a ch c th l cnh hay thay i. Ring bit iu khin hng squy nhchiu truyn d liu. Nu bit ny bng 0 c ngha l byte d liu tip theo sau sc truyn t chn t, cn ngc li nu bng 1 th cc byte theo sau byte

    u tin s l d liu t con tgin con ch. Vic thit lp gi tr cho bit ny docon ch thi hnh, con ts ty theo gi tr m c s phn hi tng ng n con ch.

    1.5.Truyn dliu trn bus I2C, ch MasterSlaveVic truyn d liu din ra gia con ch v con t. D liu truyn c th theo 2hng,

    t chn thay ngc li. Hng truyn c quy nh bi bit th 8 trong byteutin c truyn i.

    Qu trnh truyn dliuTruyn d liu t chn t(ghi d liu): Thit b ch khi mun ghi d liu ncon t, qu trnh thc hin l:

    Thit b ch to xung START

    Thit b ch gi a ch ca thit b tm n cn giao tip cng vi bit

    = 0 ra bus v i xung ACK phn hi t con t

    Khi nhn c xung ACK bo nhn din ng thit b t, con ch bt

    u gi d liu n con ttheo tng byte mt. Theo sau mi byte ny ul mt xung ACK. Slng byte truyn l khng hn ch.

    Kt thc qu trnh truyn, con ch sau khi truyn byte cui s to xung

    STOP bo hiu kt thc.

  • 8/2/2019 n2

    8/32

    N THIT BO

    SV:DNG MNH TUN TRANG 8

    Ghi dliu tchn tQu trnh kt hp ghi v c d liu: gia hai xung START v STOP, thit b chc th thc hin vic c hay ghi nhiu ln, vi mt hay nhiu thit b. thchin vic , sau mt qu trnh ghi hay c, thit b ch lp li mt xung START

    v li gi li a ch ca thit b tv bt u mt qu trnh mi.

    Qu trnh phi hp c/ghi dliu

    Ch giao tip MasterSlave l chc bn trong mt bus I2C, ton b busc qun l bi mt master duy nht. Trong ch ny s khng xy ra tnhtrng xung t bus hay mt ng b xung clock v ch c mt master duy nht cth to xung clock.

  • 8/2/2019 n2

    9/32

    N THIT BO

    SV:DNG MNH TUN TRANG 9

    CHNG2:CM BIN SHT71

    -SHT71 l mt vi mch tch hp bao gm cm bin v b vi x l tn hiu s.Cm

    bin o m bng mt con tc bit.-SHT71 p dng cng ngh CMOsensor nn hot ng vi tin cy v n nhcao.S dng 14 bit chuyn i tng t s v giao tip ni tip 2 dy I2C giaotip vi cc thit b khc.

    2.1.S chn

  • 8/2/2019 n2

    10/32

    N THIT BO

    SV:DNG MNH TUN TRANG 10

    2.2.Ngun cp (VDD, GND)Vic cung cp in p ca SHT71phi c trong khong 2,4v 5.5V, cung cpin p c ngh l 3.3V.Tch ring VDD v GNDbngmt t in 100nF c tch hp trn mt sau cacm bin.Giao din ni tip ca SHT71 c ti u ha cho cm binc rav tiu th

    in nng hiu qu. cm binkhng th c gii quyt bng giao thc I2C, tuynhin, cm binc th c kt ni vi mt I2C bus m khng can thipcc thit

    b khc kt ni vi bus. Vi iukhin phichuyn i gia cc giao thc.

  • 8/2/2019 n2

    11/32

    N THIT BO

    SV:DNG MNH TUN TRANG 11

    2.3. iu kin vn hnhB cm bin hot ng n nh,bnh thng trong phm vi cho php

    phm vi bnh thng: c bit l m> 80% RH, c th (+3% RH sau 60h).Sau khi quay tr li mc bnh thng n s t t tr li bnh thng. Ko di tip

    xc vi iu kin khc nghit c th tng tc lo ha.

  • 8/2/2019 n2

    12/32

    N THIT BO

    SV:DNG MNH TUN TRANG 12

    2.4. th sai s

    2.5.Giao tip vi SHT71

    2.5.1.Qu trnh khi ng ca cm bin

    -Sau khi cp ngun cho sensor. in p stng vi tc 1V/ms t ti trngthi ng.Trong qu trnh khng c gi ti cm bin mt lnh no.

    2.5.2.iu kin khi to giao tip Start

    -C sn xung ng Data khi c ng SCK mc cao.Tip sau l mt

    xung mc thp trn ng SCK.Cui cng l c sn ln Data khi SCK mc cao (Chnh l iu kin to bus I2C m chng ta bit)

  • 8/2/2019 n2

    13/32

    N THIT BO

    SV:DNG MNH TUN TRANG 13

    2.5.3.Reset qu trnh giao tip

    -Thit bmaster(vi iu khin) a ng Data ln mc cao v bn ra ng SCKt nht 9 xung.Ngay sau qu trnh Reset giao tip phi l iu kin Start v 1 bytelnh.

    2.5.4.Thanh ghi trng thi ca SHT71

    s dng cc chc nng ca SHT71 nh :chn phn gii khi o ,cnh bo htpin,b pht nhit....chng ta gi mt lnh ti thanh ghi trng thi,hnh ng nyphc v cho s so snh trong qu trnh giao tip.

  • 8/2/2019 n2

    14/32

    N THIT BO

    SV:DNG MNH TUN TRANG 14

    Chn phn gii: Vic chn phn gii 14bit (nhit ) v 12bit ( m) c thc gim n 12 v 8 bit. iu ny c bit hu ch trong tc cao hoc ccng dng nng lng cc thp.ht pin:chc nng pht hin v thng bo cho in p VDDdi 2,47 V. chnhxc 0,05 V.

    B pht nhit heater bn trong chip.khi b ny hot ng c thtng nhit casensor ln 5-10 C0 tu thuc vo nhit thc t.B heater tiu tn 8mA nguncp 5V.

  • 8/2/2019 n2

    15/32

    N THIT BO

    SV:DNG MNH TUN TRANG 15

    2.5.5.Qu trnh giao tip

    Lnh cho cm bin l mt byte cao gm 3 bit a ch v 5 bit lnh.Nu cm binnhn ng 8 bit th sko ng Data xung thp (l bit th 9 ACK trong giaotip I2C)

    2.6.o nhit v m-Sau khi vi iu khin pht lnh o (00000101 o m,00000011 o nhit) th vi iu khin s phi i cm bin cho ti khi qu trnh o kt thc.Khongthi gian l 20/80/320 mi giy tng ng vi cc phn gii 8/12/14 bit. bo hiu qu trnh o kt thc ,SHT17 sko ng Data xung mc thp v rivo trng thi ng.Vi iu khin phi i tn hiu sn sng ny trc khi munc d liu ra .-Khi vi iu khin c d liu th SHT71 s truyn i 2 byte d liu v 1 byteCRC(hoc khng c byte CRC chn bng lp trnh ). trnh qu trnh t sinhnhit ca SHT71 th SHT71 khng nn hot ng vi tn s ln hn 10Hz. ivi phn gii 12 bit th chnn o nhit v m 1 ln trong 1 giy.

  • 8/2/2019 n2

    16/32

    N THIT BO

    SV:DNG MNH TUN TRANG 16

    2.6.1.Cng thc tnh m

    -m tng i

    m c xt n b nhit

    Cng thc ny p dng cho nhit sai khc qu nhiu so vi 250

    C

  • 8/2/2019 n2

    17/32

    N THIT BO

    SV:DNG MNH TUN TRANG 17

    2.6.2.Cng thc tnh nhit

    2.6.3. Nhit im ng sng

    -SHT71 khng trc tip o im ng sng m c th tnh theo cng thc sau tnhit v m.

  • 8/2/2019 n2

    18/32

    N THIT BO

    SV:DNG MNH TUN TRANG 18

    2.7.LCD

    Cu to c th ca LCD gm cmt vt liu tinh th lng NLC c b dykhong 10 mm c kp gia hai ming thy tinh. Mt thy tinh c ph

    mt lp mng kim loi (oxide thic) cho nh sng xuyn qua, c dnglm bn cc mt trc, bn cc mt sau cng thc hin nh vy. Cn loi

    LCD phn chiu th bn cc mt sau cho phn chiu sng.

    Lp v bc LCD c cch in v hn kn li.

    Hnh 3.9 Hnh nh LCD16x2

    LCD giao tip theo chun logic TTL thng thng (5V cho logic 1 v 0V cho

    logic 0) cho nn c th kt ni trc tip vi VK

    + Chn d liu (nhng chn dng "ra lnh") ca LCD t chn 7 n chn 14

    (c nh sn xut t tn l DB0-DB7)

    + Chn tn hiu l cc chn 4(RS), 5(RW), 6(E)

    +Vss (chn s 1): chn ni t cho LCD, khi thit k mch ta ni chn ny vi

    GND ca mch iu khin

    +Vdd (chn s 2): Chn cp ngun cho LCD, khi thit k mch ta ni chn ny

    vi Vcc = 5V ca mch iu khin

    +Vee : Chn ny dng iu chnh tng phn ca LCD.

    +R/W (chn 5) : Chn chn ch c/ ghi (Read/Write). Ni chn R/W vi logic

    0 LCD hot ng ch ghi, hoc ni vi logic 1 LCD ch c.

    +E (chn 6): Chn cho php (Enable). Sau khi cc tn hiu s dng c t ln

    cc bus DB0-DB7, cc lnh ch c chp nhn khi c 1 xung cho php ca chn

    E.

  • 8/2/2019 n2

    19/32

    N THIT BO

    SV:DNG MNH TUN TRANG 19

    Cc ch lm vic ca LCD:

    Ch 8bit, dng c 8 chn data (d0-d7) truyn d liu. Ch 4 bit, ch dng 4 chn truyn d liu. ch ny, truyn 8

    bit d liu phi truyn 2 ln.Gi s bn lp trnh vi port C

    PortC0 - RS

    PortC1 - Rw

    PortC2 - EN

    PortC4 - D4

    PortC5 - D5

    PortC6 - D6

    PortC7 - D7

    Port c th thay i(PORT A,B hay C) nhng cc th t chn phi ng

    nh trn .(do cch lp trnh trong th vin lcd.h) Nu lp trnh b th vin

    ring , cch chn phn cng c th b tr thoi mi theo ngi lp trnh.

    Hai na khi lp trnh LCD ch chn VEE (chn s 3 lcd) thng cc mch

    c 1 con in tr chnh cng sng ti cho LCD.

  • 8/2/2019 n2

    20/32

    N THIT BO

    SV:DNG MNH TUN TRANG 20

    CHNG 3:THIT K PHN MM

    3.1.Gii thiu phn mm v ngn nglp trnh Codevison

    La chn phn mm: y l phn mm c s dng rt rng di bi n c xy

    dng trn nn ngn ng lp trnh C, phn mm c vit chuyn nghip hng ti

    ngi s dng bi sn gin, s h trcao cc th vin c sn.

    Chy CodeVision bng cch click chut vo ICON ca CodeVision trn mn hnh

    hin ra:

    Chn file new:

  • 8/2/2019 n2

    21/32

    N THIT BO

    SV:DNG MNH TUN TRANG 21

    Chn Project sau click chut vo OK c ca s hi xem c s dng Code

    Winzard khng:

    Chn Yes c ca sCodeWinzardAVR nh sau:

  • 8/2/2019 n2

    22/32

    N THIT BO

    SV:DNG MNH TUN TRANG 22

    S dng chp AVR no v thch anh tn s bao nhiu ta nhp vo tab Chip.

    khi to cho cc cng IO ta chuyn qua tab Ports.

    Cc chn IO ca AVR mc nh trng thi IN, mun chuyn thnh trng thi OUT

    c tha cc mc logic ra ta click chut vo cc nt IN (mu trng) n

    chuyn thnh OUT trong cc Tab Port. Sau chn File

    Exit.

  • 8/2/2019 n2

    23/32

    N THIT BO

    SV:DNG MNH TUN TRANG 23

    c ca s yu cu nhcc file ca Project.

    Chng ta c code vision khi to code. Trong c y code cn thit m

    khi ny chng ta cu hnh cho cng IO. Chng ta bt u son code. led nhp

    nhy chng ta dng hm delay_ms(). Do ta thm th vin delay.h bng cch

    tm dng lnh: #include ngay u chng trnh vit ngay di dng

    lnh sau:

    #include . led nhp nhy cng IO ta a ra cng IO mt bin temp

    c gi trtng dn t0 n 255. Do ta khai bo thm mt bin unsigned char

    temp ngay di dng // Declare your global variables here

    Trong hm main c vng while(1). Chng ta son code vo

    while (1)

    {

    };

    dch chng trnh n F9 ho

    Thit lp cng vo ra:

    Khi xem xt n cc cng I/O ca AVR th ta phi xt ti 3 thanh ghi bit DDxn,

    PORTxn, PINxn.

  • 8/2/2019 n2

    24/32

    N THIT BO

    SV:DNG MNH TUN TRANG 24

    -Cc bit DDxn truy cp cho a ch xut nhp DDRx. Bit DDxn trong

    thanh ghiDDRx dng iu khin hng d liu ca cc chn ca cng ny.Khi

    ghi gi tr logic 0 vo bt k bit no ca thanh ghi ny th n s tr thnh li

    vo,cn ghi 1 vo bit th n trthnh li ra.-Cc bit PORTxn truy cp ti a ch xut nhp PORTx. Khi PORTx

    c ghi gi tr 1 khi cc chn c cu to nh cng ra th in tr ko l ch

    ng(c ni vi cng).Ngt in trko ra, PORTx c ghi gi tr 0 hoc cc

    chn c dng nh cng ra.

    -Cc bit PINxn truy cp ti a ch xut nhp PINx. PINx l cc cng ch

    c,cc cng ny c thc trng thi logic ca PORTx.PINx khng phi l

    thanh ghi,vic c PINx cho php ta c gi tr logic trn cc chn ca PORTx.ch PINx khng phi l thanh ghi,vic c PINx cho php ta c gi tr logic trn cc

    chn ca PORTx.

  • 8/2/2019 n2

    25/32

    N THIT BO

    SV:DNG MNH TUN TRANG 25

    3.2.Chng trnh lp trnh

    /*****************************************************

    Chip type : ATmega32

    Program type : Application

    Clock frequency : 8.000000 MHz

    Memory model : Small

    External SRAM size : 0

    Data Stack size : 512

    *****************************************************/

    #include

    #include

    // I2C Bus functions

    #asm

    .equ __i2c_port=0x15 ;PORTC

    .equ __sda_bit=4

    .equ __scl_bit=5

    #endasm

    #include

    #asm

    .equ __lcd_port=0x1B ;PORTA

    #endasm

    #include

    #include

    unsigned int tempH,tempL,doamH,doamL;

    float tempI,doamI;

    float tempF,doamF,doamFI;

    // Declare your global variables here

    void lcd_putnum(float x) //ham hien thi so bcd;

    {

    long y,z,t;

    y=x/10; //lay hang chuc

    z=x-y*10; //lay hang don vi

    t=x*10-y*100-z*10 ;//lay phan le

  • 8/2/2019 n2

    26/32

    N THIT BO

    SV:DNG MNH TUN TRANG 26

    //chuyen qua ma AScII

    lcd_putchar(y+48 );

    lcd_putchar(z+48);

    lcd_putchar(',');

    lcd_putchar(t+48);}

    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=In Func1=In

    Func0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

    PORTA=0x00;

    DDRA=0x00;

    // Port B initialization

    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In

    Func0=In

    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

    PORTB=0x00;DDRB=0x00;

    // Port C initialization

    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In

    Func0=In

    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

    PORTC=0x00;

    DDRC=0x00;

    // Port D initialization

    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In

    Func0=In

    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

    PORTD=0x00;

  • 8/2/2019 n2

    27/32

    N THIT BO

    SV:DNG MNH TUN TRANG 27

    DDRD=0x00;

    // Timer/Counter 0 initialization

    // Clock source: System Clock

    // Clock value: Timer 0 Stopped// Mode: Normal top=FFh

    // OC0 output: Disconnected

    TCCR0=0x00;

    TCNT0=0x00;

    OCR0=0x00;

    // Timer/Counter 1 initialization

    // Clock source: System Clock

    // Clock value: Timer 1 Stopped// Mode: Normal top=FFFFh

    // 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: OffTCCR1A=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

  • 8/2/2019 n2

    28/32

    N THIT BO

    SV:DNG MNH TUN TRANG 28

    // Mode: Normal top=FFh

    // OC2 output: Disconnected

    ASSR=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) initialization

    TIMSK=0x00;

    // Analog Comparator initialization

    // Analog Comparator: Off

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

    ACSR=0x80;

    SFIOR=0x00;

    // I2C Bus initialization

    i2c_init();

    // LCD module initialization

    lcd_init(16);

    //doi cam bien SHT71 on dinh

    delay_ms(15);

    //reset qua trinh giao tiep

    i2c_start();i2c_write(0xFF);//du lieu luon luon =1 va co 9 xung duoc phat ra

    while (1)

    {

  • 8/2/2019 n2

    29/32

    N THIT BO

    SV:DNG MNH TUN TRANG 29

    // Place your code here

    // phat dieu kien start cua SHT71

    i2c_start();

    delay_ms(5);

    i2c_stop();DDRC.5 =1;//dua clock=0

    PORTC.5 =0 ;//xuat gia tri ra portc.5

    //phat mot lenh do nhiet do

    tempH=i2c_write(0x03);//i2c tra ve 1 bien tao ra cac bien doc nhiet do

    //doi cam bien do nhiet do xong

    DDRC.4 =0;//gan duong data lam dau vao

    while(PINC.4);//kiem tra duong DATA cho toi khi den muc 0 thi dung

    //doc gia tri nhiet do ve

    tempH =i2c_read(1);

    tempL =i2c_read(1);

    //tinh gia tri cua nhiet do

    tempI =tempH

  • 8/2/2019 n2

    30/32

    N THIT BO

    SV:DNG MNH TUN TRANG 30

    // phat mot lenh do do am

    doamH=i2c_write(0x05);//i2c tra ve 1 bien tao ra cac bien doc do am

    //cho cam bien do do am xong

    DDRC.4 =0;//gan duong data lam dau vao

    while(PINC.4);//kiem tra duong DATA cho toi khi denmuc 0 thi dung

    //doc gia tri cua do am

    doamH =i2c_read(1);

    doamL =i2c_read(1);

    //tinh toan do am

    doamI =doamH

  • 8/2/2019 n2

    31/32

    N THIT BO

    SV:DNG MNH TUN TRANG 31

    CHNG4 :KT QU M PHNG

    Kt qu m phng sau khi tm hiu phn l thuyt

  • 8/2/2019 n2

    32/32

    N THIT BO