应用程序设计.doc_第1页
应用程序设计.doc_第2页
应用程序设计.doc_第3页
应用程序设计.doc_第4页
应用程序设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

数字电子钟(汇编)技术文档在旁边的日志里面 有系统的硬件和软件结构,以及按键的功能 需要分析和说明的朋友可以联系我学校电子设计大赛的作品,可能有些地方不是很简洁,望各位高手批评指正.;*;* 数字电子钟 *;* by:孙新贺 07.4.25 * ;*;变量定义和内存分配DISP_BUFDATA30H ;显示缓冲区KEY_BUFEQU33H ;键盘缓冲区KEYTEMPEQU34H;临时按键值HOURDATA40H;小时位变量MINDATA41H;分钟位变量SECDATA42H;秒位变量ALHOURDATA43H;闹铃小时位ALMINDATA44H;闹铃分钟位;TFLAGBIT2000H;定时结束的标志RUNBITBIT2001H;运行标志(为1则运行,否则停止)ALARMBIT2002H;闹铃标志位ALARMRBIT2003H;闹铃运行标志位;ORG 0000HLJMP MAIN;到主程序ORG000BHLJMPCT0S;到定时器0的中断服务程序;*;以下是延时子程序,延时时间为10msORG0020DELAY: MOV R5,#05H D1: MOV R6,#01HD2: MOV R4,#1 DJNZ R4,$ DJNZ R6,D2 DJNZ R5,D1 RET ;延时10ms子程序结束;*;以下是按键扫描子程序;p1口为按键的接口ORG 0050HKEY_SCAN:MOVKEY_BUF,#00HMOVKEYTEMP,#00HMOVP1,#0FFHMOV A,P1CJNEA,#0FFH,KNEXTLJMPKRETKNEXT:MOVKEYTEMP,AKDELAY: MOV R5,#2 DD1: MOV R6,#250DD2: MOV R4,#80 DJNZ R4,$ DJNZ R6,DD2 DJNZ R5,DD1 NOP MOVP1,#0FFH MOVA,P1 CJNEA,KEYTEMP,KRET MOVKEY_BUF,AKRET:RET;*;*;*;主程序开始ORG 0100HMAIN:;初始化部分;初始化缓冲区MOV30H,#00HMOV31H,#00HMOV32H,#00HMOV33H,#00HMOV40H,#00HMOV41H,#00HMOV42H,#00HMOV43H,#00HMOV44H,#00HCLRTFLAG;初始化堆栈指针MOVSP,#70H;初始化P1口MOVP1,#0FFH;初始化R7(20次50ms的中断)MOVR3,#20;初始化运行标志位SETBRUNBITCLRALARMSETBP3.6SETBP3.7;初始化T0定时器 MOVTMOD,#01HMOVTH0,#04BHMOVTL0,#0FFHSETBET0SETBEASETBTR0;*;大循环开始 MAINC:LJMPMNEXT;走时部分ORG0400H;1s 的延时子程序CT0S:MOVTMOD,#01HMOVTH0,#04BHMOVTL0,#0FFHDECR3CJNER3,#00H,EEMOVR3,#20;秒增加的程序MOVR0,#SECMOVA,R0ADDA,#01HDAAMOVR0,A;分钟增加的程序CJNEA,#60H,RENDMOVSEC,#00HMOVA,MINADDA,#01HDAAMOVMIN,A;小时增加的程序CJNEA,#60H,RENDMOV MIN,#00HMOVA,HOURADDA,#01HDAAMOVHOUR,ACJNEA,#24H,DAYENDMOVHOUR,#00HEE:RETIDAYEND:RETIREND:MOVR3,#20RETIMNEXT:LCALL DISPLAY ;显示子程序MOVKEY_BUF,#00HLCALL KEY_SCAN ;按键扫描子程序LCALL KEY_P ;按键处理子程序LCALLALARM_S;闹铃管理子程序LJMP MNEXT;*;*;*;以下是显示子程序;p2口输出位码,p0口输出段码ORG 0200HDISPLAY:JBALARM,ALDISP;以下是显示小时的部分MOVP2,#03HMOVA,HOURANLA,#0F0HSWAPAMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#80HCPL AMOV P2,ACALLDELAYCALLDELAYMOVA,HOURANLA,#0FHMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#40HCPL AMOV P2,ACALLDELAYCALLDELAY;以下是显示分钟的部分MOVP2,#03HMOVA,MINANLA,#0F0HSWAPAMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#20HCPL AMOV P2,ACALLDELAYCALLDELAYMOVA,MINANLA,#0FHMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#10HCPL AMOV P2,ACALLDELAYCALLDELAY;以下是显示秒的部分MOVP2,#03HMOVA,SECANLA,#0F0HSWAPAMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#08HCPL AMOV P2,ACALLDELAYCALLDELAYMOVA,SECANLA,#0FHMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#04HCPL AMOV P2,ACALLDELAYCALLDELAYRETALDISP:;以下是显示AL小时的部分MOVP2,#03HMOVA,ALHOURANLA,#0F0HSWAPAMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#80HCPL AMOV P2,ACALLDELAYCALLDELAYMOVA,ALHOURANLA,#0FHMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#40HCPL AMOV P2,ACALLDELAYCALLDELAY;以下是显示AL分钟的部分MOVP2,#03HMOVA,ALMINANLA,#0F0HSWAPAMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#20HCPL AMOV P2,ACALLDELAYCALLDELAYMOVA,ALMINANLA,#0FHMOVDPTR,#CHARMOVCA,A+DPTRMOVP0,AMOVA,#10HCPL AMOV P2,ACALLDELAYCALLDELAY;以下是显示AL的部分MOVP0,#0EFHMOVA,#08HCPL AMOV P2,ACALLDELAYCALLDELAYMOVP0,#1CHMOVA,#04HCPL AMOV P2,ACALLDELAYCALLDELAYRETCHAR:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H;字型码表;*;以下是按键处理子程序ORG0300HKEY_P:MOVA,KEY_BUFCJNEA,#11111110B,NKN1;按键0的处理程序;秒增加的程序MOVA,SECADDA,#01HDAACJNEA,#60H,KPRET1MOV SEC,#00HRETKPRET1:MOVSEC,ARET;按键0的处理程序结束NKN1:CJNEA,#11111101B,NKN2;按键1的处理程序;分钟增加的程序JBALARM,ALKNMOVA,MINADDA,#01HDAACJNEA,#60H,KPRET2MOV MIN,#00HRETALKN:MOVA,ALMINADDA,#01HDAACJNEA,#60H,AKPRET2MOV ALMIN,#00HRETKPRET2:MOVMIN,ARETAKPRET2: MOVALMIN,ARET;按键1的处理程序结束NKN2:CJNEA,#11111011B,NKN3;按键2的处理程序;小时增加的程序JBALARM,ALKMMOVA,HOURADDA,#01HDAACJNEA,#24H,KPRET3MOV HOUR,#00HRETALKM:MOVA,ALHOURADDA,#01HDAACJNEA,#24H,AKPRET3MOV ALHOUR,#00HRETKPRET3:MOVHOUR,ARETAKPRET3:MOVALHOUR,ARET;按键2的处理程序结束NKN3:CJNEA,#11110111B,NKN4;按键3的处理程序;预置时间按键JBTR0,NKN3NSETBTR0RETNKN3N:CLRTR0RET;按键3的处理程序结束NKN4:CJNEA,#11101111B,NKN5;按键4的处理程序;12小时和24小时转换部分MOVA,HOURCJNEA,#12H,ZH_PLJMPZHRET;A大于12则C为0,否则C为1ZH_P:JCZHRETCLRCSUBBA,#12HDAAMOVHOUR,AZHRET:RET;按键4的处理程序结束NKN5:CJNEA,#11011111B,NKN6;按键5的处理程序 JBALARM,ALNEXT SETBALARM RETALNEXT: CLRALARM RET;按键5的处理程序结束NKN6:CJNEA,#10111111B,NKN7;按键6的处理程序 JBALARMR,ALRNEXT SETBALARMR CLRP3.6 RETALRNEXT: CLR

温馨提示

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

评论

0/150

提交评论