📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 01/26/2007 15:56:55 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: E:\Program Files\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //==================================================================================
2 //预定义包含文件
3 //==================================================================================
4 #include <reg51.h>
5 #include <intrins.h>
6 #include <ds18b20.c>
7 //=================================================================================================
8 sbit clk_led=P0^3;//定义数码管时钟线
9 sbit dat_led=P0^2;//定义数码管数据线
10 //=================================================================================================
11 code unsigned char number[]={0x11,0xD7,0x32,0x92, /* 0 1 2 3 */
12 0xD4,0x98,0x18,0xD3, /* 4 5 6 7 */
13 0x10,0x90,0x50,0x1C, /* 8 9 A B */
14 0x39,0x16,0x38,0x78, /* C D E F */
15 };
16
17 //==================================================================================================
18 void shift(unsigned char b)//数码管送数程序,依次向送数码管送8bit数
19 {
20 1 unsigned char i;
21 1 for(i=0;i<8;i++)
22 1 {
23 2 clk_led=0; //时钟线清零
24 2 if(!(b&0x80))dat_led=0; //数据线送0,与、判断,往数据线送最高位 0x80为二进制数:10000000
25 2 else dat_led=1; //数据线送1
26 2 clk_led=1; //上跳
27 2 clk_led=0; //下跳
28 2 dat_led=0; //dat清零,确保数据的准确性
29 2 b=b<<1; //左移一位
30 2 }
31 1 }
32 //==================================================================================================
33
34 //数码管送数子程序
35 //例如要向数码管送10000,则调用方式为:shiftn(10000);
36 void shiftn(unsigned long int c)//
37 {
38 1 shift(number[(int)(c%10)]);//送个位
39 1 if(c>9){shift(number[(int)(c%100/10)]);}//送十位
40 1 if(c>99){shift(number[(int)(c%1000/100)]);}//送百位
41 1 if(c>999){shift(number[(int)(c%10000/1000)]);}//送千位
42 1 if(c>9999){shift(number[(int)(c%100000/10000)]);}//送万位
43 1 if(c>99999){shift(number[(int)(c%1000000/100000)]);}//送十万位
44 1 if(c>999999){shift(number[(int)(c%10000000/1000000)]);}//送百万位
45 1 shift(0xff);//送暗
46 1 }
47
48 main()
49 {
50 1 long int i;
51 1 while(1)
52 1 {
53 2 shiftn(readtemp());
54 2 for(i=0;i<10000;i++);
55 2 }
C51 COMPILER V8.02 MAIN 01/26/2007 15:56:55 PAGE 2
56 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 703 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 8
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 + -