求单片机的实例的文章

[复制链接]
查看11 | 回复0 | 2013-4-18 11:06:26 | 显示全部楼层 |阅读模式
为 六位数码管时钟程序倚天版直接使用,p3.2,p3.3,p3.4,p3.5 四键控制!转载自无线电杂志2003年第10期。强烈推荐,实测24小时误差5秒。详细说明见无线电杂志2003年第10期(注意,有少许改动);实用单片机电子钟的制作;主程序(MAIN),如下:ORG 0000HAJMP MAINORG 000BHAJMP TIMEORG 0300HMAIN:mov 20h,#00hMOV 21H,#00HMOV 22H,#00HMOV 23H,#00HMOV IP,#02H ;筹P,IE初始化MOV IE,#82HMOV TMOD,#01H ;欢ㄊ逼鞯某跏蓟?MOV TL0,#0B0HMOV TH0,#3CHSETB TR0 ;黄舳?ㄊ逼鞴ぷ?MOV SP,#40H ;欢颜恢刚肷栉?0HNEXT: LCALL DISP ;坏饔孟允咀映绦?LCALL KEY ;坏靼醇?卸献映绦?JZ NEXT ;晃藜?聪伦狈EXTLCALL ANKEY ;挥屑?聪伦?醇??碜映绦?SJMP NEXT ;话醇??硗曜狈EXTNOPNOPNOP;定时中断处理程序:TIME: PUSH ACC ;幌殖”;?PUSH PSWMOV TL0,#0B4H ;恢刂贸踔?MOV TH0,#3CHINC 20H ;患剖贝??MOV A,20HCJNE A,#20,RETI1MOV 20H,#00HMOV A,21HADD A,#01HDA AMOV 21H,ACJNE A,#60H,RETI1MOV 21H,#00HMOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,RETI1MOV 22H,#00HMOV A,23HADD A,#01HDA AMOV 23H,ACJNE A,#24H,RETI1MOV 23H,#00HRETI1: POP PSW ;换指聪殖?POP ACCRETI ;恢卸戏祷?NOPNOP;显示子程序DISP: ANL 2FH,#10H ;徊鹱郑?⒁庑∈?愕南允?MOV A,21HANL A,#0FHORL A,2FHMOV 2FH,AMOV A,21HANL A,#0F0HSWAP AMOV 2EH,AANL 2DH,#10HMOV A,22HANL A,#0FHORL A,2DHMOV 2DH,AMOV A,22HANL A,#0F0HSWAP AMOV 2CH,AANL 2BH,#10HMOV A,23HANL A,#0FHORL A,2BHMOV 2BH,AMOV A,23HANL A,#0F0HSWAP AMOV 2AH,AMOV R0,#2FHMOV R3,#06HMOV DPTR,#TABLEMOV A,#0BFHLOOP1: MOV B,A ;凰臀豢刂谱钟攵慰刂谱?MOV P2,aMOV A,@R0MOVC A,@A+DPTRMOV P0,aMOV R2,#80H ;谎邮?DJNZ R2,$DEC R0MOV A,BRR ADJNZ R3,LOOP1RETTABLE: db 28h,7eh,0a2h,62h,74h,61h,21h ;恍∈?悴涣恋拇??DB 7ah,20h,60h,00,00,00,00,00,00DB 8H,5eH,82H,42H,54H,41H,1H,5aH ;恍∈?懔恋南允敬??DB 00H,40H,00,00,00,00,00,00NOPNOP;按键判断程序KEY: MOV P3,#0FFH ;欢涟醇?刺?MOV A,P3CPL AANL A,#3CHJZ RETX ;晃藜?聪路祷兀?屑?聪卵邮比ザ抖?LCALL DISPLCALL DISPMOV A,P3CPL AANL A,#3CHJZ RETX ;皇嵌抖?则返回主程序,否则读按键状态存入R6及A中MOV R6,ALOOP2: LCALL DISP ;坏却?醇?氖头?MOV A,P3CPL AANL A,#3CHJNZ LOOP2MOV A,R6RETX: RETNOPNOP;按键处理子程序ANKEY: CLR EA ;关中断LX: MOV A,R6JB ACC.2,L1 ;是功能键转L1JB ACC.3,L2 ;是确认键转L2JB ACC.4,L3 ;是增1键转L3JNB ACC.5,L12 ;不是减1键,转L12JB 2BH.4,L6 ;判断使哪一位(时、分、秒)的值减1JB 2DH.4,L8JB 2FH.4,L9L12: LCALL DISPLCALL DISPLCALL KEYJZ L12LJMP LXL2: MOV 25H,#00H ;皇侨啡霞???硗瓯戏祷?CLR 2BH.4CLR 2DH.4CLR 2FH.4SETB EARETL3: JB 2BH.4,L61JB 2DH.4,L81JB 2FH.4,L91AJMP L12L1: MOV A,25HJZ LB1JB ACC.0,LB2JB ACC.1,LB3JNB ACC.2,L12LB1: MOV 25H,#01H ;?5H单元是标志位,(25H)=01H调节时单元的值SETB 2BH.4CLR 2DH.4CLR 2FH.4AJMP L12LB3: MOV 25H,#04H ;唬?5H)=04H调节秒单元的值SETB 2FH.4CLR 2DH.4CLR 2BH.4AJMP L12LB2: MOV 25H,#02H ;唬?5H)=02H,调节分单元的值SETB 2DH.4CLR 2BH.4CLR 2FH.4AJMP L12L61: AJMP L611 ; 坏鹘谑?间时注意使用的是十进制,而且注意L81: AJMP L811 ;环趾兔攵际?0进制,时是24进制L91: AJMP L911L6: MOV A,23HADD A,#01HDA AMOV 23H,ACJNE A,#24H,L15L15: JC L112MOV 23H,#00HL112: AJMP L12L8: MOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,L16L16: JC L112MOV 22H,#00HAJMP L12L9: MOV A,21HADD A,#01HDA AMOV 21H,ACJNE A,#60H,L17L17: JC L112MOV 21H,#00HAJMP L12L611: MOV A,23HADD A,#99HDA AMOV 23H,ACJNE A,#99H,L112MOV 23H,#23HAJMP L12L811: MOV A,22HADD A,#99HDA AMOV 22H,ACJNE A,#99H,L112MOV 22H,#59HAJMP L12L911: MOV A,21HADD A,#99HDA AMOV 21H,ACJNE A,#99H,L112MOV 21H,#59HAJMP L12NOPNOPEND
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行