📄 t1-conut.lst
字号:
C51 COMPILER V7.08 T1_CONUT 12/21/2006 15:50:19 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE T1_CONUT
OBJECT MODULE PLACED IN T1-conut.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T1-conut.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************
2 * *
3 * ME500单片机开发系统演示程序 - 定时与计数中断 *
4 * *
5 * P0 LED显示 (流水灯) *
6 * *
7 * 版本: V1.0 (2006/11/20) *
8 * 作者: gguoqing (Email: gguoqing@willar.com) *
9 * 网站: www.willar.com(伟纳电子) www.mcusj.com(伟纳单片机世界) *
10 * 时间: 2006/12/13 *
11 * *
12 *【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
13 *【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *
14 * *
15 *******************************************************************/
16
17 //P3.2输出T1计数脉冲,请将P3.2与P3.5用导线连接。
18
19 //定时器0定时,中断溢出一次,T1计数器加1。
20
21 //T1计数器计满10次,LED灯左移一位。(流水灯)
22
23 //*****************************************************************
24
25
26 #include < reg51.h >
27 #include <intrins.h>
28
29 #define uchar unsigned char
30 #define uint unsigned int
31
32 sbit T1_pulse=P3^2;
33
34 uchar move;
35
36 /*********************************************************
37
38 主函数
39
40 **********************************************************/
41 void main()
42 {
43 1 P0=0xff; //关所有灯
44 1 P2=0xff;
45 1
46 1 TMOD=0x51; //TIMER0定时,TIMER1计数
47 1 TH0=0xa6;
48 1 TL0=0x00; //25ms定时常数
49 1 TH1=0xff;
50 1 TL1=0xf6;
51 1 EA=1; //开总中断
52 1 ET1=1; //允许定时/计数器1 中断
53 1 TR0=1; //启动定时/计数器0 中断
54 1 TR1=1; //启动定时/计数器1 中断
55 1 T1_pulse=1;
C51 COMPILER V7.08 T1_CONUT 12/21/2006 15:50:19 PAGE 2
56 1 move=0xfe; //扫描初值
57 1
58 1 while(1)
59 1 {
60 2 do
61 2 { }while(!TF0); //T0采用查询方式
62 2
63 2 {
64 3 TR0=0;
65 3 TH0=0xa6;
66 3 TL0=0x00; //25ms定时常数
67 3
68 3 T1_pulse=~T1_pulse; //T1中断触发脉冲
69 3 TF0=0;
70 3 TR0=1;
71 3 }
72 2 }
73 1
74 1 }
75
76 /*********************************************************
77
78 Time1 中断服务函数
79
80 *********************************************************/
81 void Time1(void) interrupt 3
82 {
83 1 EA=0;
84 1 TH1=0xff;
85 1 TL1=0xf6;
86 1 P0=move;
87 1 move=(move <<1)|0x01;
88 1 if(move==0xff)
89 1 move=0xfe;
90 1 EA=1;
91 1 }
92
93 //*********************************************************
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 89 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -