单片机的实用程序代码
源代码在线查看: 定时器的使用.lst
C51 COMPILER V7.50 定时芲的使用 08/19/2011 10:23:20 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 定时芲的使用
OBJECT MODULE PLACED IN 定时器的使用.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 定时器的使用.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 * 文件名 : 定时器的使用.c
3 * 描述 : 用定时器方式2的程序代码。
4 相对前面的软件延时,定时器的延时更为精确。
5 定时时间可用光盘中的“51定时器计算.exe”计算。该软件
6 位于单片机开发辅助工具文件夹中。
7 * 创建人 : 东流,2009年4月8日
8 * 版本号 : 2.0
9 ***********************************************************************/
10 #include
11 #define uchar unsigned char
12 #define uint unsigned int
13
14 uint Count = 0;
15 uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
16 /********************************************************************
17 * 名称 : Time0_Init()
18 * 功能 : 定时器的初始化,11.0592MZ晶振,0.1ms
19 * 输入 : 无
20 * 输出 : 无
21 ***********************************************************************/
22 void Time0_Init()
23 {
24 1 TMOD = 0x02;
25 1 TH0 = 0xa3;
26 1 TL0 = 0xa3;
27 1 IE = 0x82;
28 1 TR0 = 1;
29 1 }
30
31 /********************************************************************
32 * 名称 : Time0_Int()
33 * 功能 : 定时器中断,中断中实现 Count 加一
34 * 输入 : 无
35 * 输出 : 无
36 ***********************************************************************/
37 void Time0_Int() interrupt 1
38 {
39 1 Count++; //长度加1
40 1 }
41
42 /********************************************************************
43 * 名称 : Main()
44 * 功能 : 主函数
45 * 输入 : 无
46 * 输出 : 无
47 ***********************************************************************/
48 void main()
49 {
50 1 uchar i = 0;
51 1 Time0_Init();
52 1 while(1)
53 1 {
54 2 P0 = table[i % 10]; //取 i 的个位
55 2 while(1)
C51 COMPILER V7.50 定时芲的使用 08/19/2011 10:23:20 PAGE 2
56 2 {
57 3 if(Count == 10000) //当Count为 10000 时,i 自加一次,10000 * 0.1MS = 1S
58 3 {
59 4 Count = 0;
60 4 i++;
61 4 break;
62 4 }
63 3 }
64 2 }
65 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 64 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)