新闻  |   论坛  |   博客  |   在线研讨会
基于Keil的实验仿真板
czlyzhj | 2024-08-06 11:05:27    阅读:7187   发布文章

前言:Keil软件的功能强大,但由于该软件主要提供工程师开发时使用,因此并不完全适宜于初学者的学习之用。刚开始学习单片机时,初学者往往有很多概念不能理解。例如看到数字“0xfe”,单片机工程师会立即联想到“如果在P1口接的8个LED灯,将这个数(0xfe)送往P1口中,则会有7个灭,一个亮”;但初学者往往是看到8个LED灯中有7个灭,1个亮后才能理解数字“0xfe”与单片机硬件有何关系。因此,对于初学者来说,多用一些直观性的方法,如观察数码管点亮、发光管点亮等现象有助于提高学习效果。

通常要进行直观化的教学,只能通过硬件实验的方法,不过这对于手边没有硬件的读者来说有一定的难度,这看似不起眼的问题往往直接影响了学习的效果。为了让读者更好地入门,作者开发了一些仿真实验板。这些仿真板将枯燥无味的数字用形象的图形表达出来,可以读者感受到真实的学习环境。实验仿真板使用Keil提供AGSI接口开发而成,它相当于是Keil µVision仿真环境下的一个插件,以DLL的形式提供在纯软件仿真模式下使用,仿真数码管、发光管、按键等外围器件。

------------------------------------------------------

一、8位数码管、8位LED及4位键盘实验仿真板

该实验仿真板文件名为dpj.dll

image.png

这是一块带有8位数码管、8位LED和4位键盘的实验仿真板。

从图中可以直观地看出8位LED接于P1口,当P1某引脚为低电平时,LED点亮,引脚为高电平时,LED熄灭。4位按键分别接P3.2、P3.3、P3.4和P3.5引脚。单击可让相应引脚变为低电平。

下图是实验仿真板的8位数码管电路。P2作为位驱动,P0接字段口。P2.7驱动的是第1位LED数码管,P2.6驱动的是第2位LED数码管,,,,P2.0驱动最后一位数码管。P0.7~P0.0分别接字段h...a。

6381758651579309341152399.png

数码管为共阳型,单个数码管连接结构如下图所示。

6381758721231654136463639.png

如下图所示是这个实验仿真板的应用实例。

6381758455003605191086001.png

二、交通灯实验仿真板

此实验仿真板文件名为jtd.dll

6381759988252673979811380.png

这是一块专用于交通灯编程的实验仿真板。

  南北方向和东西方向的6个灯分别接P1.0~P1.5引脚,当引脚为低电平时,灯亮。

  设置两个按钮,用于稍复杂的带有行人控制的交通灯。

  如下图所示是这个实验仿真板使用的实例。

6381760005635776692139014.png三、8位数码管、8位LED及16位键盘实验仿真板

此实验板文件名为dpj8.dll
image.png

这是一块由8个数码管、8个LED和16个矩阵键盘构成的实验仿真板。

  8个发光二极管连接于P1口,当某引脚为低电平时,相应LED熄灭。

  数码管连接的方法见下图。

6381765912212748778797870.png

四、6位数码管、8位LED及4位键盘实验仿真板

此实验仿真板文件名为dpj6.dll。

image.png

此实验仿真板图中已告知6位数码管分别由P2.7~P2.2驱动,当某位引脚为低电平时,该数码管的COM端接至+V,此时将字形码送至P0口,即可在该位显示相应的字形。

如果对于数码管的连接看文字仍不清楚,可以参考下图。

image.png

五、8位LED及4位键盘实验仿真板

此实验仿真板文件名为ledkey.dll。

image.png

几个问题:

(1)如何安装这些实验仿真板

将这些dll文件复制到你的keil安装目录C51\BIN文件夹中即可。如你的keil安装在D:\Keil中,则将这些文件复制到d:\keil\c51\bin文件夹中。

(2)如何获得这些实验仿真板文件

写邮件至teach51@163.com索要,或者加QQ:57897427索要

(3)如何使用这些实验仿真板文件

image.png

参考上图,打开设置对话框后找到Debug页,方框中-P51是新建工程后自带的,然后在此后方打一个空格,再输入-d,紧接在d后面输入相应实验仿真板的文件名。如-ddpj,-ddpj6,-ddpj8等。

(4)为什么做这些相似的实验仿真板?有何意义?

实验仿真板的最主要的用途在于教学,而不是仿真调试工具。做一块电路板我们希望它的功能多一些,因为这样经济。但在学习的时候,尤其是刚开始学习的时候,我们希望简单一些,避免不相干的内容干扰学习。使用硬件电路板时这个很难实现,因为不可能在学习的不同阶段安装很多块不同的板子,这样太不经济了。但是实验仿真板没有这个限制,所以我们做了ledkey.dll这相相对简单的版本用于初步的学习,然后是dpj/dpj6这两个带数码管的版本,再然后是dpj8这个有16个键的版本。这样,在不同的阶段就能选用不同的实验仿真板来进行教学习。

最后,带有6位数码管的dpj6.dll和带有8位数码管的dpj.dll这两个文件是根据《单片机轻松入门》不同版本所用的实物电路板的实际电路来设计的。所以可以看到,一个是引脚位为高电平时点亮(相应位的)数码管,另一个是引脚为低电平时点亮(相应位的)数码管。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
这里是一个教师与工程师的思考。我常有通过技术提升教学效果的设想,但仅靠“想”无法深入研究,这里记了一些实践,无论粗浅或者精妙,可以让探索之路走得更久。
推荐文章
最近访客