Cov txheej txheem:
- Kauj Ruam 1: Txuas lub 7-seg Zaub
- Kauj ruam 2: Sib dhos Code thiab Video
- Kauj Ruam 3: Txuas lub 4-digit Display
- Kauj Ruam 4: Coding 4-digit Display
- Kauj Ruam 5: Push'n Pop
- Kauj Ruam 6: Tsawg-dhau lim thiab Voltage Amplifier
- Kauj Ruam 7: 4-tus lej Zaub Code thiab Yees Duab
Video: AVR Assembler Tutorial 9: 7 Cov Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:24
Zoo siab Tutorial 9.
Hnub no peb yuav los qhia yuav ua li cas tswj ob qho 7-ntu tso saib thiab 4-tus lej tso saib siv peb ATmega328P thiab AVR cov lus sib dhos lus. Hauv kev ua qhov no peb yuav tsum tau hloov pauv txoj hauv kev yuav siv pawg li cas txhawm rau txo tus lej sau npe uas peb xav tau los khi. Peb yuav ntxiv ob peb lub capacitors (cov lim qis dhau) los sim txo lub suab nrov ntawm peb cov keyboard. Peb yuav tsim qhov ntsuas hluav taws xob tawm ntawm ob peb lub transistors kom peb INT0 cuam tshuam kev hloov pauv ua haujlwm zoo dua rau cov nyees khawm qis dua ntawm kab hauv qab ntawm cov keyboard. Thiab peb yuav tsoo peb lub taub hau tiv thaiv ntawm phab ntsa me ntsis sim kom tau qhov raug tawm tsam kom qhov khoom ua haujlwm raug.
Peb yuav siv peb cov keyboard los ntawm Tutorial 7
Txhawm rau ua qhov kev qhia no, ntxiv rau cov khoom txheem, koj yuav xav tau:
-
7-ntu zaub
www.sparkfun.com/products/8546
-
4-tus lej zaub
www.sparkfun.com/products/11407
-
Lub laub khawm
www.sparkfun.com/products/97
- Cov ntaub ntawv teev tseg rau cov zaub uas tuaj yeem rub tawm los ntawm lawv cov nplooj ntawv txuas rau saum toj no.
- 68 pf ceramic capacitor, ob peb ntawm 104 capacitors, ib pawg ntawm cov resistors, ob 2N3904 NPN transistors.
Nov yog qhov txuas mus rau kev sau tiav ntawm kuv cov AVR kev sib sau ua ke qhia:
Kauj Ruam 1: Txuas lub 7-seg Zaub
Peb yuav siv tib txoj cai uas peb siv hauv Tutorial 7 rau cov keyboard kom tswj tau 7-ntu zaub. Yog li koj yuav tsum luam daim ntawv ntawd thiab peb yuav hloov kho nws.
Peb yuav ua daim ntawv qhia ntu rau tus pin ntawm peb lub microcontroller raws li hauv qab no:
(dp, g, f, e, d, c, b, a) = (PD7, PD6, PB5, PB4, PB3, PB2, PB1, PB0)
qhov twg cov tsiaj ntawv ntawm ntu tau qhia hauv daim duab nrog rau pinout sib xws rau ib txwm 5V thiab txhua ntu LED suav nrog cov lej zauv (dp) ntawm sab xis ntawm cov zaub. Qhov laj thawj rau qhov no yog kom peb tuaj yeem suav tag nrho tus lej rau hauv ib qho kev tso npe thiab tso tawm uas sau npe mus rau cov chaw nres nkoj B thiab D kom pom cov ntu. Raws li koj tuaj yeem pom cov khoom raug suav ua ntu zus los ntawm 0 txog 7 thiab yog li lawv yuav ua daim duab qhia chaw rau cov pins uas raug yam tsis tas yuav teeb thiab tshem cov khoom ib tus.
Raws li koj tuaj yeem pom los ntawm cov cai peb tau txuas hauv cov kauj ruam tom ntej, peb tau hloov peb cov kev ua haujlwm niaj hnub mus rau qhov loj thiab peb tau tso SDA thiab SCL pins rau yav tom ntej siv tom ntej Kev qhia.
Kuv yuav tsum ntxiv tias koj yuav tsum tau muab tus tiv thaiv nruab nrab ntawm qhov sib thooj ntawm cov zaub thiab 5V kev tsheb nqaj hlau. Kuv xaiv 330 ohm resistor li ib txwm tab sis yog tias koj nyiam koj tuaj yeem suav qhov tsawg kawg tiv thaiv xav tau kom tau txais qhov ci tshaj plaws ntawm cov zaub yam tsis tau kib nws. Nov yog yuav ua li cas:
Ua ntej saib ntawm daim ntawv cov ntaub ntawv thiab pom tias nyob rau thawj nplooj ntawv nws muab ntau yam khoom ntawm cov zaub. Qhov tseem ceeb yog qhov "Forward Current" (I_f = 20mA) thiab "Forward Voltage" (V_f = 2.2V). Cov no qhia koj xav tau qhov hluav taws xob poob hla cov zaub yuav yog tias qhov tam sim no sib npaug rau qhov tam sim no. Qhov no yog qhov siab tshaj tam sim no uas cov zaub yuav noj yam tsis tau kib. Nws yog qhov txiaj ntsig tseem yog qhov ci tshaj plaws uas koj tuaj yeem tawm ntawm ntu.
Yog li cia peb siv Ohm txoj cai thiab Kirchoff txoj cai tswj lub voj los txiav txim seb yam tsawg kawg tiv thaiv peb yuav xav tau muab tso ua ke nrog cov zaub kom tau txais qhov ci tshaj plaws. Kirchoff txoj cai hais tias qhov sib npaug ntawm qhov hloov pauv ib puag ncig lub voj kaw hauv qhov sib npaug ntawm xoom thiab Ohm txoj cai hais tias qhov hluav taws xob poob hla tus tiv thaiv kev tiv thaiv R yog: V = I R qhov uas kuv yog tam sim no ntws los ntawm tus tiv thaiv.
Yog li muab lub zog qhov hluav taws xob ntawm V thiab mus ncig peb lub voj voog peb muaj:
V - V_f - I R = 0
uas txhais tau tias (V - V_f)/Kuv = R.
R = (V - V_f)/I_f = (5.0V - 2.2V) /0.02A = 140 ohms
Yog li yog tias koj xav tau koj tuaj yeem siv 150 ohms yam tsis muaj kev txhawj xeeb. Txawm li cas los xij, Kuv xav tias 140 ohms ua rau nws ci rau kuv nyiam thiab yog li kuv siv 330 ohms (uas yog qhov kuv tus kheej Goldilocks tsis kam rau LEDs)
Kauj ruam 2: Sib dhos Code thiab Video
Kuv tau txuas cov lej sib dhos thiab cov vis dis aus qhia txog kev ua haujlwm ntawm cov keyboard nrog cov zaub. Raws li koj tuaj yeem pom peb tau yooj yim kos tus lej Redial rau "r", nyem nyem rau "F", lub hnub qub mus rau "A" thiab kos npe hash rau "H". Cov no tuaj yeem raug teeb tsa rau ntau yam haujlwm xws li backspace, nkag mus, thiab dab tsi-tsis yog tias koj xav txuas ntxiv siv cov keyboard rau ntaus tus lej ntawm LCD zaub lossis 4 tus lej qhia. Kuv yuav tsis hla txoj cai kab-kab-kab lub sijhawm no vim nws zoo ib yam li peb tau ua tiav hauv cov lus qhia dhau los. Qhov sib txawv tsuas yog ntau dua ntawm tib yam uas peb twb paub yuav ua li cas cuam tshuam thiab saib cov ntxhuav. Koj yuav tsum tsuas yog hla txoj cai thiab saib cov khoom tshiab uas peb tau ntxiv thiab yam peb tau hloov pauv thiab xam nws tawm ntawm qhov ntawd. Peb yuav rov qab mus rau kab lus-kab-kab kev tshuaj xyuas hauv qhov kev qhia tom ntej thaum peb qhia txog yam tshiab ntawm cov lus sib dhos coding ntawm AVR microcontrollers.
Tam sim no cia saib ntawm 4-tus lej zaub.
Kauj Ruam 3: Txuas lub 4-digit Display
Raws li cov ntaub ntawv teev tseg, cov lej 4-tus lej muaj Tam Sim No Tam Sim No ntawm 60 mA thiab qhov xa mus tom ntej ntawm 2.2 volts. Yog li, los ntawm kev suav tib yam li ua ntej, Kuv tuaj yeem siv 47 ohm resistor yog tias kuv xav tau. Hloov chaw kuv yuav siv… hrm.. cia kuv pom… li cas txog 330 ohms.
Txoj hauv kev uas 4-tus lej tso saib yog xaim yog muaj 4 anodes, ib qho rau txhua tus lej, thiab lwm tus pin tswj uas ntu tau los ntawm txhua. Koj tuaj yeem tso tawm 4 tus lej ib txhij vim tias lawv tau sib npaug. Hauv lwm lo lus, ib yam li peb tau ua rau ob lub tsuav, peb yooj yim hloov lub zog los ntawm txhua qhov anodes tig thiab nws yuav ntsais lawv ib qho tom qab ib qho. Nws yuav ua qhov no nrawm heev uas peb lub qhov muag yuav tsis pom qhov ntsais thiab nws yuav zoo li txhua plaub tus lej nyob. Txawm li cas los xij, tsuas yog kom ntseeg tau, txoj hauv kev peb yuav sau nws yog txhawm rau teev tag nrho plaub tus lej, tom qab ntawd hloov lub anodes, tsis yog teeb tsa, txav mus, teeb tsa, txav mus, thiab lwm yam..
Txog tam sim no, cia peb sim seb ntu twg ua haujlwm.
Muab koj 330 ohm resistor nruab nrab ntawm txoj kev tsheb nqaj hlau zoo ntawm koj lub khob cij thiab thawj anode ntawm cov zaub. Cov ntawv qhia rau peb tias tus lej cim tau suav los ntawm 1 txog 16 rov qab-clockwise pib ntawm hauv qab sab laug (thaum koj tab tom saib ntawm cov zaub ib txwm.. nrog cov lej zauv raws hauv qab) thiab nws hais tias anodes yog tus lej lej 6 8, 9, 12, ib.
Yog li peb txuas tus pin 6 txog 5V thiab tom qab ntawd coj cov hmoov txhuas tsis zoo los ntawm koj txoj kev tsheb nqaj hlau GND thiab muab nws tso rau hauv txhua qhov ntawm lwm tus pin thiab pom tias txhua ntu tau teeb ntawm tus lej nws sib xws (uas yog qhov tseeb thib ob ntawm txoj cai). Nco ntsoov tias koj tau txais tag nrho 7 ntu thiab cov lej zauv los ua kom pom kev.
Tam sim no lo koj GND xaim rau hauv ib qho ntawm cov pins kom pom ib qho ntawm ntu thiab lub sijhawm no txav tus tiv thaiv ib puag ncig mus rau lwm qhov 3 anodes thiab pom tias tib ntu tau teeb nyob hauv txhua ntawm lwm tus lej.
Txhua yam txawv txawv?
Nws hloov tawm tias tus pinout ntawm cov ntawv teev npe tsis raug. Qhov no yog vim nws yog cov ntawv teev npe thiab pinout rau 12-pin, 4-digit display. I.e. ib qho uas tsis muaj cov nyuv lossis cov lej siab dua. Cov zaub uas kuv tau txais thaum kuv xaj nws yog 16 tus lej, 4-tus lej zaub. Qhov tseeb, ntawm kuv tus kheej, ntu anodes yog nyob ntawm tus pin 1, 2, 6, thiab 8. Txoj hnyuv anode yog tus pin 4 (cathode pin 12) thiab sab saud dp anode yog tus pin 10 (cathode yog tus pin 9)
Kev tawm dag zog 1: Siv koj tus tiv thaiv thiab xaim hauv av los ua daim duab qhia chaw uas tus pin sib raug rau ntu twg thiab qib lej zauv ntawm cov zaub yog li peb tau txais ntu uas raug teeb pom kev zoo thaum peb sau nws.
Txoj hauv kev uas peb xav kom cim daim ntawv qhia ntu yog zoo ib yam li peb tau ua nrog tus lej 7-ntu ntu saum toj no-peb tsis tas yuav hloov ib yam hauv cov cai, tsuas yog qhov peb hloov yog cov xov hlau txuas li cas ntawm lub rooj tsavxwm. Cias ntsaws qhov tseeb chaw nres nkoj tus pin ntawm lub microcontroller mus rau tus lej sib thooj ntawm 4-tus lej zaub thiaj li, piv txwv li, PB0 tseem mus rau tus pin coj mus rau ntu a, PB1 mus rau ntu B, thiab lwm yam.
Qhov txawv tsuas yog tam sim no peb xav tau 4 tus pin ntxiv rau anodes txij li peb tsis tuaj yeem yooj yim mus rau 5V kev tsheb nqaj hlau ntxiv lawm. Peb xav tau microcontroller los txiav txim siab tus lej twg tau txais kua txiv.
Yog li peb yuav siv PC1, PC2, PC3, thiab PD4 los tswj cov anodes ntawm 4 tus lej.
Koj tseem tuaj yeem mus tom ntej thiab ntsaws cov xov hlau. (tsis txhob hnov qab 330 ohm resistors ntawm cov xaim hluav taws xob!)
Kauj Ruam 4: Coding 4-digit Display
Cia peb xav txog yuav ua li cas peb xav kom cim cov zaub no.
Peb xav kom tus neeg siv thawb lub pob khawm thiab muaj cov lej tshwm sim ua ntu zus ntawm cov zaub thaum lawv thawb txhua lub pob. Yog li yog tias kuv thawb 1 ua raws los ntawm 2 nws yuav tshwm rau ntawm lub vijtsam li 12. Kuv tseem xav khaws qhov nqi ntawd, 12, rau kev siv sab hauv tab sis peb yuav tau txais qhov ntawd me ntsis tom qab. Txog tam sim no kuv tsuas yog xav sau lub macro tshiab uas yuav siv koj cov keypresses thiab qhia lawv. Txawm li cas los xij, txij li peb tsuas muaj 4 tus lej Kuv xav kom ntseeg tau tias nws tsuas tso cai rau koj ntaus plaub tus lej.
Lwm qhov teeb meem yog qhov uas txoj kev sib tw 4-tus lej ua haujlwm yog los ntawm kev caij tsheb kauj vab anodes kom txhua tus lej tsuas yog siv rau kev sib faib thib ob ua ntej nws nthuav tawm tom ntej thiab tom qab ntawd tom qab thiab thaum kawg rov mus rau thawj zaug ntxiv, thiab lwm yam Yog li peb xav tau ib txoj hauv kev rau qhov no.
Peb kuj xav kom nws txav "tus cursor" hla mus rau qhov chaw raug thaum peb ntaus tus lej tom ntej. Yog li yog tias kuv xav ntaus 1234 piv txwv, tom qab kuv ntaus 1, tus cursor yuav txav mus kom tus lej tom ntej kuv ntaus yuav tshwm nyob rau tom ntej 7-ntu zaub thiab ntxiv rau. Txhua qhov thaum qhov no tshwm sim Kuv tseem xav kom tuaj yeem pom qhov kuv tau ntaus yog li nws tseem yuav tsum tau caij tsheb kauj vab los ntawm tus lej thiab tso saib lawv.
Suab zoo li kev txiav txim siab?
Tej yam yeej phem dua. Peb xav tau 4 lub hom phiaj sau npe ntau ntxiv uas peb tuaj yeem siv los khaws cov txiaj ntsig tam sim no ntawm 4 tus lej peb xav tso tawm (yog tias peb yuav hla mus los ntawm lawv peb yuav tsum khaws lawv cia rau qee qhov) thiab teeb meem nrog qhov no yog qhov peb muaj tau siv tag nrho cov hom phiaj sau npe zoo li vwm thiab yog tias peb tsis saib xyuas peb yuav tsis muaj ib qho ntxiv lawm. Yog li nws tej zaum yog lub tswv yim zoo los daws qhov teeb meem sai dua li tom qab thiab qhia koj yuav ua li cas thiaj li tso npe dawb los ntawm kev siv pawg.
Yog li cia peb pib los ntawm kev ua kom yooj yim me ntsis, siv pawg, thiab tso qee qhov kev tso npe tseg thiab tom qab ntawd peb yuav sim ua kom tiav txoj haujlwm ntawm kev nyeem ntawv thiab tso tawm peb cov lej ntawm 4-lej zaub.
Kauj Ruam 5: Push'n Pop
Tsuas muaj qee qhov "Cov Hom Phiaj Kev Sau Npe" uas peb muaj ntawm peb pov tseg thiab thaum lawv siv lawm tsis muaj ntxiv lawm. Yog li nws yog qhov kev xyaum ua haujlwm zoo tsuas yog siv lawv rau ob peb qhov kev hloov pauv uas tau siv ua cia ib ntus uas koj xav tau rau kev nyeem los ntawm, thiab sau ntawv mus rau, chaw nres nkoj thiab SRAM nrog, lossis lwm qhov uas koj yuav xav tau hauv subroutines txhua qhov chaw thiab yog li koj npe lawv. Yog li kuv tau ua dab tsi, tam sim no uas peb tau pib ua thiab tau kawm siv Stack, yog mus hla txoj cai thiab nrhiav cov npe sau npe lub hom phiaj rau npe uas tau siv tsuas yog hauv ib subroutine nkaus xwb lossis cuam tshuam thiab tsis muaj lwm qhov hauv qhov chaws thiab hloov lawv nrog ib qho ntawm peb cov ntawv teev sijhawm thiab thawb thiab pop rau ntawm pawg. Qhov tseeb, yog tias koj saib cov cai sau rau microcontrollers me dua, lossis yog tias koj rov qab mus rau lub sijhawm thaum txhua lub chips tau me dua, koj yuav pom tsuas yog ob peb lub hom phiaj dav dav uas yuav tsum tau siv rau txhua yam, yog li koj tsis tuaj yeem ua tsuas yog khaws tus nqi hauv qhov ntawd thiab tso nws ib leeg txij li koj tau paub tseeb tias xav tau daim ntawv sau npe rau lwm yam. Yog li koj yuav pom pushin 'thiab poppin' thoob plaws qhov chaw hauv txoj cai. Tej zaum kuv yuav tsum tau muaj npe peb lub hom phiaj dav dav rau npe AX thiab BX raws li kev hwm hwm rau cov hnub dhau los.
Ib qho piv txwv yuav pab ua kom qhov no meej dua.
Daim ntawv ceeb toom tias hauv peb qhov Analog rau Digital hloov pauv ua tiav cuam tshuam ADC_int peb siv lub hom phiaj sau npe uas peb tau muaj lub npe buttonH uas peb siv los thauj tus nqi ntawm ADCH thiab sib piv nws nrog peb lub rooj saib ntawm analog rau khawm nias hloov pauv. Peb tsuas yog siv lub pob no txhawm rau sau npe hauv ADC_int subroutine thiab tsis pom qhov twg ntxiv. Yog li hloov peb yuav siv peb qhov sib txawv temp2 uas peb siv ua qhov hloov pauv ib ntus uas peb tuaj yeem siv nyob hauv ib qho twg subroutine muab thiab nws tus nqi yuav tsis cuam tshuam dab tsi sab nraud ntawm subroutine (piv txwv li tus nqi peb muab rau hauv ADC_int yuav tsis siv nyob qhov twg. lwm tus).
Lwm qhov piv txwv yog hauv peb qhov qeeb qeeb. Peb muaj daim ntawv sau npe peb muaj npe "milliseconds" uas muaj peb lub sijhawm ncua hauv milliseconds. Hauv qhov no nws yog nyob rau hauv qhov loj thiab peb nco qab tias txoj kev ua haujlwm macro yog tias cov neeg sib sau ua ke tso tag nrho cov lej lej rau hauv qhov chaw ntawm qhov haujlwm uas nws tau hu. Hauv qhov no peb xav tshem tawm "milliseconds" qhov sib txawv thiab hloov nws nrog ib qho ntawm peb qhov kev hloov pauv ib ntus. Hauv qhov no kuv yuav ua nws txawv me ntsis los qhia koj li cas txawm tias tus nqi ntawm qhov sib txawv yuav xav tau nyob rau lwm qhov peb tseem tuaj yeem siv nws los ntawm kev siv pawg. Yog li tsis yog milliseconds peb siv "temp" thiab txhawm rau kom peb tsis txhob ntswj lwm yam uas tseem siv tus nqi ntawm qhov kub peb tsuas yog pib "qeeb" macro los ntawm "thawb" temp rau ntawm pawg, tom qab ntawd peb siv nws hloov ntawm milliseconds, thiab tom qab ntawd thaum kawg ntawm lub macro peb "pop" nws cov txiaj ntsig yav dhau los rov qab los ntawm pawg.
Qhov txiaj ntsig tau yog tias peb tau "qiv" qhov kub thiab txias rau qhov siv sijhawm ib ntus thiab tom qab ntawd rov qab los rau lawv qhov txiaj ntsig yav dhau los thaum peb ua tiav.
Nov yog ADC_int cuam tshuam ib ntus tom qab ua qhov kev hloov pauv no:
ADC_int:
thawb kub; txuag lub sijhawm txij li peb hloov kho nws ntawm no thawb temp2; txuag temp2 lds temp2, ADCH; ntsaws cov lej ldi ZH, siab (2*tus lej) ldi ZL, qis (2*tus lej) cpi temp2, 0 rov qab rov qab; yog tias lub suab nrov tsis hloov 7segnumber setkey: lpm temp, Z+; thauj khoom los ntawm lub rooj thiab nce qib ntxiv clc cp temp2, temp; sib piv keypress nrog lub rooj brlo PC+4; yog tias ADCH qis dua, sim dua lpm 7segnumber, Z; txwv tsis pub thauj cov keyvalue table inc lej; nce tus lej zauv rjmp rov qab; thiab rov qab adiw ZH: ZL, 1; nce Z rjmp setkey; thiab rov qab mus rau sab saum toj rov qab: pop temp2; rov qab temp2 pop temp; restore lub sij hawm reti
Daim ntawv ceeb toom tias txoj kev pawg ua haujlwm yog tias thawj zaug yog qhov kawg. Zoo li ib pawg ntawm cov ntawv. Koj pom tias hauv peb thawj ob kab peb thawb tus nqi ntawm qhov ntsuas mus rau pawg, tom qab ntawd peb thawb temp2 rau ntawm pawg, tom qab ntawd peb siv lawv hauv subroutine rau lwm yam, thiab thaum kawg peb rov kho lawv rau lawv cov txiaj ntsig yav dhau los dua los ntawm thawj popping temp2 tawm (txij li nws yog qhov kawg thawb rau nws yog nyob rau sab saum toj ntawm pawg thiab yuav yog thawj qhov peb pop rov qab tawm) thiab tom qab ntawd popping temp.
Yog li txij tam sim no peb yuav siv txoj hauv kev no ib txwm. Tsuas yog lub sijhawm peb yuav xaiv lub npe rau lwm yam uas tsis yog qhov sib txawv ntawm lub sijhawm yog thaum peb yuav xav tau nws nyob txhua qhov chaw. Piv txwv li, kev sau npe hu ua "dhau mus" yog ib qho uas peb siv hauv ntau qhov chaw sib txawv hauv txoj haujlwm thiab yog li peb xav muab nws lub npe. Tau kawg peb tseem tuaj yeem siv nws txoj kev uas peb tau ua tiav nrog temp thiab temp2 txij li peb yuav rov kho nws tus nqi tom qab peb ua tiav. Tab sis qhov ntawd yuav spaghettify yam ntau dhau. Lawv muaj npe rau qhov laj thawj thiab peb muaj temp thiab temp2 twb tau xaiv rau txoj haujlwm ntawd.
Kauj Ruam 6: Tsawg-dhau lim thiab Voltage Amplifier
Txhawm rau txhawm rau ntxuav lub suab nrov me ntsis thiab ua rau peb cov keypad ua haujlwm tau zoo dua peb xav ntxiv ob peb ntawm cov lim qis. Cov no lim tawm lub suab nrov nrov thiab tso cai rau lub suab qis qis kom dhau mus. Qhov tseem ceeb ntawm txoj hauv kev los ua qhov no tsuas yog ntxiv 68 pf capacitor ntawm peb cov lus sib piv thiab hauv av thiab tseem yog 0.1 microfarad (piv txwv li 104) capacitor nruab nrab ntawm peb PD4 (INT0) cuam tshuam thiab hauv av. Yog tias koj ua si ib puag ncig nrog cov no thaum thawb cov nyees khawm ntawm cov keyboard koj yuav tuaj yeem pom lawv ua dab tsi.
Tom ntej no peb xav ua qhov ntsuas hluav taws xob. Nws hloov tawm tias cov kab hauv qab ntawm cov yuam sij ntawm cov keyboard (nrog rau tus lej rov qab) tau tso tawm qis dhau ntawm qhov hluav taws xob mus rau INT0 cuam tshuam. Qhov chaw nres nkoj sib piv tau nkag siab txaus los nyeem qhov qis qis los ntawm cov yuam sij no tab sis peb tus pin cuam tshuam tsis tau txais qhov zoo txaus nce los cuam tshuam thaum peb thawb cov yuam sij no. Vim li no peb xav tau qee txoj hauv kev kom ntseeg tau tias qhov zoo hluav taws xob nce ntawm ntug tsoo PD4 tab sis tib lub zog qis qis ADC0. Qhov no yog qhov kev txiav txim siab zoo nkauj txij li ob lub cim qhia los ntawm tib lub xov hlau ntawm peb cov keyboard. Muaj ntau txoj hauv kev los ua qhov no, tab sis peb yuav tsis siv peb cov keypad ntxiv tom qab qhov kev qhia no yog li cia li kluge ua ke ib txoj hauv kev uas ua haujlwm (tsawg kawg).
Koj yuav tsum xub ua tus khawm sab nraud los hloov INT0 cuam tshuam thiab tswj cov zaub los ntawm kev tuav tus yuam sij ntawm cov keyboard thiab nyem lub pob. Qhov no muaj tsawg dua cov teeb meem keypad thiab yuav tso cai rau koj kom ntseeg tau tias koj cov hluav taws xob tau teeb tsa raug ntawm lub keyboard saib lub rooj. Thaum koj paub tias cov keyboard tau txuas nrog kom raug ces tshem lub pob thiab muab INT0 cuam tshuam rov qab. Muaj qee qhov teeb meem suab nrov thiab teeb meem tswj hwm cov keypad li no nws yog qhov zoo kom paub tias txhua yam ua haujlwm kom cov teeb meem yav tom ntej tuaj yeem raug cais mus rau INT0 tus yuam sij.
Thaum koj xaim koj lub keypad thiab koj lub zog siv hluav taws xob, nws zoo li tias qhov ntsuas qhov qub uas kuv tau siv yuav tsis mus ua haujlwm. Yog li koj yuav tsum tau ua qee qhov kev sim kom tau txais txiaj ntsig uas ua haujlwm rau koj.
Yog tias koj saib daim duab kuv tau txuas nrog rau theem no koj yuav pom tias lub tshuab hluav taws xob qhov hluav taws xob yuav ua haujlwm li cas. Peb siv qee cov resistors thiab ob lub transistors. Txoj kev transistors ua haujlwm (saib cov ntawv txheeb!) Yog muaj qhov tsawg kawg nkaus qhov hluav taws xob uas koj xav tau nkag mus rau tus pin tus lej ntawm lub transister (tus pin nruab nrab) uas yuav saturate nws thiab tso cai rau tam sim no ntws ntawm tus pin sau thiab tus emitter tus pin Nyob rau hauv rooj plaub ntawm 2N3904 transistor uas peb siv ntawm no qhov hluav taws xob yog 0.65V. Tam sim no peb tab tom noj qhov hluav taws xob los ntawm peb cov zis los ntawm cov keyboard thiab peb tsis xav hloov qhov kev tso tawm yog li peb yuav tso lub zog loj ntawm cov zis los ntawm cov keyboard thiab lub hauv paus ntawm thawj transistor (Kuv siv 1Mohm). Kuv tau sau qhov no li R_1 hauv daim duab. Tom qab ntawd peb xav teeb tsa qhov faib hluav taws xob kom lub hauv paus ntawm lub transistor yog "yuav luag" ntawm 0.65 volts twb tau dhau los thiab tsuas yog cov menyuam hluas weeny me ntsis ntxiv yuav thawb nws saum thiab saturate nws. Qhov me me weeny me ntsis yuav los ntawm cov zis ntawm cov keyboard thaum peb nias lub pob. Txij li cov yuam sij qis dua ntawm cov keyboard tsuas yog tso tawm qhov hluav taws xob me me peb yuav tsum tau nyob ze rau qhov saturation twb tau ua kom lawv txaus. Cov hluav taws xob faib hluav taws xob tiv thaiv tau sau npe R_a thiab R_b ntawm daim duab. Kuv siv R_a = 1Mohm thiab R_b = 560Kohm tab sis nws yuav luag txhua yam uas koj yuav tsum tau ua si ib puag ncig nrog cov lej no kom tau txais nws yog rau koj teeb tsa. Koj tuaj yeem xav kom muaj phab ntsa nyob ze kom tsoo koj lub taub hau tawm tsam thiab ob lossis peb lub iav tsom iav ntawm tes (Kuv xav kom Laphroaig - kim, tab sis tsim nyog nws yog tias koj nyiam haus luam yeeb. ntawm BV thiab khom nyob rau hmo ntuj)
Tam sim no cia saib yuav ua li cas cov transistors yuav ua rau peb muaj kev nce siab zoo mus rau hauv INT0 tus yuam sij thiab tsim peb cov keypress cuam tshuam. Ua ntej cia saib dab tsi tshwm sim thaum kuv tsis nias tus yuam sij. Hauv qhov xwm txheej ntawd thawj lub transistor (sau tias T1 hauv daim duab) raug kaw. Yog li tsis muaj qhov tam sim no ntws los ntawm tus neeg sau thiab tus pin emitter. Yog li lub hauv paus ntawm lwm lub transistor (daim ntawv lo T2) yuav rub siab thiab yog li nws yuav saturate tso cai tam sim no ntws ntawm nws cov pins. Qhov no txhais tau tias tus emitter ntawm T2 yuav raug rub qis vim nws txuas nrog tus neeg khaws khoom uas nws tus kheej txuas nrog hauv av. Yog li, cov zis uas mus rau peb INT0 keypress cuam tshuam tus pin (PD4) yuav qis thiab yuav tsis muaj kev cuam tshuam.
Tam sim no muaj dab tsi tshwm sim thaum kuv thawb tus yuam sij? Zoo ces lub hauv paus ntawm T1 mus siab dua 0.65V (nyob rau hauv rooj plaub ntawm cov yuam sij qis nws tsuas yog nyuam qhuav mus saum toj no!) Thiab tam sim no yuav tso cai ntws uas yuav rub lub hauv paus ntawm T2 mus rau qhov qis thiab qhov no yuav kaw T2. Tab sis peb pom tias thaum T2 tawm, tom qab ntawd cov zis raug rub siab thiab yog li peb yuav tau txais 5V teeb liab mus rau peb tus lej INT0 thiab nws yuav ua rau cuam tshuam.
Pom tias qhov txiaj ntsig net nyob ntawm no. Yog tias peb thawb 1 tus yuam sij, peb tau txais 5V mus rau PD4 yam tsis hloov pauv mus rau ADC0, thiab qhov tseem ceeb dua, txawm tias peb thawb lub hnub qub, 0, Hash, lossis Redial, peb kuj tau txais 5V teeb liab mus rau INT0 thiab ua rau cuam tshuam! Qhov no yog qhov tseem ceeb vim tias yog peb nyuam qhuav mus ncaj qha los ntawm cov keypad tso rau INT0 tus pin, cov yuam sij no tau tsim tawm yuav luag tsis muaj qhov hluav taws xob thiab lawv yuav tsis txaus los ua tus pin cuam tshuam. Peb qhov ntsuas hluav taws xob tau daws qhov teeb meem no.
Kauj Ruam 7: 4-tus lej Zaub Code thiab Yees Duab
Qhov ntawd yog txhua yam rau kev qhia 9! Kuv tau txuas cov cai thiab daim vis dis aus qhia txog kev ua haujlwm.
Qhov no yuav yog zaum kawg uas peb yuav siv cov keyboard sib piv (ua tsaug rau vaj tswv). Nws nyuaj rau siv, tab sis nws kuj tseem muaj txiaj ntsig zoo los pab peb kawm txog kev hloov pauv mus rau digital, cov chaw sib txuas sib txuas, cuam tshuam, ntau ntxiv, lim lub suab nrov, lub zog ntsuas hluav taws xob, thiab ntau yam ntawm kev sib sau ua ke los ntawm saib cov ntxhuav mus rau timer/suav Vim li no peb thiaj txiav txim siab siv nws. (ntxiv rau nws yog kev lom zem los khaws cov khoom).
Tam sim no peb tab tom saib kev sib txuas lus dua thiab tau txais peb 7-ntu thiab peb 4-tus lej qhia kom nyeem tawm peb cov dov dov los ntawm peb cov menyuam dice tib txoj kev uas peb tau ua nrog peb cov npe tshuaj ntsuam xyuas. Lub sijhawm no peb yuav siv ob-xaim sib txuas ntau dua li peb tau hacked ua ke morse code txoj kev.
Thaum peb muaj kev sib txuas lus ua haujlwm thiab yob uas qhia tawm ntawm cov lus peb thaum kawg tuaj yeem ua thawj daim ntawm peb cov khoom kawg. Koj yuav pom tias tsis muaj tag nrho cov khoom sib piv cov khoom peb cov lej yuav luv dua thiab tej zaum yuav yooj yim nyeem.
Rau cov neeg ntawm koj uas mob siab rau. Nov yog "phiaj xwm" uas koj tuaj yeem sim uas koj yeej muaj kev paub los ua tam sim no yog tias koj tau dhau los ntawm txhua qhov kev qhia no txog rau lub ntsiab lus no:
Qhov project: Ua lub laij lej! Siv peb tus lej 4 tus lej thiab peb cov keyboard thiab ntxiv lub pob sab nraud thawb uas yuav ua zoo li "nkag" tus yuam sij. Daim ntawv qhia lub hnub qub rau "sijhawm", hash rau "faib" rov hais dua mus rau "ntxiv" thiab nyem rau "rho tawm" thiab sau lub tshuab xam zauv niaj hnub uas ua zoo ib yam ntawm HP qub "rov qab txhuam" cov lej uas txhua tus kws tsim muaj rov qab nyob rau hauv lub hnub. I.e. txoj hauv kev lawv ua haujlwm yog tias koj sau tus lej thiab nias "nkag". Qhov no thawb tus lej ntawd rau hauv pawg, tom qab ntawd koj nkag mus rau tus lej thib ob thiab thawb "nkag mus", uas thawb tus lej thib ob mus rau pawg. Thaum kawg koj nias ib qho ntawm kev ua haujlwm zoo li X, /, + lossis - thiab nws yuav siv qhov haujlwm ntawd rau ob tus lej saum toj kawg nkaus ntawm pawg, tso saib qhov tshwm sim, thiab thawb qhov txiaj ntsig mus rau pawg kom koj tuaj yeem siv nws dua yog tias koj nyiam Piv txwv li ntxiv 2+3 koj yuav ua: 2, "nkag mus", 3, "nkag mus", "+" thiab cov zaub yuav nyeem 5. Koj paub siv cov pawg, cov zaub, cov keyboard, thiab koj li cas muaj feem ntau ntawm keeb kwm yav dhau los twb tau sau lawm. Tsuas yog ntxiv tus yuam sij nkag thiab subroutines xav tau rau lub tshuab xam zauv. Nws yog qhov nyuaj me ntsis ntau dua li qhov koj yuav xav thaum xub thawj, tab sis nws lom zem thiab ua tau.
Ntsib koj zaum tom ntej!
Pom zoo:
AVR Assembler Tutorial 2: 4 Cov Kauj Ruam
AVR Assembler Tutorial 2: Qhov kev qhia no yog txuas ntxiv ntawm "AVR Assembler Tutorial 1" Yog tias koj tsis tau hla Tutorial 1 koj yuav tsum tso tseg tam sim no thiab ua qhov ntawd ua ntej Hauv qhov kev qhia no peb yuav txuas ntxiv peb txoj kev kawm ntawm kev sib dhos lus programming ntawm atmega328p u
AVR Assembler Tutorial 1: 5 Cov Kauj Ruam
AVR Assembler Tutorial 1: Kuv tau txiav txim siab sau ntau cov ntawv qhia yuav ua li cas thiaj sau cov lus sib dhos rau Atmega328p uas yog lub microcontroller siv hauv Arduino. Yog tias tib neeg tseem xav paub Kuv yuav txuas ntxiv tshem tawm ib lub lis piam lossis li ntawd kom txog thaum kuv tsis muaj
AVR Assembler Tutorial 6: 3 Cov Kauj Ruam
AVR Assembler Tutorial 6: Txais tos rau Tutorial 6! Peb yuav nqa cov menyuam tsuav los ntawm Tutorial 4 thiab Sau Npe
AVR Assembler Tutorial 8: 4 Cov Kauj Ruam
AVR Assembler Tutorial 8: Txais tos rau Tutorial 8! Hauv qhov kev qhia luv luv no peb yuav coj me ntsis ntawm kev hloov pauv los ntawm kev qhia txog yam tshiab ntawm kev sib dhos lus programming los qhia yuav ua li cas txav peb cov qauv ua ntej mus rau qhov cais " luam tawm " Circuit Board. Qhov
AVR Assembler Tutorial 7: 12 Cov Kauj Ruam
AVR Assembler Tutorial 7: Zoo siab Tutorial 7! tswv yim. Peb yuav xaim tus xovtooj li t