基于stc15f2k60s2芯片单片机编程(按键的长短按)

(一)程序现象

(DS1302+超声波)上电显示超声波,按下S7切换为时钟,松开切换为超声波测距

(二)程序思路

关键按键如何去设置,以下是按键程序。

if(s4==0)
	{
   
	Delay10ms();
		if(s4==0)
		{
   			
			
			while(1)
			{
   
			DS_get();
				saomiao[0]=abile[TIME[2]/16];
				saomiao[1]=abile[TIME[2]%16];
				saomiao[2]=0xbf;
				saomiao[3]=abile[TIME[1]/16];
				saomiao[4]=abile[TIME[1]%16];
				saomiao[5]=0xbf;
				saomiao[6]=abile[TIME[0]/16];
				saomiao[7]=abile[TIME[0]%16];
				if(s4!=0)break;
			}
		
		}
		while(!s4);
	}

当按键按下的时候(没松开),按键会一直在while里不出来。当按键松开的时候就可以跳出去。短按直接在while外面进行设置就好了。

(三)程序设计

main.c函数

#include <stc15f2k60s2.h>
#include <intrins.h>
#include "ds1302.h"


void shumaguan();
void Timer0Init();
void Delay500ms();

unsigned char abile[]={
   0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF};
unsigned char saomiao[]={
   0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
unsigned int distance;

void Send_Wave();
sbit TX=P1^0;
sbit RX=P1^1;
sbit s4=P3^0;
unsigned int t=0;
void Delay12us();
void mdistance();
void xianshi(
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值