基于at89c51秒表.docx
- 文档编号:28893098
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:9
- 大小:118.72KB
基于at89c51秒表.docx
《基于at89c51秒表.docx》由会员分享,可在线阅读,更多相关《基于at89c51秒表.docx(9页珍藏版)》请在冰豆网上搜索。
基于at89c51秒表
基于at89c51秒表
南开大学滨海学院
微控制器原理及应用实验
课程设计(论文)
题目:
基于AT89C51的秒表
学号:
__11990624___
姓名:
___袁贺鹏______
年级:
___2011级___
专业:
通信工程
系别:
___电子科学系______
指导教师:
__高艺司敏山赵二刚_
完成日期:
___2013年12月_________
●功能描述:
该单片机通过单片机的内部中断实现简单的秒表计时功能。
从而实现时间计量的问题。
●原理概述:
通过单片机的内部程序实现一个端口接开关,其余端口接数码管,实现计时功能。
●端口说明:
单片机P1口接8位数码管的段码,单片机的P2.0到P2.7接数码管的位码选择端。
单片机int0,int1中断,接两个按键。
该单片机复位为高电平复位。
效果显示
总电路图:
说明:
P3.5腿接1MHz时钟
开始时不计时:
合上第一个开关后开始计时:
●程序清单
LEDBUFEQU30H;为显示数据开辟内存单元
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTRUPER0
ORG000BH
LJMPTIME0
ORG0013H
LJMPINTRUPER1
ORG001BH
LJMPTIME1
ORG0030H
TABLE:
DB0C0H,0F9H,0A4H,0B0H,99H
DB92H,82H,0F8H,80H,90H;7段数码管译码表
DB3FH
MAIN:
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的首地址给R0
MOVDPTR,#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,START
SJMPMAIN1
START:
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,#0EFH
MOVTL0,#0FFH;初始化定时器0
MOVA,R1
MOVP1,A
RLA
MOVR1,A;将R1中片选信号输入P1并且使其数据左移一位
MOVA,@R0
MOVCA,@A+DPTR
MOVP2,A
INCR0;通过查表将ledbuf中数据送往P2
RETI
TIME1:
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
LJMPEXIT
LOOP6:
INCLEDBUF+1
LJMPEXIT
LOOP5:
INCLEDBUF+3
LJMPEXIT
LOOP4:
INCLEDBUF+4
LJMPEXIT
LOOP3:
INCLEDBUF+6
LJMPEXIT
LOOP2:
INCLEDBUF+7
EXIT:
RETI;写入要显示的数字
INTRUPER0:
MOVLEDBUF,#0
MOVLEDBUF+1,#0
MOVLEDBUF+2,#0AH
MOVLEDBUF+3,#0
MOVLEDBUF+4,#0
MOVLEDBUF+5,#0AH
MOVLEDBUF+6,#0
MOVLEDBUF+7,#0
RETI
INTRUPER1:
RETI
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 at89c51 秒表
![提示](https://static.bdocx.com/images/bang_tan.gif)