📄 4x4
字号:
C51 COMPILER V9.00 4X4_显示 07/29/2013 00:05:11 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE 4X4_显示
OBJECT MODULE PLACED IN 4x4 显示.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 4x4 显示.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 uchar code key_scan[4] = {0xfe,0xfd,0xfb,0xf7};
5 uchar code key_value[16] = {0xee,0xde,0xbe,0x7e,
6 0xed,0xdd,0xbd,0x7d,
7 0xeb,0xdb,0xbb,0x7b,
8 0xe7,0xd7,0xb7,0x77,};
9
10 uchar code seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,
11 0x92,0x82,0xf8,0x80,0x90};
12 sbit beep=P1^7;
13 sbit k1=P2^5;
14 sbit k2=P2^6;
15 //sbit k3=P2^7;
16
17 uchar k =88;
18
19 //毫秒延时函数
20 void delay(uint x)
21 {
22 1 while(x--);
23 1 }
24 void display1(uchar x)
25 {
26 1 P0 = 0xff; //仿真时消隐
27 1 P0 = seven_seg[x % 10];
28 1 P2 = 0xfe;delay(1000);
29 1 P0 = 0xff; //仿真时消隐
30 1 P0 = seven_seg[x / 10];
31 1 P2 = 0xfd;delay(1000);
32 1 }
33 //按键控制
34 void main(void)
35 {
36 1 uchar i = 0,j;
37 1 while(1)
38 1 {
39 2
40 2 beep=1;
41 2 P3 = key_scan[i];
42 2 if(P3 != key_scan[i])
43 2 {
44 3 delay(200);
45 3
46 3 for(j = 0;j <= 16;j++)
47 3 {
48 4 if(P3 == key_value[j])
49 4 k =j ;
50 4 }
51 3 beep=0;
52 3 }
53 2
54 2 display1(k);
55 2 i++;
C51 COMPILER V9.00 4X4_显示 07/29/2013 00:05:11 PAGE 2
56 2 if(i >= 4)
57 2 i = 0;
58 2
59 2 }
60 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 116 ----
CONSTANT SIZE = 30 ----
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 + -