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



Download 3,03 Mb.
Pdf ko'rish
bet41/72
Sana25.02.2022
Hajmi3,03 Mb.
#282885
1   ...   37   38   39   40   41   42   43   44   ...   72
Bog'liq
mpus up

#include  /* перед компиляцией препроцессор 
компилятора вставит вместо этой строчки содержимое 
(текст) заголовочного файла mega16.h, этот файл содержит 
перечень регистров, имеющихся в МК ATmega16, и соответ-
ствие их названий их физическим адресам в МК. Посмотрите 
его содержание, вызвав CVAVR\inc\mega16.h */ 
//delay functions 
#include  
/* перед компиляцией препроцессор компилятора вставит 
вместо этой строчки текст «хидера» delay.h, этот файл со-
держит функции для создания пауз в программе. 
Теперь, чтобы сделать паузу, вам нужно лишь написать: 
delay_us(N); // сделать паузу N (число) мкс 
delay_ms(x); // сделать паузу x мс 
x – может быть переменная или число от 0 до 65535 
(тип unsigned int), например delay_ms(peremennaya) */ 
// MY_CONSTANT_0x15_define_ADC_BUSY_PINB.0'>Определения пользователя 
// AD7896 control signals PORTB bit allocation 
#define MY_CONSTANT 0x15 
#define ADC_BUSY PINB.0 
/* после этих двух строк, перед компиляцией, препро-
цессор компилятора заменит в тексте программы MY_CONSTANT 
на 0x15 и ADC_BUSY на PINB.0. Таким образом, вместо того 
чтобы помнить, что вывод какой-то микросхемы подключен к 
ножке PB0, вы можете проверять значение осмысленного по-
нятия ADC_BUSY – «АЦП занят» 
#define – это удобно, но вовсе не обязательно. */ 
6.5 Объявление переменных 
Перед использованием переменной в программе на Си её необходимо 
объявить, т. е. указать компилятору, какой тип данных она может хранить и как 
она называется. 


78 
Формат объявления переменной таков: 
[]
[] – необязательный элемент, он нужен только в 
некоторых случаях и может быть: 

extern, если переменная объявляется во внешнем файле, например в 
хидере delay.h, приведенном выше; 

volatile ставьте, если нужно предотвратить возможность повре-
ждения содержимого переменной в прерывании и не позволить ком-
пилятору попытаться выкинуть её при оптимизации кода. 
· · · · · · · · · · · · · · · · · · · · · · · · ·
Пример
· · · · · · · · · · · · · · · · · · · · · · · · ·
volatile unsigned char x; 
static, если переменная локальная, т. е. объявлена в какой-либо функ-
ции и должна сохранять свое значение до следующего вызова этой функции. 
Eeprom, разместить переменную в EEPROM. Значение таких перемен-
ных сохраняется при выключении питания и при перезагрузке МК. 
eeprom unsigned int x; 
Если это первая переменная в EEPROM, то её младший байт будет поме-
щен в ячейку 1 EEPROM, а старший – в ячейку 2. Необходимо помнить, что за-
пись в EEPROM длительный процесс – 8 500 тактов процессора. 
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Глобальные переменные объявляются до появления в тексте программы 
какой-либо функции. Глобальные переменные доступны в любой функции про-
граммы. 
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Локальные переменные объявляются в самом начале функ-
ций, т. е. сразу после фигурной скобки {. Локальные переменные 
доступны только в той функции, где они объявлены! 
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
– тип данных, которые может хранить перемен-
ная. 
Наиболее часто используемые типы данных: 


79 

unsigned char – хранит числа от 0 до 255 (байт); 

unsigned int – хранит числа от 0 до 65 535 (слово == 2 байта); 

unsigned long int – хранит от 0 до 4 294 967 295 (двойное сло-
во == 4 байта). 
Вместо unsigned char можно писать просто char, так как компиля-
тор по умолчанию считает char беззнаковым байтом. А если вам нужен знако-
вый байт, то объявляйте его так: 

Download 3,03 Mb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   ...   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