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

📄 text0.c

📁 电话号码拨号以及自动报警系统
💻 C
字号:
//自动电话报警主程序       文件名字  Text0
//键盘采用HD7279 4*4键盘      ..     Text1
//液晶屏采用SYM1602M-1        ..     Text2
//存数据采用25045             ..     Text3
#include <AT89X52.H>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//------------------外部函数定义----------------
  extern                   //键盘函数
  extern				      	//液晶屏函数
  extern							//25045函数
//------------------内部函数定义-----------------
void long_delay(void);    //延时程序1
void short_delay(uint x);   //延时程序
void bjsz(void);       //报警设置显示
void lcd(void);        //液晶显示函数
//-------------------------------------------
sbit cs=P0^0;					// cs at P1.4
sbit clk=P0^1;					// clk á??óóú P1.5
sbit dat=P0^2;					// dat á??óóú P1.2
sbit key=P0^3;					// key á??óóú P1.3
sbit led=P1^0;             //工作指示
sbit E=P3^5;
sbit SID=P3^0; 
sbit CLK=P3^1;
//---------------------------------------------- 
#define CMD_READ 0x15
//---------------------------------------------- 
uchar key_number;         //全局变量
//---------------------发送数据----------------- 
void fss(uchar l)
{uchar a,ll=0x02;
    E=1;                 //打开数据传输
 for(a=0;a<8;a++)
    {ll=ll>>1;
	 SID=CY;
	 CLK=1;CLK=0;
	 }
 for(a=0;a<8;a++)
    {l=l>>1;
	 SID=CY;
	 CLK=1;CLK=0;
	 }
short_delay(200);        // 延时110ns
    E=0;
}     
//-----------发送命令子程序--------------
void fs(uchar i)
{uchar a,k=0;;
 E=1;                   //打开数据传输
 for(a=0;a<8;a++)
    {	 k=k>>1;
	 SID=CY;
	 CLK=1;CLK=0;
	 }
for(a=0;a<8;a++)
    {	 i=i>>1;
	 SID=CY; 
	 CLK=1;CLK=0;
	 }
short_delay(200);       // 延时110ns
 E=0;
}
//-------------------------------
void long_delay(void)     //延时程序1
{
	uchar i;
	for (i=0;i<0x30;i++);
}
void short_delay(uint x)  //延时程序X
{
	uchar i;
	for (i=0;i<x;i++);
}
//---------------------判断键值----------------
uchar pdjp(void)       //判断键值
{uchar k;
switch(key_number){
          case 1:    k=1;   break;     //0
          case 2:    k=2;   break;     //1
          case 3:    k=3;   break;     //2
          case 4:    k=4;   break;     //3
          case 5:    k=5;   break;     //4
          case 6:    k=6;   break;     //5
			 case 7:    k=7;   break;     //6
			 case 8:    k=8;   break;     //7
			 case 9:    k=9;   break;     //8
			 case 10:   k=10;  break;     //9
			 case 11:   k=11;   break;    //*
          case 12:   k=12;   break;    //#
          default:        break;
			 }
	return(k);
}
//---------------------报警设置------------------
void bjsz(void)       //报警设置显示
{uchar ll;
if(ll==12){                    //判断是否按#号键
  do{                         //是循环等待按键功能
     switch(key_number){
          case 1:        break;     //#1 报警电话号码设置
			                              //   显示  D1:XXXXXXXXXX
			                              //         D2:D3:D4:D5:D6:
          case 2:        break;     //#2 布防,撤防延时时间设置
			                              //   显示  BT:XX
			                              //         CT:XX
          case 3:        break;     //#3 报警声输出延时时间设置
			                              //   显示  SD:XX
          case 4:        break;     //#4 振铃次数设定
			                              //   显示  TONE:XX
          case 5:        break;     //#5 报警语音录制 
			                              //   显示  REC BEGIN...
			                              //         REC OVER
          case 6:        break;     //#5 报警录音播放检查
			                                     
		    case 7:        break;     //#7 音响设置
			                              //   显示  SD:X
          default:        break;
			               }
      }while(1);
  }
}
// ************************* ?óê± n*10ms *************************
void main(void)
{
uchar key_number=0xff;
 do{

   }while(1);
}

⌨️ 快捷键说明

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