|
|
| | -文章搜索 - 最新文章 - | |
[转载]利用单片机串口实现多个LED的显示 |
| 发布时间:2006年6月24日 点击次数:2089 |
| 来源: 作者: |
利用单片机串口实现多个LED的显示 侯向荣,马永森 摘要:利用89057单片机串行口和74LSi64移位寄存器实规多个LED显示的一种方法.利用该方法设计的多路LED显示系统具有硬件结构简单、软件编程容易和价格低廉等特点。 关键词:单片机;串行口;LED显示;89C51 在单片机系统中,数码管(LED)是一种常用的显示器。一般的显示器为4位或8位,实现这种显示的方法比较多,也比较简单。但是,对于多个LED显示,由于单片机本身提供的1/O口有限,就必须采取必要的措施才能实现。本文介绍一种设计方法,利用该方法设计的多路LED显示系统具有硬件结构简单,软件编程方便,价格低廉等特点,经常应用在车站、银行的显示屏中,效果很好。 1硬件电路的设计 AT 其中的
2时序分析 当89051单片机复位时,串行口为方式0状态,即工作在移位寄存器方式,TXD作同步移位脉冲,RXD作数据端;发送/接受8位数据,低位在前,高位在后;时钟速率为单片机晶振频率的十二分之一。单片机执行MOV SBUF,A指令的S6P2时.出现写SBUF信号。一个机器周期后,TXD输出移位脉冲,RXD同步串行发送SBUF中的数据。每个机器周期TXD发送一个移位脉冲,每个移位脉冲RXD发送一位数据。发送完8位数据后自动置TI为1,请求中断。时序如图2‑ 第一个74LS164把第一帧数据并行输出,LED1显示该数据.然后,在中断服务程序中用软件将竹清零,发送第二帧数据。第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据串行输入给第二个74LS164;LED2显示第一帧数据,以此类推。
3参考程序 电路如图1所示,
驱动10个LED循环显示数字0-9(每秒移动一位)的部分参考程序如下: 主程序为: START:MOV SP,#30H MOV TMOD ,#01H;定时器0方式1 MOV TLO,#OOH MOV THO,#4BH;初值,定时SOms MOV R0,#OOH MOV TIMER,#20 MOV SCON,#OOH;串口的工作方式0 CLR TI CLR RI;清发送接受标志位 SETB TRO;启动定时 SETB ETO;开中断 SETB EA S1MP$ 中断服务程序: INTTO:PUSH ACC PUSH PSW CLR EA CLR TRO MOV TLO,#OOH MOV THO,#4BH SETB TRO DJNZ TIMER,EXIT MOV TIMER,#20 MOV DPTR,#TABLE MOV A,RO MOVC A,@A+DPTR CLR TI MOV SBUF ,A INC RO CJNE R0,#OAH,EXTT MOV R0,#OOH TABLE:DB OCOH,OF9H旧A4H,OBOH,99H,92H‑82H,OF8H,80H,90H END 4结束语 采用74LS164驱动多个LED,有效地解决了动态显示需要CPU时刻对显示器进行数据刷新。显示数据有闪烁感,占用的CPU时间多的弊端。其不足之处是使用硬件电路较多,并且速度慢,所以适用于速度要求不是很快的场合。. 参考文献 [1]傅扬烈.单片机原理与应用教程[M]电子工业出版社,2002. [2]何立民.单片机应用系统设计[M]一北京航空航天大学.2000. |
|
|
|
|
[单片机] 相关文章: [转载]Atmel单片机应用技巧简介:
功能强大的时钟中断 在程序设计中,设置一个好的时钟中断,可大大方便和简化程序的编制,提高系统的效率与可操作性。下面以6MHz时钟的89C51系统为例,说明时钟中断的应用。 定时器初值与中断周期。 时钟中断的时间间隔一般取20ms(50Hz),如需要百分之一秒的时基信号,可取10ms(100Hz)。这里取20ms。T0工作于16位定时器方式(方式1),每过一个机器周期T0自动加1,计至0FFFFh的下一个机器周期,T0溢出产生中断,由硬件设置相应的标志位供软件查询。即中断启动后经过N+1个机器周期,T0产生中断。所以,只要先在T0中存入一个比0FFFFh小N的数,然后启动定时器,...... VFD应用初探[1]___键盘
基于ADμC812的温度检测系统的设计
步进电机两相四线(移植双龙)
单片机在炉温控制中的应用
数字电压表
串口通讯
AT89C51/55构成温湿度自动监测系统
学习AVR(二)ATtiny2313的特点
条形码的识别原理 |
|
|
|