浅析单片机入门常用的接口电路及其编程

发布者:MysticGlow最新更新时间: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的工作特性,才能真正理解何谓串行的数据。有兴趣的朋友还可以再看看我网站上“其他资料”中的“银行利率屏的设计”一文。

关键字:单片机  接口电路  编程 引用地址:浅析单片机入门常用的接口电路及其编程

上一篇:单片机74HC138三八译码器的原理及应用方法
下一篇:基于51单片机的跳一跳小游戏 源程序

推荐阅读最新更新时间:2024-11-19 02:46

基于AT89C51单片机的微型可编程控制器
可编程控制器PC(Programmable Controller),为与个人计算机PC(Personal Computer)相区别,可简称为PLC。它是按照成熟而有效的继电控制概念和设计思想,用先进的单片机技术来实现I/O的实时检测和控制,可靠性高,编程简单、易学,因此,得到广泛应用。 将PLC技术引进电工学、电力拖动课程,是课程建设现代化的重要措施。在教学经费相对紧张的情况下,我们自己动手,以AT89C51单片机为核心,设计并研制了LD型微型PLC,应用于继电控制实验,取得了良好的效果。 用单片机构成的PLC,实际上就是一个单片机测控系统。用这样一个程序控制的计算机系统去执行继电控制的梯形图程序,由于继电控制梯形图
[单片机]
基于AT89C51<font color='red'>单片机</font>的微型可<font color='red'>编程</font>控制器
ARM NEON 编程系列1 - 导论
前言 本系列博文用于介绍ARM CPU下NEON指令优化。 博文github地址:github 相关代码github地址:github NEON历史 ARM处理器的历史可以阅读文献 ,本文假设读者已有基本的ARM CPU下编程的经验,本文面向需要了解ARM平台下通过NEON进行算法优化的场景。 ARM CPU最开始只有普通的寄存器,可以进行基本数据类型的基本运算。自ARMv5开始引入了VFP(Vector Floating Point)指令,该指令用于向量化加速浮点运算。自ARMv7开始正式引入NEON指令,NEON性能远超VFP,因此VFP指令被废弃。 NEON用途 类似于Intel CPU下的MMX/SSE/AVX
[单片机]
51单片机使用ec11旋转编码器 数码管显示
#include reg51.h #define GPIO_DIG P0 unsigned char code DIG_CODE ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9的值 int tmp = 1; #define uchar unsigned char sbit BB = P1^0;//接编码器A端 sbit AA = P1^1;//接编码器B端 void delayms(uchar count) { uchar i,j; for(i = 0; i count; i++) for(j = 0; j 120; j+
[单片机]
基于MEGA8单片机倒计时系统的PCB曝光盒
简介 在以下几行,我描述的过程中,我也跟着构建盒,灯系统,这是基于AVR MEGA8单片机的倒计时系统。 四黑光灯灯,15W每个发出的UVA地区辐射,与上述薄的感光电路板的铜表面,是一个约350nm的峰值 ... ... 敏感。灯是由两个串联,从而塑造了两个类似的模块。每个模块都有自己的的镇流器,并可以通过中继连接到220V 交流。一个微控制器,一个用户定义的倒计时,达到零激活一个继电器后计数。剩余的时间是4个7段LED显示屏上显示 。最大的倒计时是99分钟和59秒 。所需的倒计时进入使用只有两个按钮,设置和启动/停止。短期的SET按钮,将增加目前的数字,而长期推动将改变数字SECONDS秒秒几十年,到几分钟等 。
[单片机]
基于MEGA8<font color='red'>单片机</font>倒计时系统的PCB曝光盒
8051单片机基本操作
1. P0   1.1 构成   1.2 做输入端口   1.3 做输出端口 2. P1   2.1 构成   2.2 做输入端口   2.3 做输出端口 3. P2   3.1 构成   3.2 做输入端口   3.3 做输出端口 4. P3   4.1 构成   4.2 做输入输出端口 5. 总结 51单片机并行GPIO,按其特性分为 单一的准双向口 多功能复用准双向口 地址总线输出准双向口 地址/数据总线口的三态双向 P0 ~ P3口都有各自的用法: P0:常作系统数据或低8位地址复用口,第二功能:用于系统扩展 P1:常作通用I/O口使用 P2:常作系统高8位地址,第二功能:用于系统扩展 P3:常用第二功能 1. P0
[单片机]
8051<font color='red'>单片机</font>基本操作
富士通MCU电子设计竞赛两岸三地齐开赛
您所畅想的未来生活将会有些什么新的概念?近日,由富士通半导体(上海)有限公司(以下简称“富士通半导体” )主办的“两岸三地创意未来”MCU电子设计竞赛拉开帷幕。此次历时近一年的竞赛,将在两岸三地(大陆、台湾和香港)同时展开,旨在通过竞赛的形式,引导两岸三地的大学生充分利用富士通半导体于近日最新推出的MB9BF506 32位 微控制器 ,用自己的智慧和激情畅想并实现对未来生活的种种创意,从而也带动了两岸三地在半导体行业领域的沟通得到进一步加强。 本次富士通半导体杯“两岸三地创意未来”MCU电子设计竞赛立足未来生活概念,基于MB9BF506 32位微控制器将“创新”和“环保”作为重要的评判标准,引导参赛选手充分发挥MB9BF506
[工业控制]
一款全自动电饭煲系统的设计与实现
  现在的电饭煲正在向集煮饭、煲汤、保温于一体的方向发展,虽现在的电饭煲有预约煮饭功能,但由于预约时间过长而影响了米的口感,本文设计的全自动电饭煲融合嵌入式技术和无线通讯技术,不仅实现了煮饭的远程智能化控制,同时保证了煮饭的良好口感。   1 全自动电饭煲的工作原理   设计的电饭煲在未工作时处于待机状态,当SIM900A模块接收到用户手机发来的短信或GPRS的控制指令后,将指令发送到 STM32F103单片机,单片机对指令进行解析,然后控制电饭煲自动漏米、淘米、煮饭的整个过程,并且实时采用温度传感器检测电饭煲的工作温度,同时能够根据电饭煲的工作状态智能报警,保证了电饭煲的可靠稳定工作,系统的总体设计如图1所示。      
[单片机]
一款全自动电饭煲系统的设计与实现
爱特梅尔推出业界最强大的6引脚微控制器
  爱特梅尔公司 (Atmel Corporation) 日前宣布推出全新AVR picoPower 器件ATtiny10,带有1k bytes可编程闪存和32 bytes内部SARM,提供高达12 MIPS的处理能力,并具有 8位A/C转换器、模拟比较器以及带有PWM的16位定时器。这款6引脚器件是在尺寸和成本上受限的大批量消费应用的完美解决方案。   ATtiny10使用性能卓越的AVR CPU,运作速度较市场上任何其它相若尺寸的微控制器快6倍,此一处理效率能够大幅缩短器件在工作模式的时间,而增加处于节能睡眠模式的时间;结合爱特梅尔的picoPower技术,能够确保达到业界领先的功耗数值。   爱特梅尔公司 tinyA
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved