📄 text1.lst
字号:
C51 COMPILER V7.06 TEXT1 10/15/2004 10:35:58 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND
stmt level source
1 /*
2 利用计数器来使P1.1产生一个方波,周期为25ms,占空比为50%,使用22.1184MHz时钟周期。
3 此时最大计数时间为35.5ms,取25ms,对于1s,可以取40个
4 周期,其中高电平为20个周期。每个周期计数次数为:25*10^(-3)*22.1184/12=46080次。
5 此程序仅为学习计数器用
6 */
7
8 // 如用33M的晶振,取每10ms中断一次,则每个周期计数次数:10*10^(-3)*33/12=27500次。
9 #include<reg52.h>
10 #include<stdio.h>
11
12 #define uchar unsigned char
13 uchar time=0,second=0,minute=0,hour=0,day=1,month=1;
14 unsigned int year=2004;
15 sbit P1_1=P1^1;
16 uchar period=50,dx=0;
17
18
19 timer0() interrupt 1 using 1{
20 1 // TH0=(65536-46080)/256;
21 1 // TL0=(65536-46080)%256;
22 1 TH0=(65536-27500*2)/256;
23 1 TL0=(65536-27500*2)%256;
24 1 time++;
25 1 }
26
27 void main(){
28 1
29 1 //////////////////////////////////////////////
30 1 //Setup the serial port for 1200 baud at 16MHz.
31 1 ///////////////////////////////////////////////
32 1 #ifndef MONITOR51
33 1 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
34 1 TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
35 1 PCON=0x80;
36 1 TH1 = 247; /* TH1:221 reload value for 1200 baud @ 16MHz */
37 1 TL1=247; /*9.6K baud for 33M*/
38 1 TR1 = 1; /* TR1: timer 1 run */
39 1 TI = 1; /* TI: set TI to send first char of UART */
40 1 #endif
41 1 ////////////////////////////////////////////////////////////////////////////////////
42 1 TMOD |=0X01;
43 1 TH0=(65536-27500*2)/256;
44 1 TL0=(65536-27500*2)%256;
45 1 EA=1;
46 1 ET0=1;
47 1 TR0=1;
48 1 time=0;
49 1 do{
50 2 if(time==50){printf (" %u-%bu-%bu %bu:%bu:%bu\n",year,month,day,hour,minute,second);
51 3
52 3 }
53 2 if(time==50){second++;time=0;}
54 2 if(second==60){minute++;second=0;}
55 2 if(minute==60){hour++;minute=0;}
C51 COMPILER V7.06 TEXT1 10/15/2004 10:35:58 PAGE 2
56 2 if(hour==24){day++;hour=0;}
57 2 if(day==31){month++;day=1;}
58 2 if(month==13){year++;month=1;}
59 2 }while(1);
60 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 149 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
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 + -