4位共阳极数码管编码表段选怎么工作?程序中的16进制数是就那么几个定义的,还是会变?

共阳极数码管的动态扫描驱动_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
共阳极数码管的动态扫描驱动
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢一、 数码管显示原理
我们最经常使用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其它的基本同样。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,事实上共阴极就是将八个LED的阴极连在一起,让其接地,这样给不论什么一个LED的还有一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图例如以下。
当中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,相应一个字节的8位,a相应最低位,dp相应最高位。所以假设想让数码管显示数字0,那么共阴数码管的字符编码为,即0x3f;共阳数码管的字符编码为,即0xc0。能够看出两个编码的各位正好相反。例如以下图。
二、 点亮一个数码管
以下以七段共阴数码管为例讲述如何点亮一个数码管。
l 51系列单片机的P0口没有上拉电阻(其它port有),所以假设直接接数码管的段选线,那么不能将其点亮。我们须要为其加上220欧姆的上拉电阻,注意,上拉电阻阻值不能过大。实验原理图例如以下。
当中,7SEG-COM-CAT-GRN为七段共阴数码管,显示为绿色。RES为电阻。查找电阻时,须要选中以下的Resistors,例如以下图。
右击选中图中的电阻再左击,弹出的窗体中可改变它的阻值。例如以下图。
那七个电阻看上去非常乱,事实上他们能够用一个排阻(RESPACK-7)取代。例如以下图。
到这里原理图就画完了,我们開始写源程序。让数码管显示字符“0”。
void main()
P0 = 0x3f; //P0口送字符‘0’的编码
显示效果例如以下。
由于这个程序就一句话,非常easy,所以我们不再进行分析。
三、 一个数码管显示不同字符
以下的程序让一个数码管轮流显示不同的字符。
void delay();
void main()
P0 = 0x3f; //显示字符‘0’
delay(); //延时一会
P0 = 0x06; //显示字符‘1’
P0 = 0x5b; //显示字符‘2’
void delay()
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
这个程序实现字符‘0’,‘1’,‘2’的循环显示。但假设要循环显示很多其它的数字,每次都写出他们的编码非常麻烦,这里我们能够将全部的编码都写到一个数组里,以后仅仅需调用数组就能够了。程序例如以下。
unsigned char code table[]={0x3f,0x06,0x5b}; //定义编码数组,注意最后的分号
void delay();
void main()
P0 = table[0]; //调用数组的第一个元素
P0 = table[1];
P0 = table[2];
void delay()
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
这里要说明的是,unsigned char表明数组中的元素是无符号字符型数据,code表明这是编码数组,其编译后不占内存空间而是占程序存储空间,我们知道单片机的内存空间非常小,所以这个非常重要。table是数组名字,自己能够随便更换。由于数组中的元素是从0開始排的,所以table[0]就是第一个元素0x3f。
四、 多个数码管同一时候显示
原理图例如以下:
当中,7SEG-MPX8-CC-BLUE是8位八段共阴数码管,显示为蓝色。其段选线接在P0口,位选线接在P2口。
让全部数码管显示同一个字符。源程序例如以下:
void main()
P2 = 0; //P2口各位全为低电平,选中数码管全部位
P0 = 0x3f; //显示字符‘0’
这个程序仅仅比第一个程序多了一条“P2 = 0;”,这样来实现位选。终于效果例如以下:
让随意位显示字符。源程序例如以下:
void main()
P2 = 0 //选中从左数的第1,3,5,7位数码管
P0 = 0x3f;
效果例如以下:
五、 动态显示
以上的显示均为静态显示,以下讲述动态显示。而究竟什么是静态显示什么是动态显示,等看完以下的内容就会非常清楚了。
由于上面多个数码管显示时仅仅能显示同一个字符,怎么才干让不同的数码管显示不同的字符呢?我们先完毕这种一个程序,让第一位数码管显示1,然后第二位数码管显示2,然后第三位数码管显示3。为了使程序短些,我们仅仅控制前三位,要想让其它五位也显示,道理是一样的。
源程序例如以下:
unsigned char code table[]={0x3f,0x06,0x5b,0x4f};
void delay();
void main()
P2 = 0 //选中第一位数码管
P0 = table[1]; //让其显示字符‘1’
delay(); //延时一会
P2 = 0 //选中第二位数码管
P0 = table[2]; //让其显示字符‘2’
P2 = 0 //选中第三位数码管
P0 = table[3]; //让其显示字符‘3’
void delay()
for(i=1000;i>0;i--)
for(j=100;j>0;j--);
这个程序就是分别选中一位数码管,让它显示一个字符,同单位数码管显示的原理是一样的。这里你会发现每显示完一个字符之后都有一个延时,这个延时有什么作用呢?我们能够先试着改变这个延时,看会有什么效果。我们先将delay()函数中的第一个for循环中的i的初值由1000,改为100,再运行一下程序,有什么效果?然后再将其改为10呢?这时是不是我们想要的不同数码管同一时候显示不同的字符的效果已经出来了。效果例如以下:
这就是上面所说的动态显示效果。那静态显示与动态显示究竟有什么不同呢?非常明显,通俗的说,我们把向数码管各位轮流送入字符编码和位选信号,利用人眼的视觉暂留,让人感觉好像几位数码管被同一时候点亮,这样便能够在不同的数码管上同一时候显示不同的字符的效果称为动态显示。打个比方,你晚上拿根点着的烟,在空中高速划过,你就会看到一条亮线,但事实上它仅仅是一个亮点划过而已。假设你对它还不了解,能够到别的资料上查看一下视觉暂留的相关知识。而静态显示就是真实的同一时候选中几位。这就是它们的根本差别。
到这里我们必须先说明一个问题了。前面我们敲代码都是全部直接写到main()函数里的。那么你有没有想过,main()函数里的语句从头运行到尾,那么语句全部运行完了会怎么样呢?你会想到它会从头再開始运行,对吧!由于由前面的程序能够看出,指令是在无限循环运行的。但依靠这种默认的循环并不可靠,一般地,我们都是在程序中用一个死循环语句来实现无限循环的。上面的源程序的主函数可改为:
void main()
while(1) //死循环
P0 = table[1];
P0 = table[2];
P0 = table[3];
能够看到,我们是把全部要循环的语句都放到了一个while(1){}循环中运行的。在以后的程序中,程序的主体部分都会放到这个语句中。
程序写成这样以后,你再将延时函数的延时缩减,比方:
void delay()
for(i=5;i>0;i--)
for(j=1;j>0;j--);
这时运行程序,是不是发现非常乱了!效果可能例如以下:
这就是我们所说的“拖影”。
事实上在真实的板子上,就算延时非常长,也能够看见“拖影”现象。出现这种现象的原因是CPU的运行速度非常快,当送入位选和段选数据后,接着又送入位选数据,但该位的段选数据还没有送入,所以该位还保持着上次的段选数据,接着该位的段选数据送入,由于视觉残留,两个段选数据的显示效果重合,形成了混乱。简单的说,就是一位数码管显示了它前一位要显示的字符和它本身要显示的字符的重叠效果。要想避免“拖影”就必须在每位数码管显示完后将其关闭,我们能够添?“P2 = 0”,这样各位数码管都不会选中,然后下一位再显示时就不会有影响了,这就是所谓的“消影”。我们把程序改为例如以下:
void main()
P0 = table[1];
P2 = 0 //消影
P0 = table[2];
P0 = table[3];
可是当运行后,你会发现效果并没有变化。为什么呢?为了研究原因,我们进行联机调试,然后单步运行程序,看看程序究竟是怎么运行的。关于怎么联机调试,我们曾经已经专门讲过,这里不再叙述。
例如以下图,先在keil中按下调试按键,会发现Proteus仿真图已经開始运行。然后在keil中选择源程序one显示界面,并按下单步调试按键,它表示进入子函数内部,比如以下的调试过程中会进入delay()函数的内部。按下该按键后,会在第一条语句前出现黄色箭头,表明这条语句还没有运行,下一次将会运行该语句。
再次点击单步按键,第一条语句运行完毕,会发现第一位数码管被点亮,由于还没有赋值,所以七段都被点亮了。例如以下图。
再点击单步按键,能够看到尽管段选已经赋值了,但数码管并没有显示。例如以下图。
再点击单步,便进入了delay()函数的内部,此时数码管也显示出‘1’了,例如以下图。
连续点击单步,直到跳出delay()函数,以后我们就点击还有一个单步按键,它不会进入子函数内部。例如以下图。
点击单步后,运行完P2=0xff;语句,数码管不再显示,例如以下图。
再点击单步,运行完P2=0xfd;语句,我们发现第二个数码管竟然显示的是‘1’,事实上也对,由于段选的数据还没有改变呢。这正是产生“拖影”的原因。例如以下图。
再点击单步,准备运行延时函数。例如以下图。
点击单步,运行完延时函数后,显示出了正确的字符,例如以下图。
由于已经找到了原因,所以我们联机调试就到这里。能够看到,在进行联机调试单步运行时能够发现非常多程序运行的细节,所以对一些不好想的问题,我们都能够通过这个方案去寻找答案。
我们已经看到程序出错是由于消影语句“P2 = 0xff;”并没有起到应有的作用。那如何才干起到作用呢?刚才在联机调试时我们已经发现仅仅要给了数码管位选数据,它就会被点亮,所以我们能够先给其送入段选数据,然后给其送入位选数据,这样它应该会显示正确字符了,然后延时让它亮一会,再加上消影语句,它就会被熄灭。再给第二位送入段选数据,但这时数码管还是灭这的,它不会产生拖影,此时给其送入位选数据,它就能显示正确的字符了。程序可更改例如以下:
void main()
P0 = table[1];
P0 = table[2];
P0 = table[3];
这样编译后运行就能完美的显示了。假设你还是不太明确,能够再次进行联机调试,看一下程序的运行过程。
说明:从上面能够看出,就算是两条语句的顺序错误,也会非常大地影响整个程序的运行效果。调试程序是个非常繁杂的工作,为了少出错,我们就要在写源程序时规范我们的语句,从最简单的程序開始,将它研究透了,这样再写大程序时,才不会在这些细节问题上浪费大量的时间。这里我们仅仅是做一个演示样例,还有很多其它的细节知识须要自己在写大量的程序的过程中积累。知识能够传授,但经验是不能传授的。
阅读(...) 评论()您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
4位数码管实验报告(共10篇).doc 26页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
4位数码管实验报告(共10篇)
你可能关注的文档:
··········
··········
4位数码管实验报告(共10篇)
实验四LED数码管显示程序报告
实验名称LED数码管显示程序
指导教师专业班级姓名
学号 联系电话
一、任务要求
实验内容:利用C单片机控制数码管显示器 基本要求:
利用末位数码管循环显示数字0-F,显示切换频率为1Hz。
提高要求:
在数码管上显示0→1999计数,计数间隔为0.5秒,KINT键可开启10倍加速。
二、设计思路
基础部分:选中末位数码管,将对应数值输入P1显示,TO控制延时
提高部分:通过对P0.6、P0.7赋予不同的值,进行位选管。再将对应的数字输入显示管中,点亮。TO控制延时。KINT键开启加速。
三、资源分配
标准部分:R0-数码管计数器
数据表TABLE-存储对应段码的值
提高部分:R1-TH0初值
R2-TLO初值
R3-判断标志位,选择对应的数码管亮
R4、R5、R6、R7对应数位显示计数器
R0-数码管计数器
数据表TABLE-存储对应段码的值
KINT-加速键
四、流程图
1、 基础部分
2、 提高部分
3、 ITOP中断部分
4、 IT1P部分
篇二:实验四 七段数码管显示实验报告
实验四 七段数码管显示实验
一、 实验目的
掌握数码管显示数字的原理。
二、 实验内容
1. 静态显示:数码管为共阴极,通过BCD码译码驱动器CD4511驱动,其输入端A~D输入4位BCD码,位码输入低电平选中。按图4-1连接好电路,将8255的A口PA0~PA3与七段数码管LED1的BCD码驱动输入端A1~D1相连,8255的A口PA4~PA7与七段数码管LED2的BCD码驱动输入端A2~D2相连,8255的B口PB0~PB3与七段数码管LED3的BCD码驱动输入端A3~D3相连,8255的B口PB4~PB7与七段数码管LED4的BCD码驱动输入端A4~D4相连,8255的C口PC0~PC3分别与七段数码管LED4~LED4的位驱动输入端DG1~DG4相连。编程从键盘上每输入4个0~9数字,在七段数码管LED4~LED4上依次显示出来。
2. 动态显示:数码管为共阴极,段码采用相同驱动,输入端加高电平,选中的数码管对应段点亮,位码采用同相驱动,位码输入端低电平选中,按图4-2连接好电路,图中只画了2个数码管,实际是8个数码管,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~g相连(32TCI0模块上的J1连32LED8模块J2),8255的C口的PC0~PC7接七段数码管的段码驱动输入(32TCI0模块上的J3连32LED8模块J1),跳线器K1连2和3。编程在8个数码管上显示“”。按任意键推出运行。
三、 编程提示
1. 由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。
2. 对实验内容1,七段数码管字型代码与输入的关系如下
四、 参考流程图
1. 实验内容一的参考流程图
2. 实验内容二的参考流程图
五、 参考程序
1. 内容一的参考程序 源程序清单如下:
篇三:湖南工业大学单片机实验报告 4数码管显示实验
实验四、数码管显示实验
一、 实验目的
学会数码管动态扫描显示方法
二、 实验设备
PC机、Keil 软件、Proteus软件。
三、 实验要求
1. 设计一个0-20计数器,计满后自动清0并重新计数
2. 将计数结果用两个数码管显示
四、 实验内容
运用Keil和Proteus软件进行编程和电路设计,最后进行仿真。
五、 实验程序解析
--------------------------------------------------------------
;初始化程序
;--------------------------------------------------------------
INTI: MOV 20H,#00H
MOV disdata1 , #00H第一个数码管
MOV disdata2 , #00H
MOV disdata3 , #00H
MOV disdata4 , #00H ;第四个数码管 disdata1
DATA 50H;第一个数码管(右边开始) disdata2
DATA 51H ;第二个数码管 disdata3
;第三个数码管 disdata4
DATA 53H ;第四个数码管 disdata5
DATA 54H disdata6
DATA 55H disda
正在加载中,请稍后...豆丁微信公众号
君,已阅读到文档的结尾了呢~~
激光三角法板材厚度在线测量仪的研究与设计厚度,设计,板材,激光三角法,测量仪器,测量的,板材在线测,厚度测量仪,板材的,测量与
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
激光三角法板材厚度在线测量仪的研究与设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口基于小脚丫FPGA开发板和四位数码管 的数字时钟设计
1、设计要求基于小脚丫FPGA开发板和四位数码管实现的设计,要求:1)采用FPGA+按键+四位数码管实现数字时钟功能;2)时间显示格式:XX:XX:XX (时:分:秒),采用24小时制;3)四位时分秒,可以通过按键控制选择显示时分界面还是分秒界面。4)通过按键设定初始时间。5)设置在整点12点时,通过蜂鸣器响示意整点报时。蜂鸣器响维持大概5S;2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的24MHz时钟晶振,连接FPGA的C1引脚。本设计用到五个个按键K1~K5,硬件设计如图1所示,五个按键分别连接到FPGA的B8、C8、A10、A11和A12引脚。图1. 按键硬件设计本设计用到一个蜂鸣器来示意整点报时,硬件设计如图1所示,蜂鸣器连接到FPGA的B2引脚。图2. 蜂鸣器硬件设计本设计用到四位数码管来显示时间,四位数码管用两个74HC595驱动,硬件设计如图1所示,74HC595的串行时钟SCK、并行时钟RCK和串行数据DIN分别连接到FPGA的N2、M1和K1引脚上。图3. 数码管驱动74HC595硬件设计3、工作原理1)使用计数器做分频处理,得到周期为1秒的脉冲信号;2)使用三个8bit的BCD码表示时钟、分钟、秒钟的值,其中高4bit表示值的十位,低4bit表示值的个位;3)正常运行时,每来一个1S脉冲信号个位加1,个位满10清零同时十位加1,当秒钟满60清零同时分钟个位加1,依次进行...直到23:59:59的下一刻全部清零;4)按键K5,模式调节,设计共分4中模式(分秒显示、分秒调节、时分显示、时分调节),按动K5依次切换模式;5)按键K2,时间调节,当数字时钟在时针调节、分针调节或秒针调节模式时,按动K2调节对应时间位;6)在调时分和调分秒两个状态,可以通过K4和K2键分别左移右移要调整的位,要调整的位会通过对应位的闪烁来示意。通过K4和 K2左右移动选择好要调整的位以后,就可以通过K1和K3来增大或调小对应的位;4、代码设计为了实现所需要的功能,我们将整个设计划分不同的模块,如图4所示。图4. 数字时钟程序设计框架4.1
五位按键消抖模块图5. 五位按键消抖模块 ?输入:五位的按键电平信息输入 ?输出:五位消抖后的脉冲输出 ?功能:将按键按下一次的电平信号,经过消抖后变成一个维持一个时钟周期的脉冲信号; ?原理:图6. 按键抖动特性FPGA过20ms检测按键是否按下,存储检测到的值,并且按位取反与前一个20ms检测的值相与,得到一个值,如果为1,则判断按键按下,否则则无按下。图7.
FPGA按键的理解示意图4.2 电子表显示控制模块。图8. 电子表显示控制模块 ?输入:五位的按键脉冲 ?输出:十六位的BCD码输出,每四个代表一个十进制数; ?原理:四位的位闪烁控制信号。某一位为一代表这位对应的数码管的一位进行闪烁显示。(在调整状态下,会让当前调整的哪一位进行闪烁。正常显示状态下seg_flash_data全为零); ?功能:主要就是一个状态机,通过检查输入的按键信息,进行显示状态切换,时间调整。四个状态分别为:显示分秒,调分秒,时分显示,调时分;当K5按键按下(key_pulse[4])时依次跳转,如图9所示。图 9. 数字时钟状态控制设计4.3 数码管译码模块图10. 数码管译码模块 ?输入:四位的BCD码数据 ?输出:八位的七段数码数据 ?功能:一个case语句,将输入的四位BCD码转化为七段数码数据; ?原理:数码管分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳极(COM)需接+5V才能使其工作。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码,共阴极(COM)需接GND才能使其工作。小脚丫拓展板上的数码管如下图所示:图11. 数码管内部电路共阴极数码管:位选为低电平(即0)选中数码管;各段选为高电平(即接+5V时)选中各数码段;由0到f的编码为:4.4 四位数码管显示控制模块。图12. 数码管显示控制模块 ?输入:四个八位的七段数码管数据和位闪烁控制信号seg_flash_data.
?输出:需要串行输出给74HC595的十六位数据; ?功能:模块就是循环的将四位七段数码数据,组合一个十六位的输出数据;4.5 74HC595驱动功能模块图13. 74HC595驱动功能模块 ?输入:十六位的位选段选数据。 1)duan_wei_data[13:0]分别对应: 2)[ X,X,H+,H-,DIG4,DIG3,DIG2,DIG1,DP,G,F,E,D,C,B,A] ; ?输出:SPI接口输出,串行输出十六位位选段选信号; ?功能:将输入的并行的十六位的位选段选数据通过SPI接口转化为串行输出; ?原理:详见Text8.数码管显示及74HC595芯片资料5、系统运行图14. 系统运行视频地址:6、资源报告
7、知识点?时钟计数分频?按键消抖处理?功能建模?波形仿真?SPI时序实现?74HC575数码管驱动原理8、参考文档Lattice MachXO2数据手册9、相关文件
Watch_system
顶层模块,将所有功能模块接口连接起来
Clock_control_module
实现数字钟的计时,调整,整点报时功能
Key_jitter
实现按键消抖
Smg_encoder_module
实现BCD码到数码管段码的转换
Seg595_control_module
循环送出每位数码管段位数据
Seg595_function_module
实现SPI时序,十六位的段位数据串行移入74HC595
电路相关文件(请在PC端查看下载)
电路城电路折扣劵获取途径:
电路城7~10折折扣劵(全场通用):对本电路进行评分获取;
电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。
版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击反馈给电路城。
使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
大家都在看:
本设计是基于51单片机的电磁炉仿真,通过51单片机的IO接口P3.0为输出口,用于控制线圈的打开和关断。其中P1.0和P1.1对微波炉功率进行调整。附件内容包含protues仿真电路和c语言代码。
来自:时间:
ZY-EDA2 开发板是本公司新近推出基于ALTERA 公司Cyclone IV 系列FPGA 以及MAXII 系列CPLD 的EDA 学习开发实验套件套件设计上添加了丰富的外设资源,用于最大限度的为客户提供学习资源。ZY-EDA2 开发板实物截图:ZY-EDA2 开发板资源如下:1. 四个独立按键,用于进行输入实验。2. 四个高亮LED,可用于输出实验。3. 一个串口,用于串口通信实验。4. 一个VGA接口,可用于VGA实验。5. DS1302 RTC电路,用于实时时钟实验。6. 一个有源蜂鸣器,一个无源蜂鸣器,用于声音输出实验。7. LCD1602驱动接口,可进行LCM驱动实验。8. 8位动态数码管设计,2位静态数码管设计,用于输出显示实验。9. 5.0TFT液晶显示屏,用于高级的显示输出实验。10. 一个PS2接口,可用于键盘实验。11. USB接口,主从设计,CH376USB接口实验。12. SD卡接口,用于SPI和SD实验。13. TLC5615串行DA,用于DA实验。14. TLC5510并行AD,用于AD实验。15. IIC铁电存储器,用于存储器实验。16. DS18B20温度传感器,用于温度测试实验。17. 4*4矩阵键盘用于输入实验。18. 电压表头,可用于实际的电压测量(0-100V直流)。19. CPLD EPM240T100,用于数字逻辑基础实验。20. 20位二值开关,用于输入实验。21. 20位LED输出,用于输出显示实验。22. 4位微动开关,2位上触发,2位下触发,待用LED指示(低电平亮)。23. 面包板用于自行扩展实验,配有8位二值开关,8位LED输出实验,16位CPLD接口电路。24. 4位拨码开关,用于设计时钟组合实验,配有2位LED指示输出。25. 可拆卸的核心板设计,可用于二次开发。26. 直流+5V,+12V,-12V电源供应。27. 所有的外设都设计有独立的电源开关,在实验中使用不到的外设可以独立开启或者关闭,以达到节约能耗的目的。28. 软件附带Verilog设计实例,Nios设计实例,配有详细的教程,可以直接用于实际工程设计。
来自:时间:
本设计分享的是倒车系统超声测距和数码管显示设计,见附件下载其原理图/PCB/源码。该超声波测距倒车系统硬件部分采用STC89C52 单片机作为主控单片机,硬件电路主要由发射电路、接收电路、显示电路、报警电路等几部分组成;软件部分由主程序、显示子程序、超声波发射子程序、延迟子程序、计算子程序、报警程序等组成。该电路具有结构简单、操作方便、精度较高、应用广泛的特点。
来自:时间:
【冰点大促销】!本人上传所有电路优惠价啦~资料目录:代码详细注解:统一的代码风格:功能模块划分,便于复用:需要用到的器件:FPGA开发板(任意,推荐小脚丫)6位数码管(位选)按键*2旋转编码器*2
来自:时间:
基于74HC595的八位数码管显示板特点: 主要器件:共阳数码管工作电压:直流5伏8位独立数码管显示。内部有三极管驱动电路。段码串有限流电阻。 TTL电平控制,可以直接由单片机IO口控制。八位段码输入,8位位码输入。动态扫描显示。附件包含原理图和PCB图。
来自:时间:
猜你喜欢(实时推荐最适合你的电路)
前言:旋转编码器是用来测量转速并配合PWM技术可以实现快速调速的装置,输出的是脉冲信号,可以用于电机的调速等。本项目就是通过FPGA接收编码器的信号,控制LED颜色的变换。其中FPGA使用的是由摩尔吧孵化器开发的小脚丫FPGA开发板,编码器使用的是avago(安华高)的HRPG-AD32编码器。方案设计:
增量型旋转编码器有两路相位不同的信号输出,Phase A 和 Phase B,FPGA需要对这两路输入信号进行分析,判断出旋转的动作,输出一个加(up)或减(down)的脉冲信号。同时,很多旋转编码器都有按键功能,除了旋转以外可以按下,这个按键和旋转是独立的。FPGA内部对按键进行了消抖动,并响应动作产生一个脉冲信号(key_out)
改代码加入了现象的验证,输出为6位数据,可接上LED观看现象,旋转和按键会使LED产生流水灯效果在小脚丫开发板上的现象如下图,两个三色LED会按照如图方式进行切换轮流显示。视频中可以观看到硬件设计:连接图中,主要有电源和GND,两路信号,按键信号(如果有按键),大地(接机壳,Avago HRPG-AD32#16F上没有按键,多了一个接机壳的地脚,仍然是5个脚)软件设计:FPGA程序结构:FPGA资源占用情况:项目视频演示:【小脚丫开发板介绍 】可编程逻辑的设计方法从根本上改变了现代数字电路的设计,不管是从最简单的与非门还是到最复杂的SoC。通过一句句硬件描述语言可编程逻辑器件FPGA帮我们实现了各种数字电路,这一切显得十分神奇又十分神秘。目前市场上有各种各样的FPGA开发板,它们不是功能太复杂,使用门槛太高就是核心芯片老旧,几乎要被淘汰。Step团队经过精心挑选,打造了小脚丫一代FPGA开发板,为大家提供一个非常酷,实用,入门简单的学习开发平台。小脚丫的特性: 食指大小&&目前最小的FPGA开发板,尺寸52mm*18mm,即插即用;USB供电,自带板载编程器,无需额外配置FPGA下载线LCMXO2-1200,性价比最高最适合的FPGA芯片既可作学习数字逻辑的FPGA开饭,也可作核心功能模块使用,适合各种DIY和原型设计丰富的实例、代码支持【本设计中用到的主要芯片】LCMXO2-1200:Lattice FPGA,主频133Mhz,PBGA132封装(LCMXO2-1200数据手册)Avago Technologies:HRPG AD32 16F,旋转编码器,(Avago HRPG-AD32#16F数据手册)小脚丫开发板:DIP40封装形式,小巧精悍的FPGA开发板,(小脚丫开发板相关信息)小脚丫FPGA开发板【自带编译器】至爱板网商城购买:点击购买
来自:时间:
此款数显频率计是以前在学校的时候制作的,它有CD4060产生基准时钟提供给CD4017进行计数,然后经过编码器CDB译码器提供给数码管显示。对于电子初学者用处不错,可以加深对数字逻辑电路的理解。制作的样板时使用的是热转印制作。具体包括:计算机一台,生成热转印电路文档热转印纸A4一张老式电熨斗一个PCB覆铜板一张双氧水(过氧化氢)一瓶,盐酸一瓶。1比1比列配置。腐蚀速度很快哦,这个5*10cm的PCB差不多2到4秒即可完成。做完后马上放入清水清洗,不然可能损坏线路。
来自:时间:
该设计基于基于PCF8563的时钟电路设计,电路采用AT89C52作为主控制芯片,外接LM016L液晶显示屏和PCF8563时钟芯片。基于PCF8563的时钟仿真电路如截图:基于PCF8563的数字时钟源程序部分截图:附件内容包括:基于PCF8563的模块电路原理图和PCB源文件,用AD软件打开;数字时钟仿真电路,用proteus软件打开;数字时钟源程序;相关设计文档说明;
来自:时间:
仿了个12864大数字时钟12c887,板子和12864一样大,4个固定孔。该数字时钟以STC89C52RC为主控芯片,通过DS12CR887时钟芯片和DS18B20温度传感器在12864上实现日期、星期、时间、农历、温度等的显示。说明:附件内容包含两个版本的PCB板文件,要用的改下io定义就可以了。用1302的话还有好多IO口闲置可以再利用。。当然程序要自己找了。原理图:
来自:时间:
本设计为基于51单片机的时钟计时器,用AT89C52单片机作为主控制芯片,以及4个四位共阳LED数码管显示时、分、秒。以24小时计时方式运行,能整点提醒(蜂鸣),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)的功能。采用11.597MHZ的晶振,能提高秒计时的精确性。选用的是动态扫描法来实现LED的显示。程序设计简单,并且有详细的中文注释。便于电子爱好者学习应用。程序有主调用程序、计时及秒表中断程序、显示子程序、调时与闹钟时间设定程序。简易时钟电路设计原理图:拓展应用:该设计可以在现有的资源,实现校时、闹钟、秒表、倒计时、计数器的功能。附件内容包括:时钟计时器原理图和PCB源文件,用AD软件打开;源程序(有详细的中文注释);时钟计时器元件清单;时钟计时器proteus电路仿真;带倒计时等多功能数字电子时钟参考设计(包括原理图源文件+源代码+购买地址)
来自:时间:
小脚丫STEP-MXO2 二代是一款超小巧40脚DIP结构的FPGA开发板。核心FPGA芯片选用了Lattice公司MXO2系列的4000HC产品,相比于第一代小脚丫STEP-MXO2,板上的FPGA芯片资源提升了4倍。同时板上集成了FT232编程器和按键、拨码开关、数码管、LED等多种外设资源。板上的36个FPGA IO接口都通过2.54mm通孔焊盘引出,可以和面包板配合使用。板卡尺寸为52mm X 18mm,能够灵活的嵌入到插座或者其他的系统中。
可编程逻辑类型
FPGA芯片厂商
LCMXO2系列
2016 年 08 月 11日
2016 年 08 月 30日
aswzz购买了:
aswzz购买了:
fmpcfashao-37651购买了:
dks0615购买了:
ntg购买了:
dks0615购买了:
非控者购买了:
fmpcfashao-37651购买了:
免费下载!
您想购买此电路吗?,上传电路,审核成功后获取电路城6折折扣劵。
6折折扣劵只能购买小于100元(含100元)的电路。

我要回帖

更多关于 共阳极数码管编码 的文章

 

随机推荐