МК 8051 на Intel


Категория на документа: Информатика




Курсов проект

по
Микропроцесорни системи

Дата : Ръководител: гл. ас. Р. Високов 02.06.2009 г.
Тема: МК 8051 на Intel - ядро
Микроконтролерът 8051 се характеризира със следните основни параметри:
> 8-битов просесор (CPU)
> Система инструкции от 111 операции, включително умножение и деление
> Булев процесор
> 64К байта адресно пространство на програмната памет (Program memory)
> 64К байта адресно пространство на паметта за данни (Data memory)
> Два 16-битови таймер/брояча (Timer/Counters)
> 32 двупосочни входно/изходни (I/O) линии
> Сериен порт от типа full duplex
> Вграден тактов генератор (clock oscillator)
Микроконтролерът 8051 притежава 4К байта вътрешна програмна памет тип ROM и вградена памет за данни с обем 128 байта.
1. Регистри на процесора.
Структурата на микроконтролера 8051 е показана на фиг. 1.1. Всички програмно достъпни регистри са 8-битови, с изключение на DPTR, който е 16-битов. Основният регистър е акумулаторът (АСС). При аритметичните операции резултатът се получава в него. Той е и единственият регистър, чрез който се осъществява обмен с външната памет. Регистърът В е помощен регистър, който се използва при операциите умножение и деление. Регистърът за състоянието на програмата (PSW) включва флаговете: пренос; помощен пренос (полупренос); потребителски флаг; два тригера за избор на банка; флаг за препълване при работа с числа със знак и флаг за проверка по четност (фиг. 1.2). Указателят на стека (Stack Pointer, SP) съдържа адреса на върха на стека. В случая това е адресът, от който могат да се прочетат последните записани данни. Тъй като дъното на стека е разположено на най-ниския адрес, преди да се запишат данни SP се увеличава с единица. Стекът е разположен във вътрешната памет за данни. При начално нулиране (RESET) указателят на стека се инициализира със стойността 07Н, което означава, че стекът започва от адрес 08Н. Това е областта на втората банка работни регистри и ако те ще се използват, стекът трябва да се разположи на друго място чрез инициализиране на SP от програмата. Регистърът указател на данните (Data Pointer Register, DPTR) е 16-битов, но е програмно достъпен и като два 8-битови регистъра: DPH (старши байт) и DPL (младши байт). Чрез него се адресира външната памет за данни. Програмният брояч адресира инструкциите в програмната памет. Изброените регистри са част от вътрешната памет за данни. Интегрираните периферни устройства включват четири паралелни порта, сериен порт, два таймера/брояча и ситема за прекъсване. Паралелните портове са изградени от изходни регистри (Р0 - РЗ) и буфери (РО-В - РЗ-В). Чрез Port 0 и Port 2 се осъществява интерфейса с външната памет.

Фиг. 1.1. Структура на микроконтролера 8051

Фиг. 1.2. Регистър на състоянието на програмата
2. Адресни пространства и методи за достъп до тях.
Микроконтролерът 8051 работи с четири адресни пространства. Отделните адресни пространства предполагат съществуване на специални сигнали, показващи към кое адресно пространство е обръщението (хардуерно ниво) и съществуване на отделни инструкции за опериране в отделните адресни пространста (софтуерно ниво). Структурата на паметта е показана на фиг. 2.1.
2.1. Програмна памет
Адресното пространство на програмната памет е с обем 64К. Първите 4К (8К или повече) могат да бъдат вътрешна памет. Когато вътрешната програмна памет не се използва, на входа /ЕА (External Address) се подава логическа 0. След начално нулиране централният процесор започва изпълнението на инструкциите от адрес 0000Н. За всяко прекъсване е запазен адрес в програмната памет. Така например за прекъсване от таймер/брояч 1 адресът е 001ВН. От този адрес трябва да започва програмата, обслужваща това прекъсване. Ако тя не може да завърши до адрес 0022Н, се използва инструкция за преход, тъй като от адрес 0023Н започва програмата, обслужваща прекъсване от серийния порт. Стробиращият сигнал за външната програмна памет е /PSEN. Има специална инструкция за четене на данни от постоянната памет MOVC.

Фиг. 2.1. Структура на паметта на МК 8051
2.2. Външна памет за данни
Адресното пространство на външната памет за данни е също 64К. Над данните, намиращи се в тази памет не могат да се изпълняват други операции, освен запис и четене. Тези данни не могат да бъдат операнди за аритметични, логически и т. н. операции. Адресирането на външната памет за данни е само индиректно, чрез регистрите DPTR, R0 и R1. Стробиращите сигнали са съответно /RD и /WR. Съществува специална инструкция за обръщение към това адресно пространство MOVX. Понякога във външната памет за данни могат да се записват програми (download) и да се изпълняват оттам.
2.3. Вътрешна памет за данни
Адресното пространство на вътрешната памет за данни е с обем 256 байта. Тя се разделя на два основни блока: 128 байта RAM с общо предназначение и регистри за специални функции (Special Function Registers, SFR).
2.3.1. RAM с общо предназначение
Тази памет заема пространството от 00Н до 7FH. Тя също се разделя на два блока: работни регистри и обща разполагаема памет.
2.3.1.1. Работни регистри
Работните регистри са организирани в четири банки и заемат адресите от 00Н до 1FH. Изборът на банка става чрез bit 3 и bit 4 от PSW (Фиг. 1.2). При начално нулиране е установена банка 00. Обръщението към тези регистри става чрез еднобайтови инструкции.
2.3.1.2. Обща разполагаема памет
Тази памет заема пространството от 20Н до 7FH, ако не се използва битово адресируема памет. За последната са отделени адресите от 20Н до 2FH и когато се използва, за общата разполагаема памет остава пространството от 30Н до 7FH.
2.3.2. Регистри за специални функции
Както беше споменато, SFR са организирани като продължение на вътрешния RAM. Тяхното физическо място е във вътрешната памет за данни, макар че логически част от тях са регистри на CPU, а други са регистри на субсистемите (управляващи регистри и регистри за състоянието на периферните устройства).
2.4. Битово-адресируема памет
Областта на битово-адресируемата памет е четвъртото адресно пространство. Тази област се намира във вътрешната памет за данни от адрес 20Н до 2FH, както е показано на фиг. 2.1. Очевидно размерът е 128 бита (16 байта по 8 бита). Съществуват два начина за достъп до тази област: обмен на байтове (тогава областта принадлежи към адресното пространство на общата разполагаема памет) и обмен на битове (четвърто адресно пространство). Всеки бит си има адрес: от 00Н до 7FH. Съществуват специални инструкции за обмен на битове, при които обикновено фигурира булевият процесор. Като такъв се използва тригерът на флага С (Carry) от PSW. Битово адресиране е възможно и при някои от регистрите със специални функции (SFR). Те са отбелязани със знак "*" на фиг. 1.2. Така например, всеки флаг на PSW (фиг. 1.2) е програмно достъпен.
3. Видове адресации
Микроконтролерът 8051 използва осем вида адресации.
3.1. Подразбираща се (вътрешна) адресация
Тази адресация е свързана със случаите, когато се изпълняват инструкции, които не изискват операнди. Такава е например инструкцията NOP, която не прави нищо друго, освен увеличаване на програмния брояч с единица. Най-често се използва за въвеждане на малки закъснения и за запазване на място за тестващи инструкции. Други такива инструкции са RET И RETI.
3.2. Непосредствена адресация



Сподели линка с приятел:





Яндекс.Метрика
МК 8051 на Intel 9 out of 10 based on 2 ratings. 2 user reviews.