📄 text0.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 + -