(忽略燈)開關位置
數(shù)碼管接連電路圖
/*一個數(shù)碼管和兩個按鍵
自己寫的第一個單片機按鍵控制數(shù)碼管程序*/
#include"stc15.h"
sbit y1=P4^4;
sbit y2=P4^5;
sbit k1=P3^3;
sbit k2=P3^2;
char LED7CodeRight[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void delay(int x)
{
int i,j;
for(i=x;i>01;i--)
{for(j=255;j>0;j--);}
}
void main()
{
int n=0;
P2=0xfe; // 初始顯示0
P4MO=1<<4 | 1<<5;//強推
P4M1=0x00;
while(1)
{
if(k1==0) //如果第一個按鍵按下
{
delay(30); //延時去抖
if(k1==0) //再判斷是否按下
{
++n; //N加1
if(n==10) //如果N等于10,N為0
n=0;
}
while(k1==0); //等待按鍵松開
}
if(k2==0)
{
delay(30); //延時去抖
if(k2==0) //再判斷是否按下
{
--n; //N減1
if(n<0) //如果N小于0,N為9
n=9;
while(k2==0); //等待按鍵松開
}
}
y2=1;y1=1;
P2=LED7CodeRight[n]; //將段碼送P0口
y2=0;y1=0;
}
}
|