|
电路有问题,P1口不能直接驱动数码管,电流不够,
电路的更改如下:用共阳极数码管,A~H接到P0.0~P0.7,之间串排阻,公共脚接到VCC,3.3V或5V,
按键不用串排阻,直接接到P1,P2,P3口.
//--------------------------------------------------------------------
// 数码管显示程序
// 作者: jinpost
// 日期: 公元2008-06-19
// 硬件: P0为数共阳极数码管接口.
// P2的低四位为按键输入口.
// 编译: Keil
//----------------------------------------------------------------------
#include "reg51.h"
unsigned char Disp; //外部变量了
void Key_Data() //按键输入了
{
P2 &= 0x0f; //复位了
Disp ~= P2; //读口了
Disp &=0x0f; //防止意外了.
}
main( )
{
unsigned char Led_Data()={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
// 0 1 2 3 4 5 6 7 8 9
Disp=0; //初始化了
while(1)
{
Key_Data(); //按键操作了
P0=Led_Data(Disp); //显示了.-------OK.
}
}
[ 本帖最后由 jinpost 于 2008-6-19 10:26 编辑 ] |
|