📄 mmi.lst
字号:
C51 COMPILER V8.08 MMI 02/05/2009 15:57:56 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MMI
OBJECT MODULE PLACED IN mmi.OBJ
COMPILER INVOKED BY: F:\安装包\Keilc uv2\C51\BIN\C51.EXE mmi.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*************************************************************************
2 文件名 :mmi.c
3 作 者:eleclike
4 修改日期:2008-9-9
5 版 本:v1.00
6 版权说明:本程序只供学习使用,未经作者许可,不得用于其它任何用途
7 备 注:该模块处理人机交互,包括按键,闹钟、显示时间,LED指示等
8 **************************************************************************/
9
10 #include "Mmi.h"
11
12 //"ds12887.c"中定义
13 extern uchar Second;
14 extern uchar AlarmEnable;
15
16 //"main.c"中定义 本模块中用作延时
17 extern void DeelDisplay(void);
18
19
20 uchar KeyValue=0xff; //键盘值,若为0XFF,则未按下键盘
21
22 /*********************************************************
23 函数名称:DynamicDisplay()
24 函数功能:动态显示函数
25 入口参数:需要显示的时钟参数
26 出口参数:无
27 备 注:显示的方式为月日、时分、年星期
28 *********************************************************/
29 void DynamicDisplay(uchar dt2,uchar dt1)
30 {
31 1 PtData = (dt2>>4) | 0x10; //送数据dt2高四位至第1个数码管
32 1 Delay(250);
33 1 PtData = (dt2&0x0f) | 0x20; //送数据dt2低四位至第2个数码管
34 1 Delay(250);
35 1 PtData = (dt1>>4) | 0x40; //送数据dt1高四位至第3个数码管
36 1 Delay(250);
37 1 PtData = (dt1&0x0f) | 0x80; //送数据dt1低四位至第4个数码管
38 1 Delay(250);
39 1 }
40 /*********************************************************
41 函数名称:ReadKey()
42 函数功能:读取键盘的值
43 入口参数:无
44 出口参数:无
45 备 注:
46 *********************************************************/
47 void ReadKey(void)
48 {
49 1 KEY1=1;KEY2=1; //将需要读取的端口置一
50 1 KEY3=1;KEY4=1;
51 1 KeyValue= P3 & 0x33;
52 1 if(KeyValue != 0x33)
53 1 {
54 2 DeelDisplay(); //使用显示来延时
55 2 DeelDisplay();
C51 COMPILER V8.08 MMI 02/05/2009 15:57:56 PAGE 2
56 2 DeelDisplay();
57 2 DeelDisplay();
58 2 DeelDisplay();
59 2 KEY1=1;KEY2=1;
60 2 KEY3=1;KEY4=1;
61 2 KeyValue = P3 & 0x33; //读取键值
62 2 if(KeyValue != 0x33)
63 2 {
64 3 DeelDisplay(); //使用显示来延时
65 3 DeelDisplay();
66 3 DeelDisplay();
67 3 DeelDisplay();
68 3 DeelDisplay();
69 3 KeyValue = P3 & 0x33;
70 3 AlarmEnable = 0; //任何按键将停止闹钟报警声
71 3 }
72 2 else
73 2 KeyValue = 0xff; //若无按键,置按键值无效
74 2 }
75 1 else
76 1 KeyValue = 0xff;
77 1 }
78
79 /*********************************************************
80 函数名称:SecondLedShine()
81 函数功能:表示秒的LED闪烁
82 入口参数:无
83 出口参数:无
84 备 注:
85 *********************************************************/
86 void SecondLedShine(void)
87 {
88 1 if(Second%2==0)
89 1 SecondLedOn();
90 1 else
91 1 SecondLedOff();
92 1
93 1 }
94 /*********************************************************
95 函数名称:AlarmLedShine()
96 函数功能:闹钟LED闪烁
97 入口参数:无
98 出口参数:无
99 备 注:
100 *********************************************************/
101 void AlarmLedShine(void)
102 {
103 1 if(Second%2==0)
104 1 AlarmLedOn();
105 1 else
106 1 AlarmLedOff();
107 1 }
108 /*********************************************************
109 函数名称:AlarmBellShine()
110 函数功能:闹钟蜂鸣器间断发声
111 入口参数:无
112 出口参数:无
113 备 注:
114 *********************************************************/
115 void AlarmBellShine(void)
116 {
117 1 if(Second%2==0)
C51 COMPILER V8.08 MMI 02/05/2009 15:57:56 PAGE 3
118 1 AlarmBellOn();
119 1 else
120 1 AlarmBellOff();
121 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 179 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 2
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 + -