《[信息与通信]单片机开发软件keil使用技巧 联调28》由会员分享,可在线阅读,更多相关《[信息与通信]单片机开发软件keil使用技巧 联调28(30页珍藏版)》请在金锄头文库上搜索。
1、单 片 机软 件程 序联 调使 用 方 法功 能I/O 口内 部 结 构2目 录1 系统总体设计方案 4 1.1 设计课题任务41.2 功能要求说明41.3 总体方案介绍及工作原理42 硬件系统的设计 62.1 系统各功能模块介绍62.2 系统电路图72.3 系统元器件清单73 软件系统的设计 83.1 设计使用单片机资源介绍83.2 软件系统各功能模块介绍83.3 软件系统程序流程框图93.4 软件系统的程序104 系统的仿真分析及结论 114.1 系统设计的使用说明114.2 系统设计的仿真结果114.3 系统的误差分析 124.4 设计体会 124.5 教学建议13参考文献14致 谢15
2、附录(1) 16附录(2) 1731 系统总体设计方案1.1 设计课题任务设计一个具有特定功能的电子钟。1.2 功能要求说明(1) 、屏幕保护和检查(P.从右至左流动) ;(2)、按下 A 键显示 8 个 P.,然后开始运行;(3)、时分秒、年月日之间用“-”分割,并闪烁;(4)、运行时按下 A 键进入调整时钟状态;再按一次恢复运行;(5)、在运行状态下,按下 BCD 分别显示三种功能,可切换观看,按 A 键返回运行;(6)、在各调整状态下,按 B 调秒(日) ,C 调分(月),D 调时(年) ,短时间按下只加一次,长时间按下不停歇的加数,调整完毕后按 A 键返回运行状态;(7)、定时功能:在
3、运行时按下 B 显示定时,再按 B 进入调整状态,设置完成按 A 返回;(8)、当“时”小于 10 时,高位不显示,即高位“清零” ;(9)、秒表功能:在运行时按下 C 键,进入秒表功能,奇数次 C 开启秒表,偶数次 C 关闭,按 A 键返回。(10)、在运行时按下 D 键显示日期,再按 D 进入调整状态,按 A 键返回。1.3 总体方案介绍及工作原理电子钟的总体功能原理是以 AT89S52 单片机为主要的控制核心,通过外接 4 个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。
4、CPU 控制原理图如图 1.1 所示。452 硬件系统的设计2.1 系统各功能模块介绍2.1.1 AT89S52 控制模块考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、数码管的显示控制,定时器应用等,我们选择了学习过的 AT89S52 系列单片机,具有反应速度极快,工作效率特高的特点。AT89S52 主要性能 与 MCS-51 单片机产品兼容 、8K 字节在系统可编程 Flash存储器,1000 次擦写周期,全静态操作:0Hz33Hz 三级加密程序存储器 32 个可编程I/O 口线 、三个 16 位定时器 /计数器 八个中断源 、全双工 UART 串行通道、 低功耗空闲和掉电模
5、式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.2 键盘功能模块根据系统的基本的要求,基于时间
6、的观看和设定等功能,采用由四个键构成的独立式键盘分别接在 AT89S52 单片机的 P1.0-P1.3,非常的方便,同时相对于独立式键盘大大节省了空间,在软件的设计时带来了极大的方便,使程序简易明了,可读性强。本次设计中,四个键分别定义为 A 键、B 键、C 键和 D 键,对应着时间显示与控制,定时控制,秒表控制,日历显示与控制,各键功能单一,互不影响,操作起来十分的清晰与方便。2.1.3 数码管显示模块显示模块要具有显示时分秒,年月日和间隔闪烁符(至于每两级单位之间)的功能,共需要八位数码管。数码管的八个位控口接在 AT89S52 单片机的 P0 口线上,从左到右顺序连接,段控制线接在 AT
7、89S52 单片机的 P2 口线上,从低位到高位对应连接.再由于数码管的本身显示亮度不够,所以一般都会在其位控和段控口前加上一定的驱动电路,本次设计中采用三极管作为驱动。 本次采用的数码管型号为6CPS05641BR。2.1.4 定时提示模块电子钟的另外一个要求功能是在定时到达时候发出闹铃,本次设计利用蜂鸣器来实现。具有电路结构非常简单,控制极其方便等优点。2.2 系统电路图总原理图.总布局图.PCB 图见附录(1) 2.3 系统的元器件清单本系统中所用到的元件如表 2.1 所示。表 2.1 系统元器件表器件 型号 数量 器件 型号 数量单片机 AT89S52 1 个 按键 普通 4 个晶振
8、12MHZ 1 个 开关 6 脚双路 2 个电容 22F,33pF1 个,2 个 数码管 CPS05641B 8 个电阻 普通 若干 下载接口 10 针接口 1 个蜂鸣器 脉冲式 1 个 单排针 普通 若干3 软件系统的设计3.1 使用单片机资源介绍AT89S52 的 P0,P1,P2 口作为输入输出口,且部分用到 P1,P3 口作为第二功能:P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用)P1.7 SCK (在系统编程用) XTAL1、XTAL2:晶振输入 RST: 复位输入片内资源主要为:定时器/计数器 T0,定时器/计数器 T1,定时器中断 0,通用寄存器前三组,专
9、用寄存器 A、PSW、IE、P1、P2、P3、TCON、SCON,位寻址单元F0H、F1H、F2H、 F3H、F4H、F5H。3.2 软件系统各功能模块介绍3.3.1 独立式键盘模块独立式键盘软件设计通过在主程序中调用子程序 KEY 去执行键盘扫描和调用子程序 ANKEY 去执行相应的功能 ,单片机 P1 口在复位后保持高电平,当键按下相应口线为低电平,此时 CPU 做初期判断,之后延时 12ms,确定为按键后等待键松,之后执行子程序。达到通过键功能程序的分支执行相应的程序段,完成对应的操作。3.2.2 数码管显示模块数码管显示是通过调用子程序 DISP 来实现的,由于数码管的显示要求有实时性
10、,所以在执行其他的程序的时候依然要经常调用显示子程序 DISP。数码管的段控由 CPU 改变 P2 口相应位电平来实现,为实现不同的显示功能,设置了不同的显示缓冲单元,通过控制标志位控制。数码管的位控由 CPU 改变 P0 口相应位电平来实现,基于人的视觉延迟性,通过从右到左的循环保证所有数码管都被点亮。3.2.3 闹铃、秒表模块在软件的设计中闹铃提示模块是通过驱动蜂鸣器产生的声音来告诉定时时间是否已到,通过在主程序中不间断的调用 DINGSHI 子程序执行相应的功能,定时时间到通过改变 P1.7 为低电平使蜂鸣器响起,并用软件方式延时 3 分钟。秒表功能是通过判断按键 C 是否按下来实现,若
11、 C 按下这会调用 MIAOBIAO 子程序,进入秒表8计时,计时程序由软件延时程序构成。3.3 软件系统程序流程框图软件系统的总体流程框图如图 3.1,键扫和显示程序流程框图分别如图 3.2、图 3.3 所示。9图 3.2 键扫流程图 图 3.3 显示程序流程图3.4 软件系统的程序软件系统的程序如附录(2) 。104 系统的仿真分析及结论4.1 系统设计的使用说明在 Proteus 上画好原理图,检查无误后再通电,主要在数码管上显示 P. 循环左移,按按下 A 键以后进入时间运行状态。其后按下不同的键进入不同的功能,其具体的操作步骤是:按 A 键进入电子钟时分秒的调整模式,按 B 键进入定
12、时时间的查看和调整模式,按 C 键进入秒表功能,按 D 键进入日期的查看和调整模式,若此时按下 A 键则会返回进入时钟运行状态。在按下上述键进入相应的功能以后,再按 B 键加时(年) ,按下 C 加分(月) ,按下 D 加秒(日) 。设置完成以后按下 A键返回时钟运行状态。4.2 系统设计的仿真结果仿真主要争对是对独立式盘和数码管,在按键盘不同的键值的时,显示正确的显示信息,不同功能的仿真的结果如图 4.1、4.2、4.3 和 4.4 所示。图 4.1 时分秒显示结果11图 4.2 年月日显示结果图 4.3 屏保显示图图 4.4 秒表功能显示图4.3 系统的误差分析系统准备工作结束后,在硬件调
13、试中有时候按下键但却没反应者是最主要的误差,也许这是老化的现象以及硬件的焊接有些地方存在虚焊的原因,但是范围很小,还有在最初几次数码管显示有一定的问题,但最后发现是位控线和段控线的焊接存在问题。4.4 设计体会电子技术的快速发展,使一些新型电子器件和集成芯片应用越来越广泛,电子系统的功能越来越强大,印刷电路板越来越复杂和精密。单片机的应用使得我们对12各种电路变得模块化,集成化,电子设计自动化(Electronics Design Automates,即EDA)工具的集成设计环境,电子设计软件 Protel 软件等的运用使得电子设计电路更加方便,而我做为电子信息工程专业的学生,应该熟练掌握各种
14、电路编辑软件,在这次的设计中我深刻的体会到电子产品的快乐,当我们看到显示屏上正确的显示出现时,好开心,这意味着我们的设计成功了,几十天的努力方案设计,和实践工作我们从中熟练各种电子的技术和强大,并不断地总结经验。这次课设对我们来说非常重要,也是我们最满意的一次,好的开头是成功的第一步,只有经历过,才会懂得过程的重要性。4.5 教学建议号召同学们购买实验板,强化单片机实训,随着单片机学习的深入,渐渐的就涌入出一批对单片机兴趣很强的学生,单纯的仿真和一周才二次的试验课已不能满足学生对单片机强烈的兴趣,因此花点钱买试验版式个明智的选择!我还知道老师在实验课上很是注重学生的动手操作能力,要求很严格,但由于学校给我们的实验课时还不够。老师应该给我们学生多一些布置课外的实物制作课题,让学生从操作的过程中学到一些经验。这样,我们就会涉取很多课