基于at89c51秒表-课程设计_第1页
基于at89c51秒表-课程设计_第2页
基于at89c51秒表-课程设计_第3页
基于at89c51秒表-课程设计_第4页
基于at89c51秒表-课程设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

南开大学滨海学院微控制器原理及应用实验课程设计(论文)题目:基于AT89C51的秒表学号:__11990624___姓名:___袁贺鹏______年级:___2011级___专业:通信工程系别:___电子科学系______指导教师:__高艺司敏山赵二刚_完成日期:___2013年12月_________功能描述:该单片机通过单片机的内部中断实现简单的秒表计时功能。从而实现时间计量的问题。原理概述:通过单片机的内部程序实现一个端口接开关,其余端口接数码管,实现计时功能。端口说明:单片机P1口接8位数码管的段码,单片机的P2.0到P2.7接数码管的位码选择端。单片机int0,int1中断,接两个按键。该单片机复位为高电平复位。效果显示总电路图:程序清单LEDBUFEQU30H ;为显示数据开辟内存单元ORG0000HLJMPMAINORG0003HLJMPINTRUPER0ORG000BHLJMPTIME0ORG0013HLJMPINTRUPER1ORG001BHLJMPTIME1ORG0030HTABLE:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H ;7段数码管译码表 DB3FHMAIN:MOVSP,#70H ;初始化堆栈MOVLEDBUF,#0 MOVLEDBUF+1,#0 MOVLEDBUF+2,#0AH MOVLEDBUF+3,#0 MOVLEDBUF+4,#0 MOVLEDBUF+5,#0AH MOVLEDBUF+6,#0 MOVLEDBUF+7,#0 ;写入要显示的数字MOVR0,#LEDBUF ;将ledbuf的首地址给R0MOVDPTR,#TABLE ;将TABLE的首是址给DPTR MOVR7,#0AH MOVR6,#0AH MOVR5,#0AH MOVR4,#06H MOVR3,#0AH MOVR2,#08H ;R2作为循环次数寄存器 MOVR1,#01H ;R1中放片选信号MOVTMOD,#51H ;定时器0工作在方式1 MOVTH0,#0EFH MOVTL0,#0FFH MOVTH1,#0D8H MOVTL1,#0F0H ;初始代定时器0 SETBTR0 SETBTR1 ;开定时器0 SETBEA ;开总中断 SETBET0 SETBET1 SETBEX0 SETBEX1 ;开定时器0中断 MAIN1:JBP3.0,STARTSJMPMAIN1START:MOVLEDBUF,#0 MOVLEDBUF+1,#0 MOVLEDBUF+2,#0AH MOVLEDBUF+3,#0 MOVLEDBUF+4,#0 MOVLEDBUF+5,#0AH MOVLEDBUF+6,#0 MOVLEDBUF+7,#0 SJMPMAIN1 ;动态停机TIME0:DJNZR2,LOOP1 ;循环6次后回到初始值继续循环,小于6次跳到LOOP1 MOVR2,#08H MOVR1,#01H MOVR0,#LEDBUF ;初始化数据LOOP1:MOVTH0,#0EFHMOVTL0,#0FFH ;初始化定时器0 MOVA,R1 MOVP1,A RLA MOVR1,A ;将R1中片选信号输入P1并且使其数据左移一位 MOVA,@R0 MOVCA,@A+DPTR MOVP2,A INCR0 ;通过查表将ledbuf中数据送往P2 RETITIME1:MOVTH1,#0D8H MOVTL1,#0F0H DJNZR7,LOOP2 MOVR7,#0AH MOVLEDBUF+7,#00H DJNZR6,LOOP3 MOVR6,#0AH MOVLEDBUF+6,#00H DJNZR5,LOOP4 MOVR5,#0AH MOVLEDBUF+4,#00H DJNZR4,LOOP5 MOVR4,#06H MOVLEDBUF+3,#00H DJNZR3,LOOP6 MOVLEDBUF+1,#00H MOVR3,#0AH INCLEDBUF MOVA,#0AH CJNEA,LEDBUF,EXIT MOVLEDBUF,#0 MOVLEDBUF+1,#0 MOVLEDBUF+2,#0AH MOVLEDBUF+3,#0 MOVLEDBUF+4,#0 MOVLEDBUF+5,#0AH MOVLEDBUF+6,#0 MOVLEDBUF+7,#0 LJMPEXITLOOP6:INCLEDBUF+1 LJMPEXITLOOP5:INCLEDBUF+3 LJMPEXITLOOP4:INCLEDBUF+4 LJMPEXITLOOP3:INCLEDBUF+6 LJMPEXITLOOP2:INCLEDBUF+7 EXIT: RETI ;写入要显示的数字INTRUPER0:MOVLEDBUF,#0 MOVLEDBUF+1,#0 MOVLEDBUF+2

温馨提示

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

评论

0/150

提交评论