用51单片机程序显示3位7段数码管,求具体程序

如题所述

假设为共阴极数码管,驱动输入端接单片机P1口,共阴极接P2口的0.1.2.脚。我的程序如下,当前显示数字123
#include <reg52.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef long int uint32;
code uint8 number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay_ms(uint16 x)//1ms延时
{
uint8 i = 121;
while(x > 0)
{
i = 121;
while(i > 0)
i --;
x --;
}
}
void xianshi(uint16 x)
{
uint8 i=0;
for(i=0;i<=2;i++)
{
P2=~(1<<i);
switch(i)
{
case 0:P1=number[(x/1)%10];break;
case 1:P1=number[(x/10)%10];break;
case 2:P1=number[(x/100)%10];break;
default:break;
}
delay_ms(10);
}
}
main()
{
while(1)
{
xianshi(123);
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-02
动态扫描么,要显示??

用51单片机程序显示3位7段数码管,求具体程序
假设为共阴极数码管,驱动输入端接单片机P1口,共阴极接P2口的0.1.2.脚。我的程序如下,当前显示数字123 include <reg52.h> typedef unsigned char uint8;typedef unsigned int uint16;typedef long int uint32;code uint8 number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f...

51单片机控制3位7段共阴数码管
\/\/p2.0-p2.2控制123位,---注意:没有用P2.3。\/\/要使其间隔1S分别显示123,231,321,213...无限循环 \/\/下列程序,经过仿真,符合要求。include <reg52.h> define uchar unsigned char sbit bit1 = P2^0;sbit bit2 = P2^1;sbit bit3 = P2^2;uchar code dulatab[] = \/\/...

51单片机数码管显示的程序是什么?
展开全部 #include \/\/52系列单片机头文件\\x0d\\x0a#define uchar unsigned char \/\/宏定义\\x0d\\x0a#define uint unsigned int\\x0d\\x0asbit dula=P2^6; \/\/申明u1锁存器的锁存端\\x0d\\x0asbit wela=P2^7; \/\/ u2\\x0d\\x0auchar num1,num2;\\x0d\\x0auchar ...

急求51单片机数码管显示程序
JNB ACC.7,KEY ;扫描完成跳至KEY处进行下一回合的扫描 RL A ;扫描未完成将A中的值右移一位进行下一列的扫描 MOV R2,A ;将ACC的值送入R2暂存 AJMP K3 ;跳转到K3继续 KS: MOV P3,#0FH ;将P3口高四位置0低四位值1 MOV A,P3 ...

求51单片机同时控制流水灯和蜂鸣器七段数码管,分别用3个开关控制,流水...
我这有两个以前写好的数码管显示程序及左右流水灯程序,但是是分开的,你自己再修改下吧,把两个合到一起,再加入按键就可。include<reg52.h> define uchar unsigned char define uint unsigned int uchar num;uchar code table[]={ 0xC0,0XF9,0X24,0X30,0X19,\/\/0,1,2,3,4 0X12,0X02,...

51单片机设计,求用一个按键能显示一个七段数码管1~7的c语言程序。
include<reg51.h> define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit key=P1^0;main(){ uchar i,key;i=1;while(1){ P1=table[i];if(key==0){ while(key==0);i++;if(i>7)i=1;} } } ...

共阴极7段数码管显示C程序
单片机7段数码管动态显示程序代码及其说明如下:include <reg51.h> include <intrins.h> include<math.h> unsigned char data dis_digit; \/\/dis_digit---位选通值, 传送到P2口用于选通当 \/\/前数码管的数值, 如等于0xfe时,选通P2.0口数码管 unsigned char code dis_code[11]={0xc0,0xf9,...

求一个7段数码管的显示程序
公共极直接接VCC 单片机控制其他引脚 include<reg51.h> define smg P2 unsigned char tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};void main(){ smg=tab[0];} \/\/程序就到这里 tab[]这个中括号里面的数字可以随意为0-9 数码管显示为对应的数字 在前面的数组中已经...

51单片机怎样用键盘控制数码管显示
51单片机怎样用键盘控制数码管显示的方法。如下参考:1.首先,编写代码并点亮数码管。2.在编写源代码之后,确保原始代码是正确的。3.确认代码正确后,进入下一步,就是在这一行代码(箭头所指)中,删除这四个单词。4.然后如图所示,四个单词已被删除,只要修改相应的代码编号即可。5.表示数字0的代码在...

51单片机电子钟程序数码管显示
define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;unsigned char j,k,a1,a0,b1,b0,c1,c0,s,f,m,key=10,temp,qq;uchar shi20,shi10,fen20,fen10,miao20,miao10,new,ok=1,wei;unsigned int pp;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,...

相似回答