电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机实例广告灯(利用取表方式)设计和实现 电气工程自动化专业

单片机实例广告灯(利用取表方式)设计和实现  电气工程自动化专业_第1页
1/4
单片机实例广告灯(利用取表方式)设计和实现  电气工程自动化专业_第2页
2/4
单片机实例广告灯(利用取表方式)设计和实现  电气工程自动化专业_第3页
3/4
5. 广告灯(利用取表方式) 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+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 unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0xff,0x00,0xff,0x01};unsigned char i;void delay(void){unsigned char m,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}void main(void){while(1){if(table[i]!=0x01){P1=table[i];i++;delay();}else{i=0;}}}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单片机实例广告灯(利用取表方式)设计和实现 电气工程自动化专业

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部