- UID
- 48545
- 帖子
- 2860
- 积分
- 3564
- 威望
- 2898
- 金币
- 335102
- 贡献
- 666
- 职业
- 民用,商用,工业电器维修
- 来自
- 辽宁 沈阳
- 注册时间
- 2006-2-13
- 最后登录
- 2019-10-29
|
6#
发表于 2011-11-12 11:33
| 只看该作者
曹师傅看看这回的可以不。
/**************************************************************************************************************
标 题: 按键+数码管显示+LED灯
效 果: 当按键有输入时静态显示一位数码管,同时LED灯发光
工作于: 初学者 小林子家电
***************************************************************************************/
//头文件:
#include "reg51.h"
//变量定义:
unsigned char table[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//表:共阳数码管 0-9
//引脚定义:
sbit key1 = P3^7; //定义按键1
sbit key2 = P3^6; //定义按键2
sbit key3 = P3^5; //定义按键3
sbit key4 = P3^4; //定义按键4
sbit key5 = P3^3; //定义按键5
sbit key6 = P3^2; //定义按键6
sbit led1 = P2^0; //定义LED1
sbit led2 = P2^1; //定义LED2
sbit led3 = P2^2; //定义LED3
sbit led4 = P2^3; //定义LED4
sbit led5 = P2^4; //定义LED5
sbit led6 = P2^5; //定义LED6
sbit led7 = P2^6; //定义LED7
sbit led8 = P2^7; //定义LED8
sbit SMG_g = P1^3; //定义数码管阳级控制脚(个位)
//主函数,C语言的入口函数:
void main(void)
{
while(1){ //循环扫描按键
if(key1==0){ //按键1按下,数码管显示1同时LED1.3.5.7灯亮 。
SMG_g=0;
P0=0xf9;
P2=0x55;
}
if(key2==0){ //按键2按下,数码管显示2同时LED2.4.6.8灯亮 。
SMG_g=0;
P0=0xa4;
P2=0xaa;
}
if(key3==0) { //按键3按下,数码管显示3同时LED1.3.6.8灯亮 。
SMG_g=0;
P0=0xb0;
P2=0x5a;
}
if(key4==0) { //按键4按下,数码管显示4同时LED2.3.6.7灯亮。
SMG_g=0;
P0=0x99;
P2=0x99;
}
if(key5==0){ //按键5按下,数码管显示1同时LED3.6灯亮 。
SMG_g=0;
P0=0x92;
P2=0xdb;
}
if(key6==0){ //按键6按下,数码管显示6同时LED1.2.4.5.7.8灯亮 。
SMG_g=0;
P0=0x82;
P2=0x24;
}
}
} |
|