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

如题所述

第1个回答  2018-03-25
#include<reg51.h>
unsigned char table={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,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);
    }
}

追问

[image]20 使定时器/计数器1工作于方式1,在P2.0引脚上输出周期为2s的连续方波,f(osc)=12MH。

追答再有问题的话,请另起提问了。
#include<reg51.h>
unsigned char time;
sbit p20=P2^0;
void t1isr() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
time++;
if(time>=20)
    {
    p20=~p20;
    time=0;
    }
}
main()
{
TMOD=0x10;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
ET1=1;
EA=1;
while(1);
}

本回答被提问者和网友采纳

...请写程序使数码管循环显示字符0~F,每个字符显示1s
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”~“F”。
这是共阳极的数码管,至于你要显示0~F这个在编程实现

现有一个51单片机系统,P2口接一个共阳极的LED数码管,编写程序满足如下要 ...
另外你程序里出现的是P1,但你的题目描述是P2,如果真是P2口,那么我给你的程序中P1要改为P2,还有就是还不知你的硬件接的对不,要注意一点,51单片机是弱上拉的。

单片机用汇编写两个数码管显示0到99循环的程序
要实现单片机用汇编语言编写的数码管循环显示0到99的程序,首先,你需要创建一个新的项目并做好初始化准备工作。接着,创建一个数码管段选表,它将决定每个数码管的显示模式。延时函数在此过程中也至关重要,以控制数码管的刷新速度。定义一个名为i的uchar变量,初始化一个名为wk的标志位,用于控制数...

编程实现51单片机,P2口连接一个共阳极数码管,每到1s更新显示0~9s,要求...
主程序中:TMOD=0X10;TH1=(65536-50000)\/256;TL1=(65536-50000)%256;ET1=1;\/\/开定时器1中断 EA=1;\/\/开总中断 TR1=1;\/\/启动定时器1 \/\/中断子程序 void Timer1(void) interrupt 3 { TH1=(65536-50000)\/256;TL1=(65536-50000)%256;a++;if(a==20) {a=0;sec++;}\/\/20次是1秒 if...

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

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

如何修改程序使数码管显示0-F这16个数字?
调整显示常数表:共阴极显示:3F 06 5B 4F 66 6D 7D 07 7F 6F 77 7C 39 5E 79 71 0 1 2 3 4 5 6 7 8 9 A b C d E F 共阳极显示:C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 86 8E 0 1 2 3 4 5 6 7 8 9 A b ...

51单片机控制数码管循环显示0-9程序
采用共阴极LED数码管,51单片机P1口输出数据:ORG 0000H JMP MAIN ORG 0100H MAIN:MOV DPTR,#TAB MOV R1,#00H DISP:MOV A,R1 MOVC A,@A+DPTR MOV P1,A LCALL DELAY INC R1 CJNE R1,#0AH,DISP SJMP TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDELAY: MOV R4,#...

共阳极数码管显示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...

相似回答