欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請教那位老師幫忙修重新改按鍵定義!! [打印本頁]

作者: mllwj    時間: 2017-5-25 19:36
標題: 請教那位老師幫忙修重新改按鍵定義!!
請教那位老師幫忙修重新改按鍵定義
我這個是一個加減計數器程序,現在是按jia=P3^1加一,按jian=P3^0減一, 麻煩老師幫忙修改成P3^0 加一個高電平時,按P3^1加,P3^0加低電平時,按P3^1減,萬分感謝!!!!小弟在這先謝了!!!
#include<reg51.h>
#define leddata P1 //數碼管的段碼輸出
#define uchar unsigned char
#define uint unsigned int
float shu;

sbit jia=P3^1; //加一按鍵
sbit jian=P3^0; //減一按鍵
sbit qw=P3^2; //數碼管的千位
sbit bw=P3^3; //數碼管的百位
sbit sw=P3^4; //數碼管的十位
sbit gw=P3^5; //數碼管的個位
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
uchar code distab[16]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};
void desplay();
void delay(uchar a) //延時函數
{
uchar x,y;
for(x=0;x<a;x++)
for(y=0;y<120;y++);
}
void key() //按鍵掃描函數
{
if(jia==0)
{
delay(50);
if(jia==0)
{
while(!jia)desplay();
if(shu>=9999)shu=0;
else shu=++;
}
}
if(jian==0)
{
delay(50);
if(jian==0)
{
while(!jian)desplay();
if(shu<=0)shu=9999;
else shu=--;
}
}
}
void desplay() //顯示函數
{sw=qw=bw=gw=0;
qw=1;
leddata=tab[(int)shu/1000];delay(6);qw=0;
P1=0xff;
bw=1;leddata=distab[(int)shu%1000/100];delay(6);bw=0;
P1=0xff;
sw=1;leddata=tab[(int)shu%100/10];delay(6);sw=0;
P1=0xff;
gw=1;leddata=tab[(int)shu%10];delay(6);gw=0;
P1=0xff;
}
void main() //主函數
{
while(1)
{
key();
desplay();
}
}

作者: yzwzfyz    時間: 2017-5-26 00:01
判斷語句的參數,不是單一參數,是可以多少參數一起進行邏輯運算的,再對其結果進行判斷。
作者: wosiyabo    時間: 2017-5-26 00:41
if(jia==0 && P30==1)//加多一個P3.0的IO口判斷就可以了
{
delay(50);
if(jia==0 && P30==1)//加多一個P3.0的IO口判斷就可以了
{
while(!jia)desplay();
if(shu>=9999)shu=0;
else shu=++;
}
}
作者: mllwj    時間: 2017-5-26 06:51
yzwzfyz 發表于 2017-5-26 00:01
判斷語句的參數,不是單一參數,是可以多少參數一起進行邏輯運算的,再對其結果進行判斷。

非常感謝!!我剛剛接觸單片機,都不知道具體怎么修改這程序
作者: mllwj    時間: 2017-5-26 06:52
wosiyabo 發表于 2017-5-26 00:41
if(jia==0 && P30==1)//加多一個P3.0的IO口判斷就可以了
{
delay(50);

非常感謝!!我試試看看!!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1