汇编4个数码管动态显示汇编显示从40到9999 51单片机控制

单片机汇编语言让数码管显示0到9_百度知道
单片机汇编语言让数码管显示0到9
MOV DPTR,#TABLE
MAIN:MOV R7,#10
MOV A,#00H
LOOP:LCALL DISPLAY
LCALL DELAY
DJNZ R7,LOOP
DISPLAY:PUSH ACC
MOVC A,@A+DPTR
我有更好的答案
&&&&00H&&&&LJMP&&MAIN&&&&ORG&&&ACC&&&&MOVC&&A,&@A+DPTR&&nbsp&&&&ORG&&&&&&nbsp:DL1;&#TABLE&A;&&&&MOV&&&R7;DJNZ&&nbsp:&&&&&&LOOP&DISPLAY&&&&LCALL&DELAY&&&&INC&nbsp,&&&&LJMP&#10&&&&MOV&R6,&DL2&&&&nbsp,&&RETTABLE:&&&&DB&&&3FH,&06H,&5BH,&4FH,&66H,&6DH,&7DH,&07H,&7FH,&6FHEND再试试看;&nbsp,&&nbsp:DJNZ&nbsp:DJNZ&nbsp:&#0LOOP:&&&&LCALL&R6,&DL1DL2;&&&A&&&&POP&R7,&DL1&&A&&&&DJNZ&&R7;&PUSH&nbsp,&MAINDISPLAY;&MOV&&&DPTR;ACC&&&&RETDELAY;30HMAIN,&MOV&&&P1
谢谢,我知道了,MOV DPTR,#TABLE放到main函数里就信啦,不过这是为什么呢?
哦,程序中,R7 用重复了。改换一个,即可。我的习惯:R567,用于循环延时。R234,用于主程序的循环控制。和你的用法,有些不同。
MOV DPTR,#TABLE放到main函数里和放外面与什么区别吗?是不是完成一个循环后再重新跳到main函数时,由于MOV DPTR,#TABLE在main函数外面,没有被执行,查表是依旧从上一个循环截至处查表?说的我自己都绕了。
你原来,是把 MOV D...,放在 MAIN 前面。这样,他就不会被执行。复位后,首先就跳转到 MAIN;后来循环时,也是从 MAIN 循环。那么,放在 MAIN 前面的 MOV D...,从开始,就没有执行过。而且,永远不会执行。
采纳率:64%
为您推荐:
其他类似问题
单片机汇编语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求一51单片机控制四个数码管显示1234,怎么用c语言编程?
[问题点数:20分,结帖人yangzechi]
求一51单片机控制四个数码管显示1234,怎么用c语言编程?
[问题点数:20分,结帖人yangzechi]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|用51单片机写超声波测距程序,用数码管显示距离,但是为什么数码管显示的数字很乱呢?一点不像测出的距离
用51单片机写超声波测距程序,用数码管显示距离,但是为什么数码管显示的数字很乱呢?一点不像测出的距离
能不能 具体点 .没看见代码 ,不知道怎么帮助你.可能是程序有问题 也可能是 硬件有问题咯.
我有更好的回答:
剩余:2000字
与《用51单片机写超声波测距程序,用数码管显示距离,但是为什么数码管显示的数字很乱呢?一点不像测出的距离》相关的作业问题
嗯!这个问题是!你的外部中断使用的是外部中断0,而定时器使用的也是0.在51内,外部中断0的优先级是要大于定时器0的.所以在程序的最后是要先执行外部中断0的!然后你的程序就会先进入外部中断服务,然后你在外部中断中又把定时器中断给关闭了!这样你就不会走到定时器中断的服务项中.所以你的num一直是0
51单片机在复位后IO口为高电平,P2_6出现3V可能原因有:1. if(P1_1==0) 这个语句不成立,查查P1_1.2.单片机程序没有运行,查查复位电路和外围电路.
程序本身没看出什么问题,但是单片机初始化后各端口是高电平,虽然不能驱动二极管.所以建议你把发光二极管正极接电源,负极接单片机.用低电平点亮.&我仿真了你的程序没发现你说的问题.
程序我没有仔细看,有些思路你考虑一下:1、不知道你用的哪个型号的单片机,计数器所用的时钟频率是多少?5cm意味着约300uS的声波传输时间,结合你的计数频率和计数器的位数,看看300uS你的计数器有没有溢出;2、超过5cm的时候,用示波器探一下有没有收到声波信号,可能是你的放大倍数不够,信号太弱导致信号没有被识别;3、
程序我没有仔细看,有些思路你考虑一下:1、不知道你用的哪个型号的单片机,计数器所用的时钟频率是多少?5cm意味着约300uS的声波传输时间,结合你的计数频率和计数器的位数,看看300uS你的计数器有没有溢出;2、超过5cm的时候,用示波器探一下有没有收到声波信号,可能是你的放大倍数不够,信号太弱导致信号没有被识别;3、
Y=344X/2 Y表示距离,单位是m,x表示时间,单位是s,如果单位分别用cm、us表示,可以表示如下:Y'*0.01=344X'*10^-6/2 其中Y'单位是cm,X'单位是us,即 Y'=X'/58,其中Y'单位是cm,X'单位是us,即 cm=us/58 再问: Y'*0.01=344X'*10^-6/2 0
我以前也做过.对于超声波探头那4个脚,布线时是很纠结的.如果用单面板,飞线在所难免;双面板回少飞一点.
关于超声波测距的程序及硬件电路,你可到谷歌上找一下“超声波测距制作套件 一套比较好的电子制作教学套件”,套件附送源程序、原理图、PCB图,制作成功率非常高,测量距离离的范围是:40-699厘米.
这个一般来说是软件问题,先检测一下,硬件是否有问题,然后再看软件,单片机控制LED的时序是否正确.
这个? 再问: 那led灯怎么连上去? 再答: 在电阻前面接再问: 这样不是成限流电阻了吗? 难道限流电阻和上拉电阻是一个意思??? 再答: 上拉就是将不确定的信号通过一个电阻钳位在高电平!电阻同时起限流作用
其实也就是AD的驱动和数码管的显示,没时间写啊,网上搜点,这种老的芯片很多例子的.
这个难度不是很大的 可以交流下
你好:很简单.你吧DS的温度值转换一个整数值,如340,表示34.0℃.然后和一个预设的温度值进行比较,就可以了.不要说太难,多动手.希望我的回答能帮助到你. 再问: 我刚学!不怎么懂! 再答: 什么单片机再问: 51单片机再问: 程序能稍微看懂,要自己写就困难了再问: 18b20的时序难懂 再答: 看datashee
很幸运的看到你的问题.但是又很遗憾到现在还没有人回答你的问题.也可能你现在已经在别的地方找到了答案,那就得恭喜你啦.可能是你问的问题有些专业了,没人会.或者别人没有遇到或者接触过你的问题,所以帮不了你.建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题.希望我的回答也能够帮到你!
这要看你要测多远的距离,距离3米以上的,发射和接收电路比较复杂,需要用到IR2301、IRF540、AD8307、甚至DSP等技术,主要原因是超声波在空气中的衰减比较大,而且声速较慢,你也可以考虑下FMCW微波雷达.如果只是测3米以下的距离,可以参考车用的倒车雷达,我给你的建议是用51单片机自己做.1、去淘宝网买一对T
要不自己仿真一下,要不一点一点指令加进去.这样才能提高自己的能力. 再问: 这个程序我调了两三个小时了,但是就是没有结果……超声波模块的程序没错吧? 再答: 一个刚开始接触单片机软件的人,一个程序调个三五天是很正常的。
续的了准确的说,舵机的控制信号,是以20ms为间隔的一系列脉宽可在1.5ms上下1ms范围内变动的脉冲信号,舵机角度实时最终脉宽变化 再问: 那舵机的驱动是怎样的?有没有卖的? 非常感谢!
程序会一直运行至程序存储器的结尾,然后再从头开始运行.因为程序容量不大,运行速度又很快,人还没有感觉出停顿,程序就又从头执行了.只要有电源,复位正常,有时钟,PC指针就会按照时钟的振荡而不停的自加,除非程序中有改变PC指针的值的指令.所以当给一个内部没有程序的单片机上电,复位并供上时钟时,单片机不是静止的,而是一直在运
汇编语言还是 c 语言?给你一个 c 的编程:#include unsigned char code Tab_Led[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7f,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff,0xff,0xfe,0xff,0x51单片机数码管显示_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机数码管显示
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢4位或3位数码管显示,用单片机如何实现?-专业自动化论坛-中国工控网
4位或3位数码管显示,用单片机如何实现?
给TA发消息
加TA为好友
发表于: 09:44:29
请教各位高手:
&&&&&&& 我想用单片机来实现3位或4位的数码管显示数字,怎么做到?例如:80c51有32个I/O口,PO口和P3口为输入信号用,P1和P2口为输出,就是输出不考虑控制其他东西,16位也不够控制显示3位数或4位数!不知道硬件部分要怎么设计才可以达到只用8个I/O口就可以显示多位数字,请各位高手多多指教!本人一介菜鸟,不要取笑哦
给TA发消息
加TA为好友 发表于: 16:25:58 1楼
咋没有人出来说呢????
给TA发消息
加TA为好友 发表于: 19:10:09 2楼
P1口输出字形码,P2口输出字位码
给TA发消息
加TA为好友 发表于: 09:43:07 3楼
不明白,能讲得更清楚一点吗?
给TA发消息
加TA为好友 发表于: 20:52:51 4楼
1.扫描方式:某口输出位扫描信号,另一口输出段码;
2.每个口的4位输出到4-7段译码器(74LS246/247)直接用BCD码带数码管。
3.用3或者4个74LS164分别带数码管。
给TA发消息
加TA为好友 发表于: 09:59:40 5楼
看来不是我想得那么简单!我查有些资料讲采用DPTR数据指针,查ROM表格常数来实现,就是不知道怎么操作,原理是怎样的?谢谢大家指点
给TA发消息
加TA为好友 发表于: 22:13:50 6楼
其实很多单片机开发板上都有数码管,你把它的说明书和程序读懂了,不就学会了吗?
给TA发消息
加TA为好友 发表于: 08:14:12 7楼
嘿嘿嘿,我没有买开发板我是自己在搭临时的面包板(万能板)搞,不过买个开发板还是好点,不然搞个程序要动次烙铁!很麻烦
给TA发消息
加TA为好友 发表于: 08:10:04 8楼
可以交流,qq:
给TA发消息
加TA为好友 发表于: 08:40:51 9楼
参考线路!你可以看看!
给TA发消息
加TA为好友 发表于: 10:52:01 10楼
你好,有这方面的程序例子吗?我找过一些资料都是每个I/O口显示只显示一位数!
给TA发消息
加TA为好友 发表于: 16:51:14 11楼
楼主就是动态扫描程序&&&&&&&
给TA发消息
加TA为好友 发表于: 13:11:17 12楼
动态扫描法,不要说3& 4位,6位都没有问题的。
给TA发消息
加TA为好友 发表于: 21:07:46 13楼
我很多年以前写过,我找找找到的话发给你!
给TA发消息
加TA为好友 发表于: 17:00:01 14楼
这要看采用的是动态扫描,还是静态扫描。
DPTR是地址指针。需要用到内部ROM的传送。
这些东西可以在几乎任意一个51的介绍说明书中找到。
给TA发消息
加TA为好友 发表于: 20:22:30 15楼
哎呀!用DPTR是没错可以进行计数,但是它也是如:P0显示十进制的个位数,P1显示十进制的是十位数,也只是有进位功能而已!并不是让那个数码管快速轮流点亮来显示几位数啊
给TA发消息
加TA为好友 发表于: 20:35:57 16楼
用串行方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
给TA发消息
加TA为好友 发表于: 08:14:14 17楼
用串行方法?可以讲的更仔细一点吗?
给TA发消息
加TA为好友 发表于: 10:40:15 18楼
咋就没有哪位高手指点一下我啊
给TA发消息
加TA为好友 发表于: 17:41:47 19楼
难道上边都白说了?!
给TA发消息
加TA为好友 发表于: 14:21:36 20楼
是我表达不清楚,各位不要见怪!我是想请哪位高手给我提供 hkj 先生给的硬件架构图的程序例子,我自己有搞到十进制的加数的程式,但那也要每位占掉一组I/0口,不能轮流动态显示!我查过一些资料都有hki的硬件架构,就是程式的例子
给TA发消息
加TA为好友 发表于: 14:24:06 21楼
没有程序案例参考!........
给TA发消息
加TA为好友 发表于: 16:58:14 22楼
他的电路图有缺陷。P0最好加上上拉电阻,P2口的数显控制最好加上限流电阻。300欧左右。
给TA发消息
加TA为好友 发表于: 17:00:46 23楼
北航的单片机好像很强,他们出版社有很多关于单片机的书。我也是看着那个入门的。
给TA发消息
加TA为好友 发表于: 17:21:22 24楼
不是好象,是确实。&&&&&&&&&&&&&&&&&
给TA发消息
加TA为好友 发表于: 08:07:01 25楼
我也是在网上看北航的演讲,真的很不错!
给TA发消息
加TA为好友 发表于: 13:25:50 26楼
最好再踏踏实实看看北航的书,那就相当的强了。
给TA发消息
加TA为好友 发表于: 08:03:57 27楼
这是我在一个单片机公司网站上下载的,大家帮忙看看这个程序实用性如何?
给TA发消息
加TA为好友 发表于: 08:08:09 28楼
这个程序不能编译,不知道什么原因!我试过好几次都不行,我用的是Keil& uVision3
给TA发消息
加TA为好友 发表于: 10:32:37 29楼
这是一个汇编程序,应该使用汇编而不是C。
74LS04的数据手册你应该有吧?看它的驱动拉出电流大还是灌入电流大、各是多少?
给TA发消息
加TA为好友 发表于: 22:48:36 30楼
劝楼主还是多多看看单片机的书籍!
好多事情不是简单说说你就明白的!
不要说用两个端口(比如P0,P1)
可以实现3,4位的显示,
就是一个端口也可以8位的显示
动态扫描啊!
给TA发消息
加TA为好友 发表于: 16:56:11 31楼
注意中英文字符。另外好好学习KEIL。有可能你的文件后缀不对。
给TA发消息
加TA为好友 发表于: 17:37:21 32楼
用动态扫描吗,P1口P2口还剩几线可以做他用。
给TA发消息
加TA为好友 发表于: 18:08:41 33楼
&&& 27楼的那个不错,可是我玩来来,真是没办法.看来要好好向你们学习单片机方面的东东啦.
给TA发消息
加TA为好友 发表于: 19:33:01 34楼
九楼和27楼的都不可取,我做过实际类似的东西。我建议这样,数码管用共阳极,位驱动用个PNP三极管,各段加电阻限流,如果要求不高可以共用一只电阻限流。如果嫌动态扫描写代码麻烦,可以用3个74HC595扩展端口,元件价格便宜且易购
给TA发消息
加TA为好友 发表于: 20:34:09 35楼
用段选位选 不久行了吗?& 用2个锁存器&&& p0口没有上拉电阻的话& 记得外接上拉电阻&
给TA发消息
加TA为好友 发表于: 13:04:00 36楼
我就想给楼主说一下,不要只盯着别人的程序看,这样对你学习单片机没有好处,自己把相关的概念学习后,自己设想一个实际的实物进行编程。对于你的问题,你可以利用I/O扩展的方法对P1和P2口进行扩展,用3个端子可以扩展成8个输出,这样下去就可以无限扩了,只要要求不高可以实现更多的现实。
给TA发消息
加TA为好友 发表于: 13:08:20 37楼
依据你的设计图纸,只需要对P3口进行扩展就可以了
给TA发消息
加TA为好友 发表于: 13:11:28 38楼
如果楼主是自学单片机的话,我推荐楼主一定要多注意与单片机相关的外围芯片的利用,不要只局限于单片机这一个片子上,单片机单独工作时能实现的功能太少了,必须借助外围芯片的帮助!
给TA发消息
加TA为好友 发表于: 08:56:45 39楼
是啊!你说得很对,我是应该多考虑这些问题!
给TA发消息
加TA为好友 发表于: 13:49:06 40楼
上海造圣信息科技有限公司
地址: 上海九新公路58号2栋2202室
电话: 86-21-21238
传真: 86-21-
手机: 86-21-
40pin EDC 4000 44pin EDC 4000 宽温
容量 40pin:128MB - 8GB/ 44pin:128MB-8GB
接口 40pin/ 44 pin IDE ATA ANSIStandard
IDE 传输模式 PIO Mode 0-6,MwDMA Mode 0-2, UltraDMA Mode 0-4
尖峰速度 66.6Mbyte/sec
数据传输速率 128MB~2GB :
读 : 20Mbytes/sec (max.) 写 : 10Mbytes/sec (max.)
2GB~8GB :
读 : 40Mbytes/sec (max.) 写 : 20Mbytes/sec (max.)
系统可靠性
ECC 技术 内建 ECC 功能
不正常掉电 大于3,000 次
MTBF 大于3,000,000 hours
平均写入 支持
一般技术要求
操作温度 -10& C ~ +70& C (标准)
-40& C ~ +85& C (工业)
存储温度 -55& C ~ +125& C
湿度 10% ~ 95%不结露
震动 5G(7~2000Hz)
冲击 50G/10ms
DC 输入电压 +3.3V/+5V single power supply operation
电源模式 Auto Stand-by and Sleep Mode
功耗 150mA(MAX)
外壳 PC Mechanical Cover
外形尺寸 40-pin: 60.2x6.4x27.8mm(WxLxH)
44-pin: 50.3x5.8x27.3mm(WxLxH)
认证 CE, FCC, RoHS
给TA发消息
加TA为好友 发表于: 21:29:44 41楼
晕死,好简单的,一搜一大把。。。。P0选字 P2选位 FOR循环 扫面显示,你要的话可以给你一个C 语言的 程序, QQ
给TA发消息
加TA为好友 发表于: 11:30:23 42楼
用锁存器啊 字数字数
给TA发消息
加TA为好友 发表于: 12:18:15 43楼
我也想学习一下那位高人指点
给TA发消息
加TA为好友 发表于: 13:42:37 44楼
用串行输出,不用并行的。去单片机的论坛看看。
给TA发消息
加TA为好友 发表于: 13:36:54 45楼
你可以用74HC595试试。我正在用。
给TA发消息
加TA为好友 发表于: 14:37:46 46楼
方法很多,关键不在硬件怎么实现,而是您是怎么理解显示的实现方式的
给TA发消息
加TA为好友 发表于: 23:30:34 47楼
确实很多,还有一种拉幕式显示,只用10个IO口,要两个锁存器。是动态扫描出来的。先控制一个锁存器输出段选码,关断后开启另一个锁存器输出位选码。如此循环,至少10HZ以上。可以自己想一下,不是什么难事。
给TA发消息
加TA为好友 发表于: 15:08:01 48楼
网上好像有个单片机的视频教学,你可以去找来看看,上面对比较基本的单片机操作都有讲到。好像叫什么十天学会单片机什么的?题目夸张了点,但是讲的内容还是比较实在的。
给TA发消息
加TA为好友 发表于: 16:12:53 49楼
搞个数码管动态显示还在这里大费篇章!直接百度一下不就搞定了吗!这里应该多交流一点工业控制哒嘛~
给TA发消息
加TA为好友 发表于: 09:27:29 50楼
我做单片机控制数码管好多年了,有机会交流:QQ:
周点击排行
周回复排行

我要回帖

更多关于 汇编数码管显示 的文章

 

随机推荐