资源描述:
《考工程序-带注释》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.;==========================;课题一:用AT89C51单片机P1口控制8个发光二极管循环发光;==========================ORG0000HJMPBOOTORG0030HBOOT:MOVA,#01H;将立即数01H送给寄存器ALOOP:MOVP1,A;将A中的值送往P1口,点亮最低位发光二极管RLA;将A中的值循环左移CALLDELAYJMPLOOP;==========================;当工作于12M晶振,它的时钟周期是1/12US,一个机器周期为1US.;延时100MS,需要100000=100*250*4个机器周期
2、;==========================;当工作于11.0592M晶振,它的时钟周期是1/11.0592US,一个机器周期为1.085US.;延时100MS,需要92160=160*144*4个机器周期;==========================N1EQU10;延时1S,N1*100MS=N2*N3*4T;N2EQU100;N3EQU250N2EQU160N3EQU144DELAY:;延时程序MOVR2,#N1DELAY1:;DELAY100MSMOVR3,#N2DELAY2:MOVR4,#N3DELAY3:NOP;1TNOP;1TDJNZR4,DELAY3;2
3、TDJNZR3,DELAY2;2TDJNZR2,DELAY1;2TRET;1TEND;==============================;课题二:定时器控制七段LED显示器循环显示;==============================T50MSEQU-46080;定义时间常数50000US,50000/(12/11.0592)=46080T20EQU20;定义时间常数20*50MS=1SCOUNTEQU30H;定义计时单元DIGITEQU31H;定义字符单元ORG0000HAJMPMAINORG000BHAJMPTIMER0...ORG0030HMAIN:MOVSP,
4、#60H;设置堆栈指针MOVTMOD,#01H;用定时器0,方式1MOVTH0,#HIGH(T50MS);定时50MSMOVTL0,#LOW(T50MS)MOVCOUNT,#T20;延时控制MOVDIGIT,#00H;字符控制MOVP1,#00H;关闭显示MOVIE,#82H;开中断SETBTR0;启动定时器T0AJMP$;等待中断TIMER0:MOVTH0,#HIGH(T50MS);定时50MSMOVTL0,#LOW(T50MS)DJNZCOUNT,RET0;判断计时单元值减1是否为0,不是则转到RET0MOVCOUNT,#T20;重新定义计时单元值CALLDISPINCDIGIT;
5、字符单元加1MOVA,DIGIT;将字符单元值送入ACJNEA,#10,RET0;判断A是否等于10MOVDIGIT,#00;字符单元清零RET0:RETI;中断返回DISP:MOVA,DIGITMOVDPTR,#TAB;定义表头首地址MOVCA,@A+DPTR;将A和DPTR相加后得到的地址中的内容赋给AMOVP1,A;将A的值送入P1口RETTAB:DB7DH,18H,6EH,3EH,1BH;对应数字0-4DB37H,77H,1CH,7FH,3FH;对应数字5-9END;==============================;课题三:计数器构成脉冲计数电路;=========
6、=====================T_CONST0EQU-1;定义计数常数COUNTEQU40H;计数单元KEY1EQUP3.7;暂停键KEY2EQUP3.6;清零键ORG0000HAJMPMAINORG000BHLJMPINT_T0ORG0030HMAIN:MOVTH0,#T_CONST0;给计数器送入计数常数MOVTL0,TH0MOVTMOD,#06H;计数器0,工作在方式2MOVP1,#0FFH...MOVP3,#0FFHMOVCOUNT,#0;计数单元清零SETBEA;开中断SETBET0;开计数器0中断SETBTR0;启动计数器0LOOP:JBKEY2,NEXT1;如
7、有清零键MOVCOUNT,#0;则对计数单元清零NEXT1:MOVP1,COUNT;取计数单元数值送入外部端口AJMPLOOP;==============================;计数器0中断服务程序INT_T0:JNBKEY1,INT_T01;如有暂停键INCCOUNT;则计数单元加1INT_T01:RETIEND;==============================;课题四:点阵LED显示电路;==============