ЮЗУ”НЕОФИТ РИЛСКИ” – БЛАГОЕВГРАД
Природо-математически факултет
Катедра „КСТ”
КУРСОВА РАБОТА
По „Микропроцесорна техника”
Студент: Недялко Николов Проверил: .......................
III курс, ФН 0526004 /доц. В.Христов/
2008
Задание 17
Да се разработи МПС със следната структура:
- 4 kB EPROM реализирана чрез ИС с организация 2 k x 8;
- 32 kB SRAM;
- АЦП за входни сигнали в диапазона 0.16 - 1.6 v;
- динамична индикация с 8 седемсегментни индикатора;
- 16 бутонна клавиатура и интерфейс RS 232-C.
Съдържание на обяснителната записка /8-10 страници/:
- структурна схема на устройството;
- функционално описание на работата на устройството;
- принципна електрическа схема;
- спецификация на използваните елементи;
- примерна асемблерна програма за инициализация и управление на една от използваните в проекта ГИС /ПИА, АСИА, таймер и т.н./.
Микропроцесор
Микропроцесорът 80C51 е разработка на фирмата Philips по технологиата high-density(висока плътност ) CMOS.
Той садържа:
-
4k x 8 ROM и 128 x 8 RAM
-
32 входно/изходни порта
-
два 16-битови броячи/таимери
-
сериен входно/изходен порт
-
пет вида прекъсвания с две нива на приоритет
-
сериен канал – пълен дуплекс UART
-
Булев процесор
-
собствен oscillator и clock
-
разширени температурни граници;
80С51 съдържа две различни адресни пространства – за програмна памет и памет за данни. Съответно 64к ROM и 64k RAM.
Софтуерно чипът може да се програмира в два режима на работа - Idle mode (празен ход) и Power down mode (режим с ниска консумациа). Режима idle спира работата на процесора, но позволява паметта (RAM), таимерите, серийният порт и IRQ да продалжат своята работа. При power down съдаржанието на RAM се запазва, но осцилатора спира да работи, като това е причина всички останали функций да са неизпълними.
80C51 може да адресира до 65 536 байта памет. Той има четири скоростни обхвата при Vcc=5V: 12MHz, 16MHz, 24MHz и 33MHz.
Фиг. 1 Обобщена схема на МК 80С51
Микропроцесор 80C51 разполага с четири порта като :
Port0 - Порт за данни и адресен порт (този порт най-напред генерира младшият байт на външния адрес (А0-А7) и след това обменя данни).
Port1 - Универсален порт (общо предназначение)
Port2 - Адресен порт (за подаване на старшия байт от адреса при обмен с външната памет (А8-А15).
Port3 - Специализиран порт
P3.0: RxD – Вход за серийния обмен
P3.1: TxD – Изход за серийния обмен
P3.2: INT0 - Вход 0 за външно прекъсване
P3.3: INT1 - Вход 1 за външно прекъсване
P3.4: T0 - Таимер 0 външен вход
P3.5: T1 - Таймер 1 външен вход
P3.6: WR - Запис във външна памет
P3.7: RD - Четене от външна памет
Входните сигнали (Input) от изводите на първите три порта Port0, Port1 и Port2 се насочват директно към магистралата за данни. Входните сигнали от последния порт Port3 се насочва към съответните интегрирани блокове – таймерите, сериен обмен, прекъсвания и др.
Чрез входовете XTAL1 (X1) и XTAL2 (X2) се определя честотата на тактовият генератор, като за целта външно за микропроцесора се връзват кондензатори и кварцов генератор.
RESET е вход за начално установяване на 80C51. За целта на този вход трябва да се подаде висок сигнал (еденица) за два машинни цикъла, по времето когато тактовият генератор работи.
Vss – земя (маса)
Vcc – захранващо напрежение
RST - Reset
Фиг.2 Блокова схема на МК 80С51
ПАМЕТИ
Паметите използвани в тази микропроцесорна система са SRAM и EPROM. SRAM (Static Random Access Memory) е 32kB и е в организациа 32k x 8. Производство на фирма Hitachi HM6256A е CMOS static RAM с бързо време за достъп и ниска консумация. Тя има три изходни състояние и възможност за директна комуникация с TTL схеми.
А0–А14 - адресни входове, служещи за адресация на паметта
I/O - входове или изходи за данни. Това дали са входове или изходи зависи от сигнлите на OE и WE
CS - вход за избор на чипа
OE - разрешаване на изходите
WE - разрешаване на запис в паметта
Фиг.4 Hitachi HM6256A SRAM памет.
Чипът на EPROM е М2716 (производител SGS – Thomson Microelectronics) с организация 2k x 8. В този проект са използвани две интегрални схеми, за да се получи желания от нас обем 4kB. За тази цел адресните и данновите входове се връзват заедно. Това в кой от чиповете ще се записва или чете се определя чрез специален извод на интегралната схема. Той се нарича избор на чипа и при подадено ниско ниво на този вход чипът е активен т.е. може да работим с него.
Фиг.5 Изводи на EPROM M2716
А0-А10-адресни входове
Q0–Q7-данни
EP - избор на чипа
Vpp - Program Supply
Vcc - Supply Voltage
Тази селекция на чиповете се използва не само при EPROM, а при почти всички интегрални схеми в МПС. Използването на CS и EP позволява правилната комуникация на микропроцесора с отделните части в тази МПС. Това се постига с използването на дешифратор (адресен дешифратор), чийто управляващи входове са свързани към адресната шина на микропроцесора. Така при различни адресни комбинации само един от чиповете в системата е активен и комуникира с процесора.
Организация: Трите чипа са свързани паралелно. А0-А10 на EPROM са свързани към А0-А10 на МК, а адресните входове А0-А14 на SRAM към А0-А14 на МК-ра. Данновите входове са свързани към Port1 на МК.
Дешифратор
В този проект е използван дешифратор DM74LS138 на фирмата Fairchild semiconductor Corporation, който има три входа за данни и осем изхода. Входовете Е1, Е2, Е3 служат за разрешаването на чипът, A0, A1, A2 са свързани към входовете на МК 80С51 съответно към А15, А14 и А13. Изходите Q7 и Q6 управляващи за EPROM и Q5 към CS на SRAM.
Фиг. 6 Изводи на DM74LS138
Фиг. 7 Логическа схема на Дешифратор DM74LS138
Таб.1 Логическа таблица на дешифратора
H = High Level (Високо ниво)
L=Low Level (Ниско ниво)
X= без значение
Забележка: G2=G2A+G2B
Таб.2 Експлоатационни състояние на дешифратора.
МПС садържа още блок клавиатура, блок индикация и АЦП (аналогово-цифров преобразувател).
Клавиатура, индикация и PIA
Клавиатурата и индикациата комуникират с процесора посредством PIA (периферен интерфеисен адаптор). Използваният PIA тук е MC6821, тази схема има два входно/изходни порта, порт за данни и управляващи сигнали.
Фиг. 8 Изводи на PIA MC6821
Входно/изходните портове могат програмно да се конфигурират като входове или изходи, в зависимост от какво точно се нуждаем.
CA1, CA2, CB1, CB2 - входове за прекъсване, подадено от периферно устроиство
IRQA, IRQB - изходи за подаване на заявка за прекъсване от PIA към микропроцесора
CS0, CS1, CS2 - избор на чипът
RESET - начално установяване
Фиг. 9 Блок-схема на MC6821
Клавиатурата в тази МПС е 16 бутонна, бутоните са свързани в тип матрица към два от изходите на PortB. На същите тези входове се подава високо ниво през две съпротивления, свързани към +5V.
Другите изводи на бутоните са свързани към PortA (всеки по отделно към извод от PortA), който програмно е осигурен, така че да се получи бягаща нула на изводите му. По този начин при натискането на бутон от клавиатурата се получава ниско ниво на извода на PortB, към който е сварзан бутонът. Това ниско ниво се подава и на входа на логическа схема И-НЕ, чийто изход е свързан към CA1. Така лесно се установява кой от бутоните е бил натиснат, тъй като във всеки един момент се знае на кой от изходите на PortA има логическа 0 и се засича редът и колоната в които имаме логически нули.
Индикация
Индикацията използвана тук е с 8 седемсегментни индикатора, които използват същият принцип като клавиатурата (бягаща нула). Тази бягаща нула тук се използва като се подава на общия катод на индикаторите, а останалите им изводи се връзват заедно към специална схема (в този случай 7447), наречена преобразувател BSD в седемсегментен код. Тази схема преобразува подаденият й двуичен код в код за управление на тези индикатори. По този начин, тъй като се знае във всеки момент каде е нулата в PortA ,то лесно можем да преценим кога и кой код за съответният индикатор, да се подаде на ИС7447.
Интерфейс RS232
МПС разполага още и с интерфеис RS232, осъществен на базата на ИС MAX232.
Фиг.10 Интерфйс MAX232 (RS232)
Стандартния RS232 описва несиметричен интерфейс между приемопредавателна апаратура, работеща в режим на последователен обмен на данни със скорост най-често 19 200 b/s.
Стандартно се приема, че дължината на връзката между две устройства не може да бъде по-голяма от 15 метра. При работни напрежения по линията ±5V, какъвто е случая при връзка между миктроконтролери, максималната дължина не трябва да надвишава 5 метра при скорост на обмен до 9 600 b/s.
Използван е 9-изводен конектор тип D-shell. Функциите на деветте проводника са следните:
-
CD – Carrier Detected – детектиране на връзката (откриване на носеща честота по модема);
-
RxD – Received Data - приемани данни;
-
TxD – Transmited Data – предаване на данни;
-
DTR – Data Terminal Ready – готовност на изхода (сигнал към модема);
-
SGND – Signal Graund – сигнал земя;
-
DSR – Data Set Ready – готовност на модема за предаване;
-
RTS – Request to Send – запитване към модема за предаване на данни;
-
CTS – Clear to Send – линията е чиста за предаване;
-
RI – Ring Indikator – индикатор за предаване.
Фиг. 11 Конектор
Микроконтролерите обикновено не използват пълните възможности на интерфейса и връзката между тях и персоналния компютър често се осъществяват по трипроводна линия. За целта се използват буфери, най-разпространените от които са MAX 232 съвместимите. Основното предназначение на тези схеми е да съгласува TTL нивата, постъпващи от микроконтролерите с тези на RS232. Буферът включва два предавателя и два приемника, което позволява организация на връзка между два или три точки, т.е. микропроцесорът може да се свърже максимум към две устройства.
АЦП
Имаме също и АЦП с обхват от 0.16V до 1.6V. Той е реализиран с AD574A. Схемата използва 12 разредния биполярен преобразувател на фирмата Analog Devices АЦП - AD574A. Изходите на АЦП са номерирани от 11 (MSB) до 0 (LSB). В схемата е избран вариантът на двукратно четене на изходния код (8-битов интерфейс) чрез 12/8 = 0. Стартирането на преобразуването може да се осъществи чрез отрицателен импулс на входа на CS=0, CE=1 и R/C=0. При А0=0, се реализира 12-битово преобразуване с продължителност 15-35 µs, а ако А0=1, - 8-битово преобразуване за 10-20 µs, след завършване на преобразуването изходът STATUS се нулира.
Фиг.12 Блок-схема на АЦП AD574A
Табл.3
ЕЛЕКТРИЧЕСКА СХЕМА
Списък на елементите:
Елемент
|
Наименование
|
Количество
|
Забележка
|
U1
|
Микропроцесор 80C51
|
1
|
|
U2
|
MAX232
|
1
|
|
U3
|
SRAM HM62256A
|
1
|
|
U4, U5
|
EPROM HN48016P
|
2
|
|
U6
|
74LS138 Дешифратор
|
1
|
|
U7
|
MC6821 ПИА
|
1
|
|
U8
|
7447
|
1
|
|
U9
|
АЦП ADC574A
|
1
|
|
U10
|
Логически елемент
|
1
|
|
U11
|
Инвертор
|
|
|
VT1-VT8
|
2Т6821 Транзистори
|
8
|
|
Q1-Q7
|
NPN
|
|
|
|
Резистори
|
|
|
R1-R8
|
680
|
8
|
|
R9-R15
|
10к
|
7
|
|
R17-R23
|
4.7к
|
7
|
|
R24-R25
|
3.3к
|
2
|
|
|
|
|
|
|
Кондензатори
|
|
|
C1-C4
|
1µ
|
4
|
|
C5-C6
|
10µ
|
2
|
|
DISP1-DISP8
|
Седемсегментни индикатори AMBER
|
8
|
|
S1-S17
|
Бутони
|
16
|
|
P1
|
Конектор
|
1
|
|
4MHz
|
Кварцов резонатор
|
1
|
|
|
|
|
|
Програма:
MOV TH1, #0FDH ;задава стоиност за презареждане на таймер
MOV DPTR, #2000H ;начален адрес, от който е разположен блокът от данни
MOV SCON, #50H ;режим 1 за работа на серийния канал и разрешава приемане
MOV TMOD,#20 ;задава режим 2 на Т/C1 и определя работата в таймерен режим
MOV PCON, #80H ;задава 16 като делител на честотата на таймера
SETB TR1 ;старт на таймер 1
Процедура за приемане:
PRIEM: PUSH 0 ;съхранябане на R0 и А в стека
PUSH E0H
ET1: MOV R0,#0 ;нулиране на брояча за край на блока от данни
ET2: JNB RI,ET2 ;изчакване до завършване на приемането на един байт
CLR RI ;разрешаване на следващо приемане
MOV A, SBUF ;зареждане на приетия байт в А
MOVX @DPTR, A ;запис на байта във външната RAM
INC DPTR
CJNE A,#0FFH,ET1 ;преход при А различно от FFH
INC R0
CJNE R0,#5,ET2 ;преход, ако броячът не е 5,т.е. ако не е срещнат край на блока
POP 0 ;възстановябане на А И R0 от стека
POP E0H
RET
Процедура за предаване:
PRED: PUSH 0
PUSH E0H
ET3: MOV R0,#0 ;нулиране на брояча за край на блока от данни
ET4: JNB TI ET4 ;изчакване да завърши предаването на предходния байт
CLR TI
MOVX @DPTR, A ;прехвърляне на байта от паметта в А
MOV SBUF, A ;предаван на байта
INC DPTR
CJNE A,#0FFH,ET3
INC R0
CJNE R0,#5,ET4
POP 0
POP E0H
RET
Сподели с приятели: |