历史上的今天
今天是:2025年01月11日(星期六)
2018年01月11日 | 按键扫描程序
2018-01-11 来源:eefocus
********************************************************************************
* 描述: *
* 按键扫描程序 *
* 上电时, 点亮P00口LED *
* 按下K1时, LED向右移一位 *
* 按下K2时, LED向左移一位 *
*******************************************************************************/
#include
#include
sbit K1 = P3^2;
sbit K2 = P3^3;
unsigned char sCAN_key()
{
unsigned char key_s;
key_s = 0x00;
key_s |= K2;
key_s <<= 1;
key_s |= K1;
return key_s;
}
void proc_key(unsigned char key_v)
{
if((key_v & 0x01) == 0)
{
P0 = _cror_(P0,1);
}
else if((key_v & 0x02) == 0)
{
P0 = _crol_(P0, 1);
}
}
void delayms(unsigned char ms) // 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
main()
{
unsigned char key_s,key_v;
key_v = 0x03;
P0 = 0xfe;
while(1)
{
key_s = scan_key();
if(key_s != key_v)
{
delayms(20);
key_s = scan_key();
if(key_s != key_v)
{
key_v = key_s;
proc_key(key_v);
delayms(150);
}
}
}
}
下一篇:16进制_10进制互换程序
史海拾趣
|
在tornado 2.2下以前的API etherOutput()没有了要怎么办?有类似的函数可以替代吗? etherOutput( ) - send a packet on an Ethernet interface SYNOPSIS STATUS etherOutput ( struct ifnet &nb ...… 查看全部问答> |
|
我的电脑的操作系统是WINDOWS XP SP2 的版本的,我买的MP3和电脑相连,电脑提示没有驱动认识,我的手机和电脑相连电脑同样提示没有驱动认识连接的移动存储设备。这是怎么回事呀,是不是我的USB驱动的问题还是别的,朋友说要在电脑后面的USB接口插, ...… 查看全部问答> |
|
如何将pc中的文件传到Pocket pc 2003 模拟器中的某个文件夹中 我要将PC上的文件传到ppc上安装,请教各位,如何将PC上的文件传到ppc的某个目录下,新手希望具体点,谢谢!… 查看全部问答> |
|
/*avr mega16 11.0592M*/ #include #include #define uchar unsigned char #define uint unsigned int //定义液晶的 CS SID SCLK分别是PD4 PD5 PD6 #define CS PD4 #define SID PD5 #define SCLK PD6 #define S_CS ...… 查看全部问答> |
|
找了好多资料都是99SE的.用手头的DXP打开.似乎好多东西会丢失.还有 板子上需要个48-70V转+-12 +5V电路.初步打算用DCDC变成5V再变换12.结果我DXP库里面居然没有moto的电源芯片库..找了半天资料才知道.DXP的库可以从官方下载.大虾勿笑... http://wik ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 11:34 编辑 VDD接5V,VREF接2.5V VIN-接GND,VIN+接0.9V 看波形发现数据线在第6个时钟拉低了之后就一直是0,每次读取都是如此。 谢谢! … 查看全部问答> |




