环境搭建

Keil 安装

  1. 准备 Keil C51 的安装源文件,双击安装源文件,弹出安装的欢迎界面
    图1-1 Keil安装欢迎界面
  2. 单机 Next 按钮,弹出 License Agreement 对话框,这里显示的是安装许可协议,需要在 "I agree to all the terms of the preceding License Agreement" 前打勾
    图1-2 “License Agreement”对话框
  3. 单击 Next 按钮,弹出 Foder Selection 对话框,这里可以设置安装路径,默认在 C 盘。单击 Browse 按钮,可以修改安装路径,建议路径全英文
    图1-3 “Folder Selection”对话框
  4. 点击 Next 按钮,弹出 Customer Information 对话框,输入用户信息
    图1-4 用户信息
  5. 单击 Next 按钮,就会自动安装软件
    图1-5 安装过程
  6. 安装完成后弹出安装完成的对话框,并且出现几个选项,首次安装时可以全部不勾选
    图1-6 安装完成
  7. 单击 Finish 按钮,Keil 编程软件开发环境安装完成

Keil 界面介绍

首界面

图1-7 工程文件

字体修改界面

图1-8 字体设置(一)
图1-9 字体设置(二)

Keil新建工程

打开Keil软件
打开Keil软件
单击Project->New uVision Project,然后会出现一个新建工程的界面
图2-8 新建一个工程
选择工程路径,并给工程命名,然后保存
图2-9 保存工程
选择单片机型号
图2-10 单片机型号选择
图2-10 单片机型号选择二
单片机型号选择完毕后点击OK,选择是否需要启动代码,新手建议选择是
图2-11 启动代码选择
工程就建好了,其中STARTUP.A51为启动代码
图2-12 工程文件
工程建好了之后就需要建立文件来写代码了
单击 File->New,新建一个文件
图2-13 新建文件
单击File->Save或直接单击Save按钮,可以保存文件,保存时文件命名为xx.c
这个地方必须要加上.c扩展名,如果是汇编语言写的,这个地方的扩展名是.asm,头文件就是.h
图2-14 保存文件
文件建立好之后就可以编写代码了

Keil编译

单击Project->Option for Target 'Target1'...
工程选项
或者单击如下图标
图2-17 工程选项图标
弹出如下对话框
属性页
单击 Output 选项,选中其中的 Create HEX File 复选框,然后单击 OK 按钮
图2-18 创建HEX文件
设置好以后,单击 Project -> rebuild all target files
编译程序
或者点击如下图标
图2-19 编译程序
这样子就可以对程序进行编译了
编译完成后,在 Keil 下方的 Output 窗口会出现相应的提示
图2-20 编译输出信息
这个窗口告诉我们编译完成后的情况
其中 data = 9.0 指的是程序使用了单片机内部的256 字节 RAM 资源中的 9 个字节,code = 29 的意思是使用了 8k 代码 Flash 资源中的 29 个字节
当提示“0 Error(s),0 Warning(s)”表示程序没有错误和警告,就会出现“Creating hex file from "LED"...”,意思是从当前工程生成了一个 HEX 文件,要下载到单片机上的就是这个 HEX 文件。
到此程序就编译完毕。

程序下载

首先连接号硬件,把板子插到计算机上,打开设备管理器查看所使用的是哪个 COM 口
图2-21 查看 COM 口
然后打开 STC 系列单片机的下载软件——STC-ISP
STC-ISP 启动界面

  1. 选择单片机型号,现在用的单片机型号是 STC89C52RC
  2. 单击“打开程序文件”,找到 .HEX 文件,单击打开
  3. 选择对应的 COM 口,波特率使用默认的就可以
  4. 其他选项均为默认
    图2-22 程序下载设置
  5. 因为 STC 单片机要冷启动下载,就是先点下载,然后再给单片机上电,所以先关闭板子上的电源开关,然后单击 Download 按钮,等待软件提示请上电后,再按下板子的电源开关,就可以将程序下载到单片机里面了
    图2-23 程序下载过程
    当软件显示“已加密”就表示程序下载成功了
    图2-24程序下载完毕

Keil调试

选择 Keil 菜单项的 Project-> Options for Target 'Target1'...进入属性页
属性页

找到里边的Xtal(MHZ)这个位置
图4-3 工程选项--时钟频率设置
这是填写进行模拟时间的晶振选项,使用的板子的晶振是11.0592MHz,所以这个地方要填上11.0592

然后找到Debug这个选项卡,选择左侧的Use Simulator ,然后点击OK按钮就可以了
图4-4 工程选项--仿真设置
选择菜单项Debug->Start/Stop Debug Session ,或者单击快捷按钮
图4-5 启动 结束调试按钮
就会进入到一个新的界面
图4-6 工程调试界面
最左侧那一栏显示单片机一些寄存器的当前值和系统信息,最上边的那一栏是Keil将C语言转换成汇编的代码,下边就是写C语言的程序,调试界面包含很多子窗口,都可以通过View中的选项打开和关闭,窗口位置可以直接拖放来改变
图4-7 调整窗口位置
图4-8 窗口位置调整效果
在C语言的源代码和反汇编窗口内部都有一个黄色的箭头,这个箭头所代表的就是程序当前运行的位置,因为反汇编内的代码就由源文件编译生成的,所以它们指示的是相同的实际位置。在这个调试界面里,可以看到程序运行的过程。

在左上角的工具栏有这样三个按钮:
第一个标注RST字样的是复位,单击一下后,程序就会跑到最开始的位置运行;
右侧紧挨着的按钮是全速运行,单击一下之后,程序就会全速跑起来;
右边打叉的是停止按钮,当程序全速运行起来,可以通过单击第三个图标来让程序停止,观察程序运行到了哪里。
单击一下复位,就会发现C语言程序左侧有灰色或者绿色,有的地方还保持了原来的白色,可以在全灰色的位置双击设置断点。
有的位置可以设置断点,有道地方不可以设置断点,是因为 Keil 软件本身具备程序优化功能,如果想要在所有的代码位置都能设置断点,可以在工程选项里面把优化等级设置为0,就是告诉 Keil 不要进行优化。
图4-9 工程优化等级
在最左侧的register那个框内,有一个sec选项,这个选项显示的就是单片机运行了多少时间。单击一下复位按钮,会发现这个sec变成了0
图 复位后的单片机的运行时间
运行到第一个断点处,时间变成了0.00042752秒
图 运至第一个断点处的时间
该处的优化等级是默认等级,即8,若是其他等级,时间会不一样,因为优化等级会直接影响程序的执行效率
再单击一下全速运行后,运行至第二个断点,会发现sec变成了0.16342556秒
图 运行至第二个断点处的时间
减去第一个断点的时间,即是两个断点间程序的运行时间,也就是for循环的运行时间,即延时时间。此处延时时间是0.16299804秒,也就是差不多163毫秒
实际上,进入debug模式后,除了可以看程序运行的时间外,还可以观察各个寄存器、各个变量的数值变化情况。单击View菜单内的Watch Windows->Watch 1,可以打开变量的观察窗口
图4-11 变量观察窗口
在这个窗口内,可以通过双击或者按F2键,然后输入想要观察的变量或者寄存器的名字,后边就会显示出它的数值,这个功能在调试程序中经常会用到。

取摸软件

取模软件的使用

打开取模软件
图7-3 字模提取软件界面
单击“新建图像”后,根据开发板上的点阵,设置宽度和高度为8后,单击“确定”
图7-4 新建图像
单击左侧的“模拟动画”命令,再单击“放大格点”选项,一直放大到最大,就可以在8 * 8的点阵图形中用鼠标填充黑点画图形了
图 格点放大到最大
画出一个心形图形
图7-5 字模提取软件画图
填满该图,最终出现效果图
图7-6 心形图形
由于字模提取软件是把黑色的取为1,白色的取为0,但是点阵中,1为LED熄灭,0为LED点亮,我们需要的是黑色部分点亮,所以需要选择“修改图像”菜单中的“黑白反显图像”选项
反显后的效果图
单击“基本操作”菜单中的“保存图像”命令,就可以保存图像,下次可以再次使用或者编辑
图7-7 保存图像
当然也是可以不保存的,单击“参数设置”菜单中的“其他选项”命令
图7-8 其他选项
由于P0口控制的是一行,所以选择“横向取模”选线,如果控制的是一列,就选择“纵向取模”。
选中“字节倒序”选项,是因为左边是地位DB0,右边是高位DB7,所以是字节倒序。
选择完毕之后,单击“确定”
选择“取模方式”命令,单击“C51格式”后,在“点阵生成区”自动产生了8个字节的数据,这8个字节的数据就是取出来的“模”
图7-9 取模结果

取模软件的原理

图7-9 取模结果
在上图中,黑色的一个格子表示一位二进制1,白色一个格子表示一个二进制的0。
第一个字节0xFF,其实就是这个8 * 8 图形的第一行,全黑就是0xFF,第二个字节是0x99,低位在左边,高位在右边,黑色的表示1,白色的表示0,就组成了0x99这个数值。

posted @ 2025-07-20 21:12  EricsT  阅读(328)  评论(0)    收藏  举报