⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 74hc244和74hc164与串行口实现多个led显示的一种简单方法_热门器件典型应用及资料下载_强联单片机科技有限公司.htm

📁 100M网卡驱动芯片资料
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体"> 
                        显示</SPAN><SPAN lang=EN-US 
                        style="FONT-SIZE: 11pt; mso-fareast-font-family: 宋体; mso-ascii-font-family: 宋体">&nbsp;</SPAN><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体"> 
                        80C31<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">在单片机系统中,常常用数码管(<SPAN 
                        lang=EN-US>LED)做显示器。一般的显示器为4位或8位,即需要4个或8个LED。实现这种显示的方法比较多,也比较简单。但是,对于多个LED显示,就必须采取必要的措施才能实现。本文介绍一种设计方法,利用该方法设计的多路LED显示系统具有硬件结构简单,软件编程方便,价格低廉的特点,经在储蓄所大屏幕利率显示屏中应用,效果很好。<o:p></o:p></SPAN></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><B><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">1 
                        硬件电路</SPAN></B><SPAN lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体"><o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><v:shapetype 
                        id=_x0000_t75 coordsize="21600,21600" 
                        o:preferrelative="t" filled="f" stroked="f" 
                        path="m@4@5l@4@11@9@11@9@5xe" o:spt="75"><v:stroke 
                        joinstyle="miter"></v:stroke><v:formulas><v:f 
                        eqn="if lineDrawn pixelLineWidth 0 "></v:f><v:f 
                        eqn="sum @0 1 0 "></v:f><v:f 
                        eqn="sum 0 0 @1 "></v:f><v:f 
                        eqn="prod @2 1 2 "></v:f><v:f 
                        eqn="prod @3 21600 pixelWidth "></v:f><v:f 
                        eqn="prod @3 21600 pixelHeight "></v:f><v:f 
                        eqn="sum @0 0 1 "></v:f><v:f 
                        eqn="prod @6 1 2 "></v:f><v:f 
                        eqn="prod @7 21600 pixelWidth "></v:f><v:f 
                        eqn="sum @8 21600 0 "></v:f><v:f 
                        eqn="prod @7 21600 pixelHeight "></v:f><v:f 
                        eqn="sum @10 21600 0 "></v:f></v:formulas><v:path 
                        o:extrusionok="f" gradientshapeok="t" 
                        o:connecttype="rect"></v:path><o:lock v:ext="edit" 
                        aspectratio="t"></o:lock></v:shapetype><v:shape 
                        id=_x0000_s1026 
                        style="MARGIN-TOP: 3.2pt; Z-INDEX: 1; MARGIN-LEFT: 0px; WIDTH: 171.75pt; POSITION: absolute; HEIGHT: 172.5pt; mso-wrap-distance-left: .75pt; mso-wrap-distance-top: .75pt; mso-wrap-distance-right: .75pt; mso-wrap-distance-bottom: .75pt; mso-position-horizontal: left; mso-position-vertical-relative: line" 
                        coordsize="21600,21600" type="#_x0000_t75" alt="" 
                        o:allowoverlap="f"><v:imagedata o:title="1-15a" 
                        src="./串行口实现多个LED.files/image001.gif"></v:imagedata><w:wrap 
                        type="square"></w:wrap></v:shape><SPAN lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">80C31单片机是MCS-51系列单片机的一种,它广泛应用于各种小型控制系统中。我们知道,80C31单片机有一个串行口可用于串行通讯,笔者发现它在方式0状态下,还可以扩展并行I/O口,从而实现多个LED显示,其硬件原理如图1所示。其中,74HC164为串行输入、并行输出移位寄存器,74HC164为单向总线驱动器,LED采用5EF1183KR型共阴极数码管。<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">当<SPAN 
                        lang=EN-US>80C31单片机复位时,串行口为方式0状态,即工作在移位寄存器方式,波特率为振荡频率的十二分之一。参看图2,器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔</SPAN></SPAN><v:shape 
                        id=_x0000_s1027 
                        style="MARGIN-TOP: 3pt; Z-INDEX: 2; MARGIN-LEFT: 0px; WIDTH: 169.5pt; POSITION: absolute; HEIGHT: 104.25pt; mso-wrap-distance-left: 5.65pt; mso-wrap-distance-top: 5.65pt; mso-wrap-distance-right: 5.65pt; mso-wrap-distance-bottom: 5.65pt; mso-position-horizontal: left; mso-position-vertical-relative: line; mso-position-horizontal-relative: text" 
                        coordsize="21600,21600" type="#_x0000_t75" alt="" 
                        o:allowoverlap="f"> <v:imagedata o:title="1-15b" 
                        src="./串行口实现多个LED.files/image002.gif"></v:imagedata><w:wrap 
                        type="square"></w:wrap></v:shape><SPAN 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">一个机器周期后发送控制端<SPAN 
                        lang=EN-US>SEND有效,即允许RXD发送数据,同时,允许从TXD端输出移位脉冲。第一帧(8位)数据发送完毕时,各控制信号均恢复原状态,只有TI保持高电平,呈中断申请状态。第一个74HC164把第一帧数据并行输出,LED1显示该数据(发送时序如图2所示)。然后,用软件将TI清零,发送第二帧数据。第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据串行输入给第二个74HC164,LED2显示第一帧数据。依此类推,直到把数据区内所有数据发送出去。应该注意,数据全部发送完后,第一帧数据在最后一个LED显示。由于TXD端最多可以驱动8个TTL门,当LED显示器超过8个时,我们采用74HC244芯片驱动。每个74HC244有8路驱动,每一路可驱动8个LED,即每增加一个74HC244,可增加64个LED驱动。<o:p></o:p></SPAN></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><B><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">2 
                        软件编程</SPAN></B><SPAN lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体"><o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">该软件程序采用<SPAN 
                        lang=EN-US>MCS-51系列单片机汇编语言编制,并把显示程序作为一个子程序,以便在主程序中调用。设LED为共限极显示器,共有64个,显示区首地十在内部RAM 
                        20H单元,需显示的数据以BCD码依次存放在显示区,软件清单如下:<o:p></o:p></SPAN></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">主程序<SPAN 
                        lang=EN-US><o:p></o:p></SPAN></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">ORG 
                        0000H<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">SJMP 
                        START<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">ORG 
                        0020H<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">MOV 
                        R6,#40H<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">MOV 
                        R0,#20H<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">LCALL 
                        TRXD<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">SJMP 
                        $<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">显示子程序<SPAN 
                        lang=EN-US><o:p></o:p></SPAN></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">TRXD:MOV 
                        DPTR,#DTAB<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">DL0:MOV 
                        A,@R0<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">MOVC 
                        A,@A+DPTR<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">MOV 
                        SBUF,A<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">DL1:JNB 
                        TI,DL1<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">CLR 
                        TI<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">INC 
                        RO<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">DJNZ 
                        R6,DL0<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">RET<o:p></o:p></SPAN></P>
                        <P 
                        style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 22.5pt; LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体">DTAB:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 
                        </SPAN><SPAN lang=EN-US 
                        style="FONT-FAMILY: 宋体"><o:p></o:p></SPAN></P>
                        <P class=MsoNormal 
                        style="LINE-HEIGHT: 22pt; mso-line-height-rule: exactly"><SPAN 
                        lang=EN-US 
                        style="FONT-FAMILY: 宋体">&nbsp;<o:p></o:p></SPAN></P><BR>
                        <DIV 
            align=right></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></DIV><FONT 
            color=#000000></FONT>
            <DIV align=center>
            <CENTER>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <HR noShade>

              <TBODY></TBODY></TABLE>
            <TABLE width="100%" border=0>
              <TBODY>
              <TR>
                <TD vAlign=top width="100%" colSpan=2>【专题】</TD></TR>
              <TR>
                <TD vAlign=top width="50%">
                  <P style="LINE-HEIGHT: 200%" align=left>□ <A 
                  href="http://www.qlmcu.com/shop_kfgj.asp" 
                  target=_blank>51/AVR单片机开发学习工具</A><BR>□ <A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=1777" 
                  target=_blank>识别主人的电话遥控器及控制芯片</A><BR>□ <A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=453" 
                  target=_blank>识别主人的电话报警器及控制芯片<BR></A>□ <A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2210" 
                  target=_blank>多功能12按键电脑密码锁控制器芯片QL801</A> <BR>□ <A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2271" 
                  target=_blank>多功能2按键电脑密码锁控制器芯片QL802</A></P></TD>
                <TD vAlign=top width="50%">
                  <P style="LINE-HEIGHT: 200%" align=left>□ <FONT 
                  color=#0000ff><A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2318">通用</A></FONT><A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2318">视频字符叠加器QL505</A> 
                  <BR>□ <A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2317" 
                  target=_blank><FONT color=#0000ff>通用</FONT>视频字符叠加模块QL503</A> 
                  <BR>□ <A class=middle title=视频滚动字幕机QL601产品说明 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2319" 
                  target=_blank><FONT color=#0000ff>视频滚动字幕机QL601产品说明</FONT><FONT 
                  color=#0> </FONT></L></A>&nbsp;<FONT color=black><A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2306" 
                  target=_blank><BR></A></FONT>□ <A 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2320" 
                  target=_blank><FONT color=#0000ff>点钞机字符叠加器QL701简介</FONT></A> 
                  <A href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2271" 
                  target=_blank><BR></A>□ <A class=middle 
                  title=温湿度实时视频字符叠加器QL505-W1说明 
                  href="http://www.qlmcu.com/wz_tw/ReadNews.asp?NewsID=2321" 
                  target=_blank><FONT color=#0000ff>温湿度实时视频字符叠加器说明</FONT></A> 
                  </P></TD></TR></TBODY></TABLE></CENTER></DIV>
        <TR>
          <TD align=right width="100%"><BR><BR>加入时间:2005年2月19日 
            &nbsp;共有<STRONG>16497</STRONG>位读者阅读过此文 &nbsp;访问总量
            <SCRIPT 
            src="74HC244和74HC164与串行口实现多个LED显示的一种简单方法_热门器件典型应用及资料下载_强联单片机科技有限公司.files/counter.htm"></SCRIPT>
             &nbsp;
            <SCRIPT language=JavaScript 
            src="74HC244和74HC164与串行口实现多个LED显示的一种简单方法_热门器件典型应用及资料下载_强联单片机科技有限公司.files/site.htm" 
            type=text/javascript></SCRIPT>
            &nbsp;&nbsp; 【<A class=12tp href="javascript:window.close()"><FONT 
            color=#0000ff>关闭窗口</FONT></A>】&nbsp;&nbsp;【<A 
            href="javascript:location.reload()">刷新</A>】 </TD></TR></TBODY></TABLE>
      <CENTER></CENTER>
      <DIV></DIV></TD></TR></TBODY></TABLE></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0>
  <DIV align=center>
  <CENTER></CENTER></DIV><BR>
  <TBODY></TBODY></TABLE>
<HR width=750 noShade>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -