📄 jdq.lst
字号:
C51 COMPILER V7.06 JDQ 09/13/2007 03:26:00 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE JDQ
OBJECT MODULE PLACED IN JDQ.OBJ
COMPILER INVOKED BY: C:\tools\Keil\C51\BIN\C51.EXE JDQ.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*实验名称:按加减键实现内部加减 0.01
2 功能:数码显示0.20---2.00
3 作者:http://www.mcuprog.com
4 05-02-01
5 */
6 #include <reg51.h>
7 //LCD的口线
8 sbit E=P2^2;
9 sbit RW=P2^1;
10 sbit RS=P2^0;
11 sbit K1= P1^0;
12 sbit JDQ = P3^6;
13
14 unsigned char keytime;
15 unsigned char bdata myflag;
16 sbit keybit = myflag^0;
17 sbit outedbit = myflag^1;
18
19 void time0(void);
20
21 void Delay(unsigned int t);
22 void SendCommandByte(unsigned char ch);
23 void SendDataByte(unsigned char ch);
24 void InitLcd(void);
25 void dispstate(void);
26
27 void main(void)
28 {
29 1 InitLcd();
30 1 myflag=0x00;
31 1 keytime=4; //20MS扫一次按键
32 1 SendCommandByte(0x80);
33 1 Delay(2);
34 1 SendDataByte('S');
35 1 SendDataByte('T');
36 1 SendDataByte('A');
37 1 SendDataByte('T');
38 1 SendDataByte('E');
39 1 SendDataByte(':');
40 1 TH0=0xee; //定时5MS
41 1 TL0=0x00;
42 1 TMOD=0x01;
43 1 TR0=1;
44 1 IE=0x82;
45 1 while(1)
46 1 {}
47 1 }
48
49 void time0(void) interrupt 1
50 {
51 1 TH0=0xee;
52 1 TL0=0x00;
53 1 keytime--;
54 1 if(keytime==0)
55 1 {
C51 COMPILER V7.06 JDQ 09/13/2007 03:26:00 PAGE 2
56 2 keytime=4;
57 2 if(K1==0)
58 2 {
59 3 if(keybit==0)
60 3 {
61 4 keybit=1;
62 4 outedbit=!outedbit;
63 4 JDQ=!JDQ;
64 4 }
65 3 }
66 2 else{keybit=0;}
67 2 }
68 1 dispstate();
69 1 }
70
71
72
73 void Delay(unsigned int t) // delay 40us
74 {
75 1 for(;t!=0;t--) ;
76 1 }
77 //=============================================
78 void SendCommandByte(unsigned char ch)
79 {
80 1 RS=0;
81 1 RW=0;
82 1 P0=ch;
83 1 E=1;
84 1 Delay(1);
85 1 E=0;
86 1 Delay(100); //delay 40us
87 1 }
88 //-------------------------------------------------------
89 void SendDataByte(unsigned char ch)
90 { RS=1;
91 1 RW=0;
92 1 P0=ch;
93 1 E=1;
94 1 Delay(1);
95 1 E=0;
96 1 Delay(100); //delay 40us
97 1 }
98 //-------------------------------------------------
99 void InitLcd(void)
100 {SendCommandByte(0x30);
101 1 SendCommandByte(0x30);
102 1 SendCommandByte(0x30);
103 1 SendCommandByte(0x38); //设置工作方式
104 1 SendCommandByte(0x0c); //显示状态设置
105 1 SendCommandByte(0x01); //清屏
106 1 SendCommandByte(0x06); //输入方式设置
107 1 }
108
109 void dispstate(void)
110 {
111 1 SendCommandByte(0x87);
112 1 if(outedbit==0)
113 1 {
114 2 SendDataByte('C');
115 2 SendDataByte('L');
116 2 SendDataByte('O');
117 2 SendDataByte('S');
C51 COMPILER V7.06 JDQ 09/13/2007 03:26:00 PAGE 3
118 2 SendDataByte('E');
119 2 }
120 1 else
121 1 {
122 2 SendDataByte('O');
123 2 SendDataByte('P');
124 2 SendDataByte('E');
125 2 SendDataByte('N');
126 2 SendDataByte(' ');
127 2 }
128 1
129 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 297 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -