基本信息
源码名称:单片机长短按键实现与仿真
源码大小:0.07M
文件格式:.rar
开发语言:C/C++
更新时间:2024-03-31
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 5 元 
   源码介绍


#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sbit keyback=P1^0;
//sbit k=P1^4;
sbit led1=P1^1;
sbit led2=P1^2;
sbit led3=P1^3;
static uint i=0;
uchar keystay=0x00;
uchar T0RH;
uchar T0RL;

void configtimer0(uchar ms)
{
ulong tmp;
tmp=11059200/12;
tmp=(ms*tmp)/1000;
tmp=65536-tmp 10;
T0RH=(unsigned char)(tmp>>8);
T0RL=(unsigned char)tmp;
TMOD &=0xF0;
TMOD |=0x01;
TH0=T0RH;
TL0=T0RL;
ET0=1;
TR0=1;
}

void Judge(uint num)
{
if((5<num)&&(num<=50))
{    
led1=0;
led2=1;
led3=1;
i=0;
}
if((50<num)&&(num<=120))
{
led1=1;
led2=0;
led3=1;
i=0;
}
if(num>120)
{
led1=1;
led2=1;
led3=0;
i=0;
}
}

main()
{
EA=1; 
configtimer0(10);
while(1)
{
if((keystay&0xFF)==0x00)
{
Judge(i);
}
}
}

void keyscan()
{
keystay=(keystay<<1) | (!keyback);
}
  
void interrupt_timer0()interrupt 1
{
TH0=T0RH;
TL0=T0RL;
keyscan();
if((keystay&0xFF)==0xFF)
{
i ;
  
if(i>400)
{
i=0;
    }
  }
}


【源码目录】

长短按键

├── 长短按键
│   ├── key
│   ├── key.LST
│   ├── key.M51
│   ├── key.OBJ
│   ├── key.c
│   ├── key.hex
│   ├── key.lnp
│   ├── key.plg
│   ├── key.uvopt
│   ├── key.uvproj
│   ├── key_uvopt.bak
│   └── key_uvproj.bak
└── 长短按键proteus
    ├── Last Loaded 这是各位想要的10天学会51与C配套仿真开发板.DBK
    ├── 这是各位想要的10天学会51与C配套仿真开发板.DSN
    └── 这是各位想要的10天学会51与C配套仿真开发板.PWI
2 directories, 15 files