51单片机数码管动态显示,用动态显示0到123怎么编程?

51单片机不加锁存器数码管动态显示0-999_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机不加锁存器数码管动态显示0-999
电子工程师|
总评分4.4|
浏览量4414
用知识赚钱
&&51单片机不用锁存器或者缓冲器用数码管动态显示0-999
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢怎样用keil编写4位数码管显示1234的程序
我的图书馆
怎样用keil编写4位数码管显示1234的程序
为了帮助网友解决“怎样用keil编写4位数码管显示1234”相关的问题,中国学网通过互联网对“怎样用keil编写4位数码管显示1234”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:怎样用keil编写4位数码管显示1234的程序,具体解决方案如下:解决方案1: 你具体哪一步不会呢。 追问: 我就是不懂编程,老师让我们做4位LED数码管动态显示设计,用Keil和protues两个软件 回答: keil是汇编软件生成hex文件,然后加载到proteus里面就可以仿真了。你是不懂代码怎么写呢,还是不会用软件呢 追问: 两个软件都差不多会用了,就是不会写那个程序,你能不能帮帮我呢? 回答: /***************************************************************************标题:&数码管的显示效果:&显示1234,从这个例子可以学习多位数码管的动态显示技术******************************************************************************///头文件:#include 'reg51.h'//变量定义:unsigned char table[]=&&&{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};&&&&&//表:共阳数码管 0-9 //引脚定义:&&sbit SMG_q = P1^0;&//定义数码管阳级控制脚(千位)sbit SMG_b = P1^1;&//定义数码管阳级控制脚(百位)sbit SMG_s = P1^2;&//定义数码管阳级控制脚(十位)sbit SMG_g = P1^3;&//定义数码管阳级控制脚(个位)//函数声明:void delay(void); //延时子函时//主函数,C语言的入口函数:&&void main(void)& {&unsigned char i=0;&//作为查表的索引号&while(1)&&&//不停的循环扫描,不扫描则不显示或显示不正确,即为动态显示,&{&//数码管显示 1234,可自行修改&&SMG_q=0;&&//选择千位数码管&&P0=table[1];&//查找'1'定义好的数码管段值与P0口输出,显示相应的1&&delay();&&//加入短暂延时&&P0=0XFF;&&//清除数码管显示,因是共阳型,所以不是0&&SMG_q=1;&&//关闭千位数码管&&SMG_b=0;&&//选择百位数码管&&P0=table[2];&//查找'2'定义好的数码管段值与P0口输出,显示相应的2&&delay();&&//加入短暂延时&&P0=0XFF;&&//清除数码管显示,因是共阳型,所以不是0&&SMG_b=1;&&//关闭百位数码管&&&&SMG_s=0;&&//选择十位数码管&&P0=table[3];&//查找'2'定义好的数码管段值与P0口输出,显示相应的2&&delay();&&//加入短暂延时&&P0=0XFF;&&//清除数码管显示,因是共阳型,所以不是0&&SMG_s=1;&&//关闭十位数码管&&SMG_g=0;&&//选择个位数码管&&P0=table[4];&//查找'2'定义好的数码管段值与P0口输出,显示相应的2&&delay();&&//加入短暂延时&&P0=0XFF;&&//清除数码管显示,因是共阳型,所以不是0&&SMG_g=1;&&//关闭个位数码管&}}//延时子函数,短暂延时void delay(void){&&&unsigned char i=10;&while(i--);} 追问: 额,我在那个Keil软件里就写这个吗?全部都要写吗? 回答: 恩,不清楚再问我。 追问: 后面的中文注释也要输进去啊,那我是不是可以直接复制啊? 回答: 后面的中文是注释,不参加编译,只是为了你看着方便。你全部复制下来,一个字都不用改的。不清楚再问我 追问: 我能不能加一下你的QQ啊,我好像有好多问题的,怕说不清楚,拜托啦 回答: 看来你的C语言也没学好。 追问: 就是没学过啦,老师都让我们自学呢,可是我又比较笨啊,额,帮帮忙啦,加一下QQ啦,我不会骚扰你的啊 回答: 留下你的,我加你吧 追问: 太感谢你啦,我的QQ是 解决方案2: 这是用C编的:共阴数码管#include&reg52.h&#define uint unsigned int#define uchar unsigned charsbit dula=P2^6;sbit wela=P2^7;uint temp=1234;uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71} ;void play(uint);void delay(uint);void main() {while(1) {play(temp); }}void play(uint temp){dula=1;P0=table[temp/1000];dula=0;P0=0 wela=1;P0=0xf7;wela=0;delay(5);dula=1;P0=table[temp%];dula=0;P0=0 wela=1;P0=0wela=0;delay(5);dula=1;P0=table[temp%];dula=0;P0=0wela=1;P0=0wela=0;delay(5);dula=1;P0=table[temp%10];dula=0;P0=0wela=1;P0=0wela=0;delay(5);}void delay(uint z){uint x,y;for(x=z;x&0;x--)for(y=110;y&0;y--);}解决方案3: 刚刚认识keil软件怎么学才能学的好哦。。 有什么好书货好资料推诚下吗。 谢谢。 通过对数据库的索引,我们还为您准备了:问:尽量给代码 我是初学者 还有不懂的那些硬件的接法 解读器 还有数码管怎...答:#include #include sbit wei=P1^0; sbit duan=P1^1; int w[8]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; int i, void main() { TMOD=0X01; TH0=()/256; TL0=()%256; EA=1; ET0=1; TR0=1; tt=0; i=0; temp...===========================================问:尽量给代码 我是初学者 还有不懂的那些硬件的接法 解读器 还有数码管怎...答:很难么?有没有解码器哦,没解码器,用程序来解码。共阴还是共阳。基础还是得你自己去学习。===========================================问:尽量给代码 我是初学者 还有不懂的那些硬件的接法 解读器 还有数码管怎...答:MOV 31H,#01H MOV 32H,#02H MOV 33H,#03H MOV 34H,#04H MOV 35H,#05H MOV 36H,#06H ACALL D0 JMP $-2 D0: MOV R0,#31H MOV R2,#B MOV DPTR,#TAB D1: ORL P1,#B MOV A,@R0 MOVC A,@A DPTR MOV R3,#8 D2: RLC A MOV P3.2,C SETB P...===========================================问:我写的程序如下,第一行四个键盘,摁了没用,数码管没反应,其他的12个...答:第一行四个键盘,摁了没用,数码管没反应, ---- 是 1234 这四个按键吗? 程序,太长。 四行按键的程序,好像都是雷同的,应该没有什么问题。 键盘,是自己焊接的吗? 是不是某一个引脚,虚焊?===========================================问:#include&reg51.h& //#include&INTRINS.H& unsigned char a,b,c,d; unsi...答:/***************显示子程序**********************/ void display(unsigned char bai,unsigned char shi,unsigned char ge,unsigned char xs) { P3=dispbitcode[0]; P0=dispcode[bai]; //显示佰位 delay(5); P3=dispbitcode[1]; P0=dispcode[sh...===========================================问:#include&reg51.h&sbit a=P3^0;sbit b=P3^1;sbit c=P3^2;sbit d=P3^3;un...答:#include sbit a = P3^0; sbit b = P3^1; sbit c = P3^2; sbit d = P3^3; unsigned char code dcode[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void delay1ms(unsigned int x) { while(x--) for (j = 0...===========================================问:三个按键分别为开始、暂停、加\减。当系统复位后,初试时间为00.00.00,...答:我可以写C语言程序,名是联系 方式===========================================问:让89处1单片机驱动四位数码管,显示 1234.求电路图及程序!!!急!!!...答:下列程序经过实验,可以满足题目要求. ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 70H, #04H MOV 71H, #03H MOV 72H, #02H MOV 73H, #01H ;------------------------------- M_LOOP: LCALL DISP AJMP M_LOOP ;------------------------------- DI...===========================================很难么?有没有解码器哦,没解码器,用程序来解码。共阴还是共阳。基础还是得你自己去学习。===========================================里边存放数码管显示0~9的数据,之后定义一个display显示函数,传递参数但不返回参数,然后将传递的参数()分解成4哥单个数,然后依次选择要显示的数码管和数据,紧...===========================================希望对你有帮助!呵呵俺又来了怎么还没有调试好呀俺来帮你调试吧 先看看错误的现象:是不是笔画混乱要显示1却显示的好像是8呀===========================================呵呵 俺又来了 怎么还没有调试好呀 俺来帮你调试吧 先看看错误的现象: 是不是笔画混乱 要显示1 却显示的好像是8呀=========================================== MAIN: MOV DPTR, #TABLE MOV R0, #00H MOV R1, #01H START: MOV A, R0 MOVC A, @A DPTR MOV P2, A MOV P1, R1 MOV A, R1 RL A MOV R1, A C...=========================================== n2=N/100%10; n3=N/10%10; n4=N%10; P1_0=0; //P1_0 P1_1 P1_2 P1_3分别为四位的位选,P0为断选, P0=table[n1]; //table为数码管八...===========================================方法一:两个HD7279,正好可以驱动16个数码管,电路简单,不占单片机资源 方法二:74HC154译码扫描,或者两个P口扫描,需要16个三极管驱动或者两片ULN2003之类的,比较占用...===========================================是显示问题,和DS18B20无关。你先做一个简单的四位数码管显示,如显示1234,可以了再找测温程序 的问题。===========================================这是可以的,分别让两个四位数码管显示四位数,合在一起就是八位数。原理:两个四位数码管的数据针脚分别相连后,与P0口相连;位选针脚分别与P3口相连,这样就实现了用两个...=========================================== dis_buf[5]=350.5/100; //得出百位3 count=350.5%100;//得出余数50.5 dis_buf[6]=50.5/10; //得十位 dis_buf[7]=50.5%10; //得余数0.5 dis_buf[8]=0.5/1; //得个位0 dis_buf[8]=0.5%...===========================================
猜你感兴趣:
淘宝热门折扣推荐:
TA的最新馆藏
喜欢该文的人也喜欢51单片机数码管0到F动态显示_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机数码管0到F动态显示
&&51单片机数码管0到F动态显示
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢51单片机双位共阳数码管的汇编语言的动态显示_百度知道
51单片机双位共阳数码管的汇编语言的动态显示
求51单片机双位共阳数码管的汇编语言的动态显示的程序到底怎么写?用于交通灯的,晶振12M,倒数30s.
我有更好的答案
P1=table[ge],0x99,0x92,0x82,0xf8;x--)
for(y=110;256;y&0;y--);
TL0=()%256;
/*需要外加两个锁存器*/
shi=num/10;假设段选接在P2^1sbit wela=P2^2;/
TR0=1;假设P1口与a~g口连接
P1=table[shi];
TMOD=0x01;
wela=0;/假设位选接在P2^2uchar i,num,shi,
dula=1;}void main(){
P1=0x01;#define uchar unsigned charsbit dula=P2^1#include&reg52.h&gt,0xa4,0xb0;
TH0=()&#47,0x80,0x90};void delay(uchar z){
uchar x,y;
for(x=z;x&
delay(2);//0;
ge=num%10;uchar code table[]={0xc0,0xf9;//
}}void zhongduan() interrupt 1{
TH0=()/256;
TL0=()%256;
num--;if(num==-1)
采纳率:46%
数码管就是动态扫描而已
用汇编比较麻烦,你可以将具体要求发我同名微信ID,探讨一下。
需要给你完成一份吗
简单来说比如显示01,那么程序如下,只要循环调用这个子程序就可以DISPLAY:SETB P2.0CLR P2.1MOV P0,#0C0HLCALL DELAYCLR P2.0SETB P2.1MOV P0,#06HLCALL DELAYRET
其他3条回答
为您推荐:
其他类似问题
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51单片机数码管后两位!用动态显示从00到99编程那个地方错啦!_百度知道
51单片机数码管后两位!用动态显示从00到99编程那个地方错啦!
我有更好的答案
你只关闭的段选,位选没有关闭再打开,送入时候回出现重影,所以显示不正常
采纳率:66%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 单片机动态数码管时钟 的文章

 

随机推荐