实验要求:P1口的P1.0~P1.8分别接8个。要求编写程序模拟一时序控制装置。开机后第一秒钟L4,L5亮,第二秒钟L3,L6亮,第三秒钟L2,L7亮,第四秒L1,L8亮,第五秒L2,L7亮,第六秒L3,L6亮,第七秒L4,L5亮,第八秒L1,L2,L7,L8亮,第九秒L3,L4,L5,L6亮,第十秒全亮,第十一秒全灭。然后再从头循环。以作为外部中断输入信号,有键按下时,将当前LED状态送PC机显示。 //This is the nineth_5 program of homework //This is made by WQ Data:2013/3/18/ ORG 0000H AJMP MAIN ORG 0023H //0023H 串口中断程序的入口地址 AJMP Communication ORG 0003H //0003H 外部中断程序的入口地址 AJMP WT0 ORG 000BH //000BH 定时器0程序的入口地址 AJMP TT0 MAIN: MOV TMOD,#21H //定时器工作方式 SETB EA //开总中断 SETB ET0 //允许 SETB EX0 //开外部中断 SETB IT0 //边沿触发方式 SETB TR0 //开启计时器0 MOV TH0,#4CH //设置定时常数 MOV TL0,#00H MOV TH1,0FDH MOV R7,#20 //设置计数寄存器 MOV R6,#00 //查表使用 MOV SCON,#40H //串口工作方式1,允许中断接受 MOV D,#TABLE CLR A OK1: MOV C,P3.4 JNC K MOV C,P3.5 JNC KAISHI MOV C,P3.6 JNC KAISHI MOV C,P3.7 JNC KAISHI SJMP OK1
KAISHI:CLR P3.2 SETB P3.2 SJMP OK1 TT0: MOV TH0,#4CH //计时器0置数 MOV TL0,#00H DJNZ R7,RETN //1秒钟到来了 MOV R7,#20 MOV A,R6 MOVC A,@A+TR MOV P1,A INC R6 CJNE R6,#11,RETN MOV R6,#00 RETN: R //定时程序返回指令
WT0: PUSH TH0 PUSH TL0 CLR TR0 //关闭定时器0 SETB ES //打开串口中断 SETB TR1 //启动定时器1 MOV SBUF,P1 //将端口的数据传送给计算机 POP TL0 POP TH0 SETB TR0 //打开定时器0 CLR ES RETI Communication: JNB TI,$ CLR TI CLR ES RETI ////延时10ms模块//// DELAY: MOV R2,#20 D0: MOV R1,#248 DJNZ R1,$ DJNZ R1,D0 ///////////////////// TABLE: 7EH,0BDH,0DBH,0E7H,0DBH,0BDH,7EH,0AAH,55H,00H,0F END
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。锐单自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。