АДЦ је аналогни у дигитални претварач, који претвара аналогне податке у дигитални формат; обично се користи за претварање аналогног напона у дигитални формат. Аналогни сигнал нема бесконачно много вредности попут синусног таласа или нашег говора, АДЦ их претвара у одређене нивое или стања, која се могу мерити бројевима као физичка величина. Уместо континуиране конверзије, АДЦ периодично претвара податке, што је обично познато као стопа узорковања. Телефонски модемје један од примера АДЦ, који се користи за интернет, претвара аналогне податке у дигиталне податке, тако да рачунар може да разуме, јер рачунар може да разуме само дигиталне податке. Главна предност употребе АДЦ-а је та што се бука може ефикасно елиминисати из оригиналног сигнала, а дигитални сигнал може путовати ефикасније од аналогног. То је разлог зашто је дигитални звук врло јасан док слушате.
Тренутно постоји пуно микроконтролера на тржишту који су уградили АДЦ са једним или више канала. А помоћу њиховог АДЦ регистра можемо да се повежемо. Када одаберемо породицу микроконтролера 8051 за израду било ког пројекта, у којем нам је потребна АДЦ конверзија, тада користимо спољни АДЦ. Неки спољни АДЦ чипови су 0803,0804,0808,0809, а има их много више. Данас ћемо повезати 8-канални АДЦ са микроконтролером АТ89с52, односно АДЦ0808 / 0809.
Компоненте:
- 8051 микроконтролер (АТ89С52)
- АДЦ0808 / 0809
- ЛЦД 16к2
- Отпорник (1к, 10к)
- ЛОНАЦ (10к к4)
- Кондензатор (10уф, 1000уф)
- Црвени водио
- Даска за хлеб или ПЦБ
- 7805
- 11.0592 МХз кристал
- Снага
- Повезивање жица
АДЦ0808 / 0809:
АДЦ0808 / 0809 је монолитни ЦМОС уређај и управљачка логика компатибилна са микропроцесором и има 28 пина који даје 8-битну вредност на излазу и 8-каналне АДЦ улазне пинове (ИН0-ИН7). Његова резолуција је 8, тако да може кодирати аналогне податке у један од 256 нивоа (2 8). Овај уређај има линију адреса са три канала и то: АДДА, АДДБ и АДДЦ за одабир канала. Испод је пин дијаграм за АДЦ0808:
АДЦ0808 / 0809 захтева тактни импулс за конверзију. Можемо га обезбедити помоћу осцилатора или помоћу микроконтролера. У овом пројекту смо применили фреквенцију помоћу микроконтролера.
Било који улазни канал можемо одабрати помоћу линија адреса, као што можемо одабрати линију улаза ИН0 држећи све три линије адреса (АДДА, АДДБ и АДДЦ) на ниском нивоу. Ако желимо да одаберемо улазни канал ИН2, тада морамо да држимо АДДА, АДДБ ниским и АДДЦ високим. За одабир свих осталих улазних канала погледајте у датој табели:
Назив АДЦ канала |
АДДЦ ПИН |
АДДБ ПИН |
АДДА ПИН |
ИН0 |
ЛОВ |
ЛОВ |
ЛОВ |
У 1 |
ЛОВ |
ЛОВ |
ВИСОКО |
ИН2 |
ЛОВ |
ВИСОКО |
ЛОВ |
ИН3 |
ЛОВ |
ВИСОКО |
ВИСОКО |
ИН4 |
ВИСОКО |
ЛОВ |
ЛОВ |
ИН5 |
ВИСОКО |
ЛОВ |
ВИСОКО |
ИН6 |
ВИСОКО |
ВИСОКО |
ЛОВ |
ИН7 |
ВИСОКО |
ВИСОКО |
ВИСОКО |
Опис кола:
Коло "Размјена АДЦ0808 са 8051" је мали комплекс који садржи више повезивање жица за повезивање уређаја међусобно. У овом колу смо углавном користили АТ89с52 као 8051 микроконтролер, АДЦ0808, потенциометар и ЛЦД.
ЛЦД од 16к2 повезан је са микроконтролером 89с52 у 4-битном режиму. Контролни пин РС, РВ и Ен су директно повезани на пин П2.0, ГНД и П2.2. А пин за податке Д4-Д7 повезан је на пинове П2.4, П2.5, П2.6 и П2.7 од 89с52. Излазни пин АДЦ0808 директно је повезан на порт П1 АТ89с52. Пинови за адресне линије АДДА, АДДБ, ААДЦ повезани су на П3.0, П3.1 и П3.2.
АЛЕ (Омогућавање резе адресе), СЦ (Старт претворбе), ЕОЦ (Крај конверзије), ОЕ (Омогућавање излаза) и клинови сата су повезани на П3.3, П3.4, П3.5, П3.6 и П3.7.
И овде смо користили три потенциометра повезана на пин 26, 27 и 28 АДЦ0808.
За напајање кола користе се батерија од 9 волти и регулатор напона од 5 волта, наиме 7805.
Рад:
У овом пројекту повезали смо три канала АДЦ0808. А за демонстрацију смо користили три променљива отпорника. Када напајамо круг, тада микроконтролер иницијализује ЛЦД помоћу одговарајуће команде, даје сат АДЦ чипу, бира АДЦ канал помоћу адресне линије и шаље сигнал за претварање старта у АДЦ. Након тога АДЦ прво чита одабрани улаз АДЦ канала и даје свој претворени излаз микроконтролеру. Тада микроконтролер приказује своју вредност на положају Цх1 на ЛЦД-у. А онда микроконтролер мења АДЦ канал помоћу линије за адресу. А затим АДЦ чита одабрани канал и шаље излаз микроконтролеру. И приказати на ЛЦД-у као назив Цх2. И као мудро за друге канале.
Рад АДЦ0808 је много сличан раду АДЦ0804. У овом случају, први микроконтролер даје сигнал такта од 500 КХз на АДЦ0808, користећи прекидач Тајмер 0, јер АДЦ захтева рад сата. Сада микроконтролер шаље сигнал ЛОВ то ХИГХ левел на АЛЕ пин (његов активно-високи пин) АДЦ0808 како би омогућио резу у адреси. Затим применом сигнала ХИГХ на ЛОВ Левел на СЦ (Старт Цонверсион), АДЦ започиње аналогну у дигиталну конверзију. А затим сачекајте да се ЕОЦ (Крај конверзије) пин прикаже НИСКО. Када ЕОЦ пређе у ЛОВ, то значи да је аналогно-дигитална конверзија завршена и подаци су спремни за употребу. После овога, микроконтролер омогућава излазну линију применом ХИГХ то ЛОВ сигнала на ОЕ пин АДЦ0808.
АДЦ0808 даје излаз метричке конверзије односа на излазним пиновима. А формула за радиометријску конверзију дата је:
В ин / (В фс -В з) = Д к / (Д мак -Д мин)
Где
В ин је улазни напон за конверзију
В фс је пуна скала Напон
В з је нулти напон
Д к је тачка података која се мери
Д мак је Максимално ограничење података
Д мин је Минимално ограничење података
Објашњење програма:
У програм, пре свега, укључујемо заглавље датотека песка дефинише променљиве и улазне и излазне пинове за АДЦ и ЛЦД.
# укључују
Створена је функција за стварање кашњења (воид делаи), заједно са неким ЛЦД функцијама као што су иницијализација ЛЦД-а, штампање низа, ЛЦД команде итд. Лако их можете пронаћи у коду. Погледајте овај чланак за ЛЦД повезивање са 8051 и његовим функцијама.
После овога у главном програму иницијализовали смо ЛЦД и сходно томе подесили ЕОЦ, АЛЕ, ЕО, СЦ пинове.
воид маин () {инт и = 0; еоц = 1; але = 0; ое = 0; сц = 0; ТМОД = 0к02; ТХ0 = 0кФД; лцд_ини (); лцдпринт ("АДЦ 0808/0809");
А онда програм чита АДЦ и меморише излаз АДЦ у променљивој, а затим га шаље на ЛЦД након децималне у АСЦИИ конверзију, користећи функције воид реад_адц () и воид адц (инт и):
воид реад_адц () {број = 0; але = 1; сц = 1; кашњење (1); але = 0; сц = 0; док (еоц == 1); док (еоц == 0); ое = 1; број = улаз_порт; кашњење (1); ое = 0; } воид адц (инт и) {свитцх (и) {цасе 0: АДДЦ = 0; АДДБ = 0; АДДА = 0; лцдцмд (0кц0); реад_адц ();