Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Текст программы лабораторной работы №4





 

 

#include "ADuC831.h"

 

#define MAXBASE 0xFF //Номер страницы внешней памяти (xdata), куда отображаются регистры расширителя.

unsigned char ReadMax(unsigned char xdata *regnum) // Чтение памяти из адреса

{

unsigned char oldDPP=DPP;

unsigned char val=0;

 

DPP=MAXBASE;

val=*regnum;

DPP=oldDPP;

return val;

}

 

void WriteMax(unsigned char xdata *regnum, unsigned char val)// Запись в

//память по адресу

{

unsigned char oldDPP=DPP;

DPP=MAXBASE;

*regnum=val;

DPP=oldDPP;

}

 

void Wsio(unsigned char ch) //Функция передачи символа в COM-порт компьютера

 

{

TI=0;

SBUF=ch;

while(!TI);

}

 

void Type(char *s) //Передача набора символов

 

{

char n=0;

while(*s)

Wsio(*s++);

}

 

void SIO_Init() //Инициализация передачи данных

 

{

T3CON = 0x83; //CD = 3

T3FD = 0x2D;

SCON = 0x52;

ES=0;

}

 

char GetKey(void) //Чтение нажатой клавиши с клавиатуры (функция возвращает символ, который нажат в текущий момент)

{

char table[]="147*2580369#ABCD"; //Таблица символов, соответствующих клавишам клавиатуры SDK-1.1

 

unsigned char row,col,rownum=0,colnum=0;

unsigned int i;

//while(srecv())Rsio();

EA=0;

while(1){

col=0x1<<(colnum&0x3);

if((col&0x0F)==0x00)col=0x1;

WriteMax(0x00,~col);

for(rownum=4; rownum<8; rownum++){

row=(ReadMax(0x00))&(0x1<<rownum);

if(row==0){

for(i=0;i<10000;i++)continue;

row=(ReadMax(0x00))&(0x1<<rownum);

// if(row==0)

// Wsio(table[4*(colnum&0x3) + rownum-4]);

return (table[4*(colnum&0x3) + rownum-4]);

}

}

colnum++;

//if(srecv()) if(Rsio()=='e')break;

 

}

//EA=1;

//Type("\r\n");

return 0;

}

void Light(int State)//Зажигание светодиодов

{

WriteMax(0x08007, State);

}

 

void Delay(long int count)

{

long int j;

for(j=0;j<count;j++)10.4994/2.333;

}

 

void main(void)

{

char ch = 0;

int j;

 

Light(153);

Delay(10000);

 

SIO_Init();

 

while(1)

{

ch = GetKey();// Получение нажатой клавиши

if(ch) Wsio(ch);// Вывод символа на компьютер

if (ch=='2') Light(36);

Delay(5000);

};

}

 


Кафедра автоматизации процессов химической промышленности

 

Методические указания

 

 







Дата добавления: 2015-08-12; просмотров: 409. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия