南昌大学单片机课程设计程序清单.doc_第1页
南昌大学单片机课程设计程序清单.doc_第2页
南昌大学单片机课程设计程序清单.doc_第3页
南昌大学单片机课程设计程序清单.doc_第4页
全文预览已结束

下载本文档

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

文档简介

南昌大学单片机课程设计(部分任务)程序清单ORG 0000H ;主程序入口LJMP STARTORG 000BH ;定时器T0中断入口LJMP SUB1ORG 0013H ;外部中断1(按键中断)入口LJMP SUB2ORG 0030HSTART:MOV SP,#30H ;主程序赋值开始, CLR P1.0 CLR P1.1 CLR P1.7 ;关闭蜂鸣器,防止其在没有按键按下时响起 MOV R7,#30 ;长按键1.5秒初值 MOV IE,#84H ;开外部中断1 MOV TMOD,#01H ;设置定时器T0用方式1定时 MOV SCON,#00H ;设置串行口为方式0,开始学号显示程序 MOV DPTR,#TAB1 ;将表1的首地址赋给DPTR MOV R0,#5 ; 发送5行数据 L3:MOV R1,#5 ;每行发送5个数据 L2:CLR A MOVC A,A+DPTR ;查表指令 MOV SBUF,A ;发送数据 L1:JNB TI,L1 CLR TI INC DPTR DJNZ R1,L2 LCALL YANSHI1S ;每行发生送完便延时1秒再发送下一行 DJNZ R0,L3TAB1:DB 06H,00H,00H,00H,00H ;表1,学号输出,显示如下 X X X X 1 步骤1 DB 06H,06H,00H,00H,00H ; 从右进入 X X X 1 1 步骤2 DB 3FH,06H,06H,00H,00H ; X X 1 1 0 步骤3 DB 4FH,3FH,06H,06H,00H ; X 1 1 0 3 步骤4 DB 07H,4FH,3FH,06H,06H ; 1 1 0 3 7 步骤5SUB2:CLR EX0 ;关外部中断0的源允许,防止其优先于外部中断1发生 PUSH PSW ;压栈 PUSH ACC LCALL YANSHI10ms ;调用10ms延时去抖动 CLR P1.0 CLR P1.1 JB P3.3,L5 ;判断外部中断1是否触发,若已触发则执行键号判断显示程序 LJMP L6 L5:POP ACC POP PSW ;先入后出原则出栈 RETI L6:CLR P1.5 ;开始键号判断显示程序 SETB P1.6 JB P1.0,L7 CLR P1.6 ;1号键,标记为1 SETB TR0 MOV R5,#1 MOV R6,#01H LCALL SAJH LCALL FMQX LJMP L5 L7:JB P1.1,L8 CLR P1.6 MOV R5,#3 ;3号键,标记为3 SETB TR0 MOV R6,#03H LCALL FMQX LCALL SAJH LJMP L5 L8:CLR P1.6 SETB P1.5 JB P1.0,L9 CLR P1.5 SETB TR0 MOV R5,#0 ;0号键,标记为0 MOV R6,#00H LCALL FMQX LCALL SAJH LJMP L5 L9:JB P1.1,L6 CLR P1.5 SETB TR0 MOV R5,#2 ;2号键,标记为2 MOV R6,#02H LCALL FMQX LCALL SAJH LJMP L5SHIBO:JNB P3.3,$ ;功能键显示倒锯齿波程序 CLR P1.5 CLR P1.6 CLR P1.7 ;关掉蜂鸣器 MOV DPTR,#7FFH ;输出倒锯齿波程序开始,置DAC0809入口地址 MOV A,#0FFH LP:MOVX DPTR,A ;指令执行周期2us ;共延时16us,故输出波的周期约为T=256X16=4000us=4ms DEC A ; 1us ,则其频率为250HZ MOV R1,#5 ; 1us LOOP1:DJNZ R1,LOOP1 ; 5x2us=10us SJMP LP ; 2us RET SUB1:MOV TH0,#03CH ;定时器T0中断子程序 MOV TL0,#0B0H ;赋定时初值 JB P3.3,OUT1 ;判断按键是否弹起 DJNZ R7,OUT2 ;判断按键被按下是否大于1.5秒,否则跳出 CLR TR0 ;关闭定时器T0 CLR TF0 ;重赋初值,为下次按键中断计时1.5秒做准备 MOV R7,#30 ;判断是否为2号键按下 CJNE R5,#2,PR1 LJMP SHIBO ;转到显示到锯齿形波程序 PR1:CJNE R5,#3,OUT2 ;判断是否为3号键按下 LJMP START ;转到显示学号程序 RETI OUT1:CLR TR0 OUT2:RETYANSHI1S:MOV R2,#64H ;延时一秒子程序 DELL:MOV TH0,#0D8H MOV TL0,#0F0H SETB TR0 DEL:JBC TF0,REP SJMP DEL REP:DJNZ R2,DELL RETFMQX:CLR P1.7 ;蜂鸣器响子程序 L4:JB P3.3,L4 ;判断外部中断1(按键中断)输入 SETB P1.7 RETYANSHI10ms:MOV R4,#10 ;延时十毫秒子程序 DL2:MOV R1,#0FAH DL1:NOP NOP DJNZ R1,DL1 DJNZ R4,DL2 RETSAJH:MOV R7,#05H ;输出按键号子程序 DL5:MOV A,R6 MOV DPTR,#TA

温馨提示

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

评论

0/150

提交评论