C51 + LCD1602 + Keil + Proteus 初学记
C51 + LCD1602 + Keil + Proteus 初学记笔者职业是PC x86/x64 coder,一直对电子感兴趣,可对电子知识了解贫乏,想来单片机也是写代码,上手容易些。
C51 - 51单片机,最早由Intel研发,8位单片机
LCD1602 - 16x2行(32个字符)的字符型液晶
Keil - 集成开发环境,对单片机的源码进行编辑,编译,和管理
Proteus - 仿真软件,用电脑模拟搭建电路,模拟运行状态及结果
笔者所用版本是keil3中文版,原因是它的安装包只有12MB大小,Proteus 7.8 sp2 + 汉化补丁,安装包只有89MB大小,还是母语看着舒服。
安装过程略。
推荐使用everything,一款1MB左右的查找软件。
安装好Proteus + Keil后,打开everything,输入lcd1602:
找到 LCD1602.DSN,注意选8051 with LCD1602 LCD controller目录里的,最好把这个目录拷贝到其他地方做备份,双击打开LCD1602.DSN,
注意左下角的开始停止等按钮,
按开始按钮就开始仿真了,可以看到LCD里输出的显示:
按停止按钮,双击图中AT89C51那个芯片,出现配置窗口:
注意笔者选定状态的Program File: Debug\Debug.ubf,这里就是给单片机里加载的程序,这里可以加载hex文件。这就是仿真的过程。
下面演示如何用Keil来编程,也就是写源码并生成hex文件,然后就可以用Proteus来仿真自己编译的程序了。
在Keil里新建一个工程,注意单片机要选AT89C51;
上上述8051 with LCD1602 LCD controller目录里有个LCD1602.C,去掉只读属性,拷贝到Keil的工程里。
然后做下图修改:
生成的时候要勾选生成Hex文件。
附上修改后LCD1602.C与原始LCD1602.C,用文件比较工具可以看到区别,推荐winmerge 2.14
PS:求赠送ZT-X,或者ZT-X的优惠券也行啊~~~~~~~~~~~~~~~~
感谢楼主分享教程!我去下一份软件,试着跟着走一趟:lol 本帖最后由 rivrz 于 2018-6-9 19:25 编辑
我这是不是弄得不太对?下载楼主的附件,按文中的步骤,最后生成了hex文件,加载到proteus后,点运行,为什么虚拟的LCD里不显示文字信息呢。:'(
rivrz 发表于 2018-6-9 19:04
我这是不是不太对?下载楼主的附件,按文中的步骤,最后生成的hex文件加载后,点运行,为什么虚拟的LCD ...
这个版本win7以下,才可以运行,你不是用了win10,运行这些旧版本,很难用的。 光速飞行 发表于 2018-6-9 19:27
这个版本win7以下,才可以运行,你不是用了win10,运行这些旧版本,很难用的。 ...
系统确实是win10,不过keil 和 proteus也都用的最新版, proteus用自己生成的Debug.ubf可以运行,但用keil生成的.hex文件虽然可以加载但运行屏幕没信息,应该说明是 keil生成的hex文件不行对吧? rivrz 发表于 2018-6-9 19:34
系统确实是win10,不过keil 和 proteus也都用的最新版, proteus用自己生成的Debug.ubf可以运行,但用kei ...
keil生成的hex,是很好的,主要是proteus。 我也是用的keil3中文版,挺好用。 远远的观望,高大上 光速飞行 发表于 2018-6-9 19:37
keil生成的hex,是很好的,主要是proteus。
刚刚我把所有生成的文件都删除,重建了个工程,重新换了个目录,完整弄了一遍,竟然成功运行了,好奇怪,不知道开始哪不对
rivrz 发表于 2018-6-9 21:13
刚刚我把所有生成的文件都删除,重建了个工程,重新换了个目录,完整弄了一遍,竟然成功运行了,好奇怪 ...
这有什么什奇怪,系统本身我们都不太了解。
页:
[1]
2