• 大小: 0.03M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: 其他
  • 标签: 其他  

资源简介


*独立按键扫描程序,定时器0 *本程序采用晶振频率12.000MHz *长,短,连发按键 *外部函数 extern uint8 keyScan4(); //返回值:十位指示按键位,个位指示短长按

资源截图

代码片段和文件信息

/**
*独立按键扫描程序定时器0
*晶振频率12.000MHz
*长,短,连发按键
*作者:黎伟杰
*最终完成时间:2013.3.30
*/

#include 
#include “typedef.h“
#include “key4.h“

/*测试用的number值*/
uint16 number=0xfe; //1111 1110

//定义并初始化全局变量
uint8 keyFlag1 = 0; //这四个为按键计时数
uint8 keyFlag2 = 0;
uint8 keyFlag3 = 0;
uint8 keyFlag4 = 0;

uint8 KeyShort[4]= 0; //短按状态
uint8 KeyLong[4]= 0; //长按状态
uint8 KeyMulti[4] = 0; //连发状态

//定时器0初始化程序
void time0Init(){
TMOD = 0x01; //定时器0工作方式1
TH0 = (65536-10000)/256; //定时10ms
TL0 = (65536-10000)%256;
//打开中断开关
EA = 1;
ET0 = 1;
//启动定时器0
TR0 = 1;
}  

//定时器0中断程序
void time0() interrupt 1{
TH0 = (65536-10000)/256; //定时10ms
TL0 = (65536-10000)%256;

//在按键正在按下的情况下
if (key1 == 0) 
keyFlag1++;
if (key2 == 0)
keyFlag2++;
if (key3 == 0)
keyFlag3++;
if (key4 == 0)
keyFlag4++;


uint8 keyScan4(){
uint16 key=0; //按键返回值

//第一按键
if (key1 == 0){ //如果key1正在按下
if (keyFlag1 >= SwDelay && keyFlag1 < ShotToLong) //软件延时0.1s(消抖

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-03-30 14:20  4位长短独立按键模块\
     文件        6927  2013-03-30 13:52  4位长短独立按键模块\Key4
     文件        9284  2013-03-30 13:52  4位长短独立按键模块\Key4.M51
     文件        2151  2013-03-30 13:52  4位长短独立按键模块\Key4.hex
     文件          40  2013-03-30 13:52  4位长短独立按键模块\Key4.lnp
     文件         207  2013-03-30 14:20  4位长短独立按键模块\Key4.plg
     文件       58154  2013-03-30 14:20  4位长短独立按键模块\Key4.uvopt
     文件       13230  2012-12-12 21:49  4位长短独立按键模块\Key4.uvproj
     文件       58538  2013-03-30 13:53  4位长短独立按键模块\Key4_uvopt.bak
     文件           0  2012-12-12 20:43  4位长短独立按键模块\Key4_uvproj.bak
     文件       13303  2013-03-30 13:52  4位长短独立按键模块\key4.lst
     文件        8053  2013-03-30 13:52  4位长短独立按键模块\key4.obj
     目录           0  2012-12-12 23:46  4位长短独立按键模块\src\
     文件        5631  2013-03-30 14:17  4位长短独立按键模块\src\key4.c
     文件         374  2013-03-30 14:18  4位长短独立按键模块\src\key4.h
     文件         159  2012-11-13 15:57  4位长短独立按键模块\src\typedef.h

评论

共有 条评论