Академический Документы
Профессиональный Документы
Культура Документы
Bragarenco 2
Bragarenco 2
RAPORT
la lucrarea de laborator nr. 2
Chișinău 2019
Interfata afisorului prezentat aici este una paralela. Orice afisor interfatat paralel care se poate gasi in prezent va avea la baza un
controller de tip Hitachi HD44780 sau unul compatibil cu acest cip.Ca regula afisorul are 14 pini de conexiune.
TCCR1A - регистр управления, определяет поведение выводов OC1A и OC1B (биты 1 и 2 порта B) при совпадении значений в регистре с TCNT1A и
ICR1 - в этот регистр записывается текущее состояние счётчика при появлении активного входного сигнала на выводе ICP (бит 0 порта B)
OCR1A,OCR1B - содержимое этих регистров постоянно сравнивается с содержимым счётного регистра TCNT1. В случае совпадения выполняются
Регистр TCCR1A
7 6 5 4 3 2 1 0
Биты COM1A1/COM1A0 и COM1B1/COM1B0 определяют поведение выводов OC1A/OC1B при совпадении значений регистров сравнения
OCR1A/OCR1B со значением счётного регистра TCNT1. Возможные состояния битов показаны в таблице (случай для отключённого ШИМ)
COM COM
Действие при совпадении
1x1 1x0
0 0 нет реакции
Если в регистре TCCR1A включён широтно-импульсный модулятор, то счётчик Т/C1 работает как суммирующий и вычитающий счётчик, выполняя
циклические переходы от значения 0x0000 до значения MAX и обратно до 0x0000. Число MAX рассчитывается по формуле:
MAX=2N-1,
где N - разрешающая способность ШИМ, заданная битами PWM10 и PWM11 регистра TCCR1A.
fшим=ft/c1/(MAX)
Регистр TCCR1B
7 6 5 4 3 2 1 0
Биты 0-2 используются для выбора частоты тактирования (см. таблицу в разделе таймеры atmega8).
Если CTC1=1, то таймер возвращается в состояние 0x0000 по импульсу, следующему после совпадения счётчика и регистра сравнения OCR1A
Регистр ICES1 определяет каким образом должно передаваться состояние счётчика в регистр захвата ICR1 - по нарастающему (ICES1=1) или
Reference Selection Bits (REFS): There are three different ways of selecting reference voltage for AD conversion by ADC.
REFS1 and REFS0 bits are used to determine what reference voltage source to be used for AD conversion.It can be either
internal 2.56V or through external AREF pin (Analog Reference voltage).
REFS1 REFS0 Vref Selection
ADC Left Adjust Result (ADLAR): Once the conversion is complete, result is stored in two ADC data registers ADCH and ADCL.
This result can be either left justified or right justified. If ADLAR bit is set, then it is left adjusted, and clearing it will right justify
the result. By default, bit is cleared and right justified.
MUX3:0: Analog Channel Selection Bits
These bits are used to select particular analog input channel. The table ADPS2 ADPS1 ADPS0 Division Factor
shows bits to be set to enable any particular pin.
0 0 0 2
MUX3 MUX2 MUX1 MUX0 Single Ended Input
0 0 1 2
0 0 0 0 ADC0
0 1 0 4
0 0 0 1 ADC1
0 1 1 8
0 0 1 0 ADC2
1 0 0 16
0 0 1 1 ADC3
1 0 1 32
0 1 0 0 ADC4
1 1 0 64
0 1 0 1 ADC5
1 1 1 128
0 1 1 0 ADC6 *
0 1 1 1 ADC7 *
ADCSRA Register
This register is responsible for enabling ADC, start ADC converting, prescaler selection and interrupt control.
ADCSRA bit definition:
Bit 7 6 5 4 3 2 1 0
Bitul 7 –RXC- indică starea registrului de recepţiei.Dacă încă se mai primesc date valoarea lui este 1 iar dacă recepţia
a fost efectuată complet valoarea lui este 0.
Bitul 6 –TXC- indică starea registrului de transmisiei.Dacă încă se mai transmit date valoarea lui este 1 iar dacă
transmisia a fost efectuată complet valoarea lui este 0.
Bitul 5 – UDRE – indică dacă UDR poate fi citit sau scris.Dacă este 1 UDR poate fi scris, dacă este 0 nu se pot efectua
operaţii cu acest registru.
Aceşti 3 biţi pot genera întreruperi care pot fi tratate în rutine speciale .
Bitul 4 – FE – Detectează dacă există erori la transmiterea cuvântului verificând bitul/biţii de final.Dacă acest/aceşti
biţi au o valoare diferită de 1 atunci bitul FF ia valoarea 1.Dacă totul este în regulă atunci valoarea lui FE va fi 0.
Bitul 3 –DOR - Detectează dacă există erori de suprascrierea USAR-tului.De exemplu la recepţie poate apărea o astfel
de eroare dacă UDR şi registrul serial este plin şi alt caracter este pe cale de a fi primit.FE este 1 dacă s-a semnalat o
astfel de eroare şi 0 dacă nu avem o eroare de acest fel.
Bitul 2 – PE – are rolul de a detecta eroarea de paritate.Dacă s-a detectat o astfel de eroare ia valoarea 1 iar dacă nu
valoarea lui va fi 0.
Bitul 1 – U2X – Acest bit este 1 dacă dorim să dublăm viteza de transmisie în modul asicron şi 0 dacă se foloseşte
viteza normală.Acest bit trebuie să aibă întotdeauna valoarea 0 dacă este folosit modul sincron.
Bitul 0 – U2X- Se setează 1 dacă se foloseşte comunicarea multiprocesor şi 0 dacă se foloseşte comunicarea
uniprocesor.
-Registrul UCSRB:
-Bitul 7-RXCIE – 1 setează generarea unei întreruperi la terminarea recepţiei,0 întreruperea nu este flosită.
-Bitul 6-RXCIE – 1 setează generarea unei întreruperi la terminarea transmisiei,0 întreruperea nu este flosită.
-Bitul 5-RXCIE – 1 setează generarea unei întreruperi atunci când registrul UDRIE poate fi folosit,0 întreruperea nu
este folosită.
-Bitul 4- RXEN – 1 setează USART-ul ca receptor.
-Bitul 3- TXEN – 1 setează USART-ul ca Transmiţător.
-Bitul 2- UCSZ2 – se foloseşte împreună cu o parte din biţii registrului UCSRC după cum vom vedea mai jos.
-Bitul 1 – RXB8 – este al 9-lea bit din schimbul de date pe 9 biţi şi se foloseşte la recepţie.
-Bitul 0 – TXB8 – este al 9-lea bit din schimbul de date pe 9 biţi şi se foloseşte la transmisie.
-Registrul UCSRC:
-Bitul 7 –URSEL- se foloseşte pentru selecţia regiştrilor astfel:1 dacă se lucrează cu registrul UCSRC şi 0 dacă se
lucrează cu registrul UBBRH.
-Bitul 6 –UMSEL-Prin acest bit se setează modul de funcţionare al USART-ului:1 dacă funcţionează în modul sincron şi
0 dacă nu funcţionează în modul sincron.
-Bitul 5 şi 4 –UPM1 şi UPM0 – Se folosesc pentru selecţia parităţii:
UPM1 UPM0
00 - Nu se foloseşte bitul de paritate.
01 - Combinaţie rezervată.
10 - Se foloseşte bitul de paritete ca bit par.
11 - Se foloseşte bitul de paritete ca bit impar.
-Bitul 3 –USBS- se foloseşte pentru a seta numărul biţilor care reprezintă sfârşitul cuvântului: 1- se setează doi biţi de
stop,0-se setează un singur bit de stop.
-Biţii 2 şi 1– UCSZ1 şi UCSZ0- se folosesc împreună cu UCSZ2 din UCSRB pentru a seta lungimea cunvântului de date:
000 – 5 biţi;
001 – 6 biţi;
010 – 7 biţi;
011 – 8 biţi;
100 – Combinaţie rezervată;
101 – Combinaţie rezervată;
110 – Combinaţie rezervată;
111 – 9 biţi;
-Bitul 0 – UCPOL-Se foloseşte pentru modul sincron şi setează ce front al semnalului de pe linia XCK va fi folosit în
transmisie.În modul asincron acesta se setează 0.Valorile pe care le poate lua sunt următoarele:0 – se foloseşte
frontul crescător, 1 se foloseşte frontul descrescător.
-Registrul UBRR – Acest registru se foloseşte pentru a seta viteza de transmisie a datelor.
-Bitul 15 – URSEL – trebuie să fie 0 atunci când se efectuează operaţii cu acest registru.
-Biţii 12,13,12 sunt nişte biţi rezervaţi nefolosiţi în acest microcontroler.
-Biţii 11:0 sunt folosiţi pentru a seta viteza de transmisie a datelor.Totuşi setarea se face doar cu biţii cei mai
semnificativi, 11:8.Viteza de transmisie a datelor se calculează după formula:
Unde BAUD reprezintă viteza de transmisie măsurată în Baud,f_int reprezită frecvenţa internă a procesorului iar
UBBR este valoarea setată în registru.
Eroarea la transmisie se calculează după formula: