六位数码管时钟设计计算机控制技术实训报告.doc_第1页
六位数码管时钟设计计算机控制技术实训报告.doc_第2页
六位数码管时钟设计计算机控制技术实训报告.doc_第3页
六位数码管时钟设计计算机控制技术实训报告.doc_第4页
六位数码管时钟设计计算机控制技术实训报告.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

xxxx职业技术学院计算机控制技术实训报告题 目: 六位数码管时钟设计 专 业:_机电一体化 班 级: 机电1006班 学生姓名: 学 号: 06100520 指导教师: 实训时间: 2012 年 12 月 292013年1月6 日一系统设计要求(一)设计1分钟定时程序 选择定时器(T0/T1) 选择适当的工作方式(方式1/方式2) 计算并设定定时器的计数初值 要求用中断方式 每隔1秒钟信号取反一次,输出到P1.0引脚所连接的LED灯去。(二)设计6位数码管显示程序设计6位数码管显示程序,用动态扫描方式显示6位数字(如日期:121203)。段码显示由P0口负责,位码由P2口显示(三)实际完成的功能起始值时、分、秒全是零,系统执行初始化程序后,随即开始走时,无须特为启动。当时钟显示为23:59:59时,再加1,时钟从00:00:00开始运行,从而达到24小时循环。二系统的硬件设计 CPU-AT89C51 段码驱动芯片-74LS245 6位数码管-7SEG-MPX6-CC 电阻-3WATT10K 电容-AVX0402、GENELECT 晶振-CRYSTAL 按钮-BUTTON6LED日期显示 三系统的软件设计程序流程图设置初始常数(T0)=3CH,(Tl)=0B0H,(R2)=#00H(R1)=#00H,(R0)=#00H,(R4)=#14H启动定时器SETB TR0调用读取子程序显示秒钟值秒钟个位显示数据送P0口秒钟十位显示数据送P0口读取秒钟显示缓存数据显示分钟值分钟个位显示数据送P0口分钟十位显示数据送P0口读取分钟显示缓存数据显示小时值小时个位显示数据送P0口小时十位显示数据送P0口读取小时显示缓存数据置定时器模式及工作方式(tmod)=#01h,(ie)=#82h开始 主程序 子程序 定时中断子程序秒钟(R0)加1设置(R3)下次20次计数值秒钟(R0)值=#3CH秒钟(R0)清0,分钟(R1)加1读取小时(R2)值送A,送#0AH到B分钟(R1)值=#3ch分钟(R1)清0,小时(R2)加1小时(R2)值=#18H中断入口中断返回(R3)计数值为0保护现场(R3)20次计数值减1小时(r2)清0恢复现场显示数据送缓存查表把秒钟A(十位)B(个位)值转换成显示数据做除法运算做除法运算做除法运算读取秒钟(R0)值送A,送#0AH到B显示数据送缓存查表把分钟A(十位)B(个位)值转换成显示数据读取分钟(R1)值送A,送#0AH到B显示数据送缓存查表把小时A(十位)B(个位)值转换成显示数据 读取子程序子程序返回 调节分钟中断子程序 调节小时中断子程序中断入口0003H保护现场保护现场(R1)+1R1 (R2)=#18H恢复现场恢复现场中断返回中断返回中断入口0013H(R2)+1R2 (R1)=#3CH清零(R2):MOV R2,#00H清零(R1):MOV R1,#00H 源程序(一)定时程序1秒定时(模式1)ORG 0000HSJMP STARTORG 000BHSJMP INTIORG 0030HSTART:MOV TMOD,#01H SETB TR0 SETB EA SETB ET0 MOV R6,#10 MOV TH0,#15H MOV TL0,#0A0H MOV R6,#0E8H MOV R7,#03H SJMP $ INTI:MOV TH0,#15H MOV TL0,#0A0H DJNZ R6,EXIT DJNZ R7,EXIT MOV R6,#0E8H MOV R7,#03H CPL P1.0 EXIT:RETI END (二)6位LED显示程序 ORG 0000HLJMP LOOP4ORG 0030H LOOP4:MOV SP,#60H MOV R5,#6 MOV R1,#30H MOV R4,#1LOOP2:MOV A,R4 MOV R1,A INC R1 INC R4 DJNZ R5,LOOP2 LOOP1:MOV DPTR,#TAB MOV R0,#30H MOV R2,#6H MOV R3,#0FEHLOOP:MOV P2,R3 MOV A,R0 MOVC A,A+DPTR MOV P0,A ACALL DE INC R0 MOV A,R3 RL A MOV R3,A DJNZ R2,LOOP SJMP LOOP1DE:MOV R7,#0FFHDE12:MOV R6,#0 DJNZ R6,DE12 DE1:DJNZ R7,DE1 RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H END (三)时钟程序 ORG 0000HLJMP STARTORG 000BHLJMP NETIORG 0030HSTART:MOV SP,#60H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0 MOV R6,#20 MOV DPTR,#TABLOOP2:MOV R0,#30H MOV R2,#6H MOV R3,#0FEHLOOP1:MOV P2,R3 MOV A,R0 MOVC A,A+DPTR MOV P0,A ACALL DELAY INC R0 MOV A,R3 RL A MOV R3,A DJNZ R2,LOOP1 SJMP LOOP2NETI:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R6,EXTI1 MOV R6,#20 INC 30H D0:MOV A,30H CJNE A,#10,EXTI1 MOV 30H,#0 MOV A,31H INC A MOV 31H,A CJNE A,#6,EXTI1 D2:MOV 31H,#0 MOV A,32H INC A MOV 32H,A CJNE A,#10,EXTI1 D3:MOV 32H,#0 MOV A,33H INC A MOV 33H,A CJNE A,#6,EXTI1 MOV 33H,#0 MOV A,34H INC A MOV 34H,A EXTI1:RETI DELAY:MOV R7,#0DE1:DJNZ R7,DE1 RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H END四、实训总结这次单片机的实训有三任务:第一个是一分钟定时器,由P1口的一个二极管的闪烁作标示。第二个是显示六个七段数码管,用动态扫描的方式实现。第三个是设定一计数器。这三个任务的前二个是第三个任务的基础。在实训时用WAVE6000软件来编程,用ISIS 7 Professional来进行彷真。第一个任务我之前是用软件的多个环多实现,但老师说这样是不精准的,因为它们在计算时会有误差,计算出来的时间会比实际要长。为了精确,最后用了中断进行定时。中断的定时思路是首先将定时器各种前奏工作如开中断,开定时器,设定计器的初始值等,做好这些后就用一个原地踏步指令,等待中断的到来。如一分钟到,那么就去处理中断子程,处理中断子程序时要判断是否到一分钟,每到一分钟就将P1口的二极管取一次反,来实现标示。第二任务是六个七段码的显示,这个程序的设计思路是位码与段码的同步循环控制。我是用一小循环程序实现将123456六个数分别送到数据寄存器的30H至35H单元内,作为要显示的数。然后就是第一位的段码与位码设设定,每一循环一次就显示一位,当循环一次结束后就用循环程序调整下一次要显示的位码与段码,一定要注意位码与段码是严格一一对应的。这六个七段数码管是循环显示的,当它们循环的频率足够大时人的眼睛就会看到同时显示的效果。第三个任务是记时器的设计,要求是每一秒钟计数一次,满进位就进位,并且用六个七段码来显示记时的时间,从右到左看到去就要看到秒,分,时,每个单位都占二个七段数码管。这个程序我总的思路是用定时中断来实现,分三个大的模块来设计。第一个模块是定时一秒中断,第二个模块是六个七段的循环显示,第三个模块是数据的处理。总的功能是结合前二个任务来设计的。我的最终确定下来的程序顺序是可分为五个部分,第一个是部分是定位与设定推栈区,第二个部分是开启定时器与定时器中断,并且设定定时器的初始值,第三个部分是六个七段数码管的循环显示,这部分很相似于第二个任务的那原地踏步指令,第四个部分是中断子程序的设计,是这个任务最重要的也是最复杂的部分。它首先是把定时器复位到所设定的初始值,然后再判断是否到了一秒的,没到则继续等待,到了则进行数据的处理,数据处理包括秒位上加一,然后再用判断是否需要进位。第五部分则是简单的延时小程序,是在每次显示每位数码管是要调用的小程序,目的是让数管显示稳定后才到下一个数码管显示。如果将这五个部分紧密的组织起来,就可完成第三个任务了。在组织这五个部分的时候需要很注意几个事项:首先必须明确每个标号的用途,要尽可能的减少标号的使用。第二是要是明确R0至R7每个寄存器的用途,并且谨慎

温馨提示

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

评论

0/150

提交评论