51单片机(四位数码管的显示)程序[1]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机(四位数码管的显示)程序

基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。

E3最佳答案

下面这个程序是4x4距阵键盘丄ED 数码管显示,一共可以到0-F 显示,你可以稍微 改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!

#i nclude un sig ned char code

Dig[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e}; //gongyang 数码管 0-F 代码

void key_delay(void) {

int t;

for(t=0;t<500;t++);

}

un sig ned

char k;

//设置全局变量k 为键盘的键值

键盘延时函数

键盘扫描函数 ***************************** */

//延时函数

void

keyscan(void)

//键盘初始化 //有键按下? //延时 //确认真的有键按下? //使行线 P2.4 为低电平,其余行为高电平 //a 作为缓存 //开始执行行列扫描 {

case 0xee:k=15;break;

case 0xde:k=11;break;

case 0xbe:k=7;break;

case 0x7e:k=3;break;

default:P2 = 0xfd;

//使行线 P2.5 为低电平,其余行为高电平

a = P2;

switch (a)//键盘扫描函数 {

unsigned char a;

P2 = 0xf0;

if(P2!=0xf0)

{

key_delay();

if(P2!=0xf0)

{

P2 = 0xfe;

key_delay();

a = P2;

switch (a)

case 0xed:k=14;break;

case 0xdd:k=10;break;

case 0xbd:k=6;break;

case 0x7d:k=2;break;

default:P2 = 0xfb; //使行线 P2.6 为低电平,其余行为高电平

a = P2;

switch (a)

{

case 0xeb:k=13;break;

case 0xdb:k=9;break;

case 0xbb:k=5;break;

case 0x7b:k=1;break;

default:P2 = 0xf7; //使行线P2.7为低电平,其余行为高电平

a = P2;

switch (a)

{

case 0xe7:k=12;break;

case 0xd7:k=8;break;

case 0xb7:k=4;break;

case 0x77:k=0;break;

default:break;

}

} break;

}

}

}

}

void main(void)

{

while(1)

{

keyscan(); switch(k)

{

case 0:P0=Dig[0];break;

case 1:P0=Dig[1];break;

case 2:P0=Dig[2];break;

case 3:P0=Dig[3];break;

case 4:P0=Dig[4];break;

case 5:P0=Dig[5];break;

************************

**** ***

主函数 * ********************************** //调用键盘扫描函数 //查找按键对应的数码管显示代码

case 6:P0=Dig[6];break;

case 7:P0=Dig[7];break;

case 8:P0=Dig[8];break;

case 9:P0=Dig[9];break;

case

10:P0=Dig[10];break;

case

11:P0=Dig[11];break;

case

12:P0=Dig[12];break;

case

13:P0=Dig[13];break;

case

14:P0=Dig[14];break;

case

15:P0=Dig[15];break;

default:break; // 退出

}

}

}

end

Welcome To

Download !! !

欢迎您的下载,资料仅供参考!

相关文档
最新文档