7.4. Что такое клавиатура и как она подключается к выводам параллельного порта ввода-вывода микроконтроллера.
7.5. Как производится опрос клавиатуры? Приведите пример программы опроса кнопок.
7.6. Расскажите, как строятся программы на языке программирования C?
7.7. Как описать порт на языке программирования С-51?
7.8. Какие особенности написания программ для микроконтроллера?
7.9. Что находится в файле ADuC812.h?
7.10. Почему в конце программы этой лабораторной работы использован бесконечный цикл?
7.11. Как заносится программа во внутреннюю память микроконтроллера?
7.12. Какой файл предназначен для занесения во внутреннюю память микроконтроллера?
/*========================= main.c ===========================
Главная программа лабораторной работы
Проект ОБУЧАЮЩИЕ ПРОГРАММЫ
Программист ……………………..
Версия 1.00
Написана ……………….
Последнее
изменение ………….
программы
============================================================*/
#include <stdlib.h> //Модуль стандартного ввода-вывода
#include <stdio.h> //Модуль стандартного ввода-вывода
#include "global.h" //глобальные переменные проекта
#include "flash.h" //Модуль работы с внутренней flash памятью данных
#include "sound.h" //Модуль генерации звуковых сигналов
/*********************************************************************
Подпрограмма инициализации последовательного порта
*********************************************************************/
void InitUART(void)
{SCON = 0x50; //включить 8-ми битовый асинхронный режим работы
RCAP2L = 0xd7; RCAP2H = 0xFF; //установить скорость работы
TL2 = 0xd7; TH2 = 0xFF; //последовательного порта 9600 бит/с
T2CON = 0x34; /*использовать таймер T2 для синхронизации приема
и передачи COM порта*/
ES = 1; //разрешить прерывания от COM порта
}
void Kalibr(void){} //Это подпрограмма-заглушка, которая пока ничего не делает
void Kalibr(void){} //Это подпрограмма-заглушка, которая пока ничего не делает
/*********************************************************************
Подпрограмма инициализации микроконтроллера
*********************************************************************/
void init(void)
{PCON|=ALE_Off; //Выключить сигнал ALE
PLLCON=F_12MGz; //Настроить внутренний генератор на частоту 12 МГц
InitUART(); //Команда вызова подпрограммы инициализации последовательного порта
}
void main(void)
{init(); //Настроить микросхему контроллера
while(1) //Команда реализации бесконечного цикла
{Kalibr(); //Команда вызова подпрограммы калибровки
SetKoeff(); //Команда вызова подпрограммы установки коэффициентов
}
}
Листинг программы для лабораторной работы №5
C51 COMPILER V7.01 MAIN 01/07/2004 11:05:23 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\main.lst) OBJECT(.\obj\main.ob
-j)
stmt level source
1 /*========================= main.c ===========================
2 Программа лабораторной работы №5
3
4 Проект ОБУЧАЮЩИЕ ПРОГРАММЫ
5 Программист ::::::::..
6 Версия 1.00
7 Написана ::::::.
8
9 Последнее
10 изменение ::::.
11 программы
12 ============================================================*/
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.