Микропроцессорные устройства



Download 3,03 Mb.
Pdf ko'rish
bet52/72
Sana25.02.2022
Hajmi3,03 Mb.
#282885
1   ...   48   49   50   51   52   53   54   55   ...   72
Bog'liq
mpus up

DDxn PORTxn 
PUD 
(in SFIOR) 
I/O 
Pull-up 
Comment 



Input 
No 
Tri-state (Hi-Z) 



Input 
Yes 
Pxn will source current if 
ext. pulled low 



Input 
No 
Tri-state (Hi-Z) 



Output 
No 
Output Low (Sink) 



Output 
No 
Output High (Source) 
Таблица 7.2 представляет возможные состояния вывода в зависимости от 
значений, записанных в соответствующие биты регистров DDxn и PORTxn. 
· · · · · · · · · · · · · · · · · · · · · · · · ·
Пример
· · · · · · · · · · · · · · · · · · · · · · · · ·
Когда вывод настроен как выход (DDxn = «1»), то любое значение, запи-
санное в соответствующий бит регистра PORTx, поступает на выход: 

PORTxn = «1» – состояние вывода соответствует логической единице 
(Output High); 

PORTxn = «0» – состояние вывода соответствует логическому нулю 
(Output Low), т. е. состояние вывода (когда он настроен на выход) мо-
жет изменяться только между логической единицей и логическим ну-
лем. В этом режиме резистор Pull-up (Rpu на рис. 7.3) отключен и ни-
как не влияет на состояние вывода (No Pull-up). 
Когда вывод настроен как вход (DDxn = «0»), то значение, записанное в 
соответствующий бит регистра PORTx, либо подключает подтягивающий рези-
стор Rpu (pull-up resistor) к выводу, либо отключает его. В этом режиме, теку-
щее состояние выводов можно прочитать при помощи регистра PINx этого же 
порта. 

PORTxn = «1» – подключить подтягивающий резистор к выводу; 

PORTxn = «0» – отключить подтягивающий резистор, высокий импе-
данс (Hi-Z). 
Для формирования на выходе 0 или 1 нужно написать: 
DDRB |= 0x01; // первый вывод делаем выходным 
PORTB |= (1<
ножки 


94 
PORTB &=~ (1<
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
PINx – регистр текущего состояния вывода (рис. 7.6). 
Рис. 7.6 – Регистр PINB 
· · · · · · · · · · · · · · · · · · · · · · · · ·
Пример
· · · · · · · · · · · · · · · · · · · · · · · · ·
Для того чтобы прочитать текущее состояние любого вывода или всего 
порта, используется регистр PINx, где «x» – имя порта. Для чтения текущего 
состояния вывода (например, с кнопки) нужно написать команды: 
Unsigned char pin_value; // переменная для хранения 
состояний
pin_value = PINB; // читаем состояние порта B 
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Download 3,03 Mb.

Do'stlaringiz bilan baham:
1   ...   48   49   50   51   52   53   54   55   ...   72




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish