下载点此去

实验装置及软件等

实验装置: 《STC试验箱》

实验资料 1. 《STC15系列单片机器件手册》

          2.    《STC实验箱4-原理图》
  1. 《STC实验箱4-使用说明书》

  2. 《嵌入式系统技术实验指导书》

    实验软件: 1. stc-isp-15xx-v6.86F.rar (程序下载工具)

                        2.    c51setup                                  (C51安装程序)3.  程序函数库                             ( .c 及.h文件)
    

学生自备: 1. 笔记本电脑一台,操作系统为Windows XP/Win7/Win8/Win10

实验准备:必须在参与实验之前,首先在笔记本电脑上安装c51setup和stc-isp-5xx-v6.86F软件,以供实验使用。

在实验过程中,首先必须先看懂模板程序,并在此基础上适当修改后再次实验,反复多次,以达到熟悉和掌握单片机嵌入式应用的编程技巧和方法。

软件安装

一.C51setup安装

鼠标双击 C51Settp,安装软件开始执行,弹出画面

点击 Next 下一步。

选择同意,点击Next,下一步。

   请选择安装目录,缺省安装至C盘根目录,选择好后,点击Next,下一步。在First Name和E-mail处输入你的名字和邮箱号,此处可以任意输入,不影响使用。然后点击Next,下一步。等待安装完成后,点击Finish即完成安装。安装完成后的C51开发器,最大编译程序不得超过2K容量,如果程序超过2K,请购买Keil C51正版软件。

二.stc-isp-15xx-v6.86F安装

将stc-isp-15xx-v6.86F.rar 拷贝至你需要安装的磁盘,然后解压即可,然后进入到解压好的目录,发送stc-isp-15xx-v6.86F文件快捷方式到桌面。

驱动程序安装:进入解压目录,选择USB to UART Driver子目录,再选择CH340_CH341子目录,双击ch341ser,弹出如下画面

   点击安装,即可完成驱动程序的安装。安装完成后直接关闭即可。添加STC单片机头文件及调试库双击桌面stc-isp-15xx-v6.86F快捷方式,打开文件,进入画面选择Keil仿真设置,再点击“添加型号和头文件到Keil中” ,弹出对话框

选择好keil 安装目录后,点击“确定” ,等到完成即可。

   现在可以编程实验了。具体工程建立等相关信号请参见《STC实验箱4-使用说明书》和本实验指导书即可。

新建Keil项目

首先打开 Keil 软件,并打开“Project”菜单中的“New uVersion Project …”项

在下面的对话框中输入新建的项目名称,然后保存

   首先选择项目所在目录,如果目录不存在,可以右击鼠标,新建文件夹来设置,之后,在文件名处输入项目名称,点击保存。再选择CPU系列,此处选择STC MCU Database,点击“OK” 。

将STC展开,找到所需CPU类型,这里选择STC15W4K32S4,因为我们开发板上CPU为次型号,不得选择其他。

   点击“OK” ,弹出新对话框。此次对话框提示是否需要拷贝STARTUP.A51文件到项目中,一般情况下是必须拷贝的,我们这里由于已经将其拷贝至模板程序的src目录了,这里就不需要了,点击“否” ,完成项目的建立。项目建立到此,就需要添加C源文件代码程序了。如果源文件代码不存在,需要编程,请点击菜单“File”—“New”来建立新的C源文件代码。在编辑框里编写自己的C代码程序,如图示。编程完成后,点击菜单“File”—“Save As”来保存我们编写的C代码。可以直接将C程序文件保存在项目目录中,也可与保存在其他目录中。选择好目录,输入文件名称,点击“保存” ,一个C代码文件就建好了。如此完成其他C代码文件建立。

添加已存在文件到项目中

   在左边的Project框中,鼠标右击Target 1—Source Group 1,弹出菜单选择 Add Existing Files to Group ‘Source Group 1’…在上面查找范围选择文件所在目录,不限于当前项目目录,可以是任何目录,之后在文件列表框中选择文件,再点击“Add”即添加源文件到项目中了。一次可以选择多个文件,一同添加。

编译前的设置

   前面介绍了项目的建立过程,现在要介绍一下编译前的一些设置。为了方便,我们打开一个“跑马灯”实例程序。这里我们可以看到,项目中包含几个.c C程序文件和一个STARTUP.A51启动文件。现在开始设置,选则菜单Project下Options for Target Target 1’ …,

设置Output选项,如图示。输出文件目录可以通过左上Select Folder Objects…选择。

   在设置Listing选项,如图示。此选项是将编译时将生成中间文件.lst存放在什么目录。目录可以通过左上的Select Folder for Listings…选择。

添加头文件所在目录,选择C51选项,点击Include Paths 后的…按钮

   在次可以添加头文件所在目录,可以添加多项。添加结束后点击“OK” ,完成.h头文件路径的添加。至此。我们可以编译程序了,选择菜单Project下Rebuiild all target files,开始编译程序,编译结果显示在屏幕下部的Build Output区。

如果有错误,在Build Output 会给出错误提示,请在修改错误后重新编译,直至没有错误为止。生成的.Hex文件将在之前选择的目录中,这是我们需要下载到目标板的执行文件的十六进制格式文件。

下载用户程序到目标板

   双击桌面stc-isp-15xx-v6.86F快捷方式,打开文件,进入画面

第一步 选择单片机型号,此处选择IAP15W4K58S4。

第二步 选择串口号,可以通过点击“扫描” ,查到所有端口,再选择所需端口。

第三步 点击“打开程序文件”

   通过选择文件选择.hex文件文件选择好后,点击右下的“打开” 。第四步 设置硬件选项注意,必须端子使用内部IRC时钟和22.1184MHz,其他选项如上图示。因为程序安装22.1184MHz编写,选择其他频率将导致定时器定时不准和UART通讯不能正常通讯。第五步 连接好编程USB电缆,点击左下“下载/编程” ,开始等待CPU复位,然后,轻按开发板上“SW19”主控芯片电源开关,之后进入编程,编程状态将在右下的信息区显示。如果出错,请予以纠正,直至编程成功为止。整个编程过程即告结束。

库文件简介

   为便于同学们实验,我们将一些基本的操作编写为库文件提供给大家,同学们只需要编写主程序,在主程序中加入相应函数库和头文件,即可完成实验。请参见模板程序inc目录

C库文件和H文件:

  1. Timer.c                                     Timer.h
    
  2. Display.c                                   Display.h
    
  3. KeyScan.c                                KeyScan.h
    
  4. Uart0.c                                      Uart0.h
    
  5. Adc.c                                        Adc.h
    
  6. KeyAdc.c                                  KeyAdc.h
    

H 文件介绍

  1. Timer.h
    

extern bit TimerMsFlag;

// 供主程序作毫秒定时用标志

extern WORD pdata TimerMsWait;

// 供主程序作毫秒延时用变量

void Timer0Init( void );

// 启动定时器0 毫秒中断

  1. Display.h
    

#define SIGN 0x10

          // 负号

#define SPACE 0x11

// 空

void SendDataToDispBuf( BYTE dat, BYTE idx );

// 发送数据至显示缓冲区

// dat 0x00–0x0f, 0x10, 0x11

// idx 0x00–0x07

void SetPoint( BYTE idx );

// 设置小数点显示位置

// idx 0x00–0x07

void ClearPoint( void );

// 清除小数点位置

void DsipRefresh( void );

// 显示定时刷新,主程序每毫秒调用一次

  1. KeyScan.h
    

BYTE GetKeyFromBuf( void );

// 获取键盘输入

// 有输入返回 0x00–0x0f

// 无输入返回 0xff

void KeyScan( void );

// 键盘扫描,主程序每毫秒调用一次

  1. Uart0.h
    

#define BAUD_1200 0

#define BAUD_2400 1

#define BAUD_4800 2

#define BAUD_9600 3

#define BAUD_19200 4

#define BAUD_38400 5

#define BAUD_57600 6

#define BAUD_115200 7

// 波特率宏定义

void Uart0Init( BYTE baud );

// 设置Uart0波特率为baud, 8位数据, 无校验

// 使用Timer2作波特率发生器

BYTE GetCharFormUart0Buf( void );

// 从Uart0接收缓冲区获取字符

// 有输入字符返回 0x00–0xfe

// 无输入字符返回 0xff

BYTE PutCharToUart0Buf( BYTE cc );

// 发送一个字符到Uart0发送缓冲区

// 发送成功返回 0x01

// 发送失败返回 0x00

  1. Adc.h
    

#define ADC_REF25V 2

#define ADC_NTC 3

#define ADC_KEY 4

// ADC通道号定义,与硬件有关,不得修改

void AdcInit( void );

// P1.2–P1.4作为模拟输入

BYTE AdcByteRead( BYTE ch );

// 从给定通道读取8位转换值

WORD AdcWordRead( BYTE ch );

// 从给定通道读取10位转换值

  1. KeyAdc.h
    

BYTE GetKeyFromBuf( void );

// 获取键盘输入

// 有输入返回 0x00–0x0f

// 无输入返回 0xff

void KeyAdc( void );

// 键盘扫描,主程序每毫秒调用一次

实验一 跑马灯

一、实验目的

  1.   熟悉单片机定时器的使用方法;
    
  2.   熟悉单片机IO端口使用方法;
    
  3.   熟悉单片机数码管显示的控制方法;
    
  4.   熟悉Keil C51 编程环境和在次环境下的编程方法;
    

二、实验的主要内容

1、利用已有的Timer.c 和 Display.c 程序库,编写相应主程序。

2、完成一个“跑马灯”显示功能的实验,每秒中将显示数据左移或右移一位。

三、实验设备和工具

  1.   STC实验箱一台
    
  2.   自备笔记本电脑一台
    
  3.   笔记本电脑安装Keil C51开发软件。
    
  4.   相应库函数。
    

四、实验程序

模板程序下“跑马灯”项目。

五、实验报告要求

     1. 实验结果总结。2. 自己修改程序的实验结果对比。3. 对STC15W系列定时器模式的理解。4. 对STC15W系列IO端口模式的理解。
  1. 对STC15W系列定时器中断模式的理解。

实验二 扫描键盘

一、实验目的

  1.  熟悉单片机定时器的使用方法;
    
  2.  熟悉单片机IO端口使用方法;
    
  3.  熟悉单片机数码管显示的控制方法;
    
  4.  了解键盘扫描输入方法
    
  5.  熟悉Keil C51 编程环境和在次环境下的编程方法;
    

二、实验的主要内容

1、利用已有的Timer.c 、Display.c 和KeyScan.c程序库,编写相应主程序。

2、完成一个“扫描键盘”显示功能的实验,每输入一个字符,将显示数据左移,并将新的输入放到最后一位显示。

三、实验设备和工具

  1. STC实验箱一台

  2.  自备笔记本电脑一台
    
  3.  笔记本电脑安装Keil C51开发软件。
    
  4.  相应库函数。
    

四、实验程序

模板程序下“扫描键盘”项目。

五、实验报告要求

     1. 实验结果总结。2. 自己修改程序的实验结果对比。3. 对STC15W系列定时器模式的理解。4. 对STC15W系列IO端口模式的理解。
  1. 对STC15W系列定时器中断模式的理解。

实验三 ADC转换

一、实验目的

  1.  熟悉单片机定时器的使用方法;
    
  2.  熟悉单片机IO端口使用方法;
    
  3.  熟悉单片机数码管显示的控制方法;
    
  4.  了解模拟数字转换原理与方法
    
  5.  熟悉Keil C51 编程环境和在次环境下的编程方法;
    

二、实验的主要内容

1.利用已有的Timer.c 、Display.c 和Adc.c程序库,编写相应主程序。

2.完成一个“ADC转换”显示功能的实验,并将转换结果在数码管上显示。

三、实验设备和工具

  1. STC实验箱一台

  2. 自备笔记本电脑一台

  3. 笔记本电脑安装Keil C51开发软件。

  4. 相应库函数。

四、实验程序

模板程序下“ADC转换”项目。

五、实验报告要求

     1. 实验结果总结。2. 自己修改程序的实验结果对比。
  1. 对STC15W系列ADC工作模式的理解。

实验四 ADC键盘

一、实验目的

  1. 熟悉单片机定时器的使用方法;

  2. 熟悉单片机IO端口使用方法;

  3. 熟悉单片机数码管显示的控制方法;

  4. 了解模拟数字转换原理与方法

  5. 熟悉Keil C51 编程环境和在次环境下的编程方法;

二、实验的主要内容

1.利用已有的Timer.c 、Display.c 、Adc.c和KeyAdc.c程序库,编写相应主程序。

2.完成一个“ADC键盘”显示功能的实验,每输入一个字符,将显示数据左移,并将新的输入放到最后一位显示。

三、实验设备和工具

  1. STC实验箱一台

  2. 自备笔记本电脑一台

  3. 笔记本电脑安装Keil C51开发软件。

  4. 相应库函数。

四、实验程序

模板程序下“ADC键盘”项目。

五、实验报告要求

     1. 实验结果总结。2. 自己修改程序的实验结果对比。
  1. 对STC15W系列ADC工作模式的理解。

实验五 串口通讯

一、实验目的

  1. 熟悉单片机定时器的使用方法;

  2. 熟悉单片机IO端口使用方法;

  3. 熟悉单片机数码管显示的控制方法;

  4. 了解单片机串行通讯的原理与方法

  5. 熟悉Keil C51 编程环境和在次环境下的编程方法;

二、实验的主要内容

1.利用已有的Timer.c 、Display.c 和Uart0.c程序库,编写相应主程序。

2.完成一个“串口通讯”显示功能的实验,每接收一个字符并将其返回,同时计数加1,并在数码管上显示计数。

三、实验设备和工具

  1. STC实验箱一台

  2. 自备笔记本电脑一台

  3. 笔记本电脑安装Keil C51开发软件。

  4. 相应库函数。

  5. 终端仿真程序

四、实验程序

模板程序下“串口通讯”项目。

五、实验报告要求

  1. 实验结果总结。

      2. 自己修改程序的实验结果对比。
    
  2. 对STC15W系列UART串口通讯工作模式的理解。

单片机学校实训老师上课需要的工具以及源码分享相关推荐

  1. java计算机毕业设计高校实习实训管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计高校实习实训管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计高校实习实训管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目 ...

  2. Java实训项目一一拼图游戏(附源码)

    1 实训基本信息 1.1 实训项目名称 (1)拼图游戏 1.2 实训环境 本次实训内容主要针对专业学生,实训形式以实战讲解为主导.实训课程由实训老师主讲,实训老师教学严谨又平易近人,讲解的内容非常细致 ...

  3. Java实训项目一一考试系统(附源码)

    1 实训基本信息 1.1 实训项目名称 (1)考试系统 1.2 实训环境 本次实训内容主要针对专业学生,实训形式以实战讲解为主导.实训课程由实训老师主讲,实训老师教学严谨又平易近人,讲解的内容非常细致 ...

  4. Atmel爱特梅尔AT89S52单片机开发实训装置,QY-DPJ12

    AT89S52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM)器件采用A ...

  5. 【单片机项目实训】八路抢答器

    将单片机项目实训--8路抢答器分享出来,如有不足,敬请指出. [实验图片] [实验视频] [项目实训]8路抢答器 目录 一.设计要求 二.方案选择 三.硬件电路设计 五.其他图片 六.资料链接 七.关 ...

  6. 职业学校计算机技能标语,职业学校实训车间激励类标语口号

    职业学校实训车间激励类标语口号 实训提高能力,能力创造机会. 每天进一步,踏上成功路. 勤学苦练,精益求精. 今天的努力,明天的成功. 态度决定一切,细心决定成功. 寻求效率进步,讲究方法技术. 刻苦 ...

  7. 学校计算机实训室标语,学校实训室标语

    1.培养科学态度,提高科学素质. 2.学技术,练技能,当能手,做贡献. 3.善学者尽其理,善行者究其难. 4.正确操作,细致观察. 5.大胆改革,求实创新. 6.从中国制造走向中国创造,从掌握技术走向 ...

  8. 【单片机项目实训】基于nRF905的多点温度无线采集系统

    将单片机项目实训--基于nRF905的多点温度无线采集系统分享出来,如有不足,敬请指出. [实验图片] [实验视频] 基于nRF905的多点温度无线采集系统设计 目录 目录 一.设计要求 二.方案设计 ...

  9. 计算机网络应用教学反思,《计算机网络实训之常用的网络工具》教学反思

    <<计算机网络实训之常用的网络工具>教学反思>由会员分享,可在线阅读,更多相关<<计算机网络实训之常用的网络工具>教学反思(3页珍藏版)>请在人人文库网 ...

最新文章

  1. java stream 转 file_java 中 byte[]、File、InputStream 互相转换
  2. JAVA基础8-封装(2)
  3. [C#]WinFrom中的DataGrid单击选择行
  4. Mac安装prometheus node_exporter
  5. ReferenceError: XXX is not defined 错误及解决办法
  6. 一分钟了解阿里云产品:企业级分布式应用服务EDAS五大热点技术问题分析
  7. Golang中unsafe.Sizeof()的问题
  8. 在ChemDraw中一键隐藏所有氢原子的方法
  9. [视频]MAC中如何单独放大文本字体
  10. RESTful登录设计(基于Spring及Redis的Token鉴权)
  11. 【Python】实例3:天天向上的力量与微实例:星期转换、恺撒密码
  12. 怎样在线完成视频转gif制作?一招视频转gif在线制作
  13. Spring Value注解的使用
  14. 计算机系统概论基本知识
  15. 京东/淘宝的手机销售榜(前4名 -- 手机品牌 --手机型号*3 --手机分辨率 -- 手机操作系统 --安卓版本号)
  16. 在EXCEL中的第二列如何排出第一列的名次
  17. FPGA——SPI总线控制flash(1)(含代码)
  18. 基本数据类型和内置方法 08
  19. Word文档一行分别左右对齐
  20. 2020年8月编程语言排行榜出炉:C语言位居第一,Java、Python位居二三

热门文章

  1. 清除实例或静态事件的所有事件侦听器
  2. Facebook 开源 M2M-100,不依赖英语互译百种语言
  3. 面向初学者的带MVC API的Angular Js Table CRUD MSSQL
  4. 在python中使用什么函数进行输出_Python中使用pprint函数进行格式化输出的教程
  5. model 创建帖子的方法
  6. zookeeper和eureka的对比
  7. vscode有时候不能注释_给大伙儿盘几个提效/创意的 vscode 插件
  8. 数据库某个字段增加或减少数量
  9. three相机在模型上_实例讲解Three.js加载外部模型
  10. linux查看nec进程状态,【linux】 /proc/PID/stat