51单片机,当按下K3时,间隔1秒,从LED1-LED8依次显示1-8八个数字;怎么用C语言编程?急求完整程序

如题所述

给LED编个数组,控制IO口,或者直接控制IO口,不过要看显示的28要多大,会占用比较多的IO口,道理和矩阵键盘差不多。例程:#include//单片机头文件void delay1ms(unsigned int ms);//延时ms函数声明(可根据实际情况更改)unsigned char code led0[]={};//字码表,你自己把你要显示的字码放进去就可以了void main(){ unsigned char w,i; while(1) { //显示0 w=0x01; //行变量为第一行 for(i=0;i<8;i++) { P1=w; //行数据送P1口 P0=led0[i]; delayms(1); //列数据送P0口 w<<=1; //向下移动一行 } }}void delay1ms(unsigned int ms){ unsigned int i,j; for(i=0;i追问

我还没入门,求完整程序

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机显示八位数码管的C语言程序
1、最开始,我们先打开keil。2、接着,我们要定义好库函数,想要实现动态数码灯,这个步骤是很重要的。3、接着,我们加上一条循环语句。4、最后,我们把先前定义的延时语句delayms写好。5、最后,点击这里进行编译,生成一个hex文件。6、如果这里无错误警告的话,就说明我们的程序写对了,那我们就可以...

用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮...
int i,j;for(X = i; X>0; X--)for(j=110;j>0;j--);} void main(){ P0 = 0x00; \/\/P0.0~P0.7分别接八个发光二极管,刚开始全灭 while(1){ delay(1000);P0 = 0xc0;\/\/点亮前两个发光二极管P0.0和P0.1;delay(1000);\/\/延时1秒 P0 = 0x30;\/\/点亮第三个和第四个LED...

利用单片机编程:a.开机后从LED1到LED8依次点亮后全熄灭,状态变化时间...
define DY_PORT P1 \/\/设置LED连接的I\/O组 define DY_SPEED 100 \/\/设置每一个明亮级的停留时间(值域:0~65535)\/ bit [自定义名] ; \/\/定义一个位(位的值只能是0或1)例:bit LED define [代替名] [原名] \/\/用代替名代替原名(可以方便修改常改或调试的值)例:#define LED P1 sb...

实现单片机信号灯1-8依次循环点亮的程序怎么写
电路很简单八个led灯接在p1口.运行后看到的效果是 从第一个灯开始 随着时间变化 二进制数的递减 所有的灯都会依次的点亮,当全部的灯都被点亮后再重新开始这个过程 一直循环下去 单片机是不是很有趣?下面是c语言程序源码 include <reg51.h> void delay100ms(); \/\/如果函数是在主函数后面定义...

用c语言循环语句怎么写一个51单片机的时钟啊,用8个数码管显示时间。
){switch(flashbit){case 0:break;case 1:disdat[6]=0x10;disdat[7]=0x10;delay(50);dischg();delay(80);break;case 2:disdat[3]=0x10;disdat[4]=0x10;delay(50);dischg();delay(80);break;case 3:disdat[0]=0x10;disdat[1]=0x10;delay(50);dischg();delay(80);break;...

请c语言高手帮忙,写一个程序,51单片机显示1234,2S后显示5678 ,一直循环...
sbit P2_3=P2^3;void delay(unsigned int ms){ uchar i;while(ms--)for(i=0;i<123;i++);} void disp(){ if(flag)k=0;else k=4;P0=tab[k+0];P2_0=0;delay(1);P2_0=1;P0=tab[k+1];P2_1=0;delay(2);P2_1=1;P0=tab[k+2];P2_2=0;delay(2);P2_2=1;P0=tab...

用C语言编写一个在八个数码管上轮流显示1-8的程序
2010-04-16 任务:用C语言设计程序,完成8个数码管的显示控制 2 2013-06-23 用STC89C51单片机键盘输入任意一个8位的数字,然后在两... 3 2016-07-02 求一个单片机程序,要八个led灯依次点亮,同时一个数码管依次... 2 2010-06-16 8个数码管的显示程序(C语言版)?迫切需要,谢谢!更多...

用C语言编写51单片机三个开关控制八个LED灯的点亮,开关接P3端口,LED...
if(key3)k=3;} } void main(){ while(1){ keyscan();switch(k){ case 1:{ for(j=0;j<8;j++){ keyscan();if(k!=1)break;P1=tab[j];delay(200);} };break;case 2:{ for(j=0;j<8;j++){ keyscan();if(k!=2)break;P1=tab[j+8];delay(200);} };break;case 3...

在51单片机中用c语言keil写程序实现用一个按键控制8个灯的亮和灭(按...
\/\/程序很简单也有很多方法都可以实现 。include <reg52.h> include "INTRINS.H"sbit k = P1^0; \/\/P1.0作为按键输入 int led=0xff;void main(){ P2 = led; \/\/led初始赋给P2口 while(1){ if(k==0) \/\/如果按键按下 { while(k==0); \/\/判断按键松开 led=~led;P2 = ...

51单片机用定时器,怎么编程流水灯一秒闪烁一次,
先写一个延时子函数delay,延时时间1秒。然后写LED=0;delay(1);LED=1;这样就可以做到一亮一灭,再把这段程序加入到循环中就可以,循环函数很简单不用再说了吧,如果还不懂回复我给你程序

相似回答