Задача №1
//**********************************************************************
// Програма Lab 11_51 .с до лабораторної роботи № 11.
// Семестр 7, модуль 1, бригада №1 ; мікроконтролер і8051.
//**********************************************************************
#define uchar unsigned char
#include "c:\SDCC\inc\8051m.h"
#include "c:\SDCC\INC\ev8031m.c"
uchar zemlay;
uchar razrayd;
unsigned int counter= 3;
void main(void)
{
lefti = 0x51;
righti= 0x51;
zemlay=0b11111110;
pB=zemlay;
TH0= 0x90;
TL0= 0x0;
TMOD |= 0x1;
TR0= 1;
razrayd=0xfc;//-1;
pC=razrayd;
while (1)
{
if (TF0)
{
TF0= 0;
TH0= HIGH(-64530);
TL0= LOW(32000);
counter--;
if (!counter)
{
razrayd++;
pC=razrayd;
if (!razrayd)
{//действия при razrayd=0
razrayd=0xfc;
}
counter=3;
}
}
}
}
Задача №2
//**********************************************************************
// Програма Lab 11_52 .с до лабораторної роботи № 11.
// Семестр 7, модуль 1, бригада №1; мікроконтролер і8051.
//**********************************************************************
#define uchar unsigned char
#include "c:\SDCC\inc\8051m.h"
#include "c:\SDCC\INC\ev8031m.c"
unsigned int counter =500;
unsigned int THTL =200;
unsigned char cols[]= {0b00010000, 0b00001000, 0b00000100, 0b00000010, 0b00000001, 0b00000010, 0b00000100};
unsigned char rows[]= {0b10111111, 0b11011111, 0b11101111, 0b11110111, 0b11111011, 0b11111101, 0b11111110};
unsigned char col=0;
unsigned char row=0;
void T0Isr(void) __interrupt 1 __using 1
{
TF0=0;
TH0=HIGH(-THTL);
TL0=LOW(-THTL);
counter--;
if (!counter)
{
col++;
if (col== 7)
{
col=0;
}
pA=cols[col];
pC=rows[col];
counter=500;
}
}
void main(void)
{
lefti= 0x52;
righti= 0x52;
counter= 500;
TH0= HIGH(-65535);
TL0= LOW(-65535);
TMOD |= 0x1;
ET0= 1;
EA= 1;
TR0= 1;
while (1);
}
Висновок: Вивченно програмування пристроїв виведення даних стенда EV8031 на мові Сі, засвоєння основних операторів мови С. Набутто практичних навичок управління засобами виведення даних з використанням типових операторів мови Сі. Набуто практичних навичок програмування таймерів мікроконтролера MCS51 на мові Сі.