APP下载

Keil与Proteus软件在单片机课程教学中的应用

2016-12-26广东理工学院电气工程系龙小丽唐东成李欣雪

电子世界 2016年21期
关键词:数码管按键时钟

广东理工学院电气工程系 龙小丽 唐东成 李欣雪

Keil与Proteus软件在单片机课程教学中的应用

广东理工学院电气工程系 龙小丽 唐东成 李欣雪

本文介绍了Keil与Proteus这两种软件在"单片机应用技术"课程教学中的应用,以基于AT89C51单片机为核心的简易可调时钟为例阐述了Keil与Proteus软件在仿真单片机应用系统时的步骤和需要注意的问题。将Keil与Proteus引入"单片机应用技术"课程教学中,可有效提高上课质量,帮助学生加深对课堂知识点的理解,为以后将所学知识应用到实践中做好准备。

单片机应用技术;Keil;Proteus;仿真

1 引言

"单片机应用技术"是电子信息、通信工程及测控技术等理工科专业非常重要的一门课程,成为理工科专业的学生毕业后就业的一个主要专长。该课程教学目标是在理论教学的基础上通过实践教学,使学生掌握单片机组成(内部与外部结构)、端口使用(P0~P3口、RST、XTAL1、XTAL2等)、CPU片内资源(ROM、RAM)、中断系统、定时器、外部扩展技术及程序设计等知识,培养学生具有利用单片机及其外围芯片设计单片机系统的能力,为将单片机应用到传感器、工控、家用电器及计算机通信等多个领域打下良好基础。

在"单片机应用技术"课程的教学过程中,学生反映单片机的内部存储结构、外部扩展技术、中断系统及程序设计等知识难以掌握,虽然学习了理论知识,具体却不知道如何应用。单片机课程的实践性要求非常高,而对于传统的教学模式,通常是先学习理论知识,再进行实践操作,这种模式使得实践操作与理论知识脱节。在单片机实践课程教学中,通常采用只能进行单片机系统验证的实验箱,只能够对一些应用系统进行验证,学生没有自己针对具体功能进行设计的机会,有一定的局限性[1]。Keil与Proteus软件教学中的应用正好能够解决这个问题。本文根据自己的教学经验,讨论Keil与Proteus软件在单片机课程教学中的应用。

Proteus是一款可用于设计和开发单片机系统的仿真平台软件,它按功能划分为ISIS、VSM、ARES三个部分。该软件可用于模拟仿真51、PIC、AVR、HC11系列等常用的MCU及其外围电路[2-3]。并支持大量的外围芯片和存储器。同时还支持C语言和汇编语言的程序设计。能和Keil 实现联用调试。

Keil与Proteus联用有两种方式仿真单片机系统。一种是将源程序用Keil进行编译生成单片机CPU可执行的后缀为。hex的文件,再将hex文件加载到Proteus中所绘制的硬件电路图中的单片机中即可实现模拟仿真。二是Keil与Proteus连接调试。本文介绍第一种方式。

2 教学实例

设计一个完整的单片机应用系统的包括硬件与软件两部分设计,硬件电路的设计可用Proteus进行,软件设计时可选用C或汇编进行设计。程序设计完利用Keil软件进行编译和调试。下面以"简易可调时钟"为例,介绍采用Keil与Proteus软件进行单片机应用系统模拟仿真的过程。

2.1 设计要求

设计一个简易可调时钟;可动态的显示时、分、秒,显示格式为00-00-00;小时和分钟可调;具有复位功能。

2.2 硬件电路原理图设计

本文设计的"简易可调时钟(见图1)"由主控电路、显示电路、键盘电路等模块组成。AT89C51是主控模块的核心部分;键盘模块采用独立按键实现调时和调分的功能;显示模块采用8个共阴LED数码管进行时间的动态显示。打开ISIS 7 Professional界面,添加元件并连接,绘制图1电路原理图。原理图用到的元件有AT89C51、7SEG-MPX8-CA-BLUE、CRYSTAL、BUTTON、RESPACK-8、CHIPRES10K、GRM0335C1E300JD01D、B45190E3106K209构成了AT89C51主控模块、8位LED数码管动态显示屏、调时和调分按键、复位初始化电路等模块。

图1 "简易可调时钟"电路原理图

AT89C51芯片是电路的核心,有4个(P0~P3)8位并行输入/输出端口。P2口输出数段选码,P2.0~P2.7引脚分别接到LED数码管段选码(A~DP)引脚上,P2.x口线为高电平时对应的段被点亮,由于P2口驱动能力较弱,加上100Ω上拉电路增加数码管亮度。 P1口输出位选码,P1.0~P1.7引脚分别接到LED数码管的位选码(8~1)引脚上,P1.x口线为低电平对应位数码管被点亮。单片机的和引脚分别经调时按键和调分按键后再接地,当扫描到P3.2口或P3.3口为低电平时表明按键按下,则执行调时或调分的功能。

“自采”的仅计算基本直接费,“他采”的还应计算相关费用、利润及税金。考虑到这两种情况下主承包人的成本支出差异,应同时制定这两种情况下的混凝土工程费率,“自采”的比“他采”的要高些。

图2 "简易可调时钟"仿真电路

2.3 程序编译

本文采用C语言进行程序设计,程序中主要包括初始化函数、T0中断函数、T1中断函数、键扫描函数等。程序设计完成后,用Keil u Vision3工具对此仿真系统的程序进行编辑和编译,生成单片机CPU可执行的HEX文件。编译步骤如下:

新建工程:在程序菜单打开Keil u Vision3,选择Project菜单下New Project。在弹出的对话框中输入工程名(jianyishizhong)并选择工程的保存路径;工程保存完后再选择CPU,本文选择AT89C51芯片。

新建源文件:打开File菜单,点击New菜单项。点击File菜单下Save菜单,在弹出的对话框中选择源文件保存路径(默认情况下和新建的工程在同一个文件夹下)并输入文件名(jianyishizhong。 c)。点击保存,产生jianyishizhong。c空白文件。

添加源文件到工程:点击左侧工作区窗口下Target 1左端显示"+",展开目录树。鼠标右键单击Source Group 1,在弹出的快捷菜单中选择Add File to Group'Source Group 1'。在弹出对话框中选择要添加的文件(jianyishizhong。c),点击Add按钮,即可将文件添加到工程。关闭添加文件对话窗口。在刚刚建立的jianyishizhong。c文件中编辑输入程序并保存。

工程选项设置:鼠标右键单击工作区窗口下的Target 1,选择快捷菜单中的Options for Target'Target 1',弹出工程选项设置对话框。选择Target标签,在Xtal(MHz):

文本框内输入单片机时钟11.0592.选择Output标签,勾选Creat HEX复选框;该HEX文件即是下载到单片机的可执行代码。

编译:单击工具栏全部编译图标,观察窗口中提示信息。若程序无措,则编译产生单片机可执行代码hex文件,本文生成的hex文件为jianyishizhong。hex。

2.4 仿真效果

用Proteus软件打开图1电路,将jianyishizhong。 hex文件加载到AT89C51中,点击Play键,运行仿真电路,显示结果如图2所示,可通过观察运行结果判断系统硬件与软件设计的正确性。本文运行结果和设计要求一致,可动态的显示时、分、秒,显示格式为00-00-00,图2显示的时间为17点08分15秒;小时和分钟可通过调时按键和调分按键进行调节;按下复位按钮,电路立即可实现复位。

3 结论

上面以简易可调时钟为例,介绍Keil与Proteus软件应用于单片机课程教学中。利用Keil与Proteus软件,按照上述步骤,我们还可以设计看STC89C52看门狗、DS18B20数码温度计、急救交通信号灯、电子密码锁、音乐播放器、万年历等单片机应用系统的仿真实例,并运用到课程教学中。借助Keil与Proteus软件在课堂中进行系统验证,演示运行的结果,可加深学生对课堂知识点的理解,可有效提高课堂效果。由于软件的低成本性和操作简单性,在课后,学生可用这两种软件练习或设计单片机应用系统实验,学习从电路设计、软件程序编程到仿真结果观察的完整过程,既可巩固学生学到的知识,又可提高学生创新能力,同时还解决了实验设计时间不足及实验设备的问题,为优化单片机课程教学开拓了一条新路子。

[1]张德伟。单片机课程教学模式的探索与实践[J]。中国科技,2007(6): 268-270.

[2]周润景,张丽娜。基于Proteus的AVR单片机设计与仿真[M]。北京:航空航天大学出版社,2007.

[3]曾燕,贾振国。Proteus仿真技术在单片机教学中的应用[J]。长春工程学院学报:社会科学版,2011,12(1):132-134.

龙小丽(1989-),女,湖南湘西人,硕士研究生,助教,研究方向:电子与通信工程。

唐东成(1987-),男,湖南邵阳人,硕士研究生,助教,研究方向:复杂系统分析与控制。

李欣雪(1990-),女,黑龙江大庆人,硕士研究生,助教,研究方向:电子与通信工程。

猜你喜欢

数码管按键时钟
别样的“时钟”
基于有限状态机的按键检测程序设计
微课教学设计之“数码管动态显示”
古代的时钟
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
按键消抖在单片机和FPGA实验教学中的应用
有趣的时钟
一种多方向导光按键结构设计