Программирование микропроцессорных систем в интегрированной среде программирования keil-c: Методические указания к лабораторным работам, страница 25

  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)


Листинг программы для лабораторной работы №6

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)


Листинг программ для лабораторной работы №7