一些51单片机基础模块的程序
源代码在线查看: 定时器的使用.lst
C51 COMPILER V7.50 定时芲的使用 04/09/2009 14:37:40 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 定时芲的使用
OBJECT MODULE PLACED IN 定时器的使用.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE 定时器的使用.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 * 文件名 : 定时器的使用.c
3 * 描述 : 相对前面的软件延时,定时器的延时更为精确。
4 定时时间可用光盘中的“51定时器计算.exe”计算。该软件
5 位于单片机开发辅助工具文件夹中。
6 相应的视频为“定时器的使用.exe”。
7 * 创建人 : 东流,2009年4月8日
8 * 版本号 : 2.0
9 * 技术支持论坛:www.zidh.com/bbs(请进入“赞助商板块”中的“东流电子工作室”)
10 ***********************************************************************/
11 #include
12 #define uchar unsigned char
13 #define uint unsigned int
14
15 uchar Count = 0;
16 uchar code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};
17 /********************************************************************
18 * 名称 : Time0_Init()
19 * 功能 : 定时器的初始化,11.0592MZ晶振,50ms
20 * 输入 : 无
21 * 输出 : 无
22 ***********************************************************************/
23 void Time0_Init()
24 {
25 1 TMOD = 0x01;
26 1 IE = 0x82;
27 1 TH0 = 0x4c;
28 1 TL0 = 0x00;
29 1 TR0 = 1;
30 1 }
31
32 /********************************************************************
33 * 名称 : Time0_Int()
34 * 功能 : 定时器中断,中断中实现 Count 加一
35 * 输入 : 无
36 * 输出 : 无
37 ***********************************************************************/
38 void Time0_Int() interrupt 1
39 {
40 1 TH0 = 0x4c;
41 1 TL0 = 0x00;
42 1 Count++; //长度加1
43 1 }
44
45 /********************************************************************
46 * 名称 : Main()
47 * 功能 : 主函数
48 * 输入 : 无
49 * 输出 : 无
50 ***********************************************************************/
51 void main()
52 {
53 1 uchar i = 0;
54 1 Time0_Init();
55 1 while(1)
C51 COMPILER V7.50 定时芲的使用 04/09/2009 14:37:40 PAGE 2
56 1 {
57 2 P0 = table[i % 10]; //取 i 的个位
58 2 P2 = 0x01;
59 2 while(1)
60 2 {
61 3 if(Count == 20) //当Count为 20 时,i 自加一次,20 * 50MS = 1S
62 3 {
63 4 Count = 0;
64 4 i++;
65 4 break;
66 4 }
67 3 }
68 2 }
69 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 56 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)