虎牙直播新手教程求助我的这两个虎是四纹吗

查看: 6682|回复: 14
新手求助,我想写一个有两个按键的程序,K1按下数码管数字加1,K2按下数码管数字减1;
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
这是源程序,求大神指点,我知道我写的不对。。。
[C] 纯文本查看 复制代码#include &reg51.h&
#include &intrins.h&
GPIO_LED P0
//led使用P0口
sbit K1=P1^0;
sbit K2=P1^1;
//--定义全局函数--//
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
void Delay10ms(unsigned int c);
//延时10ms
unsigned char Key_Scan();
void main(void)
Key_Scan();
GPIO_LED=~DIG_CODE[KeyValue];
unsigned char Key_Scan()
//保存键值
if (K1==0||K2==0)
//检测按键是否按下
Delay10ms(1); //消除抖动
if (K1==0||K2==0) //再次检测按键是否按下
{ KeyValue=0;
KeyValue++;
if(KeyValue&17)
KeyValue=0;
KeyValue--;
if(KeyValue&0)
KeyValue=17;
while ((i&50) && K1!=0 && K2!=0)
//检测按键是否松开
Delay10ms(1);
void Delay10ms(unsigned int c)
//误差 0us
unsigned char a,
for (;c&0;c--)
for (b=38;b&0;b--)
for (a=130;a&0;a--);
回复【9楼】linxi:
--------------------------------
仔细分析改了一下,感觉问题主要出现在KeyValue=0的定义是不是全局变量还有松手检测也出了问题。&改成如下功能就可以实现了(但是感觉按键还不是很灵敏。。。有时按一次没反应):
unsigned&char&Key_Scan()
{
unsigned&char&i=0;&//保存键值
&&&&&&&&&&&&if(K1==0)&
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【9楼】linxi:
--------------------------------
仔细分析改了一下,感觉问题主要出现在KeyValue=0的定义是不是全局变量还有松手检测也出了问题。&改成如下功能就可以实现了(但是感觉按键还不是很灵敏。。。有时按一次没反应):
unsigned&char&Key_Scan()
{
unsigned&char&i=0;&//保存键值
&&&&&&&&&&&&if(K1==0)&
Delay10ms(1);
KeyValue=KeyValue+1;
if(KeyValue&15)
KeyValue=0;
Delay10ms(1);
KeyValue=KeyValue-1;
if(KeyValue&0)
KeyValue=15;
while&((i&30)&&&&K1==0) &//检测按键是否松开
Delay10ms(1);
while&((i&30)&&&&K2==0) &//检测按键是否松开
Delay10ms(1);
return&0;
}
主题帖子精华
金钱117731
在线时间912 小时
帮顶。。。。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
在线时间23 小时
为啥要取反呢?
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【2楼】正点原子:
---------------------------------
...原子哥。。。
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【3楼】xouou_53320:
---------------------------------
因为那个定义的显示码是我直接复制过来的。。。好像那个显示码是共阴极的,而实际电路是共阳极。。
主题帖子精华
新手上路, 积分 36, 距离下一级还需 14 积分
在线时间0 小时
按键松手检测可以不用循环,直接定义两个keylock变量,key1==1&&keylock==0,才加一&,一旦进去就把keylock置一。别的地方没有看出来问题。
不做浮躁的嵌入式攻城狮。。。。
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【6楼】linxi:
---------------------------------
key1==1&&keylock==0?&不太懂。。。
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【3楼】xouou_53320:
---------------------------------
解疑老师&&求指点啊
主题帖子精华
新手上路, 积分 36, 距离下一级还需 14 积分
在线时间0 小时
回复【7楼】xiaobudonglaoshi:
---------------------------------
就是if(key1==1&&keylock1==0)然后执行相应的加一操作,然后立即把keylock1置一。在按键去抖里再将keylock置0,就可以避免while等待了。
另外不知道你现在发生的问题是什么,看了你的程序,应该是可以实现的。另外你为什么说自己写的不对?有没有烧进单片机验证下。
不做浮躁的嵌入式攻城狮。。。。
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【9楼】linxi:
---------------------------------
我写的那个只能加到1&&然后就加不动了&&减的话之间显示8.。。
主题帖子精华
初级会员, 积分 132, 距离下一级还需 68 积分
在线时间129 小时
回复【9楼】linxi:
---------------------------------
对了&&还有俩警告&&:MAIN.C(80):&warning&C173:&missing&return-expression
MAIN.C(80):&warning&C290:&missing&return&value
主题帖子精华
高级会员, 积分 608, 距离下一级还需 392 积分
在线时间151 小时
看看了这是普中例程。。。。没必要在它上面加,按自己理解重新写,问题在按键处理上而且逻辑都不对,警告是“unsigned&char&Key_Scan()”,又没有return.
主题帖子精华
新手上路, 积分 36, 距离下一级还需 14 积分
在线时间0 小时
回复【13楼】xiaobudonglaoshi:
---------------------------------
按键不灵敏的话,可以适当把防抖动延时减小一点。如果楼主是按照开发板的源程序改的,建议搞清楚原理自己试试能跑就行。因为这个程序在实际中不是很实用。学完相关的单片机外设后,可是试着用定时器累计变量值来实现去抖动,按键用自锁变量实现。原则就是不让单片机等待。加油吧!
不做浮躁的嵌入式攻城狮。。。。
主题帖子精华
新手上路, 积分 16, 距离下一级还需 34 积分
在线时间2 小时
缘分吧,看到这个网站,
附上我测试通过的程序:
#include&STC12C2052AD.h&
sbit LED1=P3^5;
sbit LED2=P3^4;
sbit LED3=P3^3;
sbit LED4=P3^2;
sbit key=P3^1;
sbit key1=P3^0;
uchar i,ge,shi,bai,
uchar code table[]={& & & &&&//共阳数码管真值表,加code 数组将存入程序存储RAM内,不占用内存Rom Flash
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
void delay(uint x)& & & & & & & & & & & && &
& & & & for(;x&0;x--)
& & & & & & & & for(y=0;y&600;y--);
void main()
& & & & bit x=0,y=0;
//& & & & bit y=1;
& & & & TMOD=0x01;
& & & & TH0=()/256;
& & & & TL0=()%256;
& & & & EA=1;
& & & & ET0=1;
& & & & TR0=1;
& & & & while(1)
& & & && & ge=aa%10;
& & & && & shi=aa/10%10;
& & & && & bai=aa/100%10;
& & & && & qian=aa/1000%10;
& & & && & x=
& & & && & if(y!=key){
& & & && & & & & && & delay(100);
& & & & & & & & & & & & if(x==key){
& & & & & & & & & & & && &if(y==0){
& & & & & & & & & & & && &
& & & & & & & & & & & && && & & &&&aa++;
& & & & & & & & & & & && &}
& & & & & & & & & & & &&&y=
& & & & & & & & & & & & }
& & & && & }
& & & & & & & & if(key1==0){aa=0;}
void Timerinterrupt0()interrupt 1 //using 3
& & & & TR0=0;
&&& & & & TH0=()/256;
& & & & TL0=()%256;
& & & & P1=0xFF;
& & & & & & & &&&switch(i)
& & & & & & & &&&{
& & & & & & & && & case 0: LED1=0;LED4=1;& & & & i++;& & & & P1=table[ge];& & & & delay(1);& & & &
& & & & & & & && & case 1: LED2=0;LED1=1;& & & & i++;& & & & P1=table[shi];& & & & delay(1);& & & &
& & & & & & & && & case 2: LED3=0;LED2=1;& & & & i++;& & & & P1=table[bai];& & & & delay(1);& & & &
& & & & & & & && & case 3: LED4=0;LED3=1;& & & & i=0;& & & & P1=table[qian];& & & & delay(1);& & & &
& & & & & & & && & default: LED1=1;LED2=1;LED3=1;LED4=1;& & & &
& & & & & & & &&&}
& & & && & TR0=1;
Powered by求助各位妈妈 我是新手 求帮
来自妈妈帮社区:
现在检查都这样
我们这办卡花了六百多,
第一胎都是必须做的检查
不要认为你花的多,这些检查在医院一千都下不来,该检查的都检查了,又便宜,挺好的!
都是这样,二胎也差不多
在妇幼保健站比去医院省多了,这些也是必须要查的
这些你不在妇幼做还得去医院做,医院花的更多
很正常,办手册都得检查一遍!
我们这也这个价
印象中办保健卡时那的工作人员说最多五百出头,看你拿去的结果能用不,能用的项目就不重做了,我花了二百多
妈妈帮百科热门内容
微信服务号
礼包领取指南NO.1
关注妈妈帮服务号
即送育儿百宝箱
还有海量免费试用不要白不要!
礼包领取指南NO.2
第1步:扫码成功下载后,首页即可领取新人专属礼包。
第2步:填写收货信息,轻松领取帮宝适新生礼盒,更有机会获得?198帮Box大礼盒!
&&手机客户端&&备孕&&相同预产期&&同龄宝宝2017年2016年2015年2014年2013年2012年2011年&&同城(21个)(11个)(13个)&&妈妈兴趣&&宝宝兴趣&&特别关注&&非常有用
|||||
上海丫丫信息科技有限公司版权所有
沪B2- 沪ICP备号新手求助,我转盘了2个15攻纹,可以练吗,怎么找不着了?【卧龙吟吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:22,490贴子:
新手求助,我转盘了2个15攻纹,可以练吗,怎么找不着了?
仓库里和转盘里怎么也找不着,好郁闷,我是头一次玩着游戏,新手求指导!
parker液压指定授权代理商-parker派克parker代理parker液压
过了韩玄才能看见
你这什么人品。。转了多少金啊
出了商社才能看到,就是能点商旅的最右下角建筑,刻纹在那里
加油升级,升级了才能解锁建筑和其它东西
100级可以看见
贴吧热议榜
使用签名档&&
保存至快速回贴新手求助,这翻译有问题_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
新手求助,这翻译有问题
我有更好的答案
/zhidao/wh%3D450%2C600/sign=af3c2e09af0f4bfb8cc6/cdbf6c00c5ba61e4620, the translation is a problem下图是翻译截图
采纳率:91%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包

我要回帖

更多关于 老虎证券 热帖新手谈 的文章

 

随机推荐