- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于8051的电子秒表的设计
电子秒表设计
设计目的与意义
1.1 设计目的
了解和掌握8051单片机的各个引脚功能和使用方法;
熟悉51单片机的指令系统及编程方法;
熟悉对扩展系统的软件、硬件设计、调试方法和技巧;
4.学习外部中断技术的基本使用方法;
5.掌握中断处理程序的编程方法;
6.学习和掌握8051内部计数器的使用和编程方法;
7.了解七段数码显示数字的原理。
1.2 设计的内容
1.利用定时器产生一个定时中断并对其进行相应处理后完成对秒的加一处理;
2.设置一个数码管的显示程序,使它能完成对当前时间的显示功能,要求能用四个数码管显示;
编写一个中断处理程序,完成对秒表的暂停和清零功能控制。
1.3 设计要求
用8051设计一个2位LED数码显示“秒表”,显示时间为00— 99秒,每秒自动加1,另设计一个“开始按键”、“清零”、和一个“复位”。 显示格式为 XX.XX,从左到右分别为秒和毫秒。
硬件电路设计
8051弹片机和外部存储器的联接图:
2.2 总体电路图:
3.软件电路设计
3.1 设计思路:
1.显示和秒表功能控制
由于要用四个数码管显示数字,故采用软件译码电路来控制数码管的显示,这样可以节省硬件;显示时采用数码管一个一个的轮流显示方法。先设置一个显示缓存区把要显示的数字存储起来,然后显示时实现数字用右移指令来实现从左到右显示;并采用延时子程序来达到显示效果。
利用定时中断来产生秒的加一功能。因为程序一开始就实现了秒表的开始功能,所以对于秒表的暂停和清零功能用8051的外部中断0和外部中断1来控制。
2.定时参数的选择
采用定时器0的工作方式2来产生定时中断(工作方式2具有自动重新加载功能);在工作方式2时,定时器的最大计数值为256所以用定时100微秒就产生一个中断,每一个中断就加一,当中断10000次时,就向秒进位加一,一直加到99秒后在循环。
计数初值的选择:
(2^8-X)*2*10^-6=100*10^-6
解得X=206;
设置:EA=1,EX1=1,ET0=1,ET1=1。
3.2 程序流程图
主程序 中断程序
N
Y
N
Y
N
Y
3.3 程序清单
OUTBIT equ 08002h ;位控口
OUTSEG equ 08004h ;段控制口
LEDBuf equ 60h ;显示缓冲
S equ 41h
MS equ 42h
C100us equ 43h
Tick equ 100
T100us equ 256-50
ljmp Start
ORG 0003H
CLR TR0 ;暂停/开始键
org 000bh ;定时中断
LJMP T0Int
org 0013h
ljmp FUWEI ;清零
T0Int:
push PSW
push ACC
mov a, C100us+1
jnz Goon
dec C100us
Goon:
dec C100us+1
mov a, C100us
orl a, C100us+1
jnz Exit
mov C100us, #high(Tick)
mov C100us+1, #low(Tick)
inc MS
mov a, MS
cjne a, #100, Exit ;毫秒计时
mov MS, #0 ;归零
inc S
mov a, S ;秒计时
cjne a, #100, Exit
mov S, #0
Exit: ;归零
pop ACC
pop PSW
reti
Delay: ;延时子程序
mov
文档评论(0)