📄 senddata.lst
字号:
C51 COMPILER V7.50 SENDDATA 04/07/2006 12:47:43 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SENDDATA
OBJECT MODULE PLACED IN senddata.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE senddata.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "senddata.h"
2
3
4 void senddata(unsigned char keyvalue)
5 {
6 1 unsigned char result = 1, checkcount = 0, sum = 0;
7 1 bit flag_check=1;
8 1 //delay(5000000);
9 1 for(checkcount = 0; checkcount < 8; checkcount++)
10 1 {
11 2 if((keyvalue & result)!=0)
12 2 {
13 3 flag_check=!flag_check;
14 3 }
15 2 result = result << 1;
16 2 }
17 1 keyclk=1;keyclk1=1;
18 1 /*
19 1 if(!keyclk)
20 1 {
21 1 return;
22 1 }
23 1 */
24 1 //(1)检测时钟线电平,如果时钟线为低,则延时50μs;
25 1 step1:
26 1 while(!keyclk) //1) Wait for Clock = high.
27 1 {
28 2 }
29 1 //step2:
30 1 delay_50us(); //2) Delay 50 microseconds.
31 1 keyclk=1;keyclk1=1;
32 1 keydata=1;keydata1=1;
33 1 //step3:
34 1 if(keyclk==1) //3) Clock still = high? No--goto step 1
35 1 {
36 2 delay_20us();
37 2 }
38 1 else
39 1 {
40 2 goto step1;
41 2 }
42 1 if(keyclk==1&&keydata==1)
43 1 {
44 2 delay_20us(); // Delay 20 microseconds
45 2 keydata=0;keydata1=0; //1) Set/Reset Data
46 2 delay_20us(); //2) Delay 20 microseconds
47 2 keyclk=0;keyclk1=0; //3) Bring Clock low
48 2 delay_40us(); //4) Delay 40 microseconds
49 2 keyclk=1;keyclk1=1;
50 2 delay_20us();
51 2
52 2 result=1;
53 2 for(checkcount=0;checkcount<8;checkcount++)
54 2 {
55 3 if((keyvalue&result)!=0)
C51 COMPILER V7.50 SENDDATA 04/07/2006 12:47:43 PAGE 2
56 3 {
57 4 keydata=1;keydata1=1;
58 4 }
59 3 else
60 3 {
61 4 keydata=0;keydata1=0;
62 4 }
63 3 delay_20us();
64 3 keyclk=0;keyclk1=0;
65 3 delay_40us();
66 3 result=result<<1;
67 3 keyclk=1;keyclk1=1;
68 3 delay_20us();
69 3 }
70 2 // keyclk=1;keyclk1=1;
71 2 // delay(4);
72 2 //parity bit
73 2 keydata=flag_check;
74 2 keydata1=flag_check;
75 2 delay_20us();
76 2 keyclk=0;keyclk1=0;
77 2 delay_40us();
78 2 keyclk=1;keyclk1=1;
79 2 delay_20us();
80 2 //stop bit
81 2 keydata=1;keydata1=1;
82 2 delay_20us();
83 2 keyclk=0;keyclk1=0;
84 2 delay_40us();
85 2 keyclk=1;keyclk1=1;
86 2 delay_20us();
87 2 keyclk=1;keyclk1=1;
88 2 keydata=1;keydata1=1;
89 2 delay_20us();
90 2 }
91 1 // return;
92 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 565 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -