基于单片机的广告灯实验方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的广告灯实验方案
1.实验任务利用取表的方法,使端口P1 做单一灯的变化:左移2 次,
右移2 次,闪烁2 次(延时的时间0.2 秒)。2.电路原理图
图4.5.1 3.系统板上硬件连线把单片机系统区域中的P1.0-P1.7 用8
芯排线连接到八路发光二极管指示模块区域中的L1-L8 端口上,要求:P1.0
对应着L1,P1.1 对应着L2,,P1.7 对应着L8。4.程序设计内容在用表格
进行程序设计的时候,要用以下的指令来完成(1).利用MOV DPTR,#DATA16 的指令来使数据指针寄存器指到表的开头。(2).利用MOVC A,@A+DPTR 的指令,根据累加器的值再加上DPTR 的值,就可以
使程序计数器PC 指到表格内所要取出的数据。因此,只要把控制码建成一个表,而利用MOVC A,@A+DPTR 做取码的操作,就可方便地处理一些复
杂的控制动作,取表过程如下图所示:5.程序框图
图4.5.2 6.汇编源程序ORG 0START: MOV DPTR,#TABLELOOP: CLR AMOVC A,@A+DPTRCJNE A,#01H,LOOP1JMP STARTLOOP1: MOV P1,AMOV R3,#20LCALL DELAYINC DPTRJMP LOOPDELAY: MOV R4,#20D1: MOV R5,#248DJNZ R5,$DJNZ R4,D1DJNZ R3,DELAYRETTABLE: DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHDB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHDB 07FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 07FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 00H, 0FFH,00H, 0FFHDB 01HEND7. C 语言源程序#include AT89X51.Hunsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xb f,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0