欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机课程设计报告——单片机数字时钟课程设计报告概要11619.pdf

    • 资源ID:79375994       资源大小:744.50KB        全文页数:16页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机课程设计报告——单片机数字时钟课程设计报告概要11619.pdf

    惠州学院课程设计报告 姓名:班别:学号:单片机数字时钟课程设计报告 设计任务:1、能够实现时间的精确显示,以数字的形式显示时间的时、分、秒。2、时间以 24 小时为进制,能够通过相应按键来调节时钟时间。3、能够实现按键启动与停止功能。4、能够实现秒表功能。摘要 此电子钟采用 c8951 芯片,同时使用 8 位 8 段 LED 数码管(两个四位一体数码管)显示小时、分钟和秒的要求。该电子钟有四个按键,进行相应的操作就可实现时间调整、年月查看与复位功能。整个过程就是先设计和焊接好硬件电路,再通过汇编语言编写应用程序来实现我们需要的功能,这期间,进行的软件仿真和调试是本设计的重点和难点。关键词:电子时钟、c8951 芯片、程序设计、仿真调试 目录 1.系统的功能分析与设计方案 1.1 系统的主要功能 1.2 数码管显示工作原理 1.3 电路硬件设计 1.4 各电路工作原理 1.5 设计原理框图 1.6 主芯片工作原理图.1.7 材料清单 1.8 电路原理图及实物图 2.软件设计 2.1 完整源程序 2.2 系统安装与调试 2.3 硬件电路的安装 2.4 软件调试 2.5 课程设计总结 3.参考文献 4.致谢 1.系统的功能分析与设计方案 1.1 系统的主要功能 利用 89c51 单片机内部的定时/计数器、中断系统、以及行列键盘和 LED 显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和复位控制等。此外还要实现对时间的调整功能,89c51 的 P1.0、P1.1、RST 外接三个独立按键,当按下 P1.0 按键时,系统进入调时间的状态或启动时间显示的功能;当按下 P1.1按键时,对显示的数码管进行加一的功能,达到调整时间的目的;当按下 RST 按键时,实现对电子时钟进行复位的功能。系统的设计方案 整个系统采用应用广泛的 AT89S52 作为时钟控制芯片,利用单片机内部的定时器计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计 60 次形成分,分计 60 次形成小时,小时计 24 次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示一般用 6 个或 8 个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时间调整和复位。1.2 数码管显示工作原理 数码管是一种把多个 LED 显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个 LED 显示段的阳极接在一起,又称为公共端。共阴型就是把多个 LED 显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为 8 段,即 8 个 LED 显示段,这是为工程应用方便如设计的,分别为 A、B、C、D、E、F、G、DP,其中 DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的 A 段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示:所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个 8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的 I/O 口太多,造成了资源的浪费。动态显示:所谓动态显示,就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了 I/O 口,降低了能耗。从节省 I/O 口和降低能耗出发,本设计采用动态显示。1.3 电路硬件设计 1.31 设计原理框图 此设计原理框图如图 1 所示,此电路包括以下六个部分:单片机,按键,指示灯,复位电路,晶振及显示电路。设计原理框图 按 键 指示灯 复位电路 单 片 机 显示电路 晶 振 电路设计分为复位电路、指示灯电路、按键电路、时钟电路及数码管连接电路,总电路工作原理图如下图所示 89c51 芯片 该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性 Flash 程序存储器 全部支持 12 时钟和 6 时钟操作 P89C51X2 和 P89C52X2/54X2/58X2 分别包含 128 字节和 256 字节 RAM32 条 I/O 口线 3 个 16 位 定时/计数器 6 输入 4 优先级嵌套中断结构1 个串行 I/O 口可用于多机通信I/O 扩展或全双工 UART 以及片内振荡器和时钟电路 此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0 可实现两个由软件选择的节电模式 空闲模式和掉电模式空闲模式冻结CPU 但 RAM 定时器串口和中断系统仍然工作 掉电模式保存 RAM 的内容 但是冻结振荡器导致所有其它的片内功能停止工作 由于设计是静态的 时钟可停止而不会丢失用户数据 运行可从时钟停止处恢复 4 个中断优先级 y6 个中断源 4 个 8 位 I/O 口 全双工增强型 UART 帧数据错误检测 自动地址识别 3 个 16 位定时/计数器 T0T1 标准 80C51 和增加的 T2 捕获和比较 可编程时钟输出 异步端口复位 低 EMI(禁止 ALE 以及 6 时钟模式)掉电模式可通过外部中断唤醒 其引脚图如下所示 材料清单 8051 芯片 1 个 瓷介电容 2 个 极性电容 1 个 芯片底座 1 个 4 位 7 段数码管 2 个 10K 欧电阻 1 个 电池盒 1 个 电池 2 个 独立按键 5 个 自锁开关 1 个 排阻 1 个 12M 晶振 1 个 2 软件设计 2.1 软件设计流程 电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等,(1)主程序 主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。主程序执行流程如图 2)定时器/计数器 T0 中断程序 定时器/计数器 T0 用于时间计时。选择方式 1,重复定时,定时时间设为 20ms,定时时间到则中断,在中断程序中用一个计数器对 20ms 计数,计 50 次则对秒单元加 1,秒单元加到 60 则对分单元加 1,同时秒单元清 0;分单元加到 60 则对时单元加 1,同时分单元清 0;时单元加到 24 则对时单元清 0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器/计数器 T0 中断程序流程图如图 完整源程序:S0 EQU 31H S1 EQU 32H S2 EQU 33H S3 EQU 34H S4 EQU 35H S5 EQU 36H S6 EQU 37H S7 EQU 38H S8 EQU 39H S9 EQU 40H S10 EQU 41H ORG 0000H AJMP START ORG 000BH AJMP ZDN ORG 0003H LJMP SHOW ORG 0045H START:MOV R0,#57 MOV R1,#59 MOV R2,#12 MOV R3,#20 MOV R4,#11 MOV R5,#15 MOV R6,#20 MOV R7,#00H MOV S0,#00H MOV S1,#00H MOV S2,#00H MOV S3,#00H MOV S4,#00H MOV S5,#00H MOV S6,#00H MOV S7,#00H MOV S8,#00H MOV S9,#00H MOV S10,#00H MOV TMOD,#02H MOV TH0,#06H MOV TL0,#06H MOV IE,#83H SETB IT0 SETB TR0 SETB PT0 MAIN:CLR P3.7 JNB P1.7,LOOP LCALL DISPLAY LCALL KEY SETB EX0 LJMP MAIN LOOP:MOV S6,#09H ZN:MOV S7,#0FFH SETZH:CLR P3.2 SETB P3.2 LCALL KEY DJNZ S7,SETZH DJNZ S6,ZN LJMP MAIN SHOW:PUSH ACC PUSH PSW LCALL DISPLAY1 POP PSW POP ACC RETI ZDN:PUSH ACC PUSH PSW INC R7 CJNE R7,#200,ZD MOV R7,#00H INC S0 MOV A,S0 CJNE A,#20,ZD MOV S0,#00H INC R0 CJNE R0,#60,ZD MOV R0,#00H MOV R1,#00H INC R2 CJNE R2,#24,ZD MOV R2,#00H INC R3 CJNE R4,#2,LOOP31 LCALL JUDGE_Y LCALL ZD LOOP31:CJNE R4,#4,V1 AJMP SMALL V1:CJNE R4,#6,V2 AJMP SMALL V2:CJNE R4,#9,V3 AJMP SMALL V3:CJNE R4,#11,MAX SMALL:CJNE R3,#31,ZD MOV R3,#01H INC R4 MAX:CJNE R3,#32,ZD MOV R3,#01H INC R4 CJNE R4,#12,ZD MOV R4,#01H INC R5 CJNE R5,#99,ZD MOV R5,#00H INC R6 CJNE R6,#99,ZD MOV R6,#00H ZD:POP PSW POP ACC RETI JUDGE_Y:MOV A,R5 CJNE A,#0,L1 MOV A,R6 MOV B,#4 DIV AB MOV A,B CJNE A,#0,PINGNIAN LJMP L2 L1:MOV A,R5 MOV B,#4 DIV AB MOV A,B CJNE A,#0,PINGNIAN L2:CJNE R3,#30,L3 MOV R3,#01H INC R4 PINGNIAN:CJNE R3,#29,L3 MOV R3,#01H INC R4 L3:RET DISPLAY:MOV DPTR,#TAB CJNE R0,#0,BB CJNE R1,#0,BB SETB P3.7 LCALL DELAY10MS CLR P3.7 BB:MOV A,R0 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.7 LCALL DELAY SETB P2.7 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.6 LCALL DELAY SETB P2.6 MOV A,#10 MOVC A,A+DPTR MOV P0,A CLR P2.5 LCALL DELAY SETB P2.5 MOV A,R1 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.4 LCALL DELAY SETB P2.4 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.3 LCALL DELAY SETB P2.3 MOV A,#10 MOVC A,A+DPTR MOV P0,A CLR P2.2 LCALL DELAY SETB P2.2 MOV A,R2 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.1 LCALL DELAY SETB P2.1 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.0 LCALL DELAY SETB P2.0 RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;DISPLAY1:MOV DPTR,#TAB1 MOV A,R3 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.7 LCALL DELAY SETB P2.7 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.6 LCALL DELAY SETB P2.6 MOV A,#10 MOVC A,A+DPTR MOV P0,A CLR P2.5 LCALL DELAY SETB P2.5 MOV A,R4 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.5 LCALL DELAY SETB P2.5 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.4 LCALL DELAY SETB P2.4 MOV A,#10 MOVC A,A+DPTR MOV P0,A CLR P2.3 LCALL DELAY SETB P2.3 MOV A,R5 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.3 LCALL DELAY SETB P2.3 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.2 LCALL DELAY SETB P2.2 MOV A,R6 MOV B,#10 DIV AB MOV S9,A MOV S10,B MOV A,B MOVC A,A+DPTR MOV P0,A CLR P2.1 LCALL DELAY SETB P2.1 MOV A,S9 MOVC A,A+DPTR MOV P0,A CLR P2.0 LCALL DELAY SETB P2.0 RET TAB1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,80H;KEY:MOV P1,#0FFH MOV A,P1 CPL A ANL A,#70H JZ RET1 LCALL DELAY10MS MOV A,P1 CPL A ANL A,#70H JZ RET1 JB ACC.4,MKEY JB ACC.5,ADDKEY JB ACC.6,DECKEY RET1:RET MKEY:CLR TR0 LCALL K1 LJMP DISPLAY ADDKEY:LCALL K2 LJMP DISPLAY DECKEY:LCALL K3 LJMP DISPLAY K1:MOV A,S8 CJNE A,#9,LOOP1 MOV S8,#00H LJMP FH LOOP1:INC S8 CJNE A,#8,FH SETB TR0 FH:RET K2:MOV A,S8 CJNE A,#1,LOOP2 CJNE R6,#99,LOOP3 MOV R6,#00H LJMP LOOP15 LOOP3:INC R6 LJMP LOOP15 LOOP2:CJNE A,#2,LOOP4 CJNE R5,#99,LOOP5 MOV R5,#00H LJMP LOOP15 LOOP5:INC R5 LJMP LOOP15 LOOP4:CJNE A,#3,LOOP6 CJNE R4,#12,LOOP7 MOV R4,#01H LJMP LOOP15 LOOP7:INC R4 LJMP LOOP15 LOOP6:CJNE A,#4,LOOP8 CJNE R4,#2,LOOP32 LCALL JUDGE_Y1 LJMP LOOP15 LOOP32:CJNE R4,#4,N6 AJMP SMALL1 N6:CJNE R4,#6,N7 AJMP SMALL1 N7:CJNE R4,#9,N8 AJMP SMALL1 N8:CJNE R4,#11,MAX1 SMALL1:CJNE R3,#30,LOOP9 MOV R3,#01H LJMP LOOP15 LOOP9:INC R3 LJMP LOOP15 MAX1:CJNE R3,#31,LOOP35 MOV R3,#01H LJMP LOOP15 LOOP35:INC R3 LJMP LOOP15 LOOP8:CJNE A,#5,LOOP10 CLR EX0 CJNE R2,#23,LOOP11 MOV R2,#00H LJMP LOOP15 LOOP11:INC R2 LJMP LOOP15 LOOP10:CJNE A,#6,LOOP12 CJNE R1,#59,LOOP13 MOV R1,#00H LJMP LOOP15 LOOP13:INC R1 LJMP LOOP15 LOOP12:CJNE A,#7,LOOP15 CJNE R0,#59,LOOP14 MOV R0,#00H LJMP LOOP15 LOOP14:INC R0 LOOP15:RET JUDGE_Y1:MOV A,R5 CJNE A,#0,N1 MOV A,R6 MOV B,#4 DIV AB MOV A,B CJNE A,#0,PINGNIAN1 LJMP N2 N1:MOV A,R5 MOV B,#4 DIV AB MOV A,B CJNE A,#0,PINGNIAN1 N2:CJNE R3,#29,N3 MOV R3,#01H LJMP N5 N3:INC R3 LJMP N5 PINGNIAN1:CJNE R3,#28,N4 MOV R3,#01H LJMP N5 N4:INC R3 N5:RET K3:MOV A,S8 CJNE A,#1,LOOP16 CJNE R6,#0,LOOP17 MOV R6,#99 LJMP LOOP30 LOOP17:DEC R6 LJMP LOOP30 LOOP16:CJNE A,#2,LOOP18 CJNE R5,#0,LOOP19 MOV R5,#99 LJMP LOOP30 LOOP19:DEC R5 LJMP LOOP30 LOOP18:CJNE A,#3,LOOP20 CJNE R4,#01H,LOOP21 MOV R4,#12 LJMP LOOP30 LOOP21:DEC R4 LJMP LOOP30 LOOP20:CJNE A,#4,LOOP22 CJNE R4,#2,LOOP33 LCALL JUDGE_Y2 LJMP LOOP30 LOOP33:CJNE R4,#4,M6 AJMP SMALL2 M6:CJNE R4,#6,M7 AJMP SMALL2 M7:CJNE R4,#9,M8 AJMP SMALL2 M8:CJNE R4,#11,MAX2 SMALL2:CJNE R3,#01,LOOP23 MOV R3,#30 LJMP LOOP30 LOOP23:DEC R3 LJMP LOOP30 MAX2:CJNE R3,#01,LOOP34 MOV R3,#31 LJMP LOOP30 LOOP34:DEC R3 LJMP LOOP30 LOOP22:CJNE A,#5,LOOP24 CLR EX0 CJNE R2,#0,LOOP25 MOV R2,#23 LJMP LOOP30 LOOP25:DEC R2 LJMP LOOP30 LOOP24:CJNE A,#6,LOOP26 CJNE R1,#0,LOOP27 MOV R1,#59 LJMP LOOP30 LOOP27:DEC R1 LJMP LOOP30 LOOP26:CJNE A,#7,LOOP30 CJNE R0,#0,LOOP28 MOV R0,#59 LOOP28:DEC R0 LOOP30:RET JUDGE_Y2:MOV A,R5 CJNE A,#0,M1 MOV A,R6 MOV B,#4 DIV AB MOV A,B CJNE A,#0,PINGNIAN2 LJMP M2 M1:MOV A,R5 MOV B,#4 DIV AB MOV A,B CJNE A,#0,PINGNIAN2 M2:CJNE R3,#01H,M3 MOV R3,#29 LJMP M5 M3:DEC R3 LJMP M5 PINGNIAN2:CJNE R3,#01H,M4 MOV R3,#28 LJMP M5 M4:DEC R3 M5:RET DELAY10MS:MOV S3,#200 D4:MOV S4,#200 D3:DJNZ S4,D3 DJNZ S3,D4 RET DELAY:MOV S1,#5 D1:MOV S2,#248 D2:DJNZ S2,D2 DJNZ S1,D1 RET END 课程设计总结与心得:经过几周的准备与查阅资料,我总算是弄懂了设计的流程与原理。本设计主分为硬件电路的设计排布与软件部分的编写仿真。这些都是从课堂上学习与书籍资料查阅而来,不得不说让我懂得了许多。其中让我更加了解 89c51 芯片的结构功能,让我学会了运用 proteus 仿真软件。虽然在焊接一次时出现了电路错误问题,不过经过排查与修正,也总算是把这个电子时钟的要求给实现出来。经过这次的课程设计,让我体会到了什么叫学以致用,什么叫有付出便会有收获,总归是对自己一次很好的锻炼。参考文献:【单片机课程设计实例指导M】北京:北京航空航天大学出版社 2004.【电子设计从零开始M】清华大学出版社2005-10.致谢:谢谢老师对我们的悉心指导,也谢谢同学们对我所遇上的困难进行热心帮助!更要谢谢学校给了我这次历练的机会与提供环境条件。

    注意事项

    本文(单片机课程设计报告——单片机数字时钟课程设计报告概要11619.pdf)为本站会员(得**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开