A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports...

17
KwcivBU@cÖ ‡KŠkjx †gvt Ry jwdKvi Avjx Ry ‡qj c„ ôv bs- 1 Aa¨vq-1 gvB‡µvK‡›Uªvjvi gvB‡µvK‡›Uª vjvi GK ai‡bi cÖMÖ v‡gej Bw›Uª ‡MÖ ‡UW mvwK© U (IC). 8-wcb †_‡K ïiæ K‡i mvavibZ 128-wcb ch© šÍ n‡q _v‡K| gvB‡µvK‡›Uª vjvi‡K wm‡½j wPc Kw¤úDUvi ejv †h‡Z cv‡i| Kw¤úDUv‡ii mv‡_ Zz jbv Ki‡j ‡`Lv hvq GKUv Kw¤úDUv‡i hv hv Av‡Q Zvi cÖ vq meB gvB‡µvK‡›Uª vjv‡i Av‡Q| Kw¤úDUvi Ges gvB‡µvK‡›Uªvjvi Gi Zzjbv: Kw¤úDUvi gvB‡µvK‡›Uª vjvi Kw¤úDUv‡i cÖ ‡mmi Av‡Q| gvB‡µvK‡›Uª vjv‡iI cÖ ‡mmi Av‡Q| Kw¤úDUv‡i RAM Av‡Q| gvB‡µvK‡›Uª vjv‡iI RAM (SRAM) Av‡Q| Kw¤úDUv‡i Bbcy U-AvDUcy U †cvU© †hgb wmwiqvj †cvU©, c¨vivjvj †cvU© Av‡Q| gvB‡µvK‡›Uª vjv‡iI Bbcy U-AvDUcy U †cvU© Av‡Q| Kw¤úDUv‡i ROM Av‡Q| gvB‡µvK‡›Uª vjv‡iI ROM (EEPROM) Av‡Q| Kw¤úDUv‡i cÖMÖ vg wj‡L wewfbœ wWfvBm K‡›Uª vj Kiv hvq| gvB‡µvK‡›Uª vjv‡iI cÖMÖ vg wj‡L wewfbœ wWfvBm K‡›Uª vj Kiv hvq| Kw¤úDUv‡ii cvIqvi LiP A‡bK †ewk| gvB‡µvK‡›Uª vjv‡i cvIqvi LiP A‡bK Kg| Kw¤úDUvi w`‡q †Kvb K‡›Uª vj wm‡÷g wWRvBb Ki‡Z A‡bK †ewk LiP nq| gvB‡µvK‡›Uª vjvi w`‡q †Kvb K‡›Uª vj wm‡÷g wWRvBb Ki‡Z Zy jbvgy jK Kg LiP nq| kœ Avm‡Z cv‡i †Kb Ges †Kv_vq gvB‡µvK‡›Uª vjvi e¨envi Kie? GKUv †QvU D`vnib †`qv hvK| Avgiv Pvw”Q Avgv‡`i †kvevi N‡ii jvBU¸‡jv mܨvi mgq GKvB Ab n‡e Avevi ivZ 11.00 NwUKvq GKvB Ad n‡e| GB KvRwU Kivi Rb¨ hw` Avgiv GKUv Kw¤úDUvi mvivw`b Pvjy K‡i ivwL Zvn‡j †h cwigvb we`¨yr LiP n‡e Zv A‡bK †ewk| GB †QvU KvRUv Avgiv Ly e mn‡R GKUv gvB‡µvK‡›Uª vjvi e¨envi K‡i Ki‡Z cvwi| Avgv‡`i nv‡Zi Kv‡Q A‡bK wWfvBm Av‡Q hv Avgiv mPivPi e¨envi Kwi †hgb K¨vjKz ‡jUi, wfwWI †Mgm, wWwRUvj Nwo, wi‡gvU K‡›Uª vjvi BZ¨vw`i wfZ‡i gvB‡µvK‡›Uª vjvi Av‡Q| gvB‡µvK‡›Uª vjvi cª ¯‘ ZKviK‡`i g‡a¨ Bb‡Uj, gvB‡µvwPc, g‡Uv‡ivjv, GU‡gj, wdwjá D‡jøL‡hvM¨| Z‡e Avgiv memgq GU‡gj Gi gvB‡µvK‡›Uª vjvi wb‡q Av‡jvPbv Kie| GU‡gj Gi K‡›Uª vjv‡ii bv‡gi ïiæ‡Z AT _v‡K| GU‡gj wZb ai‡bi gvB‡µvK‡›Uª vjvi cª ¯‘ Z K‡i-‡gMv, wUwb I vwmK| Avgv‡`i D`vnib¸‡jv ATMega8, ATmega16, ATMega32, ATtiny2313, ATtiny15, ATtiny26 BZ¨vw` w`‡q †`qv n‡e| bv‡gi ‡k‡l †h MvwbwZK msL¨v Av‡Q Zv mvavibZ H

Transcript of A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports...

Page 1: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 1

Aa¨vq-1

gvB‡µvK‡›Uªvjvi gvB‡µvK‡›Uªvjvi GK ai‡bi cÖMÖv‡gej Bw›Uª‡MÖ‡UW mvwK©U (IC). 8-wcb †_‡K ïiæ K‡i mvavibZ 128-wcb ch©šÍ n‡q _v‡K| gvB‡µvK‡›Uªvjvi‡K wm‡½j wPc Kw¤úDUvi ejv †h‡Z cv‡i| Kw¤úDUv‡ii mv‡_ Zzjbv Ki‡j ‡`Lv hvq GKUv Kw¤úDUv‡i hv hv Av‡Q Zvi cÖvq meB gvB‡µvK‡›Uªvjv‡i Av‡Q|

Kw¤úDUvi Ges gvB‡µvK‡›Uªvjvi Gi Zzjbv: Kw¤úDUvi gvB‡µvK‡›Uªvjvi

Kw¤úDUv‡i cÖ‡mmi Av‡Q| gvB‡µvK‡›Uªvjv‡iI cÖ‡mmi Av‡Q|

Kw¤úDUv‡i RAM Av‡Q| gvB‡µvK‡›Uªvjv‡iI RAM (SRAM) Av‡Q| Kw¤úDUv‡i BbcyU-AvDUcyU †cvU© †hgb wmwiqvj †cvU©, c¨vivjvj †cvU© Av‡Q|

gvB‡µvK‡›Uªvjv‡iI BbcyU-AvDUcyU †cvU© Av‡Q|

Kw¤úDUv‡i ROM Av‡Q| gvB‡µvK‡›Uªvjv‡iI ROM (EEPROM) Av‡Q| Kw¤úDUv‡i cÖMÖvg wj‡L wewfbœ wWfvBm K‡›Uªvj Kiv hvq|

gvB‡µvK‡›Uªvjv‡iI cÖMÖvg wj‡L wewfbœ wWfvBm K‡›Uªvj Kiv hvq|

Kw¤úDUv‡ii cvIqvi LiP A‡bK †ewk| gvB‡µvK‡›Uªvjv‡i cvIqvi LiP A‡bK Kg| Kw¤úDUvi w`‡q †Kvb K‡›Uªvj wm‡÷g wWRvBb Ki‡Z A‡bK †ewk LiP nq|

gvB‡µvK‡›Uªvjvi w`‡q †Kvb K‡›Uªvj wm‡÷g wWRvBb Ki‡Z ZyjbvgyjK Kg LiP nq|

cÖkœ Avm‡Z cv‡i †Kb Ges †Kv_vq gvB‡µvK‡›Uªvjvi e¨envi Kie? GKUv †QvU D`vnib †`qv hvK| Avgiv Pvw”Q Avgv‡`i †kvevi N‡ii jvBU¸‡jv mܨvi mgq GKvB Ab n‡e Avevi ivZ 11.00 NwUKvq GKvB Ad n‡e| GB KvRwU Kivi Rb¨ hw` Avgiv GKUv Kw¤úDUvi mvivw`b Pvjy K‡i ivwL Zvn‡j †h cwigvb we`¨yr LiP n‡e Zv A‡bK †ewk| GB †QvU KvRUv Avgiv Lye mn‡R GKUv gvB‡µvK‡›Uªvjvi e¨envi K‡i Ki‡Z cvwi| Avgv‡`i nv‡Zi Kv‡Q A‡bK wWfvBm Av‡Q hv Avgiv mPivPi e¨envi Kwi †hgb K¨vjKz‡jUi, wfwWI †Mgm, wWwRUvj Nwo, wi‡gvU K‡›Uªvjvi BZ¨vw`i wfZ‡i gvB‡µvK‡›Uªvjvi Av‡Q| gvB‡µvK‡›Uªvjvi cª ‘ZKviK‡`i g‡a¨ Bb‡Uj, gvB‡µvwPc, g‡Uv‡ivjv, GU‡gj, wdwjá D‡jøL‡hvM¨| Z‡e Avgiv memgq GU‡gj Gi gvB‡µvK‡›Uªvjvi wb‡q Av‡jvPbv Kie| GU‡gj Gi K‡›Uªvjv‡ii bv‡gi ïiæ‡Z AT _v‡K| GU‡gj wZb ai‡bi gvB‡µvK‡›Uªvjvi cª ‘Z K‡i-‡gMv, wUwb I K¬vwmK| Avgv‡`i D`vnib¸‡jv ATMega8, ATmega16, ATMega32, ATtiny2313, ATtiny15,

ATtiny26 BZ¨vw` w`‡q †`qv n‡e| bv‡gi ‡k‡l †h MvwbwZK msL¨v Av‡Q Zv mvavibZ H

Page 2: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 2

gvB‡µvK‡›Uvjv‡ii FLASH †g‡gvwi wb‡ ©k K‡i| G mKj welq wb‡q cieZ©x‡Z wek` Av‡jvPbv n‡e|

Af¨šÍixb eøK WvqvMÖvg: wP‡Î ATMega8 Gi eøK WvqvMÖvg †`L‡bv n‡q‡Q| †`Lv hv‡”Q †h ATMega8 ‡Z wZbwU BbcyU AvDUcyU †cvU© Av‡Q| G‡`i g‡a¨ Port A, Port D ‡Z 8wU K‡i wcb Av‡Q Ges Port C ‡Z 7wU wcb Av‡Q| Port C ADC Gi BbcyU Uviwgbvj wn‡m‡e e¨eüZ nq| †m›Uªvj cÖ‡mwms BDwbU wn‡m‡e †h cÖ‡mmi _v‡K Zvi MwZ mvavibZ †gMvnvU©R †i‡Ä n‡q _v‡K| Avgiv hviv Kw¤úDUvi e¨envi Kwi Zviv Rvwb Kw¤úDUv‡ii cÖ‡mm‡ii MwZ †Kgb nq| Avgiv cÖ‡mmi †Kbvi mgq †Póv Kwi Ggb GKUv cÖ‡mmi wKb‡Z hvi MwZ †ewk| Kw¤úDUv‡ii cÖ‡mm‡ii MwZ mvavibZ wMMvnvU©R †i‡Äi n‡q _v‡K †hgb 2.39 wMMvnvU©R, 3.00 wMMvnvU©R BZ¨vw`| G MwZ Avm‡j cÖ‡mmi †h K¬K cvj&‡mi mv‡_ mv‡_ KvR K‡i †mB K¬K Gi wdªKz‡qwÝ| K¬K nj Iqvb Ges wR‡ivi wmK¨y‡qÝ (Series of Pulse of one and zero)| gvB‡µvK‡›Uªvjv‡i K¬K †`qvi Rb¨ `y‡Uv wcb (XTAL1 and XTAL2) _v‡K| evRv‡i wefbœ wd«Kz‡qwÝi wµ÷vj (Clock generating device with 2 pins) cvIqv hvq hv GB `yB wc‡bi mv‡_ jvwM‡q w`‡jB nq| Avevi GU‡gj Gi K‡›Uªvjvi¸‡jv‡Z Af¨šÍixbfv‡e K¬K ‰Zwi Kivi (Internal Cristal) e¨e¯’v Av‡Q|

‡g‡gvwi: Avgiv wewfbœ ai‡bi ‡g‡gvwii mv‡_ cwiwPZ| gvB‡µvK‡›Uªvjv‡i Pvi ai‡bi †g‡gvwi _v‡K-FLASH Memory, SRAM (Static Random Access Memory), EEPROM (Electrically

Erasable Programable Read Only Memory), Resister Memory| gvB‡µvK‡›Uªvjvi G †h cÖMÖvg ‡jLv n‡e Zv FLASH Memory †Z †mBf n‡e| FLASH Memory ‡Kej K‡›Uªvjvi‡K Kw¤úUv‡ii mv‡_ jvwM‡q B›Uvi‡dm (Read or Write) Kiv hv‡e| Avgiv Kw¤úUv‡i †h cÖMÖvg wjLe Zv K‡›Uªvjv‡i cvVv‡bvi Rb¨ gvB‡µvK‡›Uvjvi‡K Kw¤úDUv‡ii mv‡_ GKUv we‡kl nvW©Iqv‡ii gva¨‡g jvMv‡Z n‡e| GB nvW©Iqvi‡K e‡j evb©vi (Burner Circuit)| G wel‡q cieZ©x‡Z wek` Av‡jvPbv Kiv n‡e| cÖMÖvg †jLvi mgq cÖMÖv‡g ‡h PjK (Variables) e¨envi Kiv n‡e Zv SRAM G †mBf (Save) n‡e| †hmKj gvB‡µvK‡›Uªvjv‡i SRAM ‡bB (†hgb ATtiny15) †mmKj K‡›Uªvjv‡ii cÖMÖv‡g PjK (Variables) e¨envi Kiv hv‡e bv| cvIqvi mvcøvB eÜ K‡i w`‡j SRAM G †Kvb †ggwi †mBf _v‡Kbv| GBLv‡b GKUv mgm¨v nj aiv hvK gvB‡µvK‡›Uªvjvi w`‡q GKUv wm‡÷g wWRvBb Kiv nj hvi KvR nj GKUv cÖWv± jvB‡bi Dci w`‡q KZ¸‡jv cÖWv± hv‡”Q Zv Mbbv Kiv| wKQy yi Mbbv Kivi ci cvIqvi mvcøvB eÜ n‡q †Mj| cÖWv± Mbbv K‡i †Kvb bv †Kvb Pj‡KB †Zv ivL‡Z n‡e| G‡ÿ‡Î bZzb K‡i cvIqvi mvcøvB w`‡j Avevi GK †_‡K Mbbv ïiæ n‡e †Kbbv D³ Pj‡Ki gvb SRAM G †mBf wQj Avi cvIqvi mvcøvB eÜ n‡q ‡M‡j SRAM Gi †g‡gvwi gy‡Q hvq| GmKj †ÿ‡Î EEPROM e¨envi Kiv nq| Kvib cvIqvi mvcøvB eÜ n‡jI EEPROM Gi †Kvb cwieZ©b nq bv| Resister mvavibZ 8-weU

CPU

I/O Port C

I/O Port DI/O Port A

Timer

ROM

RAM ADC

Serial Port

wPÎ 1.1: Af¨šÍixb eøK WvqvMÖvg

Page 3: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 3

(8-Bit / 1 Byte) Gi n‡q _v‡K Z‡e wKQz wKQz Resister Av‡Q 16-weU (16-bit / 2 Byte)| gvB‡µvK‡›Uªvjv‡i ADC, Timer, Interrupts, I/O Ports BZ¨vw`i Rb¨ Avjv`v Avjv`v Resister Av‡Q| gvB‡µvK‡›Uªvjv‡ii WvUvmxU G wewfbœ †iwR÷vi m¤ú‡K© wek` Z_¨ †`qv _v‡K| ZeyI wKQz ¸iæZ¡c~Y© Resister m¤ú‡K© GLv‡b Av‡jvPbv Kiv n‡e| cÖ‡Z¨KUv I/O Port G wZbwU K‡i Resister Av‡Q| BbcyU WvUv ‡iwR÷vi (Input Data

Resister-PINA), AvDUcyU WvUv †iwR÷vi (Output Data Resister-PORTA), WvUv wW‡iK&kb †iwR÷vi (Data Direction Resister-DDRA) [Examples are give for Port A only]|

wPÎ 1.2: BbcyU-AvDUcyU †cvU© Gi †iwR÷vi IfviwfD

DDRA Gi KvR nj Input Output Pin Gi mv‡_ BbcyU A_ev AvDUcyU WvUv †iwR÷v‡ii m¤úK© ‰Zwi Kiv| WvUvi cÖev‡ni w`K (Direction of data flow) wb‡`©k Kiv| D`vnibmiƒc DDRA Gi †Kvb weU Iqvb (Digital one) n‡j Zvi Awab¯Í wcb AvDUcyU wn‡m‡e KvR Ki‡e A_©vr DDRA Gi H we‡Ui Awab¯Í PORTA Resister †_‡K WvUv D³ wc‡bi gva¨‡g evB‡i Avm‡e| Avevi DDRA Gi †Kvb weU

Page 4: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 4

wR‡iv (Digital zero) n‡j H we‡Ui Awab¯Í wcb BbcyU wn‡m‡e KvR Ki‡e A_©vr wc‡b BbcyU w`‡j Zv DDRA H we‡Ui Awab¯Í PINA Resister G ‡mBf n‡e| ATmega32: ATmega32 GU‡gj †Kv¤úvbxi ˆZwi Pwjøk wc‡bi gvB‡µvK‡›Uªvjvi| Gi PviwU BbcyU AvDUcyU †cvU©, 10-weU (0-1023 †j‡fjm&) Gi 8wU ADC (Analog to Digital Converter), 16-weU Gi 1 wU Ges 8-we‡Ui 2 wU UvBgvi BZ¨vw` Av‡Q| G¸‡jv m¤ú‡K© av‡c av‡c Av‡jvPbv Kiv n‡e|

wPÎ 1.3: ATmega32 Gi wcb WvqvMÖvg

Vcc: cvIqvi mvcøvB cwRwUf| GB wc‡b wWwm 5 †fvë (5V-DC) Gi cwRwUf cÖvšÍ jvMv‡Z n‡e| Gnd: cvIqvi mvcøvB †b‡MwUf| GB wc‡b wWwm 5 †fvë (5V-DC) Gi †b‡MwUf cÖvšÍ jvMv‡Z n‡e| Reset: GUv‡K e‡j wi‡mU evi wcb| Dc‡ii wP‡Î 9 b¤i wc‡b Reset ‡jLvi Dc‡i GKUv evi wPý Av‡Q GUv cÖKvk K‡i wcbwU GKwUf †jv (Active low) A_©vr GB wc‡b wWwRUvj Iqvb w`‡j Zv A‡K‡Rv (Inactive) _vK‡e Ges hLbB GLv‡b wWwRUvj wR‡iv †`Iqv n‡e ZLbB Zv mPj (Inactive) n‡e| Avi G wcb mPj (Active) n‡j cÖMªvg bZzb K‡i †jvW n‡e A_©vZ cÖ_g †_‡K KvR ïiæ Ki‡e d‡j cÖMÖv‡g e¨eüZ mKj Pj‡Ki (Variable) gvb k~b¨ n‡q hv‡e| GRb¨ Avgiv GB wcb‡K mvavibZ wc‡bi mv‡_ ms‡hvM w`‡q ivL‡ev| Z‡e ms‡hvM †`qvi †ÿ‡Î GKUv eo gv‡bi †iva (Resistance such

as 1 Kilo ohms or 10 Kilo ohms) e¨envi Kiv †h‡Z cv‡i Kvib †h‡nZz GwU GKUv BbcyU wcb ZvB †hb †ewk Kv‡i›U †h‡Z bv cv‡i|

Page 5: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 5

Aa¨vq-2

gvB‡µvK‡›Uªvjvi cÖMÖvwgs

cÖ_‡gB wKQz welq m¤ú‡K© avibv †`qv hvK| Kw¤úDUvi ev gvB‡µvK‡›Uªvjvi DfqB †h fvlv †ev‡S Zv‡K e‡j Machine Language| BDRvi (User) †h fvlv e¨envi K‡i Zv‡K e‡j nvB †j‡fj j¨v½y‡qR (High Level Language)| GUv n‡Z cv‡i wm j¨v½y‡qR (C Language) ev †ewmK j¨v½y‡qR (Basic Language)| BDRvi (User) Gi fvlv †gwkb (Kw¤úDUvi ev gvB‡µvK‡›Uªvjvi) †K †eva‡Mvg¨ Kivi A_©vr †gwkb j¨v½y‡q‡R (Machine Language) cwieZ©b Kivi KvRUv †h K‡i Zv‡K ejv nq K¤úvBjvi (Compiler)| BDRvi Gi fvlv hw` wm (C) nq Z‡e †mB K¤úvBjvi †K ejv nq wm K¤úvBjvi (C Compiler) Avi BDRvi Gi fvlv hw` †ewmK (Basic) nq Z‡e †mB K¤úvBjvi †K ejv nq ‡ewmK K¤úvBjvi (Basic Compiler)| †gwkb j¨v½y‡qR (Machine Language) Ges nvB ‡j‡fj j¨v½y‡qR (High Level Language) Gi gv‡S AviI GKUv j¨v½y‡qR Av‡Q hv‡K e‡j G¨‡mg&weø j¨v½y‡qR (Assembly Language)| G¨‡mg&weø j¨v½y‡qR (Assembli Language) ‡K †gwkb j¨v½y‡q‡R (Machine Language) cwieZ©b Kivi KvRUv †h K‡i Zv‡K ejv nq G¨‡mg&eøvi (Assembler)|

G¨‡mg&weø, wm, †ewmK me fvlv‡ZB gvB‡µvK‡›Uªvjv‡ii Rb¨ cÖMÖvg †jLv hvq| wewfbœ ai‡bi

md&UIqvi (Software) Av‡Q hv‡Z cÖMÖvg ‡jLvi Rb¨ ‡bvUc¨vW (Notepad) Av‡Q, mv‡_ G¨‡mg&eøvi ev K¤úvBjvi Av‡Q, wmgy‡jkb (Simulation) Kivi Rb¨ wmgy‡jUi (Simulator) Av‡Q| Gai‡bi wKQz md&UIqv‡ii wj÷ wb‡P †`qv nj|

WinAVR: Notepad with C-Compiler AVRstudio: Notepad with C-Compiler BascomAVR: Notepad with Basic-Compiler, Simulator, Programmer MicroBasic: Notepad, Simulator with Basic-Compiler MPLab: Notepad, Simulator with Assembler

Z‡e Avgiv GB eB‡q †cÖvMÖv‡gi D`vib ¸‡jv BascomAVR G ‡`e| cÖv_wgK fv‡e gvB‡µvK‡›Uªvjvi cÖMÖvwgs Gi Rb¨ †ewmK j¨v½y‡qR B †kªq e‡j g‡b nq Avgvi| Avgiv hviv †W¯‹Uc cÖMÖvwgs (Desktop

Programming) K‡iwQ Zv‡`i nqZ †nWvi dvBj (Header File) kãUvi mv‡_ cwiPq Av‡Q| cÖMÖv‡g †h dvskb¸‡jv e¨envi Kiv nq Zv †h †nWvi dvB‡j (Header File) _v‡K Zvi bvg cÖMÖv‡gi ïiæ‡Z wj‡L w`‡Z nq| G‡ÿ‡Î Avgiv GKUv bZzb kã eje-‡iwRwóª dvBj (Registry File)| GKUv D`vni‡bi gva¨‡g welqUv ‡evSv‡bv ‡h‡Z cv‡i| aiv hvK Avgiv GKUv cÖMÖvg wjLwQ hv ATmega8 Gi Rb¨| GLb cÖMÖvg wjL‡Z wM‡q BbcyU-AvDUcyU †cvU© wn‡m‡e Port B e¨envi K‡iwQ| wKšÍ gRvi e¨vcvi nj ATmega8 G Port B bvB| GLb K¤úvBjvi hw` cÖMÖvg K¤úvBj K‡i †`q Ges Avgiv hw` Zv K‡›Uªvjv‡i XzwK‡q †`B Zvn‡j wK KvR Kivi K_v? K_v bv| G‡ÿ‡Î K¤úvBjvi‡K Aek¨B GmKj wel‡q Z_¨ †`qv _vK‡Z n‡e Ges cÖMÖvg †jLvi mgq BDRvi‡K Aek¨B wj‡L w`‡Z n‡e †m †Kvb

Page 6: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 6

K‡›Uªvjvi Gi Rb¨ cÖMÖvg wjL‡Q| K¤úvBjv‡ii mv‡_ ZvB cÖ‡Z¨KUv K‡›Uªvjv‡ii Rb¨ G‡KKUv K‡i †iwRwóª dvBj †`qv _v‡K hv‡Z H K‡›Uªvjvi m¤ú‡K© cÖ‡qvRbxq mKj Z_¨ ‡`qv _v‡K| Zvn‡j Avgiv GUv eyS‡Z †c‡iwQ †h cÖMÖv‡gi ïiæ‡ZB †iwRwóª dvB‡ji bvg wj‡L w`‡Z n‡e| Aa¨vq-1 G Af¨šÍixb eøK WvqvMÖvg-G Av‡jvPbv Kiv n‡q‡Q K¬K wd«Kz‡qwÝi K_v| †iwRwóª dvB‡ji c‡iB wj‡L w`‡Z n‡e K‡›Uªvjvi KZ wd«Kz‡qw݇Z KvR Ki‡e|

wPÎ 2.1: BascomAVR Gi DBb‡Wv (Window)

Dc‡ii wP‡Î (wPÎ 2.1) †h cÖMÖvgUv †`Lv hv‡”Q Zv‡Z cÖ_g jvB‡b †iwRwóª dvB‡ji bvg †jLv Av‡Q| $regfile wj‡L BKzqvj wPý (=) w`‡jB GKUv wj÷ P‡j Avm‡e †mLvb †_‡K †iwRwóª dvB‡ji bvg wm‡j± K‡i w`‡jI n‡e A_ev Wvej Bbfv‡U©W (Ó Ó) Gi g‡a¨ wj‡L w`‡jI n‡e| wP‡Î ATmega32 Gi †iwRwóª dvBj wm‡j± Kiv Av‡Q| wØZxq jvB‡b K¬K wd«Kz‡qwÝi gvb †`qv Av‡Q| ‡jLvi wbqg $crystal=1000000 D‡jøL¨, wd«Kz‡qwÝi gvb Aek¨B nvU©R (Hz) G wjL‡Z n‡e| Avgiv BwZg‡a¨B †R‡bwQ cÖ‡Z¨KUv †cvU©‡K BbcyU ev AvDUcyU Dfq wn‡m‡eB e¨envi Kiv hvq| Z‡e cÖMÖv‡g †mUv e‡j w`‡Z n‡e †h GLb ‡cvU©Uv BbcyU ev GLb ‡cvU©Uv AvDUcyU| wPÎ 1.2 G †`Lv‡bv n‡q‡Q wKfv‡e GKUv †cvU© BbcyU ev AvDUcyU wn‡m‡e e¨envi Kiv hvq| WvUv wW‡iK&kb †iwRóv‡ii (DDRx) †h mKj weU wWwRUvj Iqvb _vK‡e †mmKj wcb AvDUcyU wn‡m‡e e¨eüZ n‡e| hw` †Kvb †cvU© Gi me¸‡jv wcb AvDUcyU wn‡m‡e e¨envi Ki‡Z nq Z‡e WvUv wW‡iK&kb †iwRóv‡ii mKj weU wWwRUvj Iqvb n‡Z n‡e| †h‡n‡Z WvUv wW‡iK&kb †iwRóvi 8-weU Gi ZvB me¸‡jv weU Iqvb n‡j ‡Wwmgv‡j Zv nq 255| Zvn‡j hw` Avgiv Port A †K AvDUcyU wn‡m‡e e¨envi Ki‡Z PvB Zvn‡j DDRA G 255 cvVv‡Z n‡e| GB KvRUv `yBfv‡e Kiv †h‡Z cv‡i|

Page 7: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 7

GK mivmwi e‡j w`‡Z cvwi DDRA=255 A_ev wj‡L w`‡Z cvwi Config PORTA=Output | wPÎ 2.1 G GB KvRwU Kiv n‡q‡Q| †ewmK j¨v½y‡q‡Ri wKQz ¸iæZ¡c~Y© welq wb‡q wb‡P Av‡jvPbv Kiv nj|

Pj‡Ki bvgKib (Declaration of Variable): Dim Pj‡Ki bvg as Pj‡Ki aib D`vnib: Dim Value as byte

GKvwaK PjK GKmv‡_ wWK¬vi Kivi †ÿ‡Î Kgv (,) w`‡q wjL‡Z n‡e| D`vnib: Dim Value1 as byte, Value2 as Word, A as Byte

PjK wewfbœ ai‡bi n‡Z cv‡i †hgb Bit, Byte, Word, Integer, Single BZ¨vw`| Bit ai‡bi Pj‡Ki gvb †Kej 0 A_ev 1 n‡Z cvi‡e| Byte ai‡bi Pj‡Ki gvb †Kej 0 ‡_‡K 255 ch©šÍ n‡Z cvi‡e| Word ai‡bi Pj‡Ki gvb †Kej 0 ‡_‡K (2^16)-1 ch©šÍ n‡Z cvi‡e| Integer ai‡bi PjK 32-weU Z‡e abvZ¡K ev FbvZ¡K DfqB n‡Z cvi‡e| Single ai‡bi Pj‡Ki gvb fMœvsk n‡Z cvi‡e| hLb †h ai‡bi Pj‡Ki cÖ‡qvRb n‡e Avgiv †m ai‡bi PjK e¨envi Kie| hw` Byte wn‡m‡e †Kvb PjK wWK¬vi Kiv nq Ges Zvi gvb hw` cÖMÖv‡gi g‡a¨ †Kv_vI 255 Gi †P‡q †ewk nq Z‡e K¤úvBjvi cÖMÖvg fzj ai‡e|

D`vnib: Dim Sum as Byte Sum=400

IF Gi e¨envi (Use of IF): If kZ© Then

‡÷U‡g›U EndIf

D`vnib: If Value1>25 Then Value2=Value2+10 EndIf

If Gi wfZ‡i hw` GKUvB †÷U‡g›U _v‡K Z‡e G‡K GKjvB‡b †jLv hvq| G‡ÿ‡Î ‡k‡l EndIf †jLvi †Kvb cÖ‡qvRb †bB|

D`vnibmiƒc: If A>9 Then A=0

For jyc Gi e¨envi (Use of For Loop): For PjK=cÖv_wgK gvb to ‡kl gvb step e„w× gvb ‡÷U‡g›U Next

D`vnib: For Value=2 to 10 step 2 Sum=Sum+Value Next

a < b : a b Gi †P‡q †QvU

a>b : a b Gi †P‡q eo a=b : a Ges b mgvb a<=b : a b Gi †P‡q †QvU A_ev mgvb a>=b : a b Gi †P‡q eo A_ev mgvb a<>b : a Ges b Amgvb

Page 8: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 8

Do jyc Gi e¨envi (Use of Do Loop):

PjK= cÖv_wgK gvb Do

‡÷U‡g›U PjK= e„w× gvb Loop until kZ© D`vnib: Value=2 Do Sum=Sum+Value Value=Value+2 Loop until Value>=10

Case Gi e¨envi (Use of Case):

Select Case Pj‡Ki bvg Case Pj‡Ki gvb 1: ‡÷U‡g›U 1 Case Pj‡Ki gvb 2: ‡÷U‡g›U 2 .. .. .. .. .. .. End Select

D`vnib: Select Case Value1 Case=1:

Value2=5 Case 2 to 5:

Value2=8

Case is >=6: Value2=15

Case Else: Value2=0

End Select

Z‡e Dc‡i Av‡jvwPZ ‡÷U‡g›U¸‡jv BascomAVR Gi Help Menu ‡Z D`vnib mn †`qv Av‡Q| cÖMÖvg wj‡L †mBf K‡i BascomAVR Gi Program Menu ‡_‡K Compile G wK¬K Ki‡j cÖMÖvgwU Compile n‡e Ges †hLv‡b †mBf Kiv n‡q‡Q †mLv‡b FileName.HEX bv‡g GKwU dvBj ˆZwi n‡e| GUvB n‡e H cÖMv‡gi BKzBf¨v‡j›U †gwkb †KvW|

we: `ª: BascomAVR Case sensitive bv A_©vr †QvUnv‡Zi Aÿi ev eo nv‡Zi Aÿi †h‡Kvbfv‡e wjL‡jB n‡e| D`vnibmiƒc Config, config, Ges CONFIG GKB A_© enb K‡i|

Page 9: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 9

Aa¨vq-3

gvB‡µvK‡›Uªvjvi evwb©s cÖ‡mm

evwb©s wK: Kw¤úDUv‡i cÖMÖvg wj‡L Zv we‡kl c×wZ‡Z gvB‡µvK‡›Uªvjv‡i †cÖib Kivi cÖK…qv‡K evwb©s ejv nq| G‡ÿ‡Î gvB‡µvK‡›Uªvjvi‡K GKUv we‡kl nvW©Iqv‡ii gva¨‡g Kw¤úDUv‡ii mv‡_ mshy³ Kiv nq| GB nvW©Iqvi‡K evb©vi ejv nq| gvB‡µvK‡›Uªvjvi‡K Kw¤úDUv‡ii mv‡_ ms‡hvM Kivi †ÿ‡Î Kw¤úDUv‡ii c¨vivjvj †cvU© (Parallel Port/Printer Port), wmwiqvj †cvU© (Serial Port) A_ev BDGmwe ‡cvU© (USB Port) Gi †h‡Kv‡bv Uv e¨envi Kiv ‡h‡Z cv‡i| evRv‡i wewfbœ ai‡bi evb©vi wKb‡Z cvIqv hvq| GmKj evb©v‡ii Avevi wewfbœ bvg _v‡K †hgb-

Sample Electronics Programmer STK500 Programmer STK200/STK300 Programmer USB-ISP Programmer PROGGY Etc. Z‡e Avgiv STK200/STK300 Programmer wb‡q Av‡jvPbv Kie| GB evb©viwU Lye mn‡R

Lye Kg Li‡P wb‡RivB ‰Zwi Kiv hvq| GwU GKwU c¨vivjvj †cvU© (Parallel Port/Printer Port) evb©vi| me©cÖ_g Kw¤úDUv‡ii c¨vivjvj †cvU© m¤ú‡K© wKQy K_v ejv hvK| cv‡ki wP‡Î (wPÎ 3.1) Kw¤úDUv‡ii c¨vivjvj †cvU© †`Lv‡bv n‡q‡Q| GB †cvU© mvavibZ wcÖ›Uvi jvMv‡bvi †ÿ‡Î e¨envi Kiv nq| Gi 25 wU wcb Av‡Q| GKcv‡k Av‡Q 13 wU Ab¨ cv‡k 12 wU| †h cv‡k 13 wU wcb Av‡Q †mcv‡ki GK`g wb‡Pi wcb‡K 1-b¤i wcb Ges Dc‡ii wcb‡K 13-b¤i wcb aiv nq| †h cv‡k 12 wU wcb Av‡Q †mcv‡ki GK`g wb‡Pi wcb‡K 14-b¤^i wcb Ges Dc‡ii wcb‡K 25-b¤i wcb aiv nq| 18-b¤i †_‡K 25-b¤^i wcb ch©šÍ kU© Kiv _v‡K| G‡`i‡K MÖvDÛ wcb ejv nq| evRv‡i

c¨vivjvj †cvU© Gi Kv‡b±i wKb‡Z cvIqv hvq| c¨vivjvj †cvU© †_‡K †Kvb Kv‡bK&kb †ei Kivi Rb¨ GUv e¨envi

wPÎ 3.1: c¨vivjvj †cvU© wPÎ 3.2: DB25-Male Kiv nq| wPÎ 3.2 G GKwU cvivjvj †cvU© Kv‡b±i †`Lv‡bv n‡q‡Q| G‡K ejv nq DB25-

Male|

Page 10: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 10

wPÎ 3.3: STK200/STK300 Programmer Gi mvwK©U WvqvMÖvg

GU‡gj Gi mKj gvB‡µvK‡›Uªvjv‡i MOSI, MISO I SCK bv‡g wZbwU wcb _v‡K| †hgb ATmega32 Gi †ÿ‡Î wcb¸‡jv h_vµ‡g 6,7 Ges 8 b¤i wcb| evb©vi Bb&÷j Gi avc: gvB‡µvK‡›Uªvjvi evb© Kivi cy‡e© wKQy KvR K‡i wb‡Z nq| wb‡P Zv Av‡jvPbv Kiv nj| avc-1: me©cÖ_g gvB‡µvK‡›Uªvjvi‡K Dc‡ii wPÎ (wPÎ 3.3) Abyhvqx Kw¤úDUv‡ii c¨vivjvj †cv‡U©i mv‡_ mshy³ Ki‡Z n‡e| avc-2: Kw¤úDUv‡ii cvivjvj †cvU© A¨vKwUf K‡i wb‡Z n‡e| GRb¨ UserPort.sys bv‡gi GKUv dvBj cÖ_‡g Kw¤úDUv‡ii C:\WINDOWS\system32\drivers wW‡i±wi‡Z ivL‡Z n‡e| Zvi ci UserPort.exe bv‡gi G¨wcø‡Kkb dvBjwU I‡cb Ki‡Z n‡e| Zvi ci Enter Grant Interval Gi ¯’v‡b 0x378-0x37F wj‡L (wPÎ 3.4-K) Add G wK¬K Ki‡j wb‡Pi wj‡÷ Zv †hvM n‡e| Zvi ci wb‡Pi wj÷ †_‡K 378-37F wm‡j± ((wPÎ 3.4-L)) K‡i Start G wK¬K Ki‡Z n‡e| Zvn‡j Kw¤úUv‡ii c¨vivjvj ‡cvU© A¨vKwUf n‡e| Dc‡i DwjøwLZ dvBj `ywU GB eB‡qi †jLK cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡q‡ji I‡qemvBU www.mzajewel.webs.com/micbook.html †_‡K WvDb‡jvW Kiv hv‡e|

wPÎ 3.4-K: dv÷© DBb‡Wv wPÎ 3.4-L: †m‡KÛ DBb‡Wv

Page 11: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 11

avc-3: BascomAVR I‡cb K‡i Option Menu ‡_‡K Programmer G †h‡Z n‡e| ‡mLvb †_‡K Programmer wn‡m‡e STK200/STK300 Programmer †K wm‡j± (wPÎ 3.5) K‡i Ok †Z wK¬K Ki‡Z n‡e|

wPÎ 3.5: BascomAVR Gi Option Menu

gvB‡µvK‡›Uªvjvi evwb©s: gvB‡µvK‡›Uªvjvi evb© Kivi Rb¨ BascomAVR Gi Program Menu ‡_‡K Send to Chip>Program G wK¬K Ki‡j wPÎ 3.6 Gi DBb‡WvUv Avm‡e| Z‡e Gi Av‡M Aek¨B cÖMÖvg K¤úvBj K‡i wb‡Z n‡e| cy‡e©i avc¸‡jv mwVKfv‡e m¤úbœ Ki‡j cv‡ki DBb‡Wv‡Z Chip Gi ¯’v‡b †h K‡›Uªvjvi jvMv‡bv Av‡Q Zvi bvg †`Lv‡e| Gevi gvB‡µvK‡›Uªvjvi Gi cÖMÖvg †g‡gvwi gy‡Q †djvi Rb¨ Chip

Menu †_‡K Erase G wK¬K Ki‡Z n‡e| bZzb cÖMÖvg evb© Kivi Rb¨ Chip Menu †_‡K Write Buffer

into Chip G wK¬K Ki‡Z n‡e| evb© mwVKfv‡e m¤úbœ n‡j wb‡P Varify

Ok †`Lv‡e| wPÎ 3.6: BascomAVR Gi DBb‡Wv

Page 12: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 12

Aa¨vq-4

BbcyU-AvDUcyU

myBP&: mvavibZ †Kvb eZ©bx m¤c~Y© Kivi Rb¨ myBP e¨envi Kiv nq| cv‡ki eZ©bx‡Z K GKwU myBP| cv‡ki eZ©bx ch©‡eÿY Ki‡j †`Lv hvq hLb myBP eÜ _v‡K ZLb eZ©bx‡Z †Kvb Zwor cÖevwnZ n‡ebv d‡j AvDUcyU n‡e 0 †fvë Kvib AvDUcyU jvBb GKwU †iwR÷‡ii gva¨‡g MÖvD‡Ûi mv‡_ jvMv‡bv Ges †iwR÷‡ii wfZi w`‡q †Kvb Zwor cÖevwnZ n‡”Q bv| Ab¨w`‡K hLb myBP Ab Kiv n‡e ZLb eZ©bx‡Z Zwor cÖevn ïiæ n‡e Ges AvDUcyU cvIqv hv‡e 5 †fvë Kvib G‡L‡Î AvDUcyU jvBb mivmwi 5 †fvë mvcøvB‡qi mv‡_ mshy³| wWwRUvj B‡ëªwb‡K&ªi fvlvq Dc‡ii NUbv Gfv‡e e¨vL¨v Kiv hvq, hLb myBP Ab ZLb AvDUcyU Iqvb (5 †fvë) Ges hLb myBP Ad ZLb AvDcUzU wR‡iv (0 †fvë)| AZGe, gvB‡µvK‡›Uªvjv‡ii †Kvb wcb G Iqvb/wR‡iv BbcyU †`qvi Rb¨ cv‡ki eZ©bxwU e¨envi Kiv †h‡Z cv‡i| (wPÎ: 4.1)

BbcyU AvDUcyU †cvU©: Kw¤úDUv‡i †hgb wewfbœ ai‡bi BbcyU-AvDUcyU †cvU© (BDGmwe †cvU©, c¨vivjvj †cvU©-wcÖ›Uvi †cvU©, wmwiqvj †cvU©) _v‡K ‡miKg gvB‡µvK‡›Uªvjv‡iI wKQz BbcyU AvDUcyU ‡cvU© _v‡K| GB †cvU©¸‡jvi bvg mvavibZ PORTA, PORTB, PORTC (Atmel) BZ¨vw` n‡q _v‡K| GK GKUv ‡cv‡U© mvavibZ 8 Uv K‡i wcb _v‡K (†Kvb †Kvb †ÿ‡Î Kg _v‡K)| GB †cvU©¸‡jv‡K BbcyU A_ev AvDUcyU Dfq wn‡m‡eB e¨envi Kiv hvq Z‡e †m‡ÿ‡Î e¨envi Kivi cy‡e© cÖMÖv‡g Aek¨B wWdvBb K‡i w`‡Z n‡e| GKB †cv‡U©i wKQzmsL¨K wcb BbcyU evwK msLK wcb AvDUcyU Gfv‡eI e¨envi Kiv hvq| hw` K‡›Uªvjv‡ii †Kvb wcb‡K BbcyU wn‡m‡e wWdvBb Kiv _v‡K Zvn‡j Zvi mv‡_ Dc‡i ewb©Z (wPÎ: 1.1) eZ©bxi AvDUcyU wcb mshy³ K‡i w`‡j myB‡Pi gva¨‡g Iqvb/wR‡iv BbcyU †`Iqv hv‡e|

cÖ‡h± -4.1: 8 (AvU) wU LED (Light Emitting Diode) GKmv‡_ R¡j‡e, 5 ‡m‡KÛ ci Avevi GKmv‡_ wb‡f hv‡e| Avevi 5 †m‡KÛ ci GKmv‡_ R¡j‡e| Gfv‡e Pj‡Z _vK‡e| GB KvRwU GKUv gvB‡µvK‡›Uªvjvi w`‡q Lye mn‡RB Kiv m¤¢e| Avgiv hw` K‡›Uªvjv‡ii †Kvb GKUv †cv‡U©i AvUUv wc‡b AvUUv LED (Light Emitting Diode-G m¤ú‡K© Aa¨vq 5 G we¯ÍvwiZ Av‡jvPbv Kiv Av‡Q) jvwM‡q w`‡q H †cvU© Gi cÖ‡Z¨KUv wc‡b cÖ_‡g wWwRUvj Iqvb cvVvB Ges 5 †m‡KÛ c‡i Avevi cÖ‡Z¨KUv wc‡b wWwRUvj wR‡iv cvwV‡q 5 †m‡KÛ †`wi Kwi Ges GB KvRwU hw` †Kvb GKUv jyc (For Loop or Do Loop) Gi g‡a¨ XzwK‡q ‡`B Zvn‡jB Avgv‡`i KvRwU n‡q hv‡e|

5 ‡fvë

AvDUcyU

‡iwR÷i

K

Page 13: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 13

cÖMÖvg 4.1: $regfile=”m32def.dat” ( ‡iwRwóª dvBj e‡j †`qv n‡q‡Q)

$crystal=1000000 ( K¬K wd«Kz‡qwÝi gvb e‡j †`qv n‡q‡Q)

Config PORTA=Output ( ‡cvU© †K AvDUcyU wn‡m‡e e‡j †`qv n‡q‡Q)

Do ( jyc ïiy n‡q‡Q)

PORTA=255 ( ‡cvU© Gi me¸‡jv wcb G wWwRUvj Iqvb cvVv‡bv) Wait 5 ( cuvP †m‡KÛ †`wi Kiv n‡q‡Q)

PORTA=0 ( ‡cvU© Gi me¸‡jv wcb G wWwRUvj wR‡iv cvVv‡bv) Wait 5 ( cuvP †m‡KÛ †`wi Kiv n‡q‡Q)

Loop ( jyc ‡kl n‡q‡Q)

End ( cÖMÖvg †kl n‡q‡Q)

1. Config PORTA=Output Gi ¯’v‡b hw` DDRA=255 wj‡L w`Zvg ZeyI †cvU© AvDUcyU wn‡m‡e KvR KiZ| yUv Avm‡j GKB KvR|

2. ‡Kvb ‡cvU© Gi me¸‡jv wc‡b wWwRUvj Iqvb cvVv‡bvi Rb¨ H †cvU© Gi AvDUcyU WvUv †iwRóvi (PORTA) Gi me¸‡jv weU wWwRUvj Iqvb K‡i w`‡Z n‡e| Avi †h‡nZy AvDUcyU WvUv †iwRóvi (PORTA) 8 we‡Ui †iwR÷vi ZvB Gi gvb †Wwm‡gj G `vovq 255| GUv cÖMv‡g wZbfv‡e †jLv hvq|

a. PORTA=255

b. PORTA=&HFF

c. PORTA=&B11111111

3. I‡qU (Wait) wZb ai‡bi nq Wait, Waitms Ges Waitus | cÖ_gUv †m‡K‡Û w`ZxqUv wgwj‡m‡K‡Û Ges Z„ZxqUv gvB‡µv‡m‡K‡Û|

4. Do..Loop Gi Loop Gi ci †Kvb kZ© bv w`‡j Zv mvivRxeb P‡j (Infinite Loop)|

wPÎ 4.2: cÖ‡h±-4.1 Gi mvwK©U WvqvMÖg|

220 Ohm

220 Ohm

220 Ohm

220 Ohm

220 Ohm

220 Ohm

220 Ohm

220 Ohm

40

39

38

37

36

35

34

33

9

10

11

1k OhmVcc

Gnd Gnd

AT

meg

a32

Page 14: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 14

cÖ‡h± -4.2: GKUv myB‡Pi gva¨‡g GKUv LED (Light Emitting Diode) †K Ab-Ad Kiv| cÖ_‡gB gvB‡µvK‡›Uªvjv‡ii †Kvb GKUv BbcyU-AvDUcyU wc‡b GKUv cyk evUb (Push Button) jvMv‡Z n‡e| cykevUb GK ai‡bi myBP hv ‡P‡c ai‡j Ab nq Avevi †Q‡i w`‡j Ad n‡q hvq| H wcb‡K cÖMv‡g Aek¨B BbcyU wn‡m‡e e‡j w`‡Z n‡e| Gevi ‡µvK‡›Uªvjv‡ii †Kvb GKUv BbcyU-AvDUcyU wc‡b GKUv LED jvMvB| cÖMvg 4.2: $crystal=1000000 $regfile=”m32def.dat” Config PORTA.0=Output

Config PORTB.0=Input

PORTA.0=0

Do If PINB.0=1 Then Toggle PORTA.0 EndIf Loop End

wPÎ 4.3: cÖ‡h±-4.2 Gi mvwK©U WvqvMÖg|

1. †Kvb †cv‡U©i GKwU wcb‡K BbcyU A_ev AvDUcyU wn‡m‡e ejvi Rb¨ H ‡cvU© Gi bv‡gi mv‡_ WU (.) wPý w`‡q KZ b¤^i wcb Zv w`‡Z nq| GB KvRUv Av‡Mi cÖMÖv‡gi gZB `yBfv‡e Kiv hv‡e| Config PORTA.0=Output A_ev DDRA.0=1|

2. Abyiæcfv‡e †Kvb †cvU© Gi wbw`©ó †Kvb wc‡b AvDUcyU cvVv‡bvi Rb¨I GKBfv‡e AvDUcyU WvUv †iwRóv‡ii bv‡gi mv‡_ WU w`‡q wjL‡Z nq| ‡hgb PORTA Gi 0-Zg weU (40-b¤i wcb) wWwRUvj wR‡iv Kivi Rb¨ ‡jLv n‡q‡Q PORTA.0=0|

3. mvwK©U (wPÎ 4.3) †_‡K †`Lv hv‡”Q †h mvfvweK Ae¯’vq gvB‡µvK‡›Uªvjv‡ii 1 b¤i wc‡b A_©vr Port B Gi 0-Zg wc‡b (BbcyU WvUv †iwRóv‡ii 0-Zg weU ev PINB.0) wWwRUvj 0 _vK‡e (wPÎ 4.1 G GUv Av‡jvPbv Kiv n‡q‡Q)| hLb myBP (K) Pvcv n‡e ZLb wWwRUvj 1 n‡e|

4. ‡cÖvMÖvg †_‡K †`Lv hv‡”Q GKUv AvRxeb jyc (Infinite Loop) Gi g‡a¨ GKUv If..Then †÷U‡g‡›Ui gva‡g evievi †Uó Kiv n‡q‡Q Port B Gi BbcyU WvUv †iwRóv‡ii 0-Zg weU (PINB.0) wWwRUvj 1 n‡q‡Q wKbv? hw` nq Z‡e Port A Gi 0-Zg wcb (40-b¤i wcb) †K †UvMj (Toggle ) Kiv n‡q‡Q| †UvMj (Toggle ) A_© cy‡e©i wecixZ| Zvn‡j hw` Av‡M wWwRUvj Iqvb _v‡K Zvn‡j myBP Pvc‡j wWwRUvj wR‡iv n‡e, Avi hw` Av‡M wWwRUvj wR‡iv _v‡K Zvn‡j myBP Pvc‡j wWwRUvj Iqvb n‡e A_©vr LED wU Ab Ges Ad n‡e| GB KvRwU Ki‡Z K‡›Uªvjv‡ii Lye Kg mgq jvM‡e| †`Lv hv‡e ‡h LED wU Ab Kivi Rb¨ myBP Pvcv nj wKš‘ myB‡Pi Dci †_‡K nvZ Zz‡j Avb‡Z bv Avb‡ZB Dc‡ii KvRwU K‡›Uªvjvi evievi Ki‡e|

220 Ohm40

9

10

11

1k OhmVcc

Gnd

AT

meg

a32

Gnd

1k Ohm

1K

Page 15: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 15

d‡j †`Lv hv‡e hw`I Avgiv LED wU Ab Kivi Rb¨ myBP †P‡cwQ LED wU AdB Av‡Q| GB mgm¨vi mgvavb Kivi Rb¨ Avgiv cÖMÖv‡g GKUz cwieZ©b Avbe| Zvi Av‡M bZzb GKUv dvskb wk‡L †bqv hvK|

Debounce Gi e¨envi:

Debounce wc‡bi bvg, Acv‡iwUs †÷U, j¨v‡ej Gi bvg, sub

D`vnib: Debounce PINB.0, 1, Abc, sub

Dc‡ii cÖMÖgUv (cÖMÖvg 4.2) GKUz cwieZ©b Ki‡j welqUv eyS‡Z myweav n‡e| cwiewZ©Z cÖMÖvg wb‡P ‡`Iqv nj|

cÖMÖvg 4.3: $regfile=”m32def.dat” ( ‡iwRwóª dvBj e‡j †`qv n‡q‡Q)

$crystal=1000000 ( K¬K wd«Kz‡qwÝi gvb e‡j †`qv n‡q‡Q)

Config PORTA.0=Output ( Port A Gi 0-Zg wcb AvDUcyU e‡j †`qv n‡q‡Q)

Config PORTB.0=Input ( Port B Gi 0-Zg wcb BbcyU e‡j †`qv n‡q‡Q)

PORTA.0=0 ( Port A Gi 0-Zg wcb G 0 cvVv‡bv n‡q‡Q)

Do Debounce PINB.0, 1, Abc, sub

Loop End

Abc: ( mve iæwUb)

Toggle PORTA.0 (PORTA.0 ‡Z 1 _vK‡j 0 n‡e, 0 _vK‡j 1 n‡e)

Return (Do...Loop G †diZ hv‡e)

Debounce Gi KvR nj Gi cv‡k †jLv wc‡b (PINB.0 ) hLbB Acv‡iwUs †÷U (1) Avm‡e ZLbB D‡jøL K‡i †`qv j¨v‡ej (Abc) G P‡j hv‡e| cÖMÖv‡gi †k‡l j¨v‡ej wj‡L w`‡Z n‡e| G‡K e‡j mve iæwUb (Sub Routin)| mve iæwU‡bi KvR †kl n‡q †M‡j cÖMÖvg Avevi cy‡e©i hvqMvq †diZ hv‡e| Avgv‡`i GB cÖMÖv‡gi †ÿ‡Î hLbB Avgiv myBP Pvce ZLbB PINB.0 †Z Acv‡iwUs †÷U (1) Avm‡e| GLb mve iæwU‡bi KvR m¤úbœ K‡i Avevi Do..Loop Gi g‡a¨ †diZ Avm‡Z Aek¨B Lye †ewk mgq jvM‡ebv| A_©vr Avgiv myBP †_‡K nvZ DVv‡bvi Av‡MB Avevi dvskbwU Gw·wKDU n‡e Avi †h‡nZz myBPwU GLbI Ab Av‡Q ZvB PINB.0 †Z Acv‡iwUs †÷U (1) _vK‡e d‡j AveviI mveiæwU‡b P‡j hvIqvi K_v wKš‘ hv‡e bv| GUvB Gi myweav| A_©vr Acv‡iwUs †÷U hw` 1 nq Zvn‡j wWevDÝ wc‡b GKevi 1 Avm‡j mveiæwU‡b hv‡e wKš‘ cieZ©x‡Z wWevDÝ wc‡b AšÍZ GKevi 0 bv Avm‡j mvivRxeb 1 Avm‡jI mveiæwU‡b hv‡e bv| A_©vr Avgiv hw` mvivRxeb myBP †P‡c a‡iI _vwK cÖMÖvg

Page 16: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 16

mveiæwU‡b GKeviB hv‡e| Acv‡iwUs †÷U 1/0 n‡Z cv‡i| A_©vr Acv‡iwUs †÷U hw` 0 nq Zvn‡j wWevDÝ wc‡b GKevi 0 Avm‡j mveiæwU‡b hv‡e wKš‘ cieZ©x‡Z wWevDÝ wc‡b AšÍZ GKevi 1 bv Avm‡j mvivRxeb 0 Avm‡jI mveiæwU‡b hv‡e bv| GLvb †_‡K Avgiv GB wm×všÍ wb‡Z cvwi †h Avgv‡`i GB cÖ‡h‡±i Rb¨ cÖMÖvg 4.2 e¨envi bv K‡i cÖMÖvg 4.3 e¨envi KivB †kªq|

Dc‡ii cÖ‡h±Uv‡K hw` Av‡iv GKUz cwieZ©b Kiv hvq †hgb Avgiv hw` Gi hvqvMvq GKUv 220 †fvë Gi evwZ ev d¨vb jvMv‡Z PvB Zvn‡j wK wK cwieZ©b Ki‡Z n‡e? DËi: cÖMÖv‡g †Kvb cwieZ©b Avb‡Z n‡e bv| ïay mvwK©‡U GKUz cwieZ©b Avb‡Z n‡e| GiAv‡M Avgv‡`i Uªvbwm÷i m¤ú‡K© GKUz Ávb _vKv `iKvi| cv‡ki wP‡Î GKwU N-P-N GKwU Uªvbwm÷i †`Lv‡bv n‡q‡Q| N-P-N Uªvbwm÷i Gi ˆewkô nj hw` Gi †em (B) Gi c‡Ubwkqvj GwgUvi (E) Gi †P‡q †ewk nq Z‡e †em †_‡K GwgUv‡ii w`‡K GKUv Zwor cÖevwnZ nq G‡K †em cÖevn (Base Current) e‡j| Avi †mBm‡½ Kv‡j±i (C) †_‡K GwgUv‡ii w`‡K Av‡iKUv Zwor cÖevn ïiæ nq hw` Kv‡j±‡ii c‡Ubwkqvj GwgUv‡ii †P‡q †ewk nq| G‡K Kv‡j±i cÖevn (Collector Current) e‡j| ‡em G Lye Kg cÖev‡ni Kvi‡bB Kv‡j±‡i A‡bK eo gv‡bi cÖevn ˆZwi nq mvavibZ 100-200 ¸Y| †em cÖevn evov‡j Kv‡j±i Kv‡i›U evo‡Z _v‡K Ges GKmgq Avi ev‡obv| Ges †mB cÖevn‡K m¨vPz‡ikb cÖevn (Saturation Current) ejv nq| †em Gi mv‡_ jvMv‡bv †iwR÷i (Rb) Gi gvb cwieZ©b K‡i †em cÖevn evov‡bv ev Kgv‡bv hvq| Avgiv hw` †iwR÷i (Rb) Gi gvb Ggbfv‡e wVK Kwi †h †em G wWwRUvj Iqvb w`‡j UªvbwR÷i m¨vPz‡ikb †gvW G hvq Zvn‡j UªvbwR÷i‡K ZLb GKUv myB‡Pi wPÎ 4.4: UªvbwR÷i gZ g‡b n‡e| †em G Iqvb w`‡j UªvbwR÷i Ab n‡e Avevi †em G wR‡iv w`‡j UªvbwR÷i Ad n‡e| Gevi Av‡iv GKUv wWfvBm m¤ú‡K© Av‡jvPbv Kie| ‡mUv nj B‡j‡±ªvg¨vM‡bwUK wi‡j (Electromagnetic Relay)| Gi mvavibZ cvPUv wcb _v‡K-C1, C2,

Common, NO (Normally Opened), NC (Normally Closed)| C1

Ges C2 Gi gv‡S GKwU K‡qj (Coil) _v‡K| hv‡K wWwm mvcøvB w`‡j mwjb‡qW (Solinoied) wn‡m‡e KvR K‡i| Common wcb mvcøvB bv †`qv Ae ’vq NC Gi mv‡_ jvMv‡bv _v‡K| C1, C2 Gi g‡a¨ wWwm mvcøvB w`‡j mwjb‡q‡Wi †PŠ¤K AvKl©‡bi d‡j Common wcb NC ‡_‡K Qz‡U G‡m

E

C

Rc

B

Vcc

Rb

Base Current

Collector Current

Saturation ModeOperating

Mode

NO

NC

C1

C2

Common

Page 17: A a¨vq-1 gvB‡µvK ‡›Uªvjvi B‡ µv K ‡ ›U vj v ‡i ADC, Timer, Interrupts, I/O Ports BZ¨ v w`i Rb ¨ A v jv` v A vj v `v Resister Av ‡Q | gv B‡ µv K ‡ ›U vj

KwcivBU@cÖ‡KŠkjx †gvt RyjwdKvi Avjx Ry‡qj c„ôv bs- 17

NO Gi mv‡_ jv‡M| A_©vr B‡j‡±ªvg¨vM‡bwUK wi‡j nj GK ai‡bi myBP hv Ab ev Ad Kivi Rb¨ GKUv wWwm mvcøvB e¨envi Kiv nq| cv‡ki eZ©bx‡Z gvB‡µvK‡›Uªvjvi w`‡q wKfv‡e nvB ‡fv‡ëR B›Uvi‡dm Ki‡Z n‡e Zv †`qv Av‡Q| ‡`Lv hv‡”Q †h hZÿb ch©šÍ eZ©bxi T1 Uvwg©bvj G wWwRUvj Iqvb bv †`qv n‡e ZZÿb ch©šÍ nvB †fv‡ëR mvwK©U I‡cb Kvib wi‡ji Common wcb NO Gi mv‡_ I‡cb Av‡Q d‡j Gwm †gBb †evW© †_‡K evj¦ Gi g‡a¨ w`‡q †Kvb Zwor cÖevn n‡e bv| hLbB T1 Uvwg©bvj G wWwRUvj Iqvb †`qv n‡e, ‡jv †fv‡ëR mvwK©‡Ui UªvbwR÷i ZLb Ab n‡e d‡j Vcc ‡_‡K wi‡ji K‡q‡ji (Coil) ga¨ w`‡q UªvbwR÷i n‡q Zwor cÖevwnZ n‡e| wi‡ji g‡a Pz¤^K AvKl©‡bi d‡j wi‡ji Common wcb NO Gi mv‡_ ‡j‡M hv‡e| d‡j nvB †fv‡ëR mvwK©U Gi evj¦ Gi g‡a¨ w`‡q Gwm †gBb †evW© †_‡K Zwor cÖevn ïiæ n‡e| d‡j evj¦wU R¡j‡e| GLb Avgiv hw` wPÎ 4.5 Gi T1 Uvwg©bvj‡K wPÎ 4.5: nvB ‡fv‡ëR B›Uvi‡dm wPÎ 4.3 Gi eZ©bxi gvB‡µvK‡›Uªvjv‡ii 40-b¤i wc‡b (LED cwie‡Z©) jvwM‡q †`B Zvn‡j H eZ©bxi (wPÎ 4.3) myB‡Pi gva¨‡g Avgiv wPÎ 4.5 Gi evj¦‡K Ab-Ad Ki‡Z cvie| Gevi hw` myB‡Pi cwie‡Z© hw` †Kvb ‡mÝi eZ©bxi (wPÎ 4.3) 1-b¤i wc‡b jvwM‡q †`B Ges `yi †_‡K wi‡gvU K‡›Uªvjv‡ii gva¨‡g Iqvb/wR‡iv cvj&m cvVvB Zvn‡j wi‡gvU K‡›Uªvjvi w`‡q GKUv evj¦, d¨vb ev †h‡Kvb nvB‡fv‡ëR ‡jvW Avgiv K‡›Uªvj Ki‡Z cvie| Gwel‡q cieZ©x‡Z wi‡gvU K‡›Uªvjvi Aa¨v‡q Av‡jvPbv Kiv n‡e|

Vcc

NO

NCCommon

E

C

B

Bulb

Phase

Nutral

AC MainBoard

High Voltage Side

Low Voltage Side

T1