实验板配套程序MCS51实验板配套程序时钟程序
程序名:MCS51实验板配套程序时钟,使用T0中断方式电路介绍:显示由一片74164驱动4位共阴数码管DsDatp14DsClkp15Gwp10Swp11Bwp12Qwp13www01mcu
etwww01mcucom2003419编写XSDATBITP14定义部分XSCLKBITP1574164的数据和时钟GWBITP10SWBITP11BWBITP12QWBITP13bzbit00h秒闪动标志SJGWEQU30H秒存储器SJSWEQU31HSJBWEQU32H分存储器SJQWEQU33HTIMEEQU21H定时器SECEQU22H秒计数器MINEQU23H分钟计数器中断入口ORG0000HAJMPINIT到初始ORG000BHAJMPTIME050MS中断初始化INITMOVSP40HMOVP10FH关闭显示MOVP00ffH发光管灭MOVSEC0MOVMIN0清时间为0MOVTMOD1H初始化T0为定时器方式,模式1MOVTL00B0HMOVTH03CH50MS定时初值12M时SETBET0允许T0中断SETBTR0启动定时器T0SETBEAMAINMOVASEC提取秒数据MOVB10DIVAB10进制转换MOVSJSWA得到十秒值
fMOVSJGWB得到秒值MOVAMINMOVB10DIVAB转换分MOVSJQWA得到十分值MOVSJBWB得到分值LCALLDISPLAY显示LJMPMAINT050MS中断对应12MHZTIME0PUSHACCINCTIMEMOVATIMECJNEA20T0EXIT20个50MS1Scplbz反转闪动标志MOVTIME0INCSEC1秒MOVASECCJNEA60T0EXIT60S1MINMOVSEC0INCMIN1分MOVAMINCJNEA60T0EXITMOVMIN0decp0用二进制方式在P0口显示小时记录T0EXITMOVTL00B0HMOVTH03CH重装50MS定时POPACCRETI74164显示程序使用RS11RS00的1区2003419DISPLAYPUSHACC保存ACCPUSHPSWCLRRS1SETBRS0使用第一区工作寄存器MOVDPTRXSTABMOVASJGW取得数据MOVCAADPTR提取字模ACALLDSOUT调用送出子程序CLRGWACALLDS1MS调用显示1MS延时程序SETBGWMOVASJSWMOVCAADPTR提取字模
fACALLDSOUT送出CLRSWACALLDS1MS显示1MSSETBSWMOVASJBWMOVCAADPTR提取字模ACALLDSOUT送出CLRBWACALLDS1MS显示1MSSETBBWjbbzbzover若标志1,不显示小数点mova80h显示小数点acalldsoutclrbwacallds1mssetbbwbzoverMOVASJQWMOVCAADPTR提取字模ACALLDSOUT送出CLRQWACALLDS1MS显示1MSSETBQWPOPPSWPOPACC出栈RET返回调用送出循环DSOUTMOVR08传送一个字节8位DSLOOPRLCA右移MOVXSDATC送数据到数据口SETBXSCLK送一时钟CLRXSCLKDJNZR0DSLOOPRET显示延时DS1MSMOVR110DS1LOMOVR2100DJNZR2DJNZR1DS1LORET延时返回r