XXXXXX学院
51单片机系统设计 课程设计报告
题 目: 秒表系统设计
专业班级:
学生姓名:
学 号:
指导教师:
分 数
[摘]设计秒表计时器采51单片机实现电路包括部分:单片机系统部分数码显示部分摁键开关部分部分电路选阴型4位数码组成时钟显示电路时钟增减控制清零部分轻触开关构成摁键系统组成信号接收处理部分单片机执行接通电源秒表计时器处初始状态4位数码显示0000摁开始开关时秒表开始计时数码显示前状态时间次摁开关时数码停止计时摁清零键系统重新回初始状态
[关键词] 单片机系统 秒表 计时 摁键控制
务书
1务
设计秒表计时器51单片机控制作采4LED数码显示时间计时范围设置000~600秒精确01秒键控制秒表开始暂停复位开始键开始计时暂停键系统暂停计时开始键系统继续计时数码显示前计时值复位键系统清零
2设计求
(1)开始时显示000S1键次数值加1s
(2)S2键次数值减1s
(3)S3键次数值清零
(4)S4键次启动定时器数值开始动秒加1
次S4键数值停止动加1保持显示原数
3发挥部分
(1)开关键3:复位 600 键(60秒倒计时)键时数码复位600(倒计时)
(2)开关键4:倒计时逐渐减键键数码开始逐渐减倒计时
(3)开关键5:倒计时初始值增加键
(4)开关键6:倒计时初始值减键
4课程设计难点
单片机电子秒表需解决三问题关单片机定时器(控制序计时控制倒计时)二实现 LED 动态扫描显示三键盘输入进行编程
5课程设计仪器
集成电路芯片STC89C52八段数码MCS51系列单片机微机仿真课程系统中软件(keil uvision2)
目 录
摘 ……………………………………………………………………………2
关键词 …………………………………………………………………………2
务书 …………………………………………………………………………3
1 设计务目 ……………………………………………………………5
2 设计方案选取证 ……………………………………………………5
21 系统总体设计方案 ……………………………………………………5
22 系统整体框图 …………………………………………………………5
3 电路设计 …………………………………………………………………6
31 单片机系统设计 ……………………………………………6
32 数码显示模块设计 ……………………………………………6
33 摁键控制系统模块设计 …………………………………………6
34 程序设计 …………………………………………………………6
4 制作调试程 …………………………………………………………11
5 结果分析总结 …………………………………………………………12
参考文献 ………………………………………………………………………12
附录a 秒表计时器原理图 …………………………………………………13
附录b 元器件清单 …………………………………………………………14
附录c 秒表计时器实物图 …………………………………………………15
1设计务目
1 根单片机课程学容结合相关课程知识设计电子秒表加深单片机知识理解锻炼实践动手力毕业设计工作坚实基础
2 熟悉汇编语言C语言程序设计方法熟悉51系列单片机
3 掌握单片机部功模块应定时器计数器中断IO口串行口通讯等功
4 掌握单片机应系统软硬件设计程方法实现
2 设计方案选取证
21系统总体设计方案
STC89C51单片机作核心控制部件采12M晶体振荡器30PF微电容构成振荡电路1四位体阴极数码显示作显示部分构成数字式秒表体结构配合独立式键盘复位电路完成秒表计时清零停止增减初始时间等项功
22 系统总体整体框图
4位数码显示模块
STC89C52单片机系统模块
独立摁键控制模块
图22 系统设计框图
3 电路设计
31 单片机系统设计
图31 单片机系统
1 时钟电路
XTAL1XTAL2 引脚外接定时元件(石英晶体两电容)部振荡器便产生激振荡设计中采12M 石英晶振晶振联两电容振荡频率微影响起频率微调作采石英晶振时电容20 ~ 40pF 间选择
2 复位电路
复位操作通常两种基形式:电动复位开关复位电瞬间电容两端电压突变时电容负极RESET 相连电压全部加电阻 RESET 输入高芯片复位+5V电源电容充电电阻电压逐渐减约等0芯片正常工作联电容两端复位键复位键没时候电路实现电复位芯片正常工作通键RST脚出现高电达手动复位效果
3 EAVPP(31 脚) 功接法
51 单片机EAVPP(31 脚) 部外部程序存储器选择脚EA 保持高电时单片机访问部程序存储器 现绝部分单片机说部程序存储器(般flash)容量基需外接程序存储器直接部存储器
4 P0 口外接拉电阻
51 单片机P0 端口开漏输出部拉电阻做普通IO 输出数时V2 截止输出级漏极开路电路1信号(高电)正常输出必须外接拉电阻
32 数码显示模块设计
显示部分采动态显示数码动态显示接口单片机中应广泛种显示方式动态驱动数码8显示笔划abcdefgdp名端连起外数码阴极增加位选通控制电路位选通独立IO线控制单片机输出字形码时数码接收相字形码究竟数码会显示出字形取决单片机位选通端电路控制需显示数码选通控制开该位显示出字形没选通数码会亮通分时轮流控制数码位选通端数码轮流受控显示动态驱动动态显示利眼视觉暂留特性实现显示事实显示器时刻数码显示数码轮流显示时间间隔短节奏快眼睛反应连续显示现象防止闪烁延时时间1ms左右太长太短
33 摁键控制系统模块设计
P1口作独立摁键信号输入端控制时钟加1s减1s复位600s等操作外部中断0作秒表计时器开启暂停操作摁键均低电效中部分摁键单刀双掷开关控制增计时减计时限600s计时600s外计时
34 程序设计:
#include
unsigned char Tab1[ ]{0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f} 段码表
unsigned char Tab2[ ]{0xbf0x860xdb0xcf0xe60xed0xfd0x870xff0xef} 位段码表
unsigned int x
unsigned char k
sbit int0P3^2
sbit int1P3^3
sbit SUB60P1^1
sbit S60P1^2
sbit K5P1^3
sbit K6P1^4
sbit K7P1^5
sbit K8P1^6
***************************延时1ms基准******************************************
void delay1ms(unsigned int i)
{
unsigned char j
while(i)
{
for(j0j<125j++) 1ms基准延时程序 12MHZ晶振
{
}
}
}
********************************************************************************
******************数码显示程序 ***********************************************
void Display(unsigned int x)
{
P20xfe P20引脚输出低电DS6点亮
P0Tab1[x1000] 显示百位
delay1ms(6)
P20xfd P21引脚输出低电DS6点亮
P0Tab1[x1000100] 显示十位
delay1ms(6)
P20xfb P22引脚输出低电DS6点亮
P0Tab2[x10010] 显示位
delay1ms(6)
P20xf7 P23引脚输出低电DS7点亮
P0Tab1[x10] 显示01位
delay1ms(6)
P20xff
}
*******************************************
函数功:函数
******************************************
void main(void)
{
x0
TMOD0x01 TMOD0000 0001B计数器T0工作方式1
EA1 开起总中断
ET01 允许定时器T0中断
EX01 允许外中断INT0
IT01 INT0负脉触发方式
TH0(6553650000)256 计数器T0高8位赋初值
TL0(6553650000)256 计数器T0低8位赋初值
TF00 溢出标志位清零
while(1)
{
************************************************************
****************K5 P13次加1开关S1***************************
if(K50)
{
delay1ms(20)
if(K50)
{
xx+10
}
while(K5) 摁键关断 摁次触发次
}
***********************************************************
************K6 P14次减1开关S2**************************
if(K60)
{
delay1ms(20)
if(K60)
{
if(x0)
{
x10 000时候停止
}
xx10
}
while(K6) 摁键关断 摁次触发次
}
*********************************************************************
******************K7 P15初始值 赋值600秒开关S5********************
if(K70)
{
delay1ms(20)
if(K70)
{
x600 赋初值600秒
}
while(K7) 摁键关断 摁次触发次
}
*********************************************************************
******************S60 控制60S停止开关 P12****************************
if(x600)
{
if(S600) 果P12口低电秒表变化范围000~600
{
TR00
}
}
********************************************************************
******************K8 P16清零clear0摁键开关S3************************
if(K80)
{
delay1ms(20) 延时消震
if(K80)
{
x0 数清0 数码显示0000
TR00 溢出标志位清0
}
}
************数码显示***************************************
Display(x)
}
}
**********INT0中断函数 开始暂停开关S4******************
**************************************************************
void begin_stop() interrupt 0
{
if(int00)
{
delay1ms(30) 延时消震
if(int00)
{
TR0~TR0 键摁次 读秒开始暂停
if(x0&&SUB600)
{
TR00
}
}
}
}
*********************************************************
******T0 计数器中断 控制隔加01秒***********************
void add_one0() interrupt 1
{
k++
if(k2)
{
k0
TF00
if(SUB601) P11口高电时秒表加01s
P11口低电时秒表减01s
{
xx+1 秒表加01s
}
else
{
xx1 秒表减01s
}
if(x0)
{
TR00
}
if(x9999)
{
TR00
}
}
TH0(6553650000)256 计数器T0高8位赋初值
TL0(6553650000)256 计数器T0低8位赋初值
}
4 制作调试程
41 电路制作
(1) 分析单元电路图分析部分功
(2) 仿真软件仿真电路功检查否错误进行步工作
(3) 查找关文献解元件功引脚关资料
(4) 分焊接单片机系统数码显示电路摁键控制电路时检查元器件否分辨引脚
(5) 事先设计原理图仔细检查实物中否接错方(检查集成电路引脚导线否出错接错否出现短路)发现立改正防实物通电出现意外然数字万表检测实物中否导通方应立修正防通电工作怀疑方出错
(6) 实物通电进行调试电路工作否正常误检查思考错误原然进行修改直电路工作正常止
42 电路调试
起初算PCB板做秒表计时器条件允许(腐蚀液钻孔机等器件没)三考虑选择万板制作秒表计时器制作程中遇许问题问题解决办法:
(1) 问题1:焊电子元件芯片时没注意元件排布芯片引脚问题电路板跳线密查线带困难电路错线搭线太
解决办法:元件跳线重新焊认真反复研究原理图芯片引脚先油性笔电路板元件画然进行焊接
(2)问题3:芯片引脚分布较紧密焊接时出现焊锡相邻引脚连接起情况
解决办法:吸焊器取掉部分焊锡刀划开芯片引脚分界
(5)问题5倒计时够正常工作减计时混乱
解决办法:重新检查程序检查电路否搭线
5 结果分析总结
单片机课程设计单片机知识验证帮助理解巩固学知识激发单片机课程兴趣更锻炼独立思考开拓创新力通次课程设计发现身存足处然感觉理已掌握运实践程中意想困惑番努力解决激发努力学兴趣想学产生积极影响 次次课程设计充分认识合作重性合作保证整项目条絮设计程中非常感谢学指导设计进展较利 外课程设计程中碰明白问题时指导老师总耐心讲解设计极帮助获益匪浅非常感谢张慧老师教导 通次设计懂学重性解理知识实践相结合重意义学会坚持耐心努力学工作做出榜样
6参考文献
[1] 郭天祥51单片机C语言教程北京:电子工业出版社2009
[2] 胡汉单片机原理系统设计北京:清华学出版社2002
[3] 希新型集成电路应实例[M]北京:电子工业出版社2002
[4] 公茂法单片机接口实例集北京:西安电子科技学出版社2004
[5]51系列单片机设计实例:北京航空航天学出版社20033
附录a 电路原理图
附录b:元器件清单
序号
名称
型号
数量
金额(元)
1
单片机
STC89C52
1
360
2
晶振
12M
1
02
3
万板
9cm*15cm
1
105
4
轻触开关
6mm*6m*5mm
6
06
5
弹片开关
6脚双掷开关
2
04
6
4位数码
红色阴
1
200
7
普通电阻
10 kΩ
9
01
8
普通电阻
100Ω
8
01
9
电解电容
10uF
1
01
10
排阻
10kΩ
1
05
11
瓷片电容
30pF
2
01
12
导线
干
100
13
邮费
700
总计
1675(元)
附录c:秒表计时器实物图
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档