单片机课程设计报告书模板.pdf
《单片机课程设计报告书模板.pdf》由会员分享,可在线阅读,更多相关《单片机课程设计报告书模板.pdf(21页珍藏版)》请在三一文库上搜索。
1、西南科技大学 2011级微机原理与接口技术 课程设计报告 课题名称 微机原理与接口技术 姓名 学号 院、系、部 制造科学与工程学院 专业 指导教师 2014年月日 一、设计任务及要求: 设计任务: 1、利用 MCS-51内部定时器定时,编程实现年、月、日、时、分、秒的显示,显 示格式为:年月日: 10-06-18 时分秒: 09-12-35 也可自行设定显示格式,两部分可按键切换显示; 2、能按键调整日期、时间的数值; 3、可设定时间报警,报警的时间至少有2 个,报警时应有报警指示。 4、要求至少调试出任务的前两项。 要 求: 首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后
2、进行 硬件电路的初步设计,在计算机上画出硬件电路图,在老师的指导下进行修正硬件电 路图,并对所涉及的参数进行计算。 在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子 程序的设计,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切 换等,以配合软件的设计。 然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件 各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的 编制过程中要注意资源的衔接。 最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐 步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要
3、上来编制个最大 的程序,最后无法查找错误。 最后写出设计报告。 指导教师签名: 2014 年月日 三、成绩 指导教师签名: 年月日 目录 一、 绪 言1 二、系统设计1 2.1 系统整体流程图1 2.2日历时钟的控制方案论证1 2.3 单片机的选择方案论证2 2.4 键盘选择方案论证2 2.5 显示模块的选择方案论证2 2.6 模块的选择方案论证2 三、硬件电路设计2 3.1 日历时钟的控制电路图2 3.2行列式键盘的设计3 3.3 数码管显示电路的设计3 3.4 蜂鸣器驱动电路的设计4 3.5 主要元器件选择4 四、程序流程图5 五、 c语言程序设计5 六、日历时钟的控制器仿真19 6.1
4、Keil调试19 6.2 Proteus调试19 七、结束语20 八、参考文献21 1、绪 言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制 检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个 核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应 用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应 用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用 AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。 数字钟已成为人们日常生
5、活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、 剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字 集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带 方便等优点,它还用于计时、自动报时及自动控制等各个领域。 2、系统设计 2.1 设计任务 1、利用 MCS-51内部定时器定时,编程实现年、月、日、时、分、秒的显示,显示格 式为:年月日: 10-06-18 时分秒: 09-12-35 也可自行设定显示格式,两部分可按键切换显示; 2、能按键调整日期、时间的数值; 3、可设定时间报警,报警的时间至少有2 个,报警时应有报警指示。
6、4、要求至少调试出任务的前两项。 2.2 方案比较与论证 2.2.1 系统整体流程图 2.2.2 电子密码锁的控制方案论证 用4*3的行列式键盘组成 0-9数字键及确认键、删除键,从矩阵键盘输入8位数密码,起 始密码由程序设定,输入完后按确定键开锁,取消键清除所有输入。用8位数码管组成显示 人机接口 显示电路 软件控制程序 电源电路 单片机控制电路 电路提示信息,当输入密码时,只显示“- ” ,当密码位输入完毕按下确认键时,对输入的 密码与设定的密码进行比较,若密码正确,则开锁,此处用LED 发光二极管亮一秒钟做为提 示。当密码不正确时,禁止按键输入3秒,同时启动蜂鸣器发出“嘀、嘀”报警声。
7、2.2.3 单片机的选择方案论证 方案一:采用可编程逻辑期间CPLD 作为控制器。 CPLD 可以实现各种复杂的逻辑功能、 规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入 输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需 要复杂的逻辑功能,对数据的处理速度的要求也不是非常高,且从使用及经济的角度考虑 我们放弃了此方案 方案二:采用 Atmel公司的 AT89S52 单片机作为控制器。 AT89S52 是一个低功耗,高性能 的51内核的 CMOS 8位单片机,片内含 8k空间的可反复擦些 1000次的Flash 只读存储器,具有 2
8、56 bytes 的随机存取数据存储器(RAM ) ,32个IO口,2个16位可编程定时计数器。 综合考虑,选择方案二,采用Atmel公司的 AT89S52 单片机作为控制器。 2.2.4 键盘选择方案论证 方案一:采用独立式键盘。由于各键相互独立,每个按键各接一根输入线,通过检测 输入线的电平状态可以很容易的判断哪个按键被按下。此种键盘适用于按键较少或操作速 度较高的场合。但本题发挥部分要求12 个功能键,按键数目较多,这就需要较多的输入口 线,而且电路结构复杂。故此方案不可取。 方案二:采用行列式键盘。它由行线和列线组成,按键位于行列的交叉点上,行线信 号和列线信号分别通过两个接口和CPU
9、相连,通过行列扫描法判定按键的位置,此方案适 用于按键较多的场合。 通过对电子密码锁题目的分析,采用4*3 行列式键盘 。 2.2.5 显示模块的选择方案论证 方案一:采用带字库LCD模块显示。能显示复杂的信息,具有质量轻,体积小,功耗 低,指令功能强,接口简单,可靠性强等优点,显示内容丰富,图形美观,易于人机交流。 但是价格昂贵。 方案二:采用 LED数码管显示。数码管能显示数字和符号,但是占用IO 口资源较多, 对于简单的电路可以选用此方案。 电子密码锁,电路简单,选用方案二,显示所需信息。 2.2.6 模块的选择方案论证 当输入密码时,若密码正确,则开锁,此处用LED发光二极管亮一秒钟做
10、为提示。当 密码不正确时,禁止按键输入3 秒,同时发出“嘀、嘀”报警声,为实现此功能我们选用 LED发光二极管和蜂鸣器混合使用。 3 硬件电路设计 3.1 电子密码锁控制电路图 图 2 电子密码锁控制线路图 3.2 行列式式键盘的设计 键盘电路如图 3 所示。设计数字键09 的键号依次为 09,取消键的键号为10,确 认键的键号为11,键号可按键值行首键号(0、4、8、12)列键号( 0、1、2、3)公 式计算。 图 3 键盘电路 3.3 数码管显示电路的设计 数码管驱动采用 8 个共阴极数码管显示,由于单片机的驱动能力有限,采用 74LC245 作为数码管的驱动, 在 7 段码输出线上串联
11、100 欧姆电阻起限流作用。 其电路如图 3 所示。 图4 数码管显示电路 3.4 蜂鸣器驱动电路的设计 蜂鸣器的驱动采用NPN 三极管 2484 来驱动,低电平有效。其电路如图5 所示。 图5 蜂鸣器电路图 3.5 主要元器件选择 主要元器件选用型号和数量如表1 所示: 表 1 主要元器件清单 序 号 材料名称 规格型 号 数 量 元件代 号 1 单片机AT89C51 1 U1 2 晶振12MHz 1 X1 3 电容22PF 2 C1 、C2 4 键盘4*3 12 5 数码管MPX8 1 6 蜂鸣器1 7 发光二极 管 1 D1 8 驱动74LS45 1 U2 9 三级管2484 1 Q1
12、10 排阻10k 1 RP1 4 程序流程图 时间程序流程图 5 C 语言程序设计 程序清单: 设置变量缓冲区 SEC EQU 30H MIN EQU 31H HOUR EQU 32H DAY EQU 33H MON EQU 34H YEAR EQU 35H ;* ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ORG 0030H MAIN: LCALL CHUSHI MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H MOV IE,#82H SETB TR0 ; 开启定时器 T0 MOV 50h,#00H ; 启用定时器 T0
13、的初始值 MOV 37H,#0 ; 显示日期和时间的标志 MOV 38H,#0 ;12 进制和 24 进制的标志 MOV 39H,#23 ; 默认时间为 24 进制 CLR F0 ; 日历定时 0 和 1 的标志 LOOP: MOV A,37H JZ SHIJIAN MOV R1,#33H LJMP BEGIN1 SHIJIAN:MOV R1,#30H ; 初始化显示 BEGIN1: MOV A,38H JZ JZ24 MOV 39H,#11 LJMP BEGIN2 JZ24: MOV 39H,#23 BEGIN2: LCALL DISPLAY LCALL KEY ; 扫描键盘 CJNE A,
14、#05H,DINGS ; 判断键值是否为5 号键 LCALL DY1MS ;若是,则实现调整LCALL TIAOT LCALL TIAOT LCALL DISPLAY LJMP DOWN DINGS: CJNE A,#06H,QIEH ;判断键值是否为 6 号键,定时 LCALL DY1MS ;若是,则实现调整 CPL F0 JNB F0,DI0 ;F0=0, 定时器 0 LCALL DISHI1 ;F0=1, 定时器 1 LCALL DISPLAY LJMP DOWN DI0: LCALL DISHI0 LCALL DISPLAY LJMP DOWN QIEH: CJNE A,#07H,BI
15、ANH ;判断键值是否为 7 号键,切换 LCALL DY1MS ;若是,则切换显示 , 年月日与时分秒切换 LCALL DISPLAY MOV A,37H CPL A MOV 37H,A LJMP DOWN BIANH: CJNE A,#08H,DOWN ; 判断是否为八号键,变换进制 LCALL DY1MS LCALL DISPLAY MOV A,38H CPL A MOV 38H,A DOWN: LJMP loop ;调整子程序 * TIAOT: push acc CLR PSW.1 ;初始化标志位 TOP1: LCALL KEY ; 扫描键盘 CJNE A,#08H,PANFAN ;
16、判断键值是否为 8 号键, 不是 8 键,则继续判断 CPL PSW.1 ;取反标志位 JB PSW.1,TC ;标志位为 1,调整时间 change0 LCALL CHG1 ; 标志位为 0,调整日期 change1 LCALL DISPLAY LJMP TOP1 TC: CLR TR0 LCALL CHG0 LCALL DISPLAY PANFAN: CJNE A,#5,TOP1 pop acc RET ;调整时间子程序 * CHG0: MOV R1,#30H LCALL DISPLAY LCALL KEY S: CJNE A,#01H,M ;判断键值,是否为1 号键 MOV R0,#SE
17、C ;键值为 01,即 1 号键调整秒 MOV A,R0 ;进制 CJNE A,#59,L0 ;判断秒是否为 59 MOV SEC,#00 ;若是,秒清零 LCALL DISPLAY LJMP CHG0 L0: INC A MOV R0,A LCALL DISPLAY LJMP CHG0 M: CJNE A,#02H,H ;判断键值,是否为02H MOV R0,#MIN ;若是,即 2 号键,则调整分钟 MOV A,R0 CJNE A,#59,L2 ;判断分是否为 59 MOV MIN,#00 ;若是,分钟清零 LCALL DISPLAY LJMP CHG0 L2: INC A MOV R0,
18、A LCALL DISPLAY LJMP CHG0 H: CJNE A,#03H,K ;判断键值,是否为03H MOV R0,#HOUR ;键值为 03,即 3 号键调整小时 MOV A,R0 CJNE A,39H,L4 ;判断小时是否为23 MOV HOUR,#00 LCALL DISPLAY LJMP CHG0 L4: INC A MOV R0,A LCALL DISPLAY LJMP CHG0 K: CJNE A,#04H,CHG0 SETB TR0 RET ;调整日期 * CHG1: MOV R1,#33H LCALL DISPLAY LCALL KEY R: CJNE A,#01H,
19、Y ;判断键值,是否为1H MOV R0,#DAY ;键值为 01,调整日期 MOV A,R0 ;进制 CJNE A,#31,B0 ;判断 30 MOV DAY,#00 LCALL DISPLAY LJMP CHG1 B0: INC A MOV R0,A LCALL DISPLAY LJMP CHG1 Y: CJNE A,#02H,N ;判断键值,是否为2 MOV R0,#MON MOV A,R0 CJNE A,#12,B1 ;判断月是否 12 MOV MON,#00 LCALL DISPLAY LJMP CHG1 B1: INC A MOV R0,A LCALL DISPLAY LJMP C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告书 模板
链接地址:https://www.31doc.com/p-5632358.html