单片机课程设计报告学院:机械与电子工程学院自动化

单片机课程设计报告学院:机械与电子工程学院专业:自动化姓名:****号:09043132单片机课程设计报告一、设计要求1、准确计时,以数字形式显示时、分、秒的时间。

静态显示的优点是程序简单,显示亮度有保证,单片机CPU开销小,节省CPU工作时间。 但它占用大量的I/O端口和线路,每个LED占用一个I/O端口。 硬件开销大,电路复杂。 如果需要多颗L899ED,就必须占用几个并口,比较适合LED数量较少的场合。 当然,当LED数量较多时,可以利用单片机的串口,通过移位寄存器来解决问题,但编程比较麻烦。 LED动态显示硬件连接简单,但动态扫描显示方式需要大量CPU时间。 当单片机没有很多实时测量和控制任务时可以使用。 本系统需要使用6位LED数码管分别显示时、分、秒。 由于数码管较多,本系统选择动态显示方式。 (二)硬件部分 1、STC89C52单片机简介 STC89C52单片机是深圳宏晶公司销售的一款MCU。 它是美国设计生产的低电压、高性能CMOS 8位微控制器。 它包含8kbytes的内存,可以重复写入。 FlashROM 和 256 字节 RAM、2 个 16 位定时器计数器 [5]。 STC89C52单片机主要包括累加器ACC(有时简称A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器等。 /计数器、串行I/O接口和时序控制逻辑电路等

这些部件通过内部总线连接起来,构成一个完整的微型计算机。 其引脚图如图所示。 STC89C52单片机的引脚结构图。 每个端口都与朱兆友老师写的《单片机原理与应用》进行对比。 2.软件部分总电路原理图。 根据上述电子钟的工作流程,软件设计可分为以下功能模块: (1)主程序模块。 主程序主要用于系统初始化:设置定时缓冲区的位置和初始值,设置8155的工作模式、定时器的工作模式和计数初始值等参数。 主程序流程如下图所示。 开始定义堆栈区8155、T0、数据缓冲区和标志初始化。 调用键盘扫描仪。 地址指针指向定时缓冲区。 调用时间设置程序。 主程序流程图 (2) 定时模块。 即定时器0中断子程序完成刷新定时缓冲区的功能。 本系统采用6MHz晶体振荡器。 假设定时器0工作在模式1,则定时器的最大计时时间为65.536ms,远小于1s。 因此,本系统采用定时器和软件循环相结合的计时方法。 设置定时器0工作在模式1,每50ms产生一次溢出中断。 那么20个循环中断的延迟时间就是1s。 重复上述过程60次1分钟,60次1小时1分钟,24次1小时。 时间返回到 00:00:00。 由于定时器0工作在模式1,所以50ms定时对应的定时器初始值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。

但需要指出的是,从CPU响应T0中断到完成定时器初值重载期间,定时器T0并没有停止工作,而是继续计数。 因此,为了保证T0能够准确计时50ms,必须修正重装定时器的初始值。 修正后的定时器初值必须考虑到从原定时器初值中扣除的超算脉冲数。 由于定时器计数脉冲的周期与机器周期重合,因此校正量等于CPU从响应中断到重新加载TL0所用的机器周期数。 CPU响应中断通常需要3到8个机器周期。 经测试,定时器0重装的初始计数值为9E5FH~9E67H,可以满足精度要求。 另外,MCS-51单片机只有二进制加法指令,时间是按十进制递增的,因此使用加法指令后必须进行二进制到十进制的转换。 时序模块流程图如下图所示。 当保护就地重装定时器初值周期数减1时,该单元清0,恢复就地重装计时模块流程图2、实验源程序:ORG0000HMOV30H、#1MOV31H、#2MOV32H、 #0MOV33H, #0MOV34H, #0MOV35H, #0MOVTMOD, #01XS0:SETBTR0MOVTH0,#00HMOVTL0,#00HXS:MOV40H,#0FEHMOVDPTR,#TABMOVP2,40HMOVA,30HMOVCA,@A+DPTRMOVP0,ALLALLYS1MSMOVP0,#0FFHMOVA,40 HRLMOV40H、AMOVP2、40HMOVA ,31HADDA,#10MOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLMOV40H,AMOVP2,40HMOVA,32HMOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLMOV40H,AMOVP2,40HMOVA,33HADDA,#10 MOVCA,@A+DPTRMOVP0, ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLM OV40H,AMOVP2,40HMOVA,34HMOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA,40HRLMOV40H,AMOVP2,40HMOVA,35HMOVCA,@A+DPTRMOVP0,ALCALLYS1MSMOVP0,#0FFHMOVA, 40HRLMOV40H,AJBTF0,JIAJNBP1.0, P100JNBP1.1,P1000JNBP1 .2,P10000AJMPXSP100:MOV30H,#0MOV31H,#0MOV32H,#0MOV33H,#0MOV34H,#0MOV35H,#0JIA:CLRTF0MOVA,35HCJNEA,#9,JIA1MOV35H,0MOVA,34 HCJNEA,#5,JIA10MOV34H,#0P10000 :JNBP1.2,P10000MOVA,33HCJNEA,#9,JIA100MOV33H,#0MOVA,32HCJNEA,#5,JIA1000MOV32H,# P1000:JNB P1.1,P1000 MOV A,31H CJNE A,#9,JIA10000 MOV 31H,#0 MOV A,30H CJNE A,#2,JIA100000 MOV 30H,# 0 AJMP XS0 JIA100000: INC 30H AJMP 32H AJMP XS0 JIA100: INC 33H AJMP XS0 JIA10: INC 34H AJMP XS0 JIA1: INC 35H AJMP 0F9H,0A4H ,0B0H,099H, 092H,082H,0F8H,080H,090H DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H END 3.实物拍摄 4.设计总结 做了两周 有很多经验课程设计,包括微控制器以及模拟和数字电等基础科目。

因为很久没有复习单片机了,刚拿到题目,不知道从哪里开始。 后来我通过复习书籍加深了对单片机的记忆。 一些知识将通过模拟和数字电子技术进行转移和连接。 课堂教学考虑到大多数学生的需要,主要强调“基础”——基础知识、基本理论、基本方法、基本技能。 这一设计为我们提供了深入学习和探索的机会,成为课堂教学的有益补充。 我们面临着就业问题,这门课程给了我们一个尝试的机会。 单片机理论的学习是为课程设计做准备,但有时所学的理论并不能解决实际问题。 实践中获得的知识可以让我对单片机知识有更好的认识和理解。 虽然本次课程设计参考了一些文献,并没有实现创新,但在阅读和编写程序的过程中,我明白了很多。 本次课程设计的最大收获就是只有将理论运用到实践中才能真正掌握所学的知识。 5. 参考

单片机

单片机编程需要的4个基本就是装这么多!

2024-4-28 21:03:58

单片机

西门子S7-1500PLC运用于中大型项目的升级版

2024-4-28 22:02:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索