单片机课程设计-99S秒表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计说明书
学院:
专业:
班级:
指导老师:
姓名:
学号:
2012年6月
【摘要】:
随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人对它的认识也逐步加深。

秒表计时器秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。

其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。

本设计就是利用所学到的电子元器件将脉冲源用数码管显示出来,以制做简易的秒表。

[关键词]
机械计时器启/停开关数码管显示简易
目录
1.设计任务 (4)
2.设计题目 (4)
3. 功能分析 (4)
4. 总体设计 (4)
4.1硬件设计
4.1.189C51单片机 (4)
4.1.2晶体振荡电路 (5)
4.1.3按键电路 (6)
4.1.4显示电路 (6)
4.2引脚控制 (6)
5. 电路原理图 (8)
6. 程序设计 (9)
7. 程序仿真 (11)
8. 实物制作 (11)
8.1所需元件 (11)
8.2所需工具 (11)
8.3焊接 (11)
8.4烧录程序并运行 (12)
9.心得体会 (12)
10.参考文献 (12)
单片机原理及应用课程设计说明书
1、设计任务
以单片机为核心,设计一个0-99S秒表,按键时具有计时功能。

2、设计题目
定时器控制8段2位数码LED显示秒表
3、功能分析
采用2个LED数码管显示时间,计时范围设置为0~99.秒,即精确到1秒,用按键控制秒表的“开始”、“暂停”。

按开关按键,开始计时;再按开关按键,系统暂停计时;
4、总体设计
本实验利用单片机的定时器/计数器定时和计数的原理,通过采用Proteus仿真软件来模拟实现。

模拟AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计时的开启、暂停、继续。

其中有两个数码管来显示数据,两个数码管显示秒(两位)。

4.1硬件设计
4.1.1 89C51单片机
MCS-51系列单片机是8位单片机产品,89C51是其中的典型代表,基本模块包括以下几个部分:
(1)CPU:89C51的CPU是8位的,另外89C51内部有1个位处理器
(2)R0M:4KB的片内程序存储器,存放开发调试完成的应用程序
(3)RAM:256B的片内数据存储器,容量小,但作用大
(4)I/O口:P0-P3,共4个口32条双向且可位寻址的I/O口线
(5)中断系统:共5个中断源,3个内部中断,2个外部中断
(6)定时器/计数器:2个16位的可编程定时器/计数器
(7)通用串行口:全双工通用异步接收器/发送器
(8)振荡器:89C51的外接晶振与内部时钟振荡器为CPU提供时钟信号
(9)总线控制:89C51对外提供若干控制总线,便于系统扩展
89C51的引脚如下图:
89C51单片机引脚图
4.1.2晶体振荡电路
89C51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反相振荡放大器的输入及内部时钟工作电路的输入和来自反相振荡器的输出,该反相放大器可以配置为片内振荡器。

这里选用51单片机12MHZ的内部振荡方式,电路如下:C2、C3起稳定振荡频
率、快速起振的作用
晶振电路
4.1.3按键电路
电路图如下:
按键电路
4.1.4显示电路
采用2个LED数码管,LED是八段显示器,内部有7个条形发光二极管和1个小圆点发光二极管,根据各管的亮暗组成字符。

在用数码管显示时,有静态和动态两种选择,这里采用LED动态显示,用P0、P1、 P2口驱动显示,由于P0口没有上拉电阻,因此P0口需要外接上拉电阻才能输出高电平,这里使用7个220欧的电阻作为上拉电阻。

电路图如下:
显示电路
4.2引脚控制
VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3口管脚备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V 编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

5、电路原理图
用Proteus软件画出主电路图如下:
6、程序设计
程序清单如下:
SECOND EQU 30H
TCOUNT EQU 31H
KCOUNT EQU 32H
KEY BIT P3.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV DPTR,#TABLE
MOV P0,#3FH
MOV P2,#3FH ;开始,数码管显示"00"
MOV SECOND,#00H
MOV TCOUNT,#00H
MOV KCOUNT,#00H
MOV TMOD,#01H ;定时器0工作在方式1
MOV TL0,#(65536-50000)/256
MOV TH0,LOW(65536-50000)
K1: JB KEY,$ ;等待按键
LCALL DELAY
JB KEY,$
MOV A,KCOUNT
CJNE A,#00H,K2 ;判断按键次数
SETB TR0 ;第1次按键,启动定时器
MOV IE,#82H
JNB KEY,$
INC KCOUNT ;按键抬起,按键次数值加1
LJMP K1
K2: CJNE A,#01H,K3
CLR TR0 ;第2次按键,关闭定时器
MOV IE,#00H
JNB KEY,$
INC KCOUNT ;按键抬起,按键次数值加1
LJMP K1
K3: CJNE A,#02H,K1 ;第3次按键,返回初始状态JNB KEY,$
LJMP START
INT_T0: M OV TH0,#(65536-50000)/256
MOV TL0,LOW(65536-50000)
INC TCOUNT
MOV A,TCOUNT
CJNE A,#2,I2 ;是否计够0.1秒
MOV TCOUNT,#00H
INC SECOND
MOV A,SECOND
CJNE A,#100,I1 ;是否计够10秒
MOV SECOND,#00H
I1: MOV A,SECOND
MOV B,#10
DIV AB
MOVC A,@A+DPTR ;显示时间
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
I2: RETI
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY: MOV R6,#20
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
END
7、程序仿真
将以上程序清单导入先前做好的Proteus仿真电路,汇编之后,按
键开始进行仿真。

仿真结果如下:
8、实物制作
8.1所需元件
89C52单片机×1(型号STC 89C52RC)
IC座×1
8段共阴一位数码管×2(型号TBC5011H)
10K电阻×
30pF电容×2
10uF电容×1(耐压50V)
5×220欧排阻×2
12MHz晶振器×1
开关×1
焊接板×1,导线若干
8.2 所需工具
电烙铁,焊锡丝,程序烧录器,各元器件等。

8.3 焊接
按照仿真电路图,将元件焊接在焊接板上,并用导线将它们联接起来,。

8.4 烧录程序并运行
用编程器将编译好的99s Clock.hex文件烧录进单片机,再将单片机插入焊接于电路板上的IC座中,接通电源,开始运行秒表。

结果显示,秒表运行正常。

按照我们的预期实现了计时、暂停的功能。

至此,秒表设计和制作工作就全部完成了。

9、心得体会
此次课程设计巩固了我的基础知识,提高了我的应用水平,锻炼了我的动手能力,使我受益匪浅。

然而,在吸取经验的同时,我也吃了不少教训。

在编程、仿真、焊接方面都走了不少弯路。

但是,学则要有所收获,经过此次的锻炼,我在很多方面都已经有所提高,知识也掌握得更加扎实了。

在今在些次课程设计中,非常感谢谢老师的精心指导,由于他的悉心指导和关心,一直激励着我去努力做好本次课程设计,老师精湛的专业知识、耐心的工作态度和真诚的待人风格给我留下了非常深刻的印象,对我以后的工作和生活将产生很大的影响。

通过些次课程设计,我们获得了丰富的理论知识,极大的提高了实践能力,这将对我今后进一步学习计算机方面的知识有极大的帮助。

在此,真挚的向我的导师说声谢谢。

在以后的学习和实践中,我将继续努力钻研,提高自己,争取在学术和记忆上获得更大的进步。

10、参考文献
[1].《单片机原理及应用》,李全利编著,清华大学出版社,2005年。

[2].《计算机接口技术试验指导书》,黄艳玲主编,重庆大学出版社。

[3] 王玉良,戴志涛.微机原理与接口技术.北京邮电大学出版社,2000,12.
[4] 何立民. MCS-51系列单片机应用系统设计.北京航天航空大学出版,1991.
[5] 王福瑞.单片机测控系统设计大全.北京航天航空大学出版社,1999.
[6] 唐光荣,李究龄,邓丽曼.微型计算机应用技术(上)——数据采集与控制技术.清华大学出版社,2000.。

相关文档
最新文档