资源描述:
《基于单片机的流水灯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、武夷学院实验报告课程名称:单片机原理与应用项目名称:单片机并口简单应用(流水灯)姓名:xxx专业:电子信息工程班级学号:20114081018同组姓名:xxx实验日期:2013年11月22日一、实验预习部分:1.实验目的:1、了解单片机汇编语言程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握顺序控制程序的简单编程2.实验原理:1、流水灯硬件电路如图4-1所示,流水灯硬件电路由移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。
2、因此,通过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。图4-1流水灯电路图2、单片机流水灯程序设计由上图可知,发光二极管要点亮,需要先把J502的2、3脚相连,三极管Q500导通,然后从P0口输出数据。(1)控制三极管导通程序控制三极管有两种方法,第一种:在74LS164的第8脚产生一个正脉冲,此时1脚为0,三极管就导通;为1,三极管就截止。第二种:在单片机IO模拟74LS164时序,一次输出一个字节,只要Q0=0即可控制三极管开通。为1,三极管截止。两种方法的程序流程如图4-2所示。三极管导
3、通DIN=0,CLK=0,输出8位输出数据=07FH(最高位为0)输出数据左移一位,把移出的位送到DIN,CLK产生正脉冲CLK产生一个正脉冲输出数据位数减1输出完成?三极管导通三极管导通DIN=0CLK=0CLK=1CLK=0返回图4-2流水灯位选信号控制(2)产生流水灯效果程序三极管导通后,就可以从P0口输出数据控制发光二极管。P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口。程序流程图如图4-3所示。流水灯返回P0口输出0FEH延时0.2秒P0口输出0FDH延时0.2秒。。。流水灯返回偏移位置为8
4、从程序存储器中取出偏移位置的数据延时0.2秒,偏移位置计数减1取数完成?YN图4-3流水灯程序流程图3.实验仪器:单片机开发板、万利仿真机、稳压电源、计算机4.实验步骤及方法:1、直接输出法输出数据序列;--------------------------------------------------------------------------------;输入:无;输出:无;----------------------------------------------------------------------------------LEDCLK:bitP3.4
5、LEDDIN:bitP2.3LedSequence:CLRLEDCLK;往74LS164的Q0端送一个0CLRLEDDIN;CLK引脚产生一个正脉冲NOPSETBLEDCLK;NOPCLRLEDCLK;MOVP0,#0FEH;为0的位对应的二极管亮MOVR7,#200;R7为延时量,NmsLCALLDelayNms;该程序延时时间由R7决定MOVP0,#0FDHMOVR7,#200LCALLDelayNmsMOVP0,#0FBHMOVR7,#200LCALLDelayNms……RETDelayNms:LCALLDelay1msDJNZR7,$-3RETDelay1ms:;
6、延时1ms程序PUSH07MOVR7,#250;1msNOPNOPDJNZR7,$-2POP07RET2、查表法输出数据序列;--------------------------------------------------------------------------------;输入:无;输出:无;----------------------------------------------------------------------------------LEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALLLedLightMO
7、VR6,#8MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,@A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB80H,40H,20H,10H,08H,04H,02H,01H,00HDelayNms:LCALLDelay1msDJNZR7,$-3RETDelay1ms:PUSHR7MOVR7,#250;1msNOPNOPDJNZR7,$-2POPR7RETLedLight