7段led数码管数字显示2位怎么同时显示不同数字要求一个上显示1,另一个上每秒显示1-9中一个数

数码管共阴开始显示0,每隔一秒显示值加1加到9后,数码管重新显示0,而后1秒加1,依次循环,用汇编语言编_百度知道
数码管共阴开始显示0,每隔一秒显示值加1加到9后,数码管重新显示0,而后1秒加1,依次循环,用汇编语言编
我有更好的答案
ORG 0030HTABLE: 共阴极数码管显示代码表
3FH,06H,5BH,4FH,66H ;01234
6DH,7DH,07H,7FH,656789BEGIN:
MOV TMOD,#01H
MOV TH0,#HIGH()
MOV TL0,#LOW()
MOV P0,#3FH
SJMP $T0ISR:
MOV TH0,#HIGH()
MOV TL0,#LOW()
CJNE R0,#20,T0E
MOV DPTR,#TABLE
MOVC A,@A+DPTR
INC R1T0E:
忘了看,不好意思,他就显示0,没走啊?求指导
采纳率:77%
为您推荐:
其他类似问题
数码管的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。请问一下 鬼影 怎么才能消除? /*8位数码管每一位依次 显示0到9 */_百度知道
请问一下 鬼影 怎么才能消除? /*8位数码管每一位依次 显示0到9 */
#include&reg52.h& //头文件void delay(void);
//函数声明void duankong(void);//函数声明void weikong(void);//函数声明sbit dk_enb=P1^0;
//端口定义sbit wk_enb=P1^1;void main(void)
//主函数{ while(1) {//第一位显示1 P2=0x60;
//送段码数据 高电平有效 duankong();
//打开段控 P0=0x00;
//送位码数据 低电平有效 weikong();
//打开位控 delay();//第二位显示9 P2=0xF6; //送位码数据 低电平有效 duankong();//打开段控
P2=0xBF; //送位码数据 低电平有效 weikong();
//打开位控后面省了.............
我有更好的答案
你这是实物,还是仿真?是用两片74HC573锁存器的电路吗?段码和位码是从P2口输出的,那P0=0x00;什么用?duankong();
//打开段控weikong();
//打开位控这两个是控制锁存器的吗?最好把仿真图或原理图贴上来。
我是实物 8位数码管是共阴的,段码和位码是从P2口输出的,P0我是弄错的,应该是P2. 我是想在切换段位的时候把
段码数据清除掉,原理图要晚上才能发, 就是两片573
一片控制段码一片控制位码, P2口输出数据
sbit dk_enb=P1^0;
//端口定义sbit wk_enb=P1^1;这两个脚是573锁存位的控制脚吗?看你的程序应该没有什么问题的,怎么会有什么鬼影呢?控制锁存位时,就两条指令吗,何必写成什么子函数呢?duankong(); //打开段控weikong(); //打开位控不用写成这两个,直接在此处写两条指令。调用子函数需要时间的。
好的 另外:控制位是P0.1=0: P0.1=1;P0.1=0 (是不是第一条=0的指令不需要了?) 我说的鬼阴就是 影子
好像说在delay( )后面指令加个清除数据,但是我试好没有用,
对于74HC573的锁存控制位,仿真和实物是不同的,而且仿真必须不同,否则仿真错误。但是,实物,要这么写:dk_enb=1;P2=0x60;
//送段码数据 高电平有效dk_enb=0;
//这顺序很重要wk_enb=1;P2=0x7F;
//送位码数据 低电平有效wk_enb=0;delay();
采纳率:91%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Arduino初学系列6:Arduino和数码管
-------如何用Arduino来控制数码管显示数字0,1,2,3,4,5,6,7,8,9
11:32:08 +08:00 · 3167 次点击
用Arduino来控制数码管显示数字,其实就如控制好多LED的显示一样。通过不同LED的显示组成来组成不同的数字。所以,关键的是如何数码管或LED灯的正负极。这是本实验需要重点解决的问题。
目前尚无回复
& · & 2886 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 16ms · UTC 08:56 · PVG 16:56 · LAX 01:56 · JFK 04:56? Do have faith in what you're doing.扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
数字电路设计中遇到瓶颈采用一个半导体数码管作为控制器的显示器,能够自动地依次显示出数字0、1、2、3、4、5、6、7、8、9(自然数列),1、3、5、7、9(奇数列),0、2、4、6、8(偶数列)和0、1、2、3、4、5、6、7(音乐符号数列),然后又依次显示出自然数列、奇数列、偶数列和音乐符号数列……如此周而复始,不断循环.在这个题目中 产生各个数列 但是如何用数字选择器实现有选择的显示这些数列?我的基本思路是用4片产生上述四种数列 然后通过数字选择器来分时选择让这些片子在LED上显示回一楼 我们还没学单片机.....
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
1,最简单是用可擦EPROM+计数器+数码管来完成.2,用二极管子矩阵也可以.3,最好还是用单片机 回复:那就用第2种方法.移位寄存器加二极管矩阵
为您推荐:
其他类似问题
扫描下载二维码用单片机控制一个8段数码管,其循环显示数字0到9,每位数字显示时间为一秒,定时功能用单片机中断显示-土地公问答
用单片机控制一个8段数码管,其循环显示数字0到9,每位数字显示时间为一秒,定时功能用单片机中断显示
用单片机控制一个8段数码管,其循环显示数字0到9,每位数字显示时间为一秒,定时功能用单片机中断显示
用单片机控制一个8段数码管,其循环显示数字0到9,每位数字显示时间为一秒,定时功能用单片机中断显示,按键K用于启停控制,C语音程序怎么写,和程序流程图,和系统功能图
有一个一模一样的提问,好吧,俺再发布一次给你一份我自己写的,利用四位数码管显示模拟时钟的程序吧,供你研究另外,再给你一个一位数码管的,是你要求的那种这两个都是利用单片机的定时器中断来产生秒信号的下面这个是 四位数码管的,最下边的是一位数码管的,端口不一样的话,自己改下/***************************************************************************/#include&reg51.h&sbit p20=P3^7; sbit p21=P3^6; sbit led=P2^7;//按键及LED端口定义sbit Axs=P1^3; sbit Bxs=P1^2; sbit Cxs=P1^1; sbit Dxs=P1^0;//数码管位选端口char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码unsigned int h,m,s,t,n;/***************************************************************************/void YS(char hs)//延时函数{for(;hs&0;hs--){for(hk=200;hk&0;hk--);}}/***************************************************************************/void XS(int xh,int xm) //显示子函数{char d1,d2,d3,d4;d1=(xh/1)%10; d2=(xh/10)%10;//分离小时d3=(xm/1)%10; d4=(xm/10)%10;//分离分钟P0=table[d1];Cxs=0;YS(10);Cxs=1;//小时个位P0=table[d2];Dxs=0;YS(10);Dxs=1;//小时十位P0=table[d3];Axs=0;YS(10);Axs=1;//分钟个位P0=table[d4];Bxs=0;YS(10);Bxs=1;//分钟十位P0=0x7f; P1=0 YS(10); P1=0//小数点}/***************************************************************************/void main(void){TH0=()/256; TL0=()%256;TMOD=0x01; EA=1; ET0=1; TR0=1;//定时器初始化while(1)//主循环{if(p20==0){YS(10);if(p20==0){h++;if(h&23){h=0;}}while(!p20){XS(h,m);}}if(p21==0){YS(10);if(p21==0){m++;if(m&59){m=0;}}while(!p21){XS(h,m);}}XS(h,m);//调用数码管显示函数}}/***************************************************************************/void int1() interrupt 1 //定时器中断{TH0=()/256; TL0=()%256; n++;t++;if(t&500){t=0;led=~}//LED闪烁if(n&1000){n=0;s++;}//如果达到一秒,秒加一if(s&59){s=0;m++;}//如果达到一分,分加一if(m&59){m=0;h++;}//如果达到一小时,小时加一if(h&23){h=0;}//如果达到24小时,小时清零}/***************************************************************************//***************************************************************************/#include&reg51.h&sbit Axs=P1^3;//数码管位选端口char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码unsigned int h,m,s,t,n;/***************************************************************************/void YS(char hs)//延时函数{for(;hs&0;hs--){for(hk=200;hk&0;hk--);}}/***************************************************************************/void main(void){TH0=()/256; TL0=()%256;TMOD=0x01; EA=1; ET0=1; TR0=1;//定时器初始化while(1)//主循环{P0=table[m];Axs=0;YS(10);Axs=1;//小时个位}}/***************************************************************************/void int1() interrupt 1 //定时器中断{TH0=()/256; TL0=()%256; n++;if(n&1000){n=0;m++;}//如果达到一秒,秒加一if(m&9){m=0;}//如果达到一小时,小时加一}/***************************************************************************/追问你可以再帮我写一下吗还有硬件电路原理图,程序流程图追答记得要采纳哦,上一个也是你提问的吧,还没采纳呢void main(void){TH0=()/256; TL0=()%256;TMOD=0x01; EA=1; ET0=1;//定时器初始化while(1)//主循环{if(t==1)//如果已经打开{P0=table[m];Axs=0;YS(10);Axs=1;}//数码管显示数据else{Axs=1;}//否则关闭数码管if(K==0&&t==0)//如果按键被按下且处于关闭状态{YS(10);//延时去抖动if(K==0&&t==0)//如果按键仍被按下{TR0=1;//打开定时器n=0; m=0;//清空数据t=1;//设置标识符 为开while(!K);//等待按键松开}}if(K==0&&t==1)//如果按键被按下且处于打开状态{YS(10);//延时去抖动if(K==0&&t==1)//如果按键仍被按下{TR0=0;//关闭定时器n=0; m=0;//清空数据t=0;//设置标识符为关while(!K);//等待按键松开}}}}追问上次的和这这次的怎么不一样还有硬件电路图,程序流程图追答一样的,字数限制,头文件和定义部分没贴出来/***************************************************************************/#include&reg51.h&sbit Axs=P1^3; sbit K=P3^7;//数码管位选端口char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码unsigned int m,n,t=0;/***************************************************************************/void YS(char hs)//延时函数{for(;hs&0;hs--){for(hk=100;hk&0;hk--);}}/***************************************************************************/追问哦哦,那硬件电路图你会吗追答别客气追问你不会吗追答恩,硬件电路,我从不用绘图软件的,不过可以给你讲讲怎么连线你之前的那个提问,能采纳一下吗,谢谢追问恩可以,那程序流程图那追答程序都有了,流程图就可以参照程序的运行顺序画了啊追问我不会,你可以帮我画下吗追答我这没有绘图软件追问程序流程图不用绘图软件吧追答不用绘图软件你怎么画图?????用手指在显示器上画画,你能保存在电脑中吗?追问程序流程图不是这样的吗追答对啊,就是这样的,但这是使用绘图软件绘制的,绘图软件的种类还很多呢追问哦哦,那这样的你会吗,给我画下吧用笔画下就好了怎么不说话了追答用笔画倒是可以,但没办法输入到电脑上,也就没办法传给你呀我的手机没有照相功能追问能不能用文字叙述追答先是初始化,然后是状态啊判断,这是后在侧面画个箭头,就是分支状态0,打开数码管显示,并打开定时器开始计数,另一个分支是检测计数值是否大于9如果大于9 ,则清零,重新开始状态1,关闭数码管显示,并关闭定时器,以及清零数据在判断状态的下面再写上 按键判断,按键判断的同时,也判断状态然后根据不同的状态设置结果追问谢谢你,那你会系统功能结构图吗追答不会追问哦谢谢你追答别客气更多追问追问:你可以再帮我写一下吗追问:还有硬件电路原理图,程序流程图追问:上次的和这这次的怎么不一样追问:还有硬件电路图,程序流程图追答:一样的,字数限制,头文件和定义部分没贴出来/***************************************************************************/#include&reg51.h&sbit Axs=P1^3; sbit K=P3^7;//数码管位选端口char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示编码unsigned int m,n,t=0;/***************************************************************************/void YS(char hs)//延时函数{for(;hs&0;hs--){for(hk=100;hk&0;hk--);}}/***************************************************************************/追问:哦哦,那硬件电路图你会吗追答:别客气追问:你不会吗追答:恩,硬件电路,我从不用绘图软件的,不过可以给你讲讲怎么连线你之前的那个提问,能采纳一下吗,谢谢追问:恩可以,那程序流程图那追答:程序都有了,流程图就可以参照程序的运行顺序画了啊追问:我不会,你可以帮我画下吗追答:我这没有绘图软件追问:程序流程图不用绘图软件吧追答:不用绘图软件你怎么画图?????用手指在显示器上画画,你能保存在电脑中吗?追问:程序流程图不是这样的吗追答:对啊,就是这样的,但这是使用绘图软件绘制的,绘图软件的种类还很多呢追问:哦哦,那这样的你会吗,给我画下吧追问:用笔画下就好了追问:怎么不说话了追问:能不能用文字叙述追答:先是初始化,然后是状态啊判断,这是后在侧面画个箭头,就是分支状态0,打开数码管显示,并打开定时器开始计数,另一个分支是检测计数值是否大于9如果大于9 ,则清零,重新开始状态1,关闭数码管显示,并关闭定时器,以及清零数据在判断状态的下面再写上 按键判断,按键判断的同时,也判断状态然后根据不同的状态设置结果追问:谢谢你,追问:那你会系统功能结构图吗追答:不会追问:哦谢谢你追答:别客气
其它类似问题
其它人正在问的问题}

我要回帖

更多关于 7段led数码管数字显示 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信