30-14-7.lst
来自「C51程序应用例子,自己的学习历程,希望可以帮到大家」· LST 代码 · 共 75 行
LST
75 行
C51 COMPILER V7.50 30_14_7 03/20/2009 11:06:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 30_14_7
OBJECT MODULE PLACED IN 30-14-7.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 30-14-7.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #define uchar unsigned char
2 #define uint unsigned int
3 #define ulong unsigned long
4 #include<reg52.h>
5
6 sbit P10=P1^0;
7 //sbit K1=P3^0;
8 static uchar T;
9 static uchar D;
10
11 void main(void)
12 {
13 1 TMOD=0x11;//计数器T0,T1均工作在模式1的状态下
14 1 TH0=0xD8;
15 1 TL0=0xF0;//用6M晶振,机器周期0.1s
16 1 TH1=0xD8;
17 1 TL1=0xF0;
18 1 ET0=1;//T0中断允许
19 1 ET1=1;//T1中断允许
20 1 EA=1;//总中断允许
21 1 TR0=1;//T0启动
22 1 TR1=0;//T1禁止
23 1 while(1)
24 1 {
25 2 ;
26 2 }
27 1 }
28
29 TimerT0() interrupt 1
30 {
31 1 if(T==10)T=0;//最大周期到1s
32 1 T++;
33 1 P10=1;
34 1 TR1=1;//T1开始计数,D从0到10递增
35 1 TR0=0;//T增1后,T0停止计数
36 1 }
37
38 TimerT1() interrupt 3
39 {
40 1 if(D==T)P10=0;//当T增1后,占空比也相应的增1
41 1 if(D==10)//D的单位增量为T的10分之1
42 1 {
43 2 D=0;
44 2 TR0=1;//D循环1圈后,T0开始计数
45 2 TR1=0;//T1停止
46 2 }
47 1 D++;
48 1 }
49
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 82 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V7.50 30_14_7 03/20/2009 11:06:09 PAGE 2
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?