用89c51单片机 6个数码管循环显示HELLO的程序 及仿真电路图

如题所述

#include<reg51.h>
#define uchar unsigned char
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9
uchar ledtab[]={0x66,0x79,0x68,0x68,0x5c, //HELLo
0x00,0x39,0x6d,0x00,0x3f,0x66}; // C51 04
0x66,0x79,0x68,0x68,0x5c} //HELLo
uchar disdat[6],num;
void dischg()
{
disdat[0]=num;
disdat[1]=num+1;
disdat[2]=num+2;
disdat[3]=num+3;
disdat[4]=num+4;
disdat[5]=num+5;
}
void t0isr() interrupt 1 //秒计时
{
TH0=0x3c;
TL0=0xb0;
time++;
if(time>=20)
{
time=0;
dischg();
num++;
num%=10;
}
}
void t1isr() interrupt 3 //显示
{
TH1=0xec;
TL1=0x78;
P2=0x01<<scanled;
P0=disdat[scanled];
scanled++;
scanled%=6;
}
main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
TH1=0xec;
TL1=0x78;
TR1=1;
TR0=1;
ET0=1;
ET1=1;
EA=1;
while(1);
}追问

能把仿真的电路图给我嘛

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-21
请说明指定仿真软件追问

proteus
六个数码管循环显示HELLO C51 04
C语言写代码

用89c51单片机 6个数码管循环显示HELLO的程序 及仿真电路图
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};\/\/0-9 uchar ledtab[]={0x66,0x79,0x68,0x68,0x5c, \/\/HELLo 0x00,0x39,0x6d,0x00,0x3f,0x66}; \/\/ C51 04 0x66,0x79,0x68,0x68,0x5c} \/\/HELLo uchar disdat[6],num;void dis...

如何用单片机AT89C51控制六位数码管,可以显示出不同的六个数字(123456...
include<reg51.h> define uchar unsigned char uchar distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};uchar number=0;void t0isr() interrupt 1 { TH0=0xf4;TL0=0x48;switch(number){ case 0:P2=0x01;P0=distab[1];...

用89c51单片机写一个数码管显示HELLO的程序,是在一个七段数码管上依次...
在数码管依次排列好这一句话,首先取模,然后写显示函数,写完函数放置while(1)中无限循环下去 代码如下:include; \/\/用的是单独操作,没有用总线 sbit led1 = P1^0;sbit led2 = P1^1;sbit led3 = P1^2;sbit led4 = P1^3;sbit led5 = P1^4;sbit led6 = P1^5;sbit led7 = P1^6...

51单片机电子钟六位数码管显示整点提醒仿真设计( proteus仿真+程序+...
1. 开机控制显示按键,时\/分切换按键,加1按键。2. 每到整点,蜂鸣器会发出提示音。3. 通过六位一体数码管显示时、分、秒,开机时显示为12:00:00。设计使用12MHz频率的51单片机。硬件电路图由图纸绘制,程序在keil 4\/keil 5中编写,并在proteus上进行仿真。设计遵循S0047编号。51单片机型号(如AT...

89c51单片机的数字钟程序?
MOV P2,48H \/\/选择显示位(从左到右0-7) MOV A,@R0 \/\/获取该位的数码值 地址 MOV R1,A MOV A,@R1 \/\/获取该位码值 \/\/CPL A \/\/根据数码管是共阴、共阳 是否取反 MOV P0,A \/\/从P0输出每位的码值,注意:该端口时下面的“清屏”一起改 LCALL DELAY \/\/进入每位延时 MOV P0,#0FFH \/\/清屏 INC...

89c51单片机定时计数器的工作原理?
单片机C51计数器要求:编写一个计数器程序,将T0作为计数器来使用,对外部信号计数,将所计数字显示在数码管上。 该部分的硬件电路如图所示,U1的P0口和P2口的部份引脚构成了6位LED数码管驱动电路,数码管采用共阳型,使用PNP型三极管作为片选端的驱动,所有三极管的发射极连在一起,接到正电源端,它...

51单片机共阴数码管利用静态显示,让六个数码管显示1~6,程序怎么写?
了解之后,我们按照电路图,来进行编程,代码实现。 在实现数码管的静态显示中,用到了两个锁存器,两个I\/O口,P1.6和P1.7,分别是位选和段选。 首先定义了个数码管位选数组,也就是十六进制代码,这便是后来数码管显示数字的核心,接着,用 sbit 定义了位选和段选端口,分别是 P1.6 和 P1.7 ,定义了一个延时...

求:用AT89C51单片机实现直流电机PWM调速原理图,protues仿真、程序
while(1) \/\/无限循环 { display(); \/\/数码管显示 key();} } \/***\/ \/***数码管显示***\/ display(){ uchar i;gw=x%10; \/\/求速度个位值,送到个位显示缓冲区 sw=(x\/10)%10; \/\/求速度十位值,送到十位显示缓冲区 bw=(x\/100)%10; \/\/求速度百位值,送到百位显示...

用89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角...
2、显示电路 功能:驱动6位数码管显示,扫描按钮。 由集成驱动芯片TEC6122、6位共阴极数码管和5个按钮组成。当某一按钮按下时,扫描程序扫描到之后,通过P2口将数字信号发送到 TEC6122芯片。TEC6122是一款数字集成芯片。它的外接电压也是+5V,并且由于数码管的载压较小,为了保护数码管,必须在两者间接电阻,大约是560...

...单片机C语言编写程序实现6位共阴极数码管循环显示0123456789ABCDEF,六...
\/\/数码管段选 \/* 8 9a b c def*\/code uchar wen[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf};\/\/数码管位选uchar huancun[] = {0x00,0x00,0x00,0x00,0x00,0x00};\/\/数码管段选缓存sbit duan = P2^6;\/\/段选sbit wei = P2^7;\/\/位选void delay(uchar x)\/\/延时函数...

相似回答