📄 www.ourhc.cn.lst
字号:
C51 COMPILER V8.05a WWW_OURHC_CN 06/03/2012 00:52:42 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE WWW_OURHC_CN
OBJECT MODULE PLACED IN www.ourhc.cn.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE www.ourhc.cn.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 汇诚科技
3
4 实现功能:按键识别的应用
5 使用芯片:STC12C5A60S2
6 晶振:11.0592MHZ
7 波特率:9600
8 编译环境:Keil
9 作者:zhangxinchun
10 网站:www.ourhc.cn
11 淘宝店:
12 汇诚科技 http://ourhc.taobao.com
13 郑兴电子直销部 http://shop68451856.taobao.com
14 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
15
16 *********************************************************************/
17 #include<reg52.h> //库文件
18 #define uchar unsigned char//宏定义无符号字符型
19 #define uint unsigned int //宏定义无符号整型
20 /********************************************************************
21 初始定义
22 *********************************************************************/
23 uchar count; //按键计数,每按一下,count 加1
24 uchar a,b; //定义字符型变量
25 uchar temp; //定义字符型变量
26 sbit BY1=P2^0; //定义按键的输入端(为单片机P2口的P2.1按键)
27 /********************************************************************
28 延时函数
29 *********************************************************************/
30 void delay10ms(void) //延时程序
31 {
32 1 uchar i,j;
33 1 for(i=20;i>0;i--)
34 1 for(j=248;j>0;j--);
35 1 }
36 /********************************************************************
37 按键判断函数
38 *********************************************************************/
39 void key() //按键判断程序
40 {
41 1 if(BY1==0) //判断是否按下键盘
42 1 {
43 2 delay10ms(); //延时,软件去干扰
44 2 if(BY1==0) //确认按键按下
45 2 {
46 3 count++; //按键计数加1
47 3 if(count==8) //计8次重新计数
48 3 {
49 4 count=0;//将count 清零
50 4 }
51 3 }
52 2 while(BY1==0);//按键锁定,每按一次count 只加1.
53 2 }
54 1 }
55 /********************************************************************
C51 COMPILER V8.05a WWW_OURHC_CN 06/03/2012 00:52:42 PAGE 2
56 主函数
57 *********************************************************************/
58 void main()
59 {
60 1 temp=0xfe; //定义为11111110
61 1 while(1)
62 1 {
63 2 key(); //调用按键判断函数
64 2 a=temp<<count;//左移count位
65 2 b=temp>>(8-count);//右移8-count位
66 2 P0=a|b; //求值
67 2 }
68 1 }
69
70 /********************************************************************
71 结束
72 *********************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 78 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -