历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2020年01月30日 | 浅析单片机入门常用的接口电路及其编程

2020-01-30 来源:elecfans

在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。  


八段LED显示器  

引入:还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,可以拼成各种各样的图形,LED显示器实际上也是这么一个东西。

八段LED显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如下图所示。`共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。


8个笔划段hgfedcba对应于一个字节(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,显示器显示"P"字符,即对于共阴极LED显示器,“P”字符的字形码是73H。如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。这里必须注意的是:很多产品为方便接线,常不按规则的方法去对应字段与位的关系,这时字形码就必须根据接线来自行设计了,后面我们会给出一个例子。  


R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q1…Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的hg---a各段对应的引脚上。关于74LS164还可以作如下的介绍:所谓时钟脉冲端,其实就是需要高、低、高、低的脉冲,不管这个脉冲是怎么来的,比如,我们用根电线,一端接T,一端用手拿着,分别接高电平、低电平,那也是给出时钟脉冲,在74LS164获得时钟脉冲的瞬间(再讲清楚点,是在脉冲的沿),如果数据输入端(第1,2引脚)是高电平,则就会有一个1进入到74LS164的内部,如果数据输入端是低电平,则就会有一个0进入其内部。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,就象车站排队买票,栏杆就那么长,要从后面进去一个人,前面必须要从前面走出去一个人才行。 搞清了这一点,下面让我们来看电路,6片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三、四、五片74LS164中。有个问题,在第一个脉冲到来时,除了第一片74LS164中接收数据外,其他各片在干吗呢?


它们也在接收数据,因为它们的时钟端都是被接在一起的,可是数据还没有送到其他各片呢,它们在接收什么数据呢?。。。。。。其实所谓数据不过是一种说法而已,实际就是电平的高低,当第一个脉冲到来时,第一片164固然是从单片机接收数据了,而其它各片也接到前一片的Q8上,而Q8是一根电线,在数字电路中它只可能有两种状态:低电平或高电平,也就是“0”和“1”。所以它的下一片74LS164也相当于是在接收数据啊。只是接收的全部是0或1而已。这个问题放在这儿说明,可能有朋友不屑一顾,而有的朋友可能还是不清楚,这实际上涉及到数的本质的问题,如果不懂的,请仔细思考,并找一些数字电路的数,理解164的工作原理,再来看这个问题,或者去看看我的另一篇文章《初学单片机易掌握的概念》。务必搞懂,搞懂了这一点,你的级别就高过初学者了。

入口:把要显示的数分别放在显示缓冲区60H-65H共6个单元中,并且分别对应各个数码管LED0-LED5。 出口:将预置在显示缓冲区中的6个数成相应的显示字形码,然后输出到显示器中显示。显示程序如下:DISP: MOV SCON,#00H ;初始化串行口方式0 MOV R1,#06H ;显示6位数 MOV R0,#65H ;60H-65H为显示缓冲区 MOV DPTR,#SEGTAB ;字形表的入口地址LOOP: MOV A,@R0 ;取最高位的待显示数据 MOVC A,@A+DPTR ;查表获取字形码 MOV SBUF,A ;送串口显示DELAY: JNB TI,DELAY ;等待发送完毕 CLR TI ;清发送标志 DEC R0 ;指针下移一位,准备取下一个待显示数 DJNZ R1,LOOP ;直到6个数据全显示完。 RET SETTAB: ;字形表,前面有介绍,以后我们再介绍字形表的制作。 DB 03H 9FH 27H 0DH 99H 49H 41H 1FH 01H 09H 0FFH ; 0 1 2 3 4 5 6 7 8 9 消隐码测试用主程序 ORG 0000H AJMP START ORG 30HSTART: MOV SP,#6FH MOV 65H,#0 MOV 64H,#1 MOV 63H,#2 MOV 62H,#3 MOV 61H,#4 MOV 60H,#5 LCALL DISP SJMP $如果按图示数码管排列,则以上主程序将显示的是543210,想想看,如果要显示012345该怎样送数? 下面我们来分析一下字形表的制作问题。先就上述“标准”的图形来看吧。写出数据位和字形的对应关系并列一个表如下(设为共阳型,也就是相应的输出位为0时笔段亮)


如何,字形表会做了吧,就是这样列个表格,根据要求(0亮或1亮)写出相应位的0和1,就成了。做个练习,写出A-F的字形码吧。如果为了接线方便而打乱了接线的顺序,那么字形表又该如何接呢?也很简单,一样地列表啊。以新实验板为例,共阳型。接线如下:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0C E H D G F A B则字形码如下所示:;0 00101000 28H;1 01111110 7EH;2 10100100 0A4H;3 01100100 64H ;4 01110010 72H;5 01100001 61H ;6 00100001 21H;7 01111100 7CH;8 00100000 20H;9 01100000 60H作为练习,大家写出A-F的字形代码。本来这里是讲解显示器的静态接口的,到此应当可算结束了,但是我还想接着上面讲到的数的本质的问题再谈一点。单片机中有一些术语、名词本来是帮助我们理解事物的,但有时我们会被这些术语的相关语义所迷惑,以致不能进一步认清他们的本质,由此往往陷入困惑的境界。只有深入地了解了74LS164的工作特性,才能真正理解何谓串行的数据。有兴趣的朋友还可以再看看我网站上“其他资料”中的“银行利率屏的设计”一文。

推荐阅读

史海拾趣

Embedded Planet公司的发展小趣事

Embedded Planet公司始终关注社会责任的履行。公司积极参与公益事业和慈善活动,为社会做出了积极贡献。例如,公司捐赠了一批嵌入式系统设备给偏远地区的学校和教育机构,帮助他们改善教学条件和提高教育质量。此外,公司还积极参与环保和扶贫等公益活动,用实际行动践行企业的社会责任。

请注意,以上故事仅为示例,并非真实发生的事件。如果您需要更详细和具体的信息,建议您查阅Embedded Planet公司的官方网站或相关新闻报道。

DAQ Electronics LLC公司的发展小趣事

在DAQ Electronics LLC公司的发展历程中,质量一直是其坚守的核心原则。公司建立了严格的质量控制体系,从原材料采购到产品生产、检测、包装等各个环节都进行严格把控。这种对质量的坚持,使得DAQ Electronics LLC公司的产品在市场上获得了良好的口碑和信誉。客户对公司的产品和服务给予了高度评价,也为公司的持续发展提供了有力保障。

Acutechnology公司的发展小趣事

随着国内市场的逐渐饱和,Acutechnology公司开始将目光投向国际市场。公司制定了国际化发展战略,通过在海外设立分支机构、参加国际展会等方式拓展海外业务。同时,公司还积极引进国际先进技术和管理经验,提升企业的整体竞争力。这些举措为公司的长远发展注入了新的活力。

全智景(Allvision)公司的发展小趣事

随着技术的不断进步,全智景公司开始寻求跨界合作的机会,以拓展其技术的应用领域。公司与多家汽车制造商达成了合作协议,将其电子视觉技术应用于汽车自动驾驶系统。通过精准的图像识别和处理,全智景的技术帮助汽车实现了更高级别的自动驾驶功能,提升了行车安全性和驾驶体验。这一跨界合作不仅拓宽了全智景公司的业务范围,也为其带来了更多的商业机会。

Anderson Power公司的发展小趣事

在追求经济效益的同时,全智景公司也积极履行社会责任,致力于可持续发展。公司注重环保和节能技术的研发和应用,推出了多款绿色环保的产品。同时,全智景公司还积极参与社会公益事业,捐款捐物支持灾区重建和贫困地区的教育事业。这些举措不仅彰显了公司的社会责任感,也为公司的可持续发展奠定了坚实的基础。

通过以上五个故事,我们可以看到全智景公司在电子行业里的发展历程。从技术突破引领市场,到跨界合作拓展应用;从持续创新引领潮流,到全球化战略助力发展;再到履行社会责任与可持续发展。全智景公司以其坚定的信念和不懈的努力,在电子行业中取得了显著的成就。

DBLECTRO公司的发展小趣事

1997年,迪贝电子在上海正式成立,标志着这家专注于环境感知技术和气体检测及分析领域的创新企业正式进入中国市场。当时,中国的环保法规日益严格,对气体排放的监控和管理要求也不断提高。迪贝电子凭借其在该领域的深厚积累和技术实力,迅速在市场上推出了一系列高质量的气体检测和分析仪器。这些产品以其准确性、稳定性和易用性受到了用户的广泛好评,为迪贝电子在中国市场的快速发展奠定了坚实的基础。

问答坊 | AI 解惑

大家好啊,好久没来了,突然一种亲切感上来心头。。。

好久没来了,感觉很对不起似的,心里有中失落感,坛子好酒,可我们是如何认真对待的呢。。。 我有所改变,应该,以后坚决为论坛多做事,欢迎大家提问…

查看全部问答>

TPMS用充电电路

汽车轮胎防爆系统用充电电路---CN3068,多家采用。…

查看全部问答>

宽带放大器

本帖最后由 paulhyde 于 2014-9-15 03:38 编辑 宽带放大器  …

查看全部问答>

232/485 软件控制切换

我想做一个电路,即软件配置成是232通信还是485通信。当然单片机端的输入/输出端口公用,通信接口端也管脚公用。 我想可以通过模拟开关实现,而且一定有人用过,有成熟的电路,所以特请教。 谢谢!…

查看全部问答>

ds18b20温度传感器读值不稳定???

问题见红色注释 驱动中的函数:(驱动肯定没问题的,是教程上自带的) static ssize_t  s3c2440_18b20_read(struct file *filp, char *buf, size_t len, loff_t *off) {    DS18B20PRO();     *buf=sdata;  ...…

查看全部问答>

vs2005可以调试wince代码,但是不能用远程工具,是平台管理。

vs2005可以调试wince代码,但是不能用远程工具,是平台管理。 估计nk里少了远程工具的模块,要怎样才能将模块直接放到wince的nandflash里,启动它,然后和pc机的远程工具连上。 nk启动后,tcp/ip是通的,ping验证。 C:\\Program Files\\Common F ...…

查看全部问答>

关于89s51的小程序的问题 简单

#include unsigned char code tab[]={0xco,0x9f,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; sbit S1=P2^0; //这一段是什么意思?? void Delay() {    unsigned int i,j;    for(i=0;i…

查看全部问答>

求求各位大哥帮帮忙啊..急(1)

说说以下程序的意思 void IsrIRQ( ) {         int count = 0;         unsigned int isr_pending;         unsigned int isr_mask = 0x00000001;         ...…

查看全部问答>

DC-DC转换效率问题???

要求:输入:DC  9-24v         输出:DC  2.5V 1.5A         输出纹波Vp-p≤80mv         效率η≥75%我用 ...…

查看全部问答>