求数码管静态显示程序,显示“12345678“,汇编的,C语言的都可。
发布网友
发布时间:2023-11-03 16:10
我来回答
共2个回答
热心网友
时间:2024-10-18 21:22
给你一个做参考,这个得配套原理图:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //共阴的数码管段选,P2口要取的数值
uchar code wema[]={0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff}; //P1口的片选位
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=50;b>0;b--);
}
void main()
{
uchar i;
while(1)
{
for(i=1;i<9;i++)
{
P2=ma[i];
delay(1);
P1=wema[i];
}
}
}
原理图
热心网友
时间:2024-10-18 21:23
MPU 编程不是这样的。
要先有硬件,再根据硬件的状况,通过软件实现功能。
求数码管静态显示程序,显示“12345678“,汇编的,C语言的都可。
给你一个做参考,这个得配套原理图:include<reg52.h> define uchar unsigned char define uint unsigned int uchar code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //共阴的数码管段选,P2口要取的数值 uchar code wema[]={0xf8,0xf9,0xfa,0xfb,...
数码管稳定显示12345678,用c语言
说明一下:修改了你的电路。原电路段位没有限流电阻 位码没有驱动电路,实际电路P1口驱动不了 为了电路好画,用了P0、P2,都在右边。参考电路:参考代码:include<reg51.h>#define SEGP0#define BITP2unsigned char disBuf[8];unsigned char code segCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,...
汇编语言编写 8个数码管同时显示12345678的问题
ORG0 st:MOV P2,#0 MOV A,#00000001B MOV DPTR,#TAB MOV R0,#0H LP:PUSH ACC MOV A,R0 MOVC A,@A+DPTR MOV P0,A POP ACC MOV P2,A RL A LCALL DELAY INC R0 CJNE R0,#8,LP LJMP ST TAB: DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H DELAY:MOVR6,#8 DL2: MOVR5,#...
编程实现共阳极八个数码管依次显示12345678
include<intrins.h> define uchar unsigned char define unit unsigned int uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0-9共阳数码管段码表 uchar led[]={1,2,3,4,5,6,7,8};void delayms(uchar x){ unit j;for( ;x>0;x--)for(j=200;...
如何让8个数码管显示出不一样的数值
以8个数码管显示“12345678”为例,说明如下:静态显示:8个数码管同时点亮,显示的内容就是“12345678”。这种方式比较“笨”,容易理解,但是占用的资源较多。因一个数码管有7个段,电路则包含1个公共端和7个笔画端,要显示一个数字,需要8个电平输入控制口,8个数码管就需要8*8=64个。显然,这种...
求单片机实验七段数码管显示实验程序
/*声明七段LED数码管驱动信号数组(共阳)*/ char code TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99, //数字0-4 0x92,0x83,0xf8,0x80,0x98}; //数字5-9 void delay(int); //声明延迟函数 //==主程序=== main() //主程序开始 { unsigned char i; //声明无符号变量i whil...
在51单片机上如何让数码管流水式的显示16进制数,
这个简单啊,你建一个表就行了,直接取表数据放上去显示。数码管用动态扫描。下面是AVR的代码,你参考一下就行了。include <iom64v.h> include <macros.h> define SEG PORTA // 数码管段码 define SCAN PORTC // 数码管位选 define uchar unsigned char define uint unsigned int ///...
什么是动态数码管显示
数码管扫描,利用余晖,显示多位数码管。如显示12345678 ,一共用到8位数码管,先选位,送段码,延时。不停地扫描,就能显示8个数了。整体的过程就是 先显示1,换一位显示2.。。。直到显示到8,返回原来的位,继续显示1,过程很快。。。人眼所见就是12345678同时显示了。
单片机数码管显示的原理(CA CC) 字型的显示 动态显示的原理 大概的说下...
数码管不就从1依次显示到8了?不过由于单片机执行指令很快,如果直接12345678这样显示,由于太快,会导致数码管很暗,所以,你可以在切换数码管的时候,加上一点点的延时,不过不能太长,不然就会闪了。当然你也可以把显示程序放到中断里,比如没过10ms就显示一次,这样会更好一点。懂了吗?
在51单片机中用c语言写程序实现用一个按键控制8个灯的亮和灭(按下按 ...
一般简单的是用三极管驱动数码管。如果你会C语言的话,很容易上手。自己先从控制1个数码管学,在控制2个数码管(2个数码管基本上可以完成上面试验,8个就可以类推)\r\n\r\n1、初始值为0:上电复位后,单片机驱动数码管显示0.(如果不会,百度里搜51控制数码管等关键字,特别多试验电路和程序。)\r...