实验目的:

初步掌握Keil(C51语言)和SUN ES59PA实验仪的操作和使用,能够输入和运行简单的程序。实验设备:

SUN ES59PA实验仪一套、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境:

1.在计算机上已安装Keil C51软件。这个软件既可以与硬件(SUN ES59PA实验仪)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。

2. 实验的硬件环境:

A3区:CPU总线、I/O接口 片选区

JP37,JP45:地址线A0..A7;

JP48、JP50:CPU的D0..D7,它只能作地址/数据总线使用,不能做I/O口使用;

JP32、JP94:CPU的P0口;

JP51、JP55:CPU的P1口;

JP59、JP95:CPU的P2,它可作I/O、地址线A8..A15使用;

JP61、JP64:CPU的P3口;

JP31:如果P0作地址/数据总线使用,请不要短接JP31;否则,请短接JP31。

片选区片选地址范围片选地址范围

CS10F000H~0FFFFHCS50B000H~0BFFFH

CS20E000H~0EFFFHCS60A000H~0AFFFH

CS30D000H~0DFFFHCS709000H~09FFFH

CS40C000H~0CFFFHCS808000H~08FFFH

F5区:发光二极管部分

发光二极管电路原理图

3.本实验硬件要求的硬件连接:A3区:JP51——F5区:JP65

注意:引脚一一对应连接,即pin1接另一个的pin1,……实验内容:

1.掌握软件的开发过程:

1)建立一个工程项目选择芯片确定选项。

2)加入C 源程序文件或汇编源程序文件。

3)用项目管理器生成各种应用文件。

4)检查并修改源文件中的错误。

5)编译连接通过后进行软件模拟仿真。

6)编译连接通过后进行硬件仿真。

2.在本实验的硬件环境下,编程:实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。实验步骤和实验结果:

A、实现内容1的实验步骤和实验结果:

1. 在E盘根目录下新建一个工程目录sy101、运行Keil并新建一个工程项目:

①执行Project→New Project...命令。

②保证工程文件保存的文件夹为“E:sy101”,输入工程名sy101。

③点击保存按钮,保存工程文件。

弹出下一对话框。

①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定

接着设置晶振频率及生成HEX 文件等选项。

①Project→②Options for Target ‘Target 1’… →③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→⑦选好后点击确定。

2.建立C源程序文件

①执行File→New命令,弹出源文件编辑窗口。

输入以下C源程序:

#include "reg51.h"

main()

{

unsigned char i,j,k;

while(1)

{

P1^=0x01;

for(i=10;i>0;i--)

for(j=100;j>0;j--)

for(k=250;k>0;k--);

}

}

源程序编写完后,执行File→Save As...命令,将文件以“sy101.c”为文件名保存在“E:sy101 ”文件夹下,获得C语言源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 前之+ 号→出现②Source Group1→③点击Source Group1并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’ →⑤在打开的Add Files to Group ‘ Source Group 1’窗口中点击add向项目中添加sy101.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击+号,弹出sy101. c文件名,点击该文件名→⑨主编辑窗口中会出现该源程序文件的内容,执行Project→Build target 构建命令就会生成一系列文件,如OBJ 文件、LST 文件、HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误,则在Output 窗口中会出现错误提示信息,可以在源程序中进行修改,然后存盘后重新构建。

5.编译连接通过后进行软件模拟仿真

Debug→Start/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。

6.编译连接通过后进行硬件仿真

保证实验仪的仿真USB口与PC机USB口连接,用8针排线连接实验仪A3区的JP51和F5区的JP65(注意引脚一一对应),给实验仪通电,设置硬件实时仿真调试选项:单击工程窗口中的Target 1,执行Project→Options for Target ‘Targetl’ ...命令,在对话框的Debug页选中“Use”单选框,在其后面的下拉式文本框中选中“SUN ES59PA”,其它采用默认选项,点击确定按钮。

执行Debug→Start/Stop Debug Session命令进入硬件实时调试窗口,执行Debug→Go命令连续运行程序,观察LED发光管DS35的显示效果为:连接到P1.0的LED发光管DS35以1秒的周期闪烁。

另外进入硬件实时调试窗口后,还可打开各种观察窗口,进行设置断点、单步运行、运行到光标处、连续执行等调试操作。

B、实现内容2的实验步骤和实验结果:

1.运行Keil并新建一个工程项目:

①执行Project→New Project...命令。

②保证工程文件保存的文件夹为“E:sy101”,输入工程名sy102。

③点击保存按钮,保存工程文件。

弹出下一对话框。

①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定

接着设置晶振频率及生成HEX 文件等选项。

①Project→②Options for Target ‘Target 1’… →③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→⑦选好后点击确定。

2.建立C源程序文件

①执行File→New命令,弹出源文件编辑窗口。

输入以下C源程序:

#include "reg51.h"

main()

{

unsigned char i,j,k;

P1=0xfe;

while(1)

{

P1^=0x03;

for(i=10;i>0;i--)

for(j=100;j>0;j--)

for(k=250;k>0;k--);

}

}

源程序编写完后,执行File→Save As...命令,将文件以“sy102.c”为文件名保存在“E:sy101 ”文件夹下,获得C语言源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 前之+ 号→出现②Source Group1→③点击Source Group1并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’ →⑤在打开的Add Files to Group ‘ Source Group 1’窗口中点击add向项目中添加sy101.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击+号,弹出sy102. c文件名,点击该文件名→⑨主编辑窗口中会出现该源程序文件的内容,执行Project→Build target 构建命令就会生成一系列文件,如OBJ 文件、LST 文件、HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误,则在Output 窗口中会出现错误提示信息,可以在源程序中进行修改,然后存盘后重新构建。

5.编译连接通过后进行软件模拟仿真

Debug→Start/St

op Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。

6.编译连接通过后进行硬件仿真

保证实验仪的仿真USB口与PC机USB口连接,用8针排线连接实验仪A3区的JP51和F5区的JP65(注意引脚一一对应),给实验仪通电,设置硬件实时仿真调试选项:单击工程窗口中的Target 1,执行Project→Options for Target ‘Targetl’ ...命令,在对话框的Debug页选中“Use”单选框,在其后面的下拉式文本框中选中“SUN ES59PA”,其它采用默认选项,点击确定按钮。

执行Debug→Start/Stop Debug Session命令进入硬件实时调试窗口,执行Debug→Go命令连续运行程序,观察LED发光管DS35的显示效果为:连接到P1.0和P1.1的LED发光管DS35以1秒的周期闪烁。

另外进入硬件实时调试窗口后,还可打开各种观察窗口,进行设置断点、单步运行、运行到光标处、连续执行等调试操作。

用keil语言定义c51,51单片机Keil C51的使用(C语言)相关推荐

  1. Keil用C语言定义函数,STC单片机Keil中C语言函数定位的方法

    STC单片机Keil中C语言函数定位的方法:STC单片机Keil中C语言函数定位的方法 下面以演示程序进行说明 演示程序中有ReadIAP.ProgramIAP和EraseIAP三个函数 最终目的是将 ...

  2. c51c语言编程的音乐程序,51单片机唱歌C51音乐程序.doc

    51单片机唱歌C51音乐程序 51单片机唱歌 C51音乐程序 unsigned char n 0; //n为节拍常数变量 unsigned char code music_tab[] 0x18, 0x ...

  3. 洗衣机控制系统c语言编程,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc...

    采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文 深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: ...

  4. 51c语言延时作用,51单片机C语言延时函数怎么定义和使用

    描述 51单片机C语言延时函数怎么定义 C语言定义延时函数主要通过无意义指令的执行来达到延时的目的.C程序中可使用不同类型的变量来进行延时设计.经实验测试,使用unsigned char类型具有比un ...

  5. c51单片机时钟c语言程序设计,基于51单片机的电子时钟设计..doc

    -- I -- - - I -- 设计题目: 基于 51 单片机的电子时钟设计 摘要 单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器.自 20 世纪 70 年代问 ...

  6. 51单片机c语言工作手册,51单片机C语言编程手册

    51单片机C语言编程手册 1 第一章 介绍 这是一本关于Intel 80C51 以及广大的51 系列单片机的书这本书介绍给读者一些 新的技术使你的8051 工程和开发过程变得简单请注意这本书的目的可不 ...

  7. 51单片机c语言版清华大学,51单片机c语言版.docx

    51单片机(呼吸灯)C语言版 基于单片机与PWM的呼吸灯设计 实训指导教师:班级: 设计人姓名:设计日期:设计地点:完成时间: 本设计是基于单片机的原理与接口设计,采用单片机I/O 口,加以C 语言编 ...

  8. 51单片机c语言复位程序,51单片机如何实现软件复位系统(C语言),谢谢

    满意答案 waterMM 推荐于 2017.09.02 采纳率:57%    等级:13 已帮助:6010人 单片机实现软件复位(软复位)的方法及讨论 单片机实现软件复位(软复位)的方法及讨论 (天堂 ...

  9. 51单片机c语言内存使用,51单片机C语言编程之内存优化

    原标题:51单片机C语言编程之内存优化 最常见的是以下两种 ① 超过变量128后必须使用compact模式编译 实际的情况是只要内存占用量不超过 256.0 就可以用 small 模式编译 ② 128 ...

最新文章

  1. 程序员弃码投中医?还做成了不错的生意! | 极客视频
  2. zoj(2110)Tempter of the Bone(DFS+奇偶剪枝)
  3. 1.1 计算机视觉-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. linux otl oracle,linux otl 连接数据库
  5. 矩阵论-线性空间的基与坐标,基变换坐标变换
  6. Unity Editor自制工具(1)--“Editor目录栏按钮+全局搜索方法+自制Editor窗口”实现搜索与删除场景中任意名称游戏物体
  7. word关闭首字母自动大写
  8. webview重新加载(reload)或者发起 redirect request导致js和objc代码之间的bridge失联解决方案(亲测有效)
  9. JSP项目实战视频教程
  10. cad刷新快捷键_47个快捷键、50个CAD技巧。
  11. MAC下配置 adb 环境变量
  12. TCP粘包原因及解决办法
  13. vue播放报警音实现过程
  14. 5款瞬间复活Win7/8/10工具
  15. 创业公司必备,20个提升团队工作效率的工具神器
  16. 快播将关闭QVOD服务器 清理低俗内容与涉盗版内容
  17. Android 获取通话记录和短信内容
  18. 钉钉小程序复选框 全选反选 表单获取内容有误处理
  19. java base是什么文件_JavaBase 面向对象
  20. “北上广深”的“收租婆”角色什么时候能够减少?

热门文章

  1. 电口、光口、网口区别
  2. 从数据仓库到数据集市
  3. vue项目添加ico(已修改)
  4. Error: Can't find Python executable python, you can set the PYTHON env variable.解决办法
  5. Excel.Application组件使用方法,适合应用于使用EXCEL组件做WEB应用开发。
  6. send message
  7. Gunicorn配置详解
  8. 遗传算法(Genetic Algorithm,GA)实现数据排序,python
  9. Tower of Hanoi (汉诺塔问题)
  10. logcat 命令行用法