📄 rf_test.lst
字号:
C51 COMPILER V7.07 RF_TEST 12/23/2007 21:46:11 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE RF_TEST
OBJECT MODULE PLACED IN rf_test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE rf_test.c BROWSE DEBUG OBJECTEXTEND TABS(8)
stmt level source
1 #include"reg51.h"
2 #include<intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define nop _nop_() /* 定义空操作指令 */
6 sbit in=P3^4;
7 sbit out=P3^6;
8 uchar dat_1,dat_2;
9 bit inter_psw=0;
10 sbit en =P1^7; /*DTLED-6显示芯片使能端*/
11 sbit dout=P1^6; /*DTLED-6显示芯片数据读入端*/
12 sbit clk=P1^3; /*DTLED-6显示芯片/时钟芯片DS1302时钟输入端*/
13 uchar dispbuf[9]={0,0,0,0,0,0,0,1,0}; /*显示值存放阵列*/
14 void delay (uint value) /*延时副程式*/
15 {
16 1 while (value!=0) value--; /*10US延时*/
17 1 }
18 /**********************************************/
19 void DL(void)
20 {
21 1 uchar i;
22 1 for(i=0;i<7;i++)
23 1 {
24 2 delay(7000);
25 2 }
26 1 }
27 /*********************************************/
28 void tsled(void) /*串行发送DTLED-6显示副程式*/
29 {
30 1 char ts0,i,j;
31 1 clk=0;
32 1 en=0;
33 1 delay(10);
34 1 for(j=0;j<9;j++)
35 1 { ts0=dispbuf[j];
36 2 for(i=0;i<4;i++) /*发小数点码8,4,2,1*/
37 2 {
38 3 clk=1;
39 3 ts0=ts0<<1;
40 3 if(AC==1)
41 3 dout=1;
42 3 else dout=0;
43 3 clk=0;
44 3 nop;
45 3 delay(3);
46 3 }
47 2 }
48 1 en=1;
49 1 } /*返回主程式*/
50 /**********************************************************************************/
51 void process(void)
52 {
53 1 uchar i;
54 1 EA=0;
55 1 for(i=0;i<8;i++)
C51 COMPILER V7.07 RF_TEST 12/23/2007 21:46:11 PAGE 2
56 1 {
57 2 delay(102);
58 2 if(in)goto pro_end;
59 2 }
60 1 while(!in)nop;
61 1 delay(544);
62 1 for(i=0;i<8;i++)
63 1 {
64 2 while(!in)nop;
65 2 delay(102);
66 2 if(!in){dat_1=dat_1>>0x01;}
67 2 else {delay(114);dat_1=(dat_1>>0x01)|0x80;}
68 2 }
69 1 delay(544);
70 1 for(i=0;i<8;i++)
71 1 {
72 2 while(!in)nop;
73 2 delay(102);
74 2 if(!in){dat_2=dat_2>>0x01;}
75 2 else {delay(114);dat_2=(dat_2>>0x01)|0x80;}
76 2 }
77 1 if(dat_1==0xc4&&dat_2<0x20)
78 1 {EA=0;dispbuf[1]=dat_2&0x0f;dispbuf[2]=dat_2>>4;dispbuf[3]=0x04;dispbuf[4]=0x0c;tsled();EA=1;DL();}
79 1 pro_end:;
80 1 EA=1;
81 1 }
82 /*************************************************************/
83 void T0_count(void)interrupt 1 using 1
84 {
85 1 inter_psw=1;
86 1 }
87
88 /*************************************************************/
89 void main(void)
90 {
91 1 dat_1=0x00;
92 1 dat_2=0x00;
93 1 TMOD=0x06; //T1工作方式2
94 1
95 1 TH0=0xff;
96 1 TL0=0xff;
97 1
98 1 EA=1;
99 1 ET0=1;
100 1 TR0=1;
101 1 tsled();
102 1 while(1)
103 1 {
104 2 if(inter_psw){process();inter_psw=0;}
105 2 }
106 1 }
107 /**************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 286 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
C51 COMPILER V7.07 RF_TEST 12/23/2007 21:46:11 PAGE 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -