13
14 #include "ADuC812.h"
15
16 #define MAXBASE 0x8 //Определить константу переключения на 8 страницу памяти
17
18 #define SvDiod *(volatile unsigned char xdata *)7 /*Переменная косвенной адресации 7 ячейки
19 внешней памяти (светодиодов)*/
20
21 main()
22 {DPP=MAXBASE; //Подключиться к параллельному порту
23 1 SvDiod=1; //Зажечь светодиод номер 0
24 1
25 1 while(1) //Обеспечить зацикливание микроконтроллера
26 1 { /*(чтобы не было программного сброса микросхемы */
27 2 } /*языком программирования) */
28 1 }
29
30
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 11 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
C51 COMPILER V7.01 MAIN 01/07/2004 14:33:05 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 Программа лабораторной работы №6
3
4 Проект ОБУЧАЮЩИЕ ПРОГРАММЫ
5 Программист ::::::::..
6 Версия 1.00
7 Написана ::::::.
8
9 Последнее
10 изменение ::::.
11 программы
12 ============================================================*/
13
14 #include "ADuC812.h" //Подключить определения всех внутренних регистров ADuC812
15
16 #define MAXBASE 0x8 //Определить константу переключения на 8 страницу памяти
17
18 #define SvDiod *(volatile unsigned char xdata *)7//Переменная косвенной адресации 7 ячейки внешней памят
-и (светодиодов)
19 #define Klaviat *(volatile unsigned char xdata *)0//Переменная косвенной адресации 0 ячейки внешней памят
-и (клавиатуры)
20
21 main()
22 {DPP=MAXBASE; //Подключиться к параллельному порту
23 1
24 1 while(1)
25 1 {Klaviat=~1;
26 2 if(Klaviat==~0x11) //Если нажата кнопка на пересечении нулевой колонки и нулевой строки
27 2 SvDiod=1; //то зажечь нулевой светодиод
28 2 else if(Klaviat==~0x21)//Если нажата кнопка на пересечении нулевой колонки и первой строки
29 2 SvDiod=2; //то зажечь первый светодиод
30 2 else //иначе (если не нажата ни одна из кнопок)
31 2 SvDiod=0; //погасить все светодиоды
32 2 }
33 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 43 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.