51单片机秒表计时器课程设计报告(含C语言程序)课程设计


    


    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 包含52单片机寄存器定义头文件

    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)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 5 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于51单片机的电子秒表实训报告(含有程序和图)

    实 训 报 告题 目:基于AT89C51单片机的电子秒表的设计与制作专 业: 计算机科学与技术 班 级: 计算机科学与技术本科班 姓 名: ...

    1年前   
    620    0

    (1小时学会C语言51单片机)C语言入门教程

    △Victor Hugo 维克多?雨果相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。...

    4年前   
    742    0

    基于51单片机的定时闹钟设计单片机课程设计

    单片机 课 程 设 计 报 告 院系: 信息工程学院 ...

    2年前   
    498    0

    单片机课程设计报告

    1 方案设计与论证1.1 硬件总体设计设计并制作一个基于单片机的数字电压表的电路其结构框图如图 1-1 所示: 图1-1 硬件结构框图(1)单片机最小系统电路部分 (2)数码管显示部分(3) ...

    5年前   
    1671    0

    C++语言课程设计一迷你高尔夫

    C++语言课程设计一迷你高尔夫一、实验内容 玩家通过按下键盘上的上下左右方向键控制球的移动,使其最终到达出口则游戏通关。 要求如下:1、 游戏分成3关,第一关、第二关、第三关界面图如下:第一关...

    3年前   
    608    0

    c语言课程设计总结5篇

    c语言课程设计总结5篇c语言课程设计总结(一):  c语言课程设计总结心得  经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是...

    3年前   
    1294    0

    C语言课程设计学生考勤系统

    设计任务:C语言课程设计任务书题目:学生考勤系统设计功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够...

    2年前   
    525    0

    2021年c语言课程设计小结

     2021年c语言课程设计小结撰写人:___________日 期:___________2021年c语言课程设计小结关键词:图书管理系统关系模型功能模块随着社会的进步与发展,资源高效利用提...

    3年前   
    603    0

    C语言课程设计通讯录管理系统

     课程设计报告书 课程名称: C语言课程设计 班 级: 学 号: ...

    5年前   
    2399    0

    c语言课程设计贪吃蛇

    XX 大 学 C语言程序设计 课程设计(论文)题目: 贪吃蛇 院(系): 软件学院 专业班级: ...

    3年前   
    431    0

    可控流水灯设计(单片机课程设计报告)汇编语言

    单片机课程设计报告题 目: 可控流水灯 摘要单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括...

    1年前   
    451    0

    基于51单片机数字温度计设计课程设计

    课 题: 基于51单片机数字温度计设计专 业: 电子信息工程班 级: 班学 号: 姓 名: ...

    3年前   
    978    0

    基于51单片机音乐盒课程设计

    基于51单片机音乐盒课程设计 课程名称: 微机原理课程设计 题 目: 基于51单片机的音乐盒设计 摘要 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的...

    5年前   
    1274    0

    单片机课程设计实习报告

    单片机课程设计实习报告  实训任务:  做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1.0→p1.2→p1.3┅→p1.7→p1.6→┅→p1.0亮,重复循环3次。然后左移2...

    11年前   
    820    0

    C51音乐播放器课程设计

    课程设计姓名:学号:班级:组员: 目 录1 设计题目.........................................

    4年前   
    508    0

    小学数学测试系统C课程设计报告及源程序代码

    课 程 设 计 报 告课程名称 C语言课程设计 课题名称 小学数学测试系统 专 业 ...

    3年前   
    433    0

    EDA课程设计报告60秒倒计时器MAXII240T

    EDA课程设计报告设计题目:基于verilog的倒计时器设计 专业班级: 姓名学号: ...

    4年前   
    755    0

    单片机课程设计报告基于单片机的温控系统

    职业学院机械与电子工程学院基于单片机温控系统课程设计报告班 级 电信班 学生姓名 学 号 指导教...

    3年前   
    1001    0

    AT89C51单片机智能风扇

    AT89C51单片机智能风扇摘要随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着自动化、智能化、环保化、和人性化等方向发展。过去的电器不断的显露出其不足之处...

    4年前   
    713    0

    基于AT89C51的PWM信号发生器设计报告课程设计

    基于AT89C51的PWM信号发生器设计摘 要 单片机集成度高,功能强,可靠性高,体积小,功耗低,使用方便,价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎无处...

    3年前   
    627    0

    文档贡献者

    z***u

    贡献于2022-08-27

    下载需要 5 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档