⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alarm.lst

📁 用C编程实现的一个单片机报警系统!已经调试可以使用!是单片机大作业的一个!
💻 LST
字号:
C51 COMPILER V6.12  ALARM                                                                  04/09/2004 22:23:32 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE ALARM
OBJECT MODULE PLACED IN .\alarm.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\alarm.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg52.h>
   2          
   3          #define uint unsigned int 
   4          #define uchar unsigned char 
   5          
   6          sbit ring = P1^0;
   7          sbit bClk = P3^0;
   8          sbit bDin = P3^1;
   9          
  10          //led显示特殊符号
  11          #define SPAC 10//led code blank
  12          #define NEG  11//         -
  13          #define ON   12//         n
  14          #define OFF  13//         F
  15          #define CUR  14//         C
  16          #define DEW  15//         d
  17          #define TEM  16//         t
  18          uchar code ucFont[17]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff,0xfd,0x13,0x71,0x63,0x85,0xe
             -1};
  19                                //  0    1    2    3    4    5    6    7    8    9         -    n    f   C    d    t
  20          uchar idata ucLed[2];
  21          
  22          /**************************************************
  23          **
  24          **显示基本函数
  25          **
  26          ***************************************************/
  27          void OnLed(void)
  28          {
  29   1      	uchar i,j,a;
  30   1      
  31   1      	    bClk=0;
  32   1      		for(i=0;i<2;i++)
  33   1      		{
  34   2      			a=ucFont[ucLed[i]];
  35   2      			for(j=0;j<8;j++)
  36   2      			{
  37   3      				bDin=(a>>j)&0x01;
  38   3      				bClk=1;
  39   3      				bClk=0;
  40   3      			}
  41   2      		}
  42   1      }
  43          
  44          /**************************************************
  45          **
  46          **显示整数
  47          **
  48          ***************************************************/
  49          void DisInt(int n)
  50          {
  51   1      	uchar i;
  52   1      
  53   1      	for(i=2;i>0;i--)
  54   1      	{
C51 COMPILER V6.12  ALARM                                                                  04/09/2004 22:23:32 PAGE 2   

  55   2      		ucLed[i]=n%10;
  56   2      		n=n/10;
  57   2      	}
  58   1          for(i=1;i<2;i++)
  59   1      	{
  60   2          	if( ucLed[i]==0 ) ucLed[i]=SPAC;
  61   2      		else i=2;
  62   2      	}
  63   1      
  64   1      	OnLed();
  65   1      }
  66          
  67          /*              */
  68          /*  Wait i ms   */
  69          /*              */
  70          void Waitms(uint i)
  71          {
  72   1        uint j,k;
  73   1        for(j=0;j<i;j++)
  74   1           for(k=0;k<128;k++)
  75   1      	   {;}
  76   1      }
  77          
  78          void main(void)
  79          {
  80   1        uchar KeyData1,KeyData2;
  81   1        uchar count;
  82   1        uint KeyData=0;
  83   1        while(1)
  84   1        {
  85   2          KeyData1=P0;                                //scan the switch S1-S8
  86   2      	KeyData2=P2;                                //Scan the switch S9-S16
  87   2      	KeyData=KeyData2;  
  88   2      	KeyData=(KeyData<<8)|KeyData1;
  89   2      	if( KeyData!=0xffff )                       //if there is a switch's state is low
  90   2      	{
  91   3      	  ring=0;                                   //start alarm
  92   3      	  for(count=0;count<16;count++)             //scan the switch form S1 to S16
  93   3      	   {
  94   4      	     if( !((KeyData<<count)&0x8000) )       //if this switch is low(door is open)
  95   4                 {
  96   5      		   DisInt(count);                       //show this door's number 
  97   5      		   Waitms(2000);                        //show last 2 seconds and scan the next
  98   5      		   }
  99   4      	   }
 100   3      	}
 101   2        }
 102   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    218    ----
   CONSTANT SIZE    =     17    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =      2    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -