电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

一位数码管两种驱动方法 原理图与程序(汇编+C语言)

  • 资源ID:140531398       资源大小:63.21KB        全文页数:6页
  • 资源格式: DOCX        下载积分:1.99金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要1.99金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

一位数码管两种驱动方法 原理图与程序(汇编+C语言)

一位数码管两种驱动方法(入门级实验)目录实验介绍:1实验目的:1仿真原理图:2实验1汇编语言代码3实验1汇编语言代码2(直接赋值方法):3实验1 C语言代码4实验2汇编语言代码5实验2 C语言代码6实验介绍:数码管(这里所说的数码管一般指8段数码管,下文中的数码管都是指8段数码管)在我们生活中非常常见,对于纯数字显示的场合如温度显示,价格显示等等都可以使用。另外,数码管也可以用于简单字母或符号显示的场合,例如数码管可以显示十六进制中的AF。数码管按极性的不同可以分为共阳极和共阴极的数码管,所谓共阳极数码管可以简单理解为数码管的公共端需要连接电源正极才可以正常使用,共阴极数码管可以理解为数码管的公共端需要连接电源负极才可以正常使用。在使用采用单片机驱动数码管时,由于单片机引脚的灌电流能力较强,因此常采用共阳极数码管。在此次实验中,主要介绍两种数码管的驱动方式,单片机直接驱动,通过数码管驱动芯片来驱动。实验目的:该实验的主要目的是通过实验1对P口的灵活控制每一位的状态,从而控制数码管的相应“段”的亮灭状态,从而实现数码管数字的显示。通过实验2,理解数码管驱动芯片的实用方法。仿真原理图:图1 实验1仿真原理图图2 实验2仿真原理图在仿真软件Proteus中绘制仿真原理图如上图所示。(注意事项:在仿真过程中,数码管并没有串联降压电阻,而在实际电路中,最好根据实际的数码管的型号串联相应的电阻。仿真时如果想使用P0口,则需要添加上拉电阻。另外也要注意数码管的极性,共阴极和共阳极的段码是不同的。)仅仅从原理图角度来看,实验1的原理图较实验2原理图要简单一些,在实验1中单片机直接驱动数码管,而实验2单片机通过7446芯片来驱动数码管。不过从所占用I/O口方面来看,实现数码管显示功能,实验2所占用的单片机I/O口要比实验1所占用单片机I/O口要少很多。因此读者在实际应用过程中,要根据所设计的单片机控制系统的特点,选择不同的数码管驱动方式。实验1汇编语言代码汇编语言代码1(查表法):ORG 0HJMP MAINORG 30HMAIN:MOV DPTR,#TABLEMOV R5,#10X1:CLR AMOVC A,A+DPTRMOV P2,ACALL DELAYINC DPTRDJNZ R5,X1JMP MAINDELAY:MOV R2,#20X3:MOV R3,#40X2:MOV R4,#250DJNZ R4,$DJNZ R3,X2DJNZ R2,X3RETTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END注意:该方法明显比直接赋值法要简洁,但是在上述程序段中,用了查表指令“MOVC”以及向ROM中写入表格数据的伪指令“DB”,该方法建议掌握直接赋值法后,再使用。实验1汇编语言代码2(直接赋值方法):ORG 0HJMP MAINORG 30HMAIN:MOV P2,#0C0HCALL DELAYMOV P2,#0F9H CALL DELAYMOV P2,#0A4HCALL DELAYMOV P2,#0B0HCALL DELAYMOV P2,#99HCALL DELAYMOV P2,#92HCALL DELAYMOV P2,#82HCALL DELAYMOV P2,#0F8HCALL DELAYMOV P2,#80HCALL DELAYMOV P2,#90HCALL DELAYJMP MAINDELAY:MOV R2,#20X3:MOV R3,#40X2:MOV R4,#250DJNZ R4,$DJNZ R3,X2DJNZ R2,X3RETEND注意:该程序段变成思路简单,易于理解,适合初学者编程时使用,但是略显冗长。实验1 C语言代码#include <reg52.h>#include <intrins.h>void delay()/延时函数 unsigned int i,j; for(i=0;i<100;i+) for(j=0;j<1000;j+) _nop_;void main() unsigned char a=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; unsigned m; while (1) for(m=0;m<10;m+) P2=am; delay(); 注意:在定义数组a时,a中的数据都用十六进制表示,在C语言中,十六进制用“0x”表示,将“0x”放在数据的前面代表十六进制。使用汇编语言可以使用二进制编程,但是使用C语言编程时,没有二进制。实验2汇编语言代码ORG 0HJMP MAINORG 30HMAIN:MOV P2,#0MOV R5,#10X4:CALL DELAYINC P2DJNZ R5,X4JMP MAINDELAY:MOV R2,#20X3:MOV R3,#40X2:MOV R4,#250DJNZ R4,$DJNZ R3,X2DJNZ R2,X3RETEND注意:在上述程序中,直接对P2口进行了加1操作,P2口的值从0开始,增加10次后,对P2口进行清零,P2口的值经过7446译码后,驱动数码管显示指定的数值。实验2 C语言代码#include<reg51.h>#include<intrins.h>void delay()/延时函数 unsigned int i,j; for(i=0;i<100;i+) for(j=0;j<1000;j+) _nop_; void main()unsigned char a;while(1)for(a=0;a<10;a+)P2=a; delay();注意:在使用数码管译码器驱动数码管显示数字时,显示的数字“6”与数字“9”与我们常用见的数码管稍微有一点区别,在使用的时候需要格外注意,另外数码管驱动器7446无法驱动数码管显示十六进制字母AF。6

注意事项

本文(一位数码管两种驱动方法 原理图与程序(汇编+C语言))为本站会员(dlyu****nhe)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.