专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

按键控制数码管加1 c程序

作者:huqin   来源:本站原创   点击数:  更新时间:2014年03月24日   【字体:
每次按键蜂鸣器响一声,然后数码管会自动加1.数码管用2个573接到p0口,电路详见单片机开发板的原理图:http://www.51hei.com/f/HL-1V6.5.pdf
 
#include <reg51.h>//头文件
unsigned int t;     //声明无符号整型变量T
unsigned char i=0; //段码初始值定义
unsigned char s=0;//位码初始值定义
sbit key=P3^0; // 键盘端口定义为P3.0
sbit SB=P2^3;//峰鸣器端口定义
sbit DUAN=P2^0;  //段码位选通定义
sbit WEI=P2^1;//位码位选通定义
unsigned char code TABLE1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表
unsigned char code TABLE2[]={0x00};//位码表
void main(void)//主函数
{
SB=1;//   峰鸣器关闭
while(1)//主函数
{
SB=1;
P0=TABLE1[i];   //查段码表结果
DUAN=1;   //开段码选通
DUAN=0;//关段码选通
P0=TABLE2[s];  //查位码表结果
WEI=1;  //开位选通
WEI=0;//关位选通
for(t=0;t<6000;t++);//延时防闪烁
if(key==0)//按键识别
{
for(t=0;t<50;t++);
if(key==0)
{
for(t=0;t<50;t++);
while(key==0);
i++;
if(i==10)
{
i=0;
}
P0=TABLE1[i];
DUAN=1;
DUAN=0;
P0=TABLE2[s];
WEI=1;
WEI=0;
for(t=0;t<60;t++);
}
}
}
}
关闭窗口

相关文章