📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 09/28/2008 10:50:33 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SOURCE\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(main.obj)
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 sbit SDA = P1^1;
7 sbit SHIFT_CP = P1^2;
8 sbit ST_CP = P1^0;
9 #define NOP _nop_()
10
11 uchar ledcode[] =
12 {
13 0x3F,
14 0x06,
15 0x5B,
16 0x4F,
17 0x66,
18 0x6D,
19 0x7D,
20 0x07,
21 0x7F,
22 0x6F,
23 };
24 uchar ledbitselect[] = {0x0fe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
25 //11111110 11111101 11111011 11110111 11101111 11011111 10111111 01111111
26 uchar i;
27
28 void InitSerialPort(void)
29 {
30 1 SDA = 0;
31 1 SHIFT_CP = 0;
32 1 ST_CP = 0;
33 1 }
34
35 void delay(void)
36 {
37 1 uchar jj;
38 1 for(jj=0;jj<200;jj++);
39 1 while(jj--);
40 1 }
41
42 void SerialSendData(uchar dat)
43 {
44 1 uchar ii;
45 1 uchar sdata=dat;
46 1 for(ii=0;ii<8;ii++)
47 1 {
48 2 if(sdata&0x80)SDA=1;
49 2 else SDA = 0;
50 2 sdata<<=1;
51 2 SHIFT_CP =0;
52 2 NOP;
53 2 NOP;
54 2 SHIFT_CP = 1;
55 2 NOP;
C51 COMPILER V7.50 MAIN 09/28/2008 10:50:33 PAGE 2
56 2 NOP;
57 2 }
58 1 ST_CP = 1;
59 1 NOP;
60 1 NOP;
61 1 ST_CP = 0;
62 1 }
63
64
65
66
67 //LED 共阴
68
69 void main()
70 {
71 1 InitSerialPort();
72 1 while(1){
73 2 delay();
74 2 delay();
75 2 P2 = ledbitselect[i];
76 2 SerialSendData(ledcode[i]);
77 2 i=(i+1)%8;
78 2 }
79 1
80 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 91 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 ----
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 + -