单片机P1口接一共阳极数码管,公共端已接高电频,请编写程序使数码管循环显示字符0~F,每个字符显示

如题所述

第1个回答  2018-03-25
#include<reg51.h>
unsigned char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};//共阳极
void delay(int a)
{
unsigned char i;
while(a--)for(i=0;i<120;i++);
}
main()
{
unsigned char i;
while(1)
    {
    P1=table[i];
    delay(500);
    i++;
    i%=16;
    }
}

本回答被网友采纳

单片机P1口接共阳极数码管,公共端已接高电频,请写程序使数码管循环显...
0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};void delay(int a){int i;while(a--)for(i=0;i<110;i++);}main(){int i;while(1) { P1=table[i]; i++; i%=16; delay(200); }}

...数码管循环显示数字0~9 帮我编一个单片机的程序,谢谢
JMP MAIN ORG 0100H MAIN: MOV DPTR,#TAB MOV 1,#00H DISP: MOV A,R1 MOVC A,@A+DPTR MOV P1,A LCALL DELAY INC R1 CJNE R1,#0AH,DISP ;循环显示0-9这10个数据 SJMP TAB: DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H ;共阳码表 DELAY: MOV R4,#2 ;延...

编程实现51单片机,P2口连接一个共阳极数码管,每到1s更新显示0~9s,要求...
include<reg52.h> include <intrins.h> define uchar unsigned char define uint unsigned int uchar code TABLE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};\/\/七段码表 主程序中:TMOD=0X10;TH1=(65536-50000)\/256;TL1=(65536-50000)%256;ET1=1;\/\/开定时器1...

...口设计显示一个数码的电路,使数码管循环显示“0”~“F”。_百度知 ...
这是共阳极的数码管,至于你要显示0~F这个在编程实现

现有一个51单片机系统,P2口接一个共阳极的LED数码管,编写程序满足如下要 ...
你怎么不用中断来写呢。用delay来写也行,但是运行效率不高,你别“P1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;”这样赋值,你用 main(){ char i=0;delay(){ \/\/这部分你自己写了 } while(1){ delay();switch(i){ case 0:P1=0xc0;i++;break;case 1:...

如何用单片机让数码管显字
LED静态显示接口 数码管工作在静态显示方式时,共阴极(共阳极)的公共端COM连接在一起接地(电源)。每位的段选线与一个8位并行口相连。只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。这里的8位并行口可以直接采用并行I\/O接口片(例如80C51的P1端口、8155和8255的I\/O端口等)...

共阳极数码管显示0~9对应的段码
共阳极数码管显示0~9对应的段码。#include\/\/单片机寄存器相关的文件#include\/\/具有空指令的文件#defineucharunsignedchar\/\/宏定义以后用uchar替代unsignedchar#defineuintunsignedint\/\/宏定义作用同上ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};\/\/数码管0-9...

我想要实现单片机: 数码管每隔1s显示从0-9怎么实现? 全部代码。_百度知 ...
不需要写for循环)} } void delay(uchar x) \/\/延时函数,防止数码管显示不稳定 { uchar k;while(x--)for(k=0;k<125;k++);} 这个是共阳极的,共阴极改变数组就行了。。。 将前面的\/\/删掉 将后面数组加上\/\/ S1=0;S1=1;就行了。

51单片机c语言设计,按键控制数码管,依次按下显示0到9循环?
假设你的是共阳极数码管,P0接数码。按键接P2^0;include<reg52.h> typedef unsinged int uint;sbit key=P2^0;unsigned char tab[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void denay(uint x){ uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--)} void main(){ u...

8051单片机的P0口接了一个LED数码管,数码管喂共阴极LED,编程实现LED依 ...
主函数里写numtab i等于p0赋值,i为定时器1s的变量,加到18让他等于0,numtab为0~18的16进制数。写个中断,写个中断服务函数就可以了。

相似回答