一、数码管显示 1、六位数码管自己的姓名和学号(姓名为开头的英文字母) 2、效果为滚屏显示 二、单片机时

作者&投稿:危光 (若有异议请与网页底部的电邮联系)
用c语言编程,用数码管同时显示1-6或自己的学号后六位这6个数字,并让显示的数字循环移动起来~

#include
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z);
void main()
{
wela=1;//11101010
P0=0xea;
wela=0;
while(1)
{
for(num=0;num<16;num++)
{
dula=1;
P0=table[num];
dula=0;
delay(1000);
}
}
}

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

才20分??不写。

题中“二、单片机时 ”好像还没说完……
1、六位数码管自己的姓名和学号(姓名为开头的英文字母) 2、效果为滚屏显示
这个简单,就是数码管的动态显示:把姓名和学号的数码管编码放在数组a[ ]中,用数组b[6]表示段选编码
第一次显示:数组b[6]选数组a[0]到a[5];
第二次显示:数组b[6]选数组a[1]到a[6];
……
以此类推
中间加个时间变化
如果数组b[6]没填满,比如b[6],那就是初始值b[6]=0;共阴数码管段选为0,不亮的
还有数码管动态显示注意消影
如有不懂之处,欢迎和我交流


闻喜县14731048188: 用c语言编程,用数码管同时显示1 - 6或自己的学号后六位这6个数字,并让显示的数字循环移动起来 -
高婉妇科: #include#define uint unsigned int #define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;uchar nu...

闻喜县14731048188: 怎么的单片机一位数码管输入0xbe就可以显示1 -
高婉妇科: 这个取决于数码管引脚与单片机IO口的连接,0xbe显示1,说明数码管右边的两划(笔画段b和c)接在单片机某个端口的第0脚和第6脚,因为0xbe的二进制是10111110,两个0就是两个被点亮的笔画段,这是共阴数码管

闻喜县14731048188: 一段数码管动态显示一行六位数字的程序,求解析所有代码含义.越详细越好 -
高婉妇科: ;这个程序的基本流程是:;1.把content中的数字对应的断码找出,并依次存放到LEDBuf中;2.依次送LEDBuf中的断码到LED上,LED显示对应字符OUTBIT...

闻喜县14731048188: 写一个c51单片机程序,要求使六位数码管上第一个数码管显示2,第二个显示3,要静态显示,要怎么写. -
高婉妇科: 你的要求是静态如果全靠单片机的IO口控制的话,IO口不够用的的你要加像595这样并行输出的行片才行

闻喜县14731048188: 设计单片机控制6位数码管动态显示电路,并编程实现让数码管同时显示 -
高婉妇科: #include #define uchar unsigned char#define uint unsigned intuchar code DSY_CODE[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};void DelayMS(uint x){ uchar t;while(x--)for(t=120;t>0;t--);}void main(...

闻喜县14731048188: 有个有关于51单片机的计算器程序设计问题 -
高婉妇科: 6个数码管对应6个变量 a,b,c,d,e,f 输入的键值key 按一次键 a=b; b=c;c=d;d=e;e=f;f=key; 显示出来就行了

闻喜县14731048188: 为什么我的6位数码管没有全部显示出来,是不是电阻值的问题,还是程序的问题,还是其他什么问题,求指导 -
高婉妇科: 你采用的是静态显示还是动态显示方法,如果是静态显示方法,那就是电阻过大或数码管的其他几位损坏了;如果使用的是动态扫描显示,那就是你的扫描时间和送码时间给的不正确,使得每次扫到给码时正好都扫到正中间的两个数码管,更改一下扫描周期应该可以解决.

闻喜县14731048188: 让6位数码管闪烁显示原理 -
高婉妇科: 1 单片机数码管动态显示的过程中,设置一个闪烁寄存器,专门保存要闪烁显示的位子,再增加一个闪烁显示码的暂存器.2 每次调用显示程序时,先要判断需要显示闪烁的位子的显示码,是不是等于“灭”的显示码,不是的话,将该位的显示码送闪烁显示码的暂存器进行保存,将“灭”的显示码送入相应的显示缓冲区的位子,调用显示程序;如果等于“灭”的显示码,则将保存在闪烁显示码的暂存器中的显示码再送回相应的显示缓冲区的位子,调用显示程序.

闻喜县14731048188: 问下·TX - 51单片机中数码管显示如何移位,比如说我按键1在第6个根数码管上显示1. -
高婉妇科: 其实不存在移位问题,只是一个数的显示而已,按键1该数为1,铵键2该数为11……然后即时将该项数在数码管中显示.给你一个函数,作用时将一个数在第几个数码管中显示.void display(uchar firstbit,uchar Num) //firstbit为要第一位显示数码管,NUM是要显示数的位数 { uchar s; for(s=0;s{ P0=0xff; duan=1; duan=0; P0=table2[s+firstbit]; wei=1; wei=0; P0=tempdata[s]; duan=1; duan=0; delay(1); } }

闻喜县14731048188: 求利用单片机89c51一个6位LED数码管显示功能 程序 -
高婉妇科: #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; void delay(uint z); void display(uchar num1,uchar num2,uchar num3); uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网