定时数码管显示实验.ppt_第1页
定时数码管显示实验.ppt_第2页
定时数码管显示实验.ppt_第3页
定时数码管显示实验.ppt_第4页
定时数码管显示实验.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

定时数码管显示实验,实验目的实验器材硬件接线软件功能程序清单备注说明,实验目的:,LCD与定时中断的联合编程,显示时钟,实验器材:,1.SD-1型在线编程实验仪2.导线若干,硬件接线:,使用实验板固定接线(PTB0,1,2,3,4,5,6,7分别接LA,LB,LC,LD,LE,LF,LG,LDPPTC0,1,2,3分别接L11,L12,L13,L14),软件功能:,手动设置当前时间显示时钟,程序清单:,口地址定义寄存器地址内存变量定义主程序扫描子程序,转码子程序显示子程序延时子程序定时器1溢出中断子程序中断矢量,软件功能:,运行时请与标准时间进行校对,口地址定义,PTAEQU$0000;A口数据寄存器DDRAEQU$0004;A口数据方向寄存器PTBEQU$0001;B口数据寄存器DDRBEQU$0005;B口数据方向寄存器PTCEQU$0002;C口数据寄存器DDRCEQU$0006;C口数据方向寄存器PTDEQU$0003;D口数据寄存器DDRDEQU$0007;D口数据方向寄存器PTDPUEEQU$000F,寄存器地址,T1SCEQU$0020;定时器1状态和控制寄存器T1CNTHEQU$0021;定时器1计数寄存器(高位)T1CNTLEQU$0022;定时器1计数寄存器(低位)T1MODHEQU$0023;定时器1模数寄存器(高位)T1MODLEQU$0024;定时器1模数寄存器(低位)RAMstartAddrequ$0040;RAM的起始地址(因芯片不同可以更改)FlashStartAddrequ$8000;程序开始地址(因芯片不同可以更改),内存变量定义,ORGRAMstartAddrShow_BufferRMB8;存放待显示的数据CsRMB1;位选信号SecRMB1MinRMB1HouRMB1I1RMB1,主程序,*-主程序-ORGFlashStartAddr;初始化NOP;初始化SEI;禁止所有中断LDHX#$023F;堆栈初始化,放入GP32的RAM最高端TXS;系统初始化MOV#%00000001,$001E;初始化CONFIG2,内部总线时钟用作SCI的时钟MOV#%00111101,$001F;初始化CONFIG1,允许LVI复位信号,;禁止LIV模块的电源,LIV工作在5V,;经过32个周期退出STOP模式,禁止COP模块CLR$0036;清零,初始化PCTL,MOV#$01,$0036MOV#$01,$0038MOV#$2C,$0039MOV#$80,$003ABSET5,$0036BSET7,$0037;自动方式BSET4,$0036;选择PLL为系统时钟源,主程序续,LDA#$FF;定义A口为输出STADDRALDA#$FF;定义B口为输出STADDRBLDA#$FF;定义C口为输出STADDRCLDA#$00;定义A口之前复位PTASTAPTD;D口STADDRD;输入LDA#$FF;定义D口有上拉电阻STAPTDPUE;STAPTD;定时器1初始化LDA#%01100110;允许溢出中断、不启动计数、分频因子=64STAT1SCLDHX#$0000;计数寄存器初值=$0000STHXT1CNTHLDHX#$9600;设1秒产生1次溢出中断STHXT1MODH;模数寄存器设定值=1(2457600/64)=$9600;设置初始时间MOV#$7F,Show_Buffer+2MOV#$7F,Show_Buffer+5MOV#$00,Sec,主程序续,MOV#$00,MinMOV#$00,Hou;-设置当前时间-SetUp:JSRScanSetSec:BRSET0,PTD,SetMinINCSecLDASecCMP#!59BNESetMinMOV#!0,SecSetMin:BRSET1,PTD,SetHouINCMinLDAMinCMP#!59BNESetHouMOV#!0,Min,主程序续,SetHou:BRSET2,PTD,SetExitINCHouLDAHouCMP#!23BNESetExitMOV#!0,HouSetExit:BRCLR3,PTD,SetExit2Mov#$FF,I1ScanDlay:JSRSCANDBNZI1,ScanDlayJMPSetUpSetExit2:BCLR5,T1SC;允许定时器1计数寄存器计数CLI,扫描子程序,Scan:LDAHouLDHX#Show_BufferJSRTrans1LDAMinLDHX#Show_Buffer+3JSRTrans1LDASecLDHX#Show_Buffer+6JSRTrans1JSRShow_Num;显示起始数据RTS,转码子程序,Trans1:PSHAPSHHPSHXLDHX#$000ADIVLDHX#$0000TAXLDATable,XPULXPULHSTA,XAIX#$1PULA,转码子程序续,PSHHPSHXLDHX#$000ADIVPSHHPULALDHX#$0000TAXLDATable,XPULXPULHSTA,XRTSTableFCB$C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90,$40,$4F,$24,$30,$19,$12,$02,$78,$00,$10,$7f;显示码表01234567890.1.2.3.4.5.6.7.8.9.;01234567891011121314151617181920,显示子程序,Show_Num:PSHH;进栈,保存HX,A中内容PSHXPSHALDHX#$0000;清空缓冲区MOV#$01,CS;先取第一个数Show_Num_Loop:LDAShow_Buffer,X;取出Show_Buffer中一个字符放入ASTAPTBPSHXPSHHAIX#$4LDAShow_Buffer,X;取出Show_Buffer中一个字符放入ASTAPTA,显示子程序续,LDACS;将A中第一个数存入C中输出STAPTCLDA#!100;延时100毫秒JSRDelay_nsASLCS;算术左移,修改位选信号PULHPULXAIX#!1CPX#!4;判断扫描是否完毕BLOShow_Num_Loop;小于4则循环;-PULA;出栈PULXPULHRTS,延时子程序1,Delay_ms:LDA#!248;0.5msJSRDelay_nsLDA#!248;0.5msJSRDelay_nsAIX#-!1CPHX#!0BNEDelay_ms;4CyclesRTS;4Cycles,延时子程序2,Delay_ns:NOP;1CyclesNOP;1CyclesDBNZADelay_ns;3CyclesRTS;4Cycles,定时器1溢出中断子程序,Timer1OvF:INCSecLDASecCMP#!60BLOTim1OvF_ExitCLRSecINCMin;一分到LDAMinCMP#!60BLOTim1OvF_Exit

温馨提示

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

评论

0/150

提交评论