📄 4x5text.lst
字号:
C51 COMPILER V7.08 4X5TEXT 07/24/2007 20:46:51 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE 4X5TEXT
OBJECT MODULE PLACED IN 4x5text.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 4x5text.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*****************************************************************
2 File:4x5text.c
3 Author:xiaorunyi
4 Edition:V1.0
5 Email:qq315626168@126.com
6 www.ednchina.com/blog/xiaorunyi
7 功能:4x5健盘铃声测试
8 ******************************************************************/
9 #include <reg51.h>
10
11 #define uint unsigned int
12 #define uchar unsigned char
13
14 void kbscan(); //4*5按键扫描
15 void delay(int count);
16 unsigned char kbp; //存储键值
17
18 sbit bell=P1^4;
19 /*************************************************************
-
20 蜂鸣器响一声
21 *************************************************************/
22 void delay1(uchar x)
23 { uchar j;
24 1 while((x--)!=0)
25 1 { for(j=0;j<125;j++)
26 2 {;}
27 2 }
28 1 }
29 void beep()
30 {
31 1 unsigned char i;
32 1 for (i=0;i<100;i++)
33 1 {
34 2 delay(4);
35 2 bell=!bell; //BEEP取反
36 2 }
37 1 bell=1; //关闭蜂鸣器
38 1 delay1(250); //延时
39 1 }
40
41 main()
42 {
43 1 while(1)
44 1 {
45 2 kbscan();
46 2 if(kbp!=0xff)
47 2 beep();
48 2 }// end while
49 1 }//end maim
50
51 void kbscan()
52 {
53 1 unsigned char scanrow[]={0xfb,0xf7,0xef,0xdf,0x7f};
54 1 unsigned char scancol[]={0xfe,0xfd,0xfb,0xf7};
C51 COMPILER V7.08 4X5TEXT 07/24/2007 20:46:51 PAGE 2
55 1 uint row,col,kbtemp; //计数器定义
56 1 kbp=0xff;
57 1 for(row=0;row < 5;row++)
58 1 {
59 2 P3=scanrow[row]; //0值输出
60 2 kbtemp=P1&0x0f; //取P1口值
61 2 if(kbtemp !=0x0f)
62 2 {
63 3 delay(7); //延时去斗
64 3 if(kbtemp !=(P1&0x0f)); //再次判断是否有健按下
65 3 {
66 4 for(col=0;col<4;col++)
67 4 {
68 5 if(kbtemp==(scancol[col]&0x0f))
69 5 kbp=row*4+col;
70 5 } // for col detect
71 4 delay(7); //等待延时
72 4 while((P1&0x0f)!=0x0f); //等待按键释放
73 4 while((P1&0x0f)!=0x0f); //等待按键释放
74 4 } // end if keyin
75 3 } // end if keyin
76 2 } // for row
77 1 } // end kbscan
78
79 void delay(uint count)
80 {
*** WARNING C235 IN LINE 80 OF 4X5TEXT.C: parameter 1: different types
81 1 int i,j;
82 1 for(i=0;i<count;i++)
83 1 for(j=0;j<122;j++);
84 1 }
85
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 245 ----
CONSTANT SIZE = 9 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 14
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -