硬件课程设计日历_第1页
硬件课程设计日历_第2页
硬件课程设计日历_第3页
硬件课程设计日历_第4页
硬件课程设计日历_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2系统模块详细设计与调试1

在主程序中要分别对8254和8255初始化编程。具体如下:8254控制字:

MOV

DX,PORT_8253

MOV

AL,00110101B

;写入控制字,0通道,方式2

OUT

DX,

MOV

DX,PORT_0

MOV

AL,00H

OUT

DX,

MOV

AL,10H

OUT

DX,

MOV

DX,PORT_8253

MOV

AL,01110111B

;1通道,方式3

OUT

DX,

MOV

DX,PORT_1

MOV

AL,00H

OUT

DX,

MOV

AL,10H

OUT

DX,

8255控制字:MOV

DX,PORT_8255

;8255初始化

MOV

AL,80H

OUT

DX程序清单与注释:PORT_AEQU288HPORT_BEQU289HPORT_CEQU28AHPORT_8255EQU28BHPORT_0EQU280HPORT_1EQU281HPORT_2EQU282HPORT_8253EQU283HDATASEGMENT;01234567TABLE1DB77H,7BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH;89ABCDEFDB0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0EDH,0EEHHZ_SEC02DW0A3B0HHZ_SEC01DW0A3B0HHZ_MIN02DW0A3B0HHZ_MIN01DW0A3B0HHZ_HOU02DW0A3B0HHZ_HOU01DW0A3B0HHZ_TIMDW0A1C3H;符号HZ_SYMDW0A1CHZ_YEAR02DW0A3B0HHZ_YEAR01DW0A3B0HHZ_MON02DW0A3B1HHZ_MON01DW0A3B0HHZ_DAY02DW0A3B1HHZ_DAY01DW0A3B0HHZ_DATEDW0A3AFHHZ_WEEKDW0A3B6HHZ_WEEK01DW0D0C7H;字体"星"HZ_WEEK02DW0C6DAH;字体"期"HZ_XDW0A1EFH;符号"★"HZ_WDW0CDF2H;字体"万"HZ_NDW0C4EAH;字体"年"HZ_RDW0C8D5H;字体"日"HZ_LDW0C0FAH;字体"历"HZ_ADRDB?DATAENDSSTACK1SEGMENTSTACKDW50DUP(0)TOP_STACLABELWORDSTACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,STACK1MOVSS,AXLEASP,TOP_STACMOVAX,DATAMOVDS,AXMOVDX,PORT_8255;8255初始化MOVAL,80HOUTDX,ALCALLCLEAR;LCD清除CALLFUCTION_A;日期显示 ;8253的编程MOVDX,PORT_8253MOVAL,00110101B;写入控制字,0通道,方式2OUTDX,ALMOVDX,PORT_0MOVAL,00HOUTDX,ALMOVAL,10HOUTDX,ALMOVDX,PORT_8253MOVAL,01110111B;1通道,方式3OUTDX,ALMOVDX,PORT_1MOVAL,00HOUTDX,ALMOVAL,10HOUTDX,ALMAIN:LP:MOVDX,PORT_CTESTDX,10H;检测B口是否有1秒脉冲JNZLPTESTDX,00HJNZLPINCHZ_SEC02;秒的个位加一;判断是否有键按下MOVDX,PORT_8255MOVAL,10001010B;A口输出B口输入C口低四位输出,高四位输入OUTDX,ALMOVDX,PORT_A;A口为行,向所有的行输出0MOVAL,00HOUTDX,ALMOVDX,PORT_BRET_TO_1:MOVAL,0FEHMOVCL,ALNEXT_ROW_1:MOVDX,PORT_AOUTDX,ALMOVDX,PORT_BINAL,DXANDAL,0FHCMPAL,0FH;判断是否有键按下JNEJP_1CMPCL,0EFHJEFUCROLCL,01MOVAL,CLJMPNEXT_ROW_1JP_1:CALLJPFUC:CALLFUCTION_00;时间的进位CALLFUCTION_01;日期的进位CALLFUCTION_02;星期的进位CALLFUCTION_A;日期显示JMPMAINFUCTION_00PROCCMPHZ_SEC02,0A3BAH;判断是否为十,是跳转到秒进位子程序JETIM_NEXT_01RETTIM_NEXT_01:INCHZ_SEC01;秒的十位加一MOVHZ_SEC02,0A3B0H;个位置零CMPHZ_SEC01,0A3B6H;判断是否为六,是跳转JETIM_NEXT_02RETTIM_NEXT_02:INCHZ_MIN02;分的个位加一MOVHZ_SEC01,0A3B0HCMPHZ_MIN02,0A3BAH;判断是否为十,是跳转JETIM_NEXT_03RETTIM_NEXT_03:INCHZ_MIN01;分的十位加一MOVHZ_MIN02,0A3B0HCMPHZ_MIN01,0A3B6H;判断是否大于六,是跳转JETIM_NEXT_04RETTIM_NEXT_04:INCHZ_HOU02;时的十位加一MOVHZ_MIN01,0A3B0HCMPHZ_HOU01,0A3B2H;判断是否为二,是跳转JETIM_NEXT_05JMPTIM_NEXT_07TIM_NEXT_05:CMPHZ_HOU02,0A3B4H;判断时的个位是否为四,是跳转JETIM_NEXT_06JMPTIM_NEXT_07TIM_NEXT_06:MOVHZ_HOU01,0A3B0HMOVHZ_HOU02,0A3B0HINCHZ_DAY02;日期加一INCHZ_WEEK;星期加一RETTIM_NEXT_07:CMPHZ_HOU02,0A3BAH;判断时的个位是否为十,是跳转JETIM_NEXT_08RETTIM_NEXT_08:INCHZ_HOU01;(个位为十)十位加一,个位置零MOVHZ_HOU02,0A3B0HRETFUCTION_00ENDPFUCTION_01PROCCALLCMP_MONCALLMON_COUNTCALLYEAR_WALKRETFUCTION_01ENDPCMP_MONPROCCMPHZ_MON01,0A3B0H;判断是否是个位的月份JEMON01_EQU_0JMPMON01_EQU_1MON01_EQU_0:CMPHZ_MON02,0A3B1H;一月JEGO_TO_31CMPHZ_MON02,0A3B2H;二月JEGO_TO_2MONCMPHZ_MON02,0A3B3H;三月JEGO_TO_31CMPHZ_MON02,0A3B4H;四月JEGO_TO_30CMPHZ_MON02,0A3B5H;五月JEGO_TO_31CMPHZ_MON02,0A3B6H;六月JEGO_TO_30CMPHZ_MON02,0A3B7H;七月JEGO_TO_31CMPHZ_MON02,0A3B8H;八月JEGO_TO_31CMPHZ_MON02,0A3B9H;九月JEGO_TO_30MON01_EQU_1:CMPHZ_MON02,0A3B0H;十月JEGO_TO_31CMPHZ_MON02,0A3B1H;十一月JEGO_TO_30CMPHZ_MON02,0A3B2H;十二月JEGO_TO_31GO_TO_31: CALLCOUNT_31;31天的子程序 JMPTO_ENDGO_TO_30: CALLCOUNT_30;30天的子程序 JMPTO_ENDGO_TO_2MON: CALLMON_2_COUNT;二月的子程序 JMPTO_ENDTO_END:RETCMP_MONENDPCOUNT_28PROCCMPHZ_DAY01,0A3B2H;判断天十位是否为2,是跳转JENEXT_28_01JMPNEXT_28_03NEXT_28_01:CMPHZ_DAY02,0A3B9H;判断天个位是否为9,是跳转JENEXT_28_02JMPNEXT_28_03NEXT_28_02:MOVHZ_DAY01,0A3B0HMOVHZ_DAY02,0A3B1HINCHZ_MON02;月加一NEXT_28_03:CMPHZ_DAY02,0A3BAHJENEXT_28_04RETNEXT_28_04:MOVHZ_DAY02,0A3B0HINCHZ_DAY01RETCOUNT_28ENDPCOUNT_29PROCCMPHZ_DAY01,0A3B2H;判断天十位是否为2,是跳转JENEXT_29_01JMPNEXT_29_03NEXT_29_01:CMPHZ_DAY02,0A3BAH;判断天个位是否为A,是跳转JENEXT_29_02JMPNEXT_29_03NEXT_29_02:MOVHZ_DAY01,0A3B0HMOVHZ_DAY02,0A3B1HINCHZ_MON02;月加一NEXT_29_03:CMPHZ_DAY02,0A3BAHJENEXT_29_04RETNEXT_29_04:MOVHZ_DAY02,0A3B0HINCHZ_DAY01RETCOUNT_29ENDPCOUNT_30PROCCMPHZ_DAY01,0A3B3H;判断天十位是否为3,是跳转JENEXT_30_01JMPNEXT_30_03NEXT_30_01:CMPHZ_DAY02,0A3B1H;判断天个位是否为1,是跳转JENEXT_30_02JMPNEXT_30_03NEXT_30_02:MOVHZ_DAY01,0A3B0HMOVHZ_DAY02,0A3B1HINCHZ_MON02;月加一NEXT_30_03:CMPHZ_DAY02,0A3BAHJENEXT_30_04RETNEXT_30_04:MOVHZ_DAY02,0A3B0HINCHZ_DAY01RETCOUNT_30ENDPCOUNT_31PROCCMPHZ_DAY01,0A3B3H;判断天十位是否为3,是跳转JENEXT_31_01JMPNEXT_31_03NEXT_31_01:CMPHZ_DAY02,0A3B2H;判断天个位是否为2,是跳转JENEXT_31_02JMPNEXT_31_03NEXT_31_02:MOVHZ_DAY01,0A3B0H;置天数为01MOVHZ_DAY02,0A3B1HINCHZ_MON02;月份加一RETNEXT_31_03:CMPHZ_DAY02,0A3BAH;个位是否为十,是跳转JENEXT_31_04RETNEXT_31_04:MOVHZ_DAY02,0A3B0H;个位置零,十位加一INCHZ_DAY01RETCOUNT_31ENDPMON_2_COUNTPROCMOVAX,HZ_YEAR01;判断是否是闰年ANDAX,01HMOVCX,0AHMULCXMOVBX,HZ_YEAR02ANDBX,01HADDAX,BXMOVDX,00HMOVBX,04HDIVBXCMPDX,0JEGO_TO_29JMPGO_TO_28GO_TO_29:CALLCOUNT_29;29天的子程序GO_TO_28:CALLCOUNT_28MON_2_COUNTENDPYEAR_PANDUANPROCMOVAX,HZ_YEAR01MOVCX,0AHMULCXADDAX,HZ_YEAR02MOVDX,00HMOVBX,04HDIVBXCMPDX,0RETYEAR_PANDUANENDPMON_COUNTPROCCMPHZ_MON01,0A3B1H;判断月的十位是否为一JEMON_NEXT_01JMPMON_NEXT_03MON_NEXT_01:CMPHZ_MON02,0A3B3HJEMON_NEXT_02JMPMON_NEXT_03MON_NEXT_02:MOVHZ_MON01,0A3B0HMOVHZ_MON02,0A3B1HINCHZ_YEAR02RETMON_NEXT_03:CMPHZ_MON02,0A3BAHJEMON_NEXT_04RETMON_NEXT_04:MOVHZ_MON02,0A3B0HINCHZ_MON01RETMON_COUNTENDPYEAR_WALKPROCCMPHZ_YEAR02,0A3BAHJEYEAR_NEXT_01RETYEAR_NEXT_01:MOVHZ_YEAR02,0A3B0HINCHZ_YEAR01RETYEAR_WALKENDPFUCTION_02PROCCMPHZ_WEEK,0A3B8H;是否大于7,大于跳转JEWEEK_NEXT01JMPWEEK_ENDWEEK_NEXT01:MOVHZ_WEEK,0A3B1H;置一JMPWEEK_ENDWEEK_END:RETFUCTION_02ENDPFUCTION_APROC;万年历显示80H~87HLEABX,HZ_XMOVBYTEPTRHZ_ADR,81HCALLLCD_DISPMOVBYTEPTRHZ_ADR,86HCALLLCD_DISPLEABX,HZ_WMOVBYTEPTRHZ_ADR,82HCALLLCD_DISPLEABX,HZ_NMOVBYTEPTRHZ_ADR,83HCALLLCD_DISPLEABX,HZ_RMOVBYTEPTRHZ_ADR,84HCALLLCD_DISPLEABX,HZ_LMOVBYTEPTRHZ_ADR,85HCALLLCD_DISP;日期显示,第二行90H~97HLEABX,HZ_DATEMOVBYTEPTRHZ_ADR,92HCALLLCD_DISPMOVBYTEPTRHZ_ADR,95HCALLLCD_DISPLEABX,HZ_DAY02MOVBYTEPTRHZ_ADR,97HCALLLCD_DISPLEABX,HZ_DAY01MOVBYTEPTRHZ_ADR,96HCALLLCD_DISPLEABX,HZ_MON02MOVBYTEPTRHZ_ADR,94HCALLLCD_DISPLEABX,HZ_MON01MOVBYTEPTRHZ_ADR,93HCALLLCD_DISPLEABX,HZ_YEAR02MOVBYTEPTRHZ_ADR,91HCALLLCD_DISPLEABX,HZ_YEAR01MOVBYTEPTRHZ_ADR,90HCALLLCD_DISP;时间显示,第三行88~8FLEABX,HZ_TIMMOVBYTEPTRHZ_ADR,8AHCALLLCD_DISPMOVBYTEPTRHZ_ADR,8DHCALLLCD_DISPLEABX,HZ_SEC02MOVBYTEPTRHZ_ADR,8FHCALLLCD_DISPLEABX,HZ_SEC01MOVBYTEPTRHZ_ADR,8EHCALLLCD_DISPLEABX,HZ_MIN02MOVBYTEPTRHZ_ADR,8CHCALLLCD_DISPLEABX,HZ_MIN01MOVBYTEPTRHZ_ADR,8BHCALLLCD_DISPLEABX,HZ_HOU02MOVBYTEPTRHZ_ADR,89HCALLLCD_DISPLEABX,HZ_HOU01MOVBYTEPTRHZ_ADR,88HCALLLCD_DISP;星期显示,第四行98~9FLEABX,HZ_WEEK01MOVBYTEPTRHZ_ADR,9AHCALLLCD_DISPLEABX,HZ_WEEK02MOVBYTEPTRHZ_ADR,9BHCALLLCD_DISPLEABX,HZ_WEEKMOVBYTEPTRHZ_ADR,9CHCALLLCD_DISPRETFUCTION_AENDPCLEARPROCMOVAL,0CHMOVDX,PORT_AOUTDX,ALCALLCMD_SETUPRETCLEARENDPLCD_DISPPROCPUSHCXMOVAL,HZ_ADRMOVDX,PORT_AOUTDX,ALCALLCMD_SETUPMOVAX,[BX]PUSHAXMOVAL,AHMOVDX,PORT_AOUTDX,ALCALLDATA_SETUPCALLDELAYPOPAXMOVDX,PORT_AOUTDX,ALCALLDATA_SETUPCALLDELAYPOPCXRETLCD_DISPENDPCMD_SETUPPROCMOVDX,PORT_CNOPMOVAL,00000000B;PC6置0,pc4置0(LCDI端=0,W端=0)OUTDX,ALCALLDELAYNOPMOVAL,01000000B;PC6置1(LCDE端=1)OUTDX,ALNOPCALLDELAYMOVAL,00000000B;PC6置0,(LCDE端置0)OUTDX,ALCALLDELAYRETCMD_SETUPENDPDATA_SETUPPROCMOVDX,PORT_C;PORT_A?MOVAL,00010000B;PC5置0,PC4=1(LCDI端=1)OUTDX,ALNOPCALLDELAYMOVAL,01010000B;PC6置1(LCDE端=1)OUTDX,ALNOPCALLDELAYMOVAL,00010000B;PC6置0,(LCDE端=0)OUTDX,ALNOPCALLDELAYRETDATA_SETUPENDPDELAYPROCPUSHCXPUSHDXMOVCX,0FFFFHX1:LOOPX1POPDXPOPCXRETDELAYENDPDELAY_SECPROCNEAR;软延时MOVBX,250L1:MOVCX,0L2:LOOPL2DECBXJNEL1RET;L1:MOVDX,PORT_A;INAL,DX;ANDAL,80H;CMPAL,00H判断是否为低电平,不是则循环;JEL2;JMPL1;L2:RETDELAY_SECENDPJPPROCJP_START:MOVDX,PORT_8255MOVAL,10001010B;A口输出B口输入C口低四位输出,高四位输入OUTDX,AL;万年历显示80H~87HLEABX,HZ_XMOVBYTEPTRHZ_ADR,81HCALLLCD_DISPMOVBYTEPTRHZ_ADR,86HCALLLCD_DISPLEABX,HZ_WMOVBYTEPTRHZ_ADR,82HCALLLCD_DISPLEABX,HZ_NMOVBYTEPTRHZ_ADR,83HCALLLCD_DISPLEABX,HZ_RMOVBYTEPTRHZ_ADR,84HCALLLCD_DISPLEABX,HZ_LMOVBYTEPTRHZ_ADR,85HCALLLCD_DISP;日期显示LEABX,HZ_DATEMOVBYTEPTRHZ_ADR,92HCALLLCD_DISPMOVBYTEPTRHZ_ADR,95HCALLLCD_DISPLEABX,HZ_DAY02MOVBYTEPTRHZ_ADR,97HCALLLCD_DISPLEABX,HZ_DAY01MOVBYTEPTRHZ_ADR,96HCALLLCD_DISPLEABX,HZ_MON02MOVBYTEPTRHZ_ADR,94HCALLLCD_DISPLEABX,HZ_MON01MOVBYTEPTRHZ_ADR,93HCALLLCD_DISPLEABX,HZ_YEAR02MOVBYTEPTRHZ_ADR,91HCALLLCD_DISPLEABX,HZ_YEAR01MOVBYTEPTRHZ_ADR,90HCALLLCD_DISP;显示初始时钟CALLCLEARLEABX,HZ_SYMMOVBYTEPTRHZ_ADR,8AHCALLLCD_DISPMOVBYTEPTRHZ_ADR,8DHCALLLCD_DISPLEABX,HZ_HOU01MOVBYTEPTRHZ_ADR,88HCALLLCD_DISPLEABX,HZ_HOU02MOVBYTEPTRHZ_ADR,89HCALLLCD_DISPLEABX,HZ_MIN01MOVBYTEPTRHZ_ADR,8BHCALLLCD_DISPLEABX,HZ_MIN02MOVBYTEPTRHZ_ADR,8CHCALLLCD_DISPLEABX,HZ_SEC01MOVBYTEPTRHZ_ADR,8EHCALLLCD_DISPLEABX,HZ_SEC02MOVBYTEPTRHZ_ADR,8FHCALLLCD_DISP;星期显示LEABX,HZ_WEEK01MOVBYTEPTRHZ_ADR,9AHCALLLCD_DISPLEABX,HZ_WEEK02MOVBYTEPTRHZ_ADR,9BHCALLLCD_DISPLEABX,HZ_WEEKMOVBYTEPTRHZ_ADR,9CHCALLLCD_DISP;显示完成MOVDX,PORT_A;A口为行,向所有的行输出0MOVAL,00HOUTDX,ALMOVDX,PORT_BRET_TO:MOVAL,0FEHMOVCL,ALNEXT_ROW:MOVDX,PORT_AOUTDX,ALMOVDX,PORT_BINAL,DXANDAL,0FHCMPAL,0FH;判断是否有键按下JNEENCODECMPCL,0EFH;判断是否(四行)每一行都检测完,都检查完,返回主程序JERET_TOROLCL,01MOVAL,CLJMPNEXT_ROWENCODE:MOVBX,000FHINAL,DXNEXT_TRY:CMPAL,TABLE1[BX]JEDONEDECBXJNSNEXT_TRYMOVAH,01JMPEXITDONE:;完成加减功能CMPBX,0000H;按键0JEHOU_ACMPBX,0004H;按键4JEHOU_MCMPBX,0001H;按键1JEMIN_ACMPBX,0005H;按键5JEMIN_MCMPBX,0002H;按键2JESEC_ACMPBX,0006H;按键6JESEC_MCMPBX,000AH;按键AJEDAY_ACMPBX,000EH;按键EJEDAY_MCMPBX,0009H;按键9JEMON_ACMPBX,000DH;按键DJEMON_MCMPBX,0008H;按键8JEYEAR_ACMPBX,000CH;按键CJEYEAR_MCMPBX,000BH;按键BJETZ_STARTCMPBX,000FH;按键FJETZ_ENDCMPBX,0003H;按键3JEWEEK_ACMPBX,0007H;按键7JEWEEK_MJMPEXITTZ_START:;有B按键按下,则停止时间跳动,等待下一个按键按下JMPRET_TOTZ_END:;有F按键按下,则停止等待按键,返回时间跳动JMPEXIT_ENDHOU_A:INCHZ_HOU02;时加;JMPSTARTJMPCMP_HOU_AHOU_M:DECHZ_HOU02;时减;JMPSTARTJMPCMP_HOU_MMIN_A:INCHZ_MIN02;分加JMPCMP_MIN_AMIN_M:DECHZ_MIN02;分减JMPCMP_MIN_MSEC_A:INCHZ_SEC02;秒加;JMPSTARTJMPCMP_SEC_ASEC_M:DECHZ_SEC02;秒减JMPCMP_SEC_MDAY_A:INCHZ_DAY02;天加JMPCMP_DAY_ADAY_M:DECHZ_DAY02;天减JMPCMP_DAY_MMON_A:INCHZ_MON02;月加JMPCMP_MON_AMON_M:DECHZ_MON02;月减JMPCMP_MON_MYEAR_A:INCHZ_YEAR02;年加JMPCMP_YEAR_AYEAR_M:DECHZ_YEAR02;年减JMPCMP_YEAR_MWEEK_A:INCHZ_WEEK;星期加JMPCMP_WEEK_AWEEK_M:DECHZ_WEEK;星期减JMPCMP_WEEK_MCMP_HOU_A:CMPHZ_HOU01,0A3B2H;判断时十位是否为2,是跳转JEHOU_NEXT_01CMPHZ_HOU02,0A3BAH;判断时个位是否为10,是跳转JEHOU_NEXT_03JMPEXITHOU_NEXT_01:CMPHZ_HOU02,0A3B4H;判断(十位为2)时个位是否为5,跳转JEHOU_NEXT_02JMPEXITHOU_NEXT_02:MOVHZ_HOU01,0A3B0H;时置零MOVHZ_HOU02,0A3B0HJMPEXITHOU_NEXT_03:MOVHZ_HOU02,0A3B0H;(十位不为2)时个位置零,十位加一INCHZ_HOU01JMPEXITCMP_HOU_M:CMPHZ_HOU02,0A3AFH;判断时个位是否比零小,是跳转JEHOU_NEXT_04JMPEXITHOU_NEXT_04:CMPHZ_HOU01,0A3B0H;判断时(个位小于零)十位是否为零,是跳转JEHOU_NEXT_05MOVHZ_HOU02,0A3B0H;(十位不为零)个位置零,十位减一DECHZ_HOU01JMPEXITHOU_NEXT_05:MOVHZ_HOU02,0A3B3H;时置为23MOVHZ_HOU01,0A3B2HJMPEXITCMP_MIN_A:CMPHZ_MIN02,0A3BAH;判断分个位是否为10,是跳转JEMIN_NEXT_01JMPEXITMIN_NEXT_01:MOVHZ_MIN02,0A3B0H;个位置零,十位加一INCHZ_MIN01CMPHZ_MIN01,0A3B6H;判断分十位是否为6,是跳转JEMIN_NEXT_02JMPEXITMIN_NEXT_02:MOVHZ_MIN01,0A3B0H;十位置零JMPEXITCMP_MIN_M:CMPHZ_MIN02,0A3AFH;判断分个位是否比零小,是跳转JEMIN_NEXT_03JMPEXITMIN_NEXT_03:CMPHZ_MIN01,0A3B0H;判断(个位小于零)分个位是否为零,是跳转JEMIN_NEXT_04JMPMIN_NEXT_05MIN_NEXT_04:MOVHZ_MIN01,0A3B5H;分置为59MOVHZ_MIN02,0A3B9HJMPEXITMIN_NEXT_05:MOVHZ_MIN02,0A3B9H;(十位不为零)个位置为9,十位减一DECHZ_MIN01JMPEXITCMP_SEC_A:CMPHZ_SEC02,0A3BAH;判断秒个位是否为10,是跳转JESEC_NEXT_01JMPEXITSEC_NEXT_01:MOVHZ_SEC02,0A3B0H;个位置零,十位加一INCHZ_SEC01CMPHZ_SEC01,0A3B6H;判断秒十位是否为6,是跳转JESEC_NEXT_02JMPEXITSEC_NEXT_02:MOVHZ_SEC01,0A3B0H;十位置零JMPEXITCMP_SEC_M:CMPHZ_SEC02,0A3AFH;判断秒个位是否比零小,是跳转JESEC_NEXT_03JMPEXITSEC_NEXT_03:CMPHZ_SEC01,0A3B0H;判断(个位小于零)秒个位是否为零,是跳转JESEC_NEXT_04JMPSEC_NEXT_05SEC_NEXT_04:MOVHZ_SEC01,0A3B5H;分置为59MOVHZ_SEC02,0A3B9HJMPEXITSEC_NEXT_05:MOVHZ_SEC02,0A3B9H;(十位不为零)个位置为9,十位减一DECHZ_SEC01JMPEXITCMP_DAY_A:CMPHZ_MON01,0A3B1H;月的十位是否为1,是跳转JEDAY_NEXT_01CMPHZ_MON02,0A3B1H;1月JEGO_31CMPHZ_MON02,0A3B2H;2月JEGO_2MONCMPHZ_MON02,0A3B3H;3月JEGO_31CMPHZ_MON02,0A3B4H;4月JEGO_30CMPHZ_MON02,0A3B5H;5月JEGO_31CMPHZ_MON02,0A3B6H;6月JEGO_30CMPHZ_MON02,0A3B7H;7月JEGO_31CMPHZ_MON02,0A3B8H;8月JEGO_31CMPHZ_MON02,0A3B9H;9月JEGO_30DAY_NEXT_01:CMPHZ_MON02,0A3B0H;10月JEGO_31CMPHZ_MON02,0A3B1H;11月JEGO_30CMPHZ_MON02,0A3B2H;12月JEGO_31GO_31:;由于跳转的长度大于127字节,需二次跳转JMPGO_31_AGO_2MON:CMPHZ_DAY01,0A3B2H;十位是否为2JEDAY_NEXT_02CMPHZ_DAY02,0A3BAH;(十位不是2)个位是否大于9JEDAY_NEXT_04JMPEXITDAY_NEXT_02:CMPHZ_DAY02,0A3B9H;(十位为2)个位是否大于8JEDAY_NEXT_03JMPEXITDAY_NEXT_03:MOVHZ_DAY02,0A3B1H;重置为01MOVHZ_DAY01,0A3B0HJMPEXITDAY_NEXT_04:MOVHZ_DAY02,0A3B0HINCHZ_DAY01JMPEXITGO_30:CMPHZ_DAY01,0A3B3H;十位是否为3,是跳转JEDAY_NEXT_05_1CMPHZ_DAY02,0A3BAH;个位是否大于9,是跳转JEDAY_NEXT_05JMPEXITDAY_NEXT_05_1:CMPHZ_DAY02,0A3B1H;个位是否大于0,是跳转JEDAY_NEXT_05_2JMPEXITDAY_NEXT_05_2:MOVHZ_DAY02,0A3B1H;天数置为01MOVHZ_DAY01,0A3B0HJMPEXITDAY_NEXT_05:MOVHZ_DAY02,0A3B0H;个位置0,十位置1INCHZ_DAY01JMPEXITGO_31_A:CMPHZ_DAY01,0A3B3H;十位是否为3,是跳转JEDAY_NEXT_07CMPHZ_DAY02,0A3BAH;个位是否大于9,是跳转JEDAY_NEXT_09JMPEXITDAY_NEXT_07:CMPHZ_DAY02,0A3B2H;个位是否大于1,是跳转JEDAY_NEXT_08JMPEXITDAY_NEXT_08:MOVHZ_DAY02,0A3B1H;天数置01MOVHZ_DAY01,0A3B0HJMPEXITDAY_NEXT_09:MOVHZ_DAY02,0A3B0H;个位置0,十位置1INCHZ_DAY01JMPEXITCMP_DAY_M:CMPHZ_MON01,0A3B1H;月的十位是否为1,是跳转JEDAY_NEXT_10CMPHZ_MON02,0A3B1H;1月JEGO_31_MCMPHZ_MON02,0A3B2H;2月JEGO_2MON_MCMPHZ_MON02,0A3B3H;3月JEGO_31_MCMPHZ_MON02,0A3B4H;4月JEGO_30_MCMPHZ_MON02,0A3B5H;5月JEGO_31_MCMPHZ_MON02,0A3B6H;6月JEGO_30_MCMPHZ_MON02,0A3B7H;7月JEGO_31_MCMPHZ_MON02,0A3B8H;8月JEGO_31_MCMPHZ_MON02,0A3B9H;9月JEGO_30_MDAY_NEXT_10:CMPHZ_MON02,0A3B0H;10月JEGO_31_MCMPHZ_MON02,0A3B1H;11月JEGO_30_MCMPHZ_MON02,0A3B2H;12月JEGO_31_MGO_31_M:;二次跳转JMPGO_31_M_1GO_2MON_M:CMPHZ_DAY01,0A3B0H;十位是否为0,是跳转JEDAY_NEXT_11CMPHZ_DAY02,0A3AFH;个位是否小于0,是跳转JEDAY_NEXT_13JMPEXITDAY_NEXT_11:CMPHZ_DAY02,0A3B0H;(十位为0)个位是否为0,是跳转JEDAY_NEXT_12JMPEXITDAY_NEXT_12:MOVHZ_DAY02,0A3B8H;天数置28MOVHZ_DAY01,0A3B2HJMPEXITDAY_NEXT_13:MOVHZ_DAY02,0A3B9H;个位置9,十位减1DECHZ_DAY01JMPEXITGO_30_M:CMPHZ_DAY01,0A3B0H;十位是否为0,是跳转JEDAY_NEXT_14CMPHZ_DAY02,0A3AFH;个位是否小于0,是跳转JEDAY_NEXT_16JMPEXITDAY_NEXT_14:CMPHZ_DAY02,0A3B0H;(十位为0)个位是否为0,是跳转JEDAY_NEXT_15JMPEXITDAY_NEXT_15:MOVHZ_DAY02,0A3B0H;天数置30MOVHZ_DAY01,0A3B3HJMPEXITDAY_NEXT_16:MOVHZ_DAY02,0A3B9H;个位置9,十位减一DECHZ_DAY01JMPEXITGO_31_M_1:CMPHZ_DAY01,0A3B0H;十位是否为0,是跳转JEDAY_NEXT_17CMPHZ_DAY02,0A3AFH;个位是否小于0,是跳转JEDAY_NEXT_19JMPEXITDAY_NEXT_17:CMPHZ_DAY02,0A3B0H;(十位为0)个位是否为0,是跳转JEDAY_NEXT_18JMPEXITDAY_NEXT_18:MOVHZ_DAY02,0A3B1H;天数置31MOVHZ_DAY01,0A3B3HJMPEXITDAY_NEXT_19:MOVHZ_DAY02,0A3B9H;个位置9,十位减一DECHZ_DAY01JMPEXITCMP_MON_A:CMPHZ_MON01,0A3B1H;十位是否为1,是跳转JEMON_NEXT_01_ACMPHZ_MON02,0A3BAH;个位是否大于9,是跳转JEMON_NEXT_03_AJMPEXITMON_NEXT_01_A:CMPHZ_MON02,0A3B3H;(十位为1)个位是否大于2,是跳转JEMON_NEXT_02_AJMPEXITMON_NEXT_02_A:MOVHZ_MON02,0A3B1H;月份置01MOVHZ_MON01,0A3B0HJMPEXITMON_NEXT_03_A:MOVHZ_MON02,0A3B0H;个位置0,十位加1INCHZ_MON01JMPEXITCMP_MON_M:CMPHZ_MON01,0A3B0H;十位是否为0,是跳转JEMON_NEXT_04_ACMPHZ_MON02,0A3AFH;个位是否小于0,是跳转JEMON_NEXT_06_AJMPEXITMON_NEXT_04_A:CMPHZ_MON02,0A3B0H;(十位为0)个位是否为0,是跳转JEMON_NEXT_05_AJMPEXITMON_NEXT_05_A:MOVHZ_MON02,0A3B2H;月份置12MOVHZ_MON01,0A3B1HJMPEXITMON_NEXT_06_A:MOVHZ_MON02,0A3B9H;个位置9,十位减1DECHZ_MON01JMPEXITCMP_YEAR_A:CMPHZ_YEAR02,0A3BAH;个位是否大于9,是跳转JEYEAR_NEXT_01_AJMPEXITYEAR_NEXT_01_A:MOVHZ_YEAR02,0A3B0H;个位置0,十位加1INCHZ_YEAR01CMPHZ_YEAR01,0A3BAH;十位是否大于9,是跳转JEYEAR_NEXT_02_AJMPEXITYEAR_NEXT_02_A:MOVHZ_YEAR02,0A3B0H;年数置00MOVHZ_YEAR01,0A3B0HJMPEXITCMP_YEAR_M:CMPHZ_YEAR02,0A3AFH;个位是否小于0,是跳转JEYEAR_NEXT_03_AJMPEXITYEAR_NEXT_03_A:MOVHZ_YEAR02,0A3B9H;个位置9,十位减1DECHZ_YEAR01CMPHZ_YEAR01,0A3AFH;十位是否小于0,是跳转JEYEAR_NEXT_04_AJMPEXITYEAR_NEXT_04_A:MOVHZ_YEAR02,0A3B9H;年数置99MOVHZ_YEAR01,0A3B9HJMPEXITCMP_WEEK_A:CMPHZ_WEEK,0A3B8H;是否大于7,是跳转JEWEEK_NEXT_01_AJMPEXITWEEK_NEXT_01_A:MOVHZ_WEEK,0A3B1H;星期置1JMPEXITCMP_WEEK_M:CMPHZ_WEEK,0A3B0H;是否小于1,是跳转JEWEEK_NEXT_02_MJMPEXITWEEK_NEXT_02_M:MOVHZ_WEEK,0A3B7H;星期置7JMPEXITEXIT:JMPJP_STARTEXIT_END:RETJPENDPCODEENDSENDSTART基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究HYPERLINK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论