📄 text0.lst
字号:
C51 COMPILER V6.12 TEXT0 06/02/2004 11:05:35 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE TEXT0
OBJECT MODULE PLACED IN .\Text0.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\Text0.c DEBUG OBJECTEXTEND
stmt level source
1 //自动电话报警主程序 文件名字 Text0
2 //键盘采用HD7279 4*4键盘 .. Text1
3 //液晶屏采用SYM1602M-1 .. Text2
4 //存数据采用25045 .. Text3
5 #include <AT89X52.H>
6 #include<intrins.h>
7 #define uchar unsigned char
8 #define uint unsigned int
9 //--------------------------------------------------
10 void long_delay(void); //延时程序1
11 void short_delay(uint x); //延时程序
12 void bjsz(void); //报警设置显示
13 void lcd(void); //液晶显示函数
14 //-------------------------------------------
15 sbit cs=P0^0; // cs at P1.4
16 sbit clk=P0^1; // clk á??óóú P1.5
17 sbit dat=P0^2; // dat á??óóú P1.2
18 sbit key=P0^3; // key á??óóú P1.3
19 sbit led=P1^0; //工作指示
20 sbit E=P3^5;
21 sbit SID=P3^0;
22 sbit CLK=P3^1;
23 //----------------------------------------------
24 #define CMD_READ 0x15
25 //----------------------------------------------
26 uchar key_number; //全局变量
27 //---------------------发送数据-----------------
28 void fss(uchar l)
29 {uchar a,ll=0x02;
30 1 E=1; //打开数据传输
31 1 for(a=0;a<8;a++)
32 1 {ll=ll>>1;
33 2 SID=CY;
34 2 CLK=1;CLK=0;
35 2 }
36 1 for(a=0;a<8;a++)
37 1 {l=l>>1;
38 2 SID=CY;
39 2 CLK=1;CLK=0;
40 2 }
41 1 short_delay(200); // 延时110ns
42 1 E=0;
43 1 }
44 //-----------发送命令子程序--------------
45 void fs(uchar i)
46 {uchar a,k=0;;
47 1 E=1; //打开数据传输
48 1 for(a=0;a<8;a++)
49 1 { k=k>>1;
50 2 SID=CY;
51 2 CLK=1;CLK=0;
52 2 }
53 1 for(a=0;a<8;a++)
54 1 { i=i>>1;
55 2 SID=CY;
C51 COMPILER V6.12 TEXT0 06/02/2004 11:05:35 PAGE 2
56 2 CLK=1;CLK=0;
57 2 }
58 1 short_delay(200); // 延时110ns
59 1 E=0;
60 1 }
61 //-------------------------------
62 void long_delay(void) //延时程序1
63 {
64 1 uchar i;
65 1 for (i=0;i<0x30;i++);
66 1 }
67 void short_delay(uint x) //延时程序X
68 {
69 1 uchar i;
70 1 for (i=0;i<x;i++);
71 1 }
72 //---------------------判断键值----------------
73 uchar pdjp(void) //判断键值
74 {uchar k;
75 1 switch(key_number){
76 2 case 1: k=1; break; //0
77 2 case 2: k=2; break; //1
78 2 case 3: k=3; break; //2
79 2 case 4: k=4; break; //3
80 2 case 5: k=5; break; //4
81 2 case 6: k=6; break; //5
82 2 case 7: k=7; break; //6
83 2 case 8: k=8; break; //7
84 2 case 9: k=9; break; //8
85 2 case 10: k=10; break; //9
86 2 case 11: k=11; break; //*
87 2 case 12: k=12; break; //#
88 2 default: break;
89 2 }
90 1 return(k);
91 1 }
92 //---------------------报警设置------------------
93 void bjsz(void) //报警设置显示
94 {uchar ll;
95 1 if(ll==12){ //判断是否按#号键
96 2 do{ //是循环等待按键功能
97 3 switch(key_number){
98 4 case 1: break; //#1 报警电话号码设置
99 4 // 显示 D1:XXXXXXXXXX
100 4 // D2:D3:D4:D5:D6:
101 4 case 2: break; //#2 布防,撤防延时时间设置
102 4 // 显示 BT:XX
103 4 // CT:XX
104 4 case 3: break; //#3 报警声输出延时时间设置
105 4 // 显示 SD:XX
106 4 case 4: break; //#4 振铃次数设定
107 4 // 显示 TONE:XX
108 4 case 5: break; //#5 报警语音录制
109 4 // 显示 REC BEGIN...
110 4 // REC OVER
111 4 case 6: break; //#5 报警录音播放检查
112 4
113 4 case 7: break; //#7 音响设置
114 4 // 显示 SD:X
115 4 default: break;
116 4 }
117 3 }while(1);
C51 COMPILER V6.12 TEXT0 06/02/2004 11:05:35 PAGE 3
118 2 }
119 1 }
120 // ************************* ?óê± n*10ms *************************
121 void main(void)
122 {
123 1 uchar key_number=0xff;
124 1 do{
125 2
126 2 }while(1);
127 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 222 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 2
IDATA SIZE = ---- ----
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 + -