单片机C51编程(C语言):1到100的求和显示,在数码管里显示出来.

本人初学~实在搞不懂~特请教各位~~
例如:1+2+3=6;1+2+3+4=10;1+2+3+4+5=15;………………1+2+3+4+……100=5050。

#include <reg51.h>

#include <stdio.h>

#define uchar unsigned char

void convert();

void display();

void delay();

//共阴:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

code unsigned char Led[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,

       0x77,0x7C,0x39,0x5E,0x79,0x71};

uchar num,sw,gw;

void main()

{

 num=0;

 while(1)

 {

  convert();

  display();

  delay();

  num++;

  if(num==100)num=0;

 }

}

void convert()

{

 sw=num/10;

 gw=num%10;

 

}

void display()

{

 P1=Led[gw];

 P2=Led[sw]; 

}

void delay()

{

 uchar i,j,k;

 for(k=0;k<2;k++)

  for(i=0;i<250;i++)

   for(j=0;j<250;j++);

}

使用仿真软件电路连接如下图

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

单片机C51编程(C语言):1到100的求和显示,在数码管里显示出来.
void convert();void display();void delay();\/\/共阴:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F code unsigned char Led[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};uchar num,sw,gw;void main(){ num=0;while(1){ co...

c51单片机数码管显示0到99
C51单片机可以通过编程控制数码管显示0到99的数值。这通常涉及到对单片机I\/O端口的操作,以及适当的延时和扫描技术来实现多位数码管的显示。C51单片机是一种基于8051架构的微控制器,广泛应用于各种嵌入式系统中。它具有多个I\/O端口,这些端口可以直接与数码管的段和位相连。数码管是一种常见的显示器件,...

51单片机的共阴数码管怎么显示数字(c语言)
要让51单片机共阴数码管显示数字,只需要将单片机的P2端口输出数字对应的段码即可。以显示数字“0”为例,c语言程序如下:include<reg52.h> define uchar unsigned char define uint unsigned int \/\/数码管的段码编码 Uchar table[10] ={0x3f,0x06,...

51单片机c语言编程序让两位数码管显示0-99,求指导!!急用!
参考下网上的程序,只要明白两个问题就不难了,第一是数码管的结构及显示原理;第二是动态显示

51单片机C语言程序4个独立按键实现对数码管数字显示的加减清零等
include <reg52.h>\/\/P0是数码管。P1是LED.P2是按键sbit KEY_OUT_1 = P2^3;sbit KEY_OUT_2 = P2^2; sbit KEY_OUT_3 = P2^1;sbit KEY_OUT_4 = P2^0;#define uchar unsigned char#define ulint unsigned long#define Frequency 10\/\/定时器中断时间 = f*T#define Time 1\/\/一个周期...

在51单片机上用C语言实现电子琴功能,但同时数码管可以显示简谱,怎么...
1,数据管显示就没什么了,找几个简单的数码管驱动程序改改就可以了,一般都是先选中数码管,然后设置值,就可以显示了,不过需要注意刷新,10ms刷新一个应该就可以了,刷新频率比较低的话会闪闪的,这个你应该明白。2,蜂鸣器发do音,这个硬件实现我就不知道了,也许有硬件可以 编码控制自动生成对应...

51单片机,8个数码管循环显示1-9的C语言程序。
假设8个数码管公共端均接地,同时显示1-9\\x0d\\x0a#include\\x0d\\x0a#include\\x0d\\x0a#defineucharunsignedchar\\x0d\\x0a#defineuintunsignedint\\x0d\\x0aucharcodeDSY_CODE[]=\\x0d\\x0a{\\x0d\\x0a0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff\\x0d\\x0a}...

用c语言编写程序,用于c51单片机四位共阴数码管显示,显示分秒的计时器...
用c语言编写程序,用于c51单片机四位共阴数码管显示,显示分秒的计时器。用proteus做的时钟 可以显示年月日时分秒 可调整时间 有图 \/ includereg52.h

请问单片机C51用C语言怎么编这个例子
sbit K2=P2^1;void delay(uchar count){uchar i;for(i=0;i<count;i++){TMOD=0X01;TH0=(65536-50000)%256;TL0=(65536-50000)\/256;TR0=1;while(!TF0);TF0=0;} void keyscan(){ if(K1==0)delay(1);if(K1==0){NUM++;if(NUM==3);{NUM=0;} } switch(NUM){case 1:{delay...

C51单片机的数码管显示问题
ET0=1;TR0=1;while(1){ if(key1==0){ delay(10);\/\/这里消抖也是,也就是说,用按键的话,数码管就是会闪 因为时间有点长对吧,数码管来不及立刻显示,此时用肉眼就能看到闪,所以应该避免不了吧,除非你消抖时间也改短一点,你试试看。看看效果 if(key1==0)num++;if(num==60)num=...

相似回答