传感器与控制实验(实验一)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1 预习 4.2 简单程序录入和调试 4.3 程序调试 4.4 编写程序,完成功能
4.1 预习
参考辅助材料,学习8031汇编语言以及实 验原理。
阅读七段数码显示器的电路图,重点理解 右边的LED显示部分。
4.1 七段数码显示器
4.2 简单程序录入和调试
MCS51单片机汇编语言的基本格式比较简单,程序中可以使 用通用寄存器或者内存单元进行计算。另外,单片机的程序 没有退出到操作系统的概念,一般都是死循环程序。
实验题目、自学知识点和完成时间
本实验共计12周,1-2次实验设一个时间点,超时不能完成将按 未做完对待,如果能够提前完成,可以直接进入下一个实验。
题目
自学知识点
完成时间
一 基础实验(数码管显示) MCS-51体系结构
二 步进电机原理及应用
汇编语言
三 直流电机脉宽调制调速
共四周
四 重量测量 五 超声波测距
P4 EQU 0C0H MOV P4.4, C SETB P4.4
五、实验原理
74HC164是高速CMOS 器件。74HC164是8位边沿触发 式移位寄存器,串行输入数据,然后并行输出。数据 通过两个输入端(A或B)之一串行输入;任一输入端 可以用作高电平使能端,控制另一输入端的数据输入。 两个输入端或者连接在一起,或者把不用的输入端接 高电平,一定不要悬空。
二、实验器材
单片机测控实验系统 STC-ISP程序下载工具 Keil开发环境
三、实验内容
使用MCS-51汇编语言编写程序,完成 以下功能:
1. 使用三个数码管显示十进制数值 2. 每隔0.1秒,该数值自动增一,到999后
归零继续 3. 当开关S1按下时,暂停计数;S1松开时,
恢复计数
四、实验步骤
2.说明MOVC指令的使用方法。 3. MCS51的指令时序是什么样的,哪类指令
的执行时间较长? 4.在本实验环境下,能否控制显示数码的亮度?
如何实现?
4.4 编写程序,完成功能
4.4.1 显示
本开发平台有3个数码管,使用串行方式连接在一起,具 体电路参见实验原理。要想输出一个字形码,就需要从高 位到低位依次向移位寄存器输出8个比特。移位寄存器的 数据线和时钟线分别接到单片机的P4.5和P4.4管脚,可以 使用MCS-51里面的位操作指令进行输出。连续输出3个字 形,24个bit之后,欲显示的字形将稳定地显示在数码管上 ,程序可以转而执行其他工作。
C51语言
共两周
六 光照度测量 七 温度测量与控制
I2C总线
共三周
八 液晶显示屏 九 LED点阵显示屏
共三周
实验一 基础实验(数码管显示)
一、实验目的和要求 二、实验器材 三、实验内容 四、实验步骤 五、实验原理 六、思考题
一、实验目的和要求
初步学习和掌握MCS-51的体系结构和汇编 语言,了解Keil编程环境和程序下载工具的 使用方法。了解数码管输出的原理及编程 方式。
传感器与控制实验
主讲教师:郭东伟
Fra Baidu bibliotek
课程概述
本实验为物联网工程专业高年级的综合性 实验,主要学习单片机的使用以及一些典 型外部设备的控制方法和测控过程。本实 验使用的单片机是MCS-51系列的改进型号, 该系列单片机目前仍然是控制领域的主流 芯片。
相关课程
本实验内容覆盖面较多,没有具体的前导 课程,包括微机原理,计算机接口等技术 都是必须的准备知识。特别是MCS-51系列 CPU的体系结构和汇编语言,学生需要通过 自学掌握。另外一些典型传感器和外部设 备的原理和控制方法,也要通过预习各种 资料自行理解。
4.4 编写程序,完成功能
4.4.3 开关
在本实验板上设置了两个开关S1和S2,分布接入 到8031的P3.6和P3.7,开关按下时,输入0,松开 时,输入1。利用这个开关完成实验要求3。
五、实验原理
本实验采用3个74HC164级联控制三个数 码管的显示,具体实验原理如下图所示。 其中使用单片机P4.5作为模拟串口数据, 使用P4.4模拟串口时钟,CLR端接高电平。 使用上一个74HC164的Q7作为下一个 74HC164的输入端。
七段字形的编码方式需要通过实验获得。这些编码作为程 序中的常数,使用DB命令存放。在程序中,需要将数值转 换为相应的字形编码,可以使用MOVC指令来完成。
4.4 编写程序,完成功能
4.4.2 时间
本实验要求的按时间显示数值,直接通过软件延时来实现 ,也就是若干次空循环来完成,不需要使用单片机内部的 定时器等硬件资源。由于在后面的实验中也要使用软件的 延时子程序,因此这里预先做准备。
本单片机使用12MHz主频的晶振,结合MCS51的体系结构 和指令时序,可以计算每条指令的运行时间,也可以通过 Keil环境的调试功能来检查程序片段的执行时间。当然, 最后可以通过程序执行的总体运行结果来调整时间。希望 同学能够通过这个过程,得出一段能够精确到1ms的子程 序,重复调用100次,从而达到定时0.1s的效果。从而完成 实验要求2。
L2:MOV R7, #0FFH L1:DJNZ R7, L1
DJNZ R2, L2 ;延迟一段时间 LJMP NEXT END
参考Keil使用指南,创建工程,设置工程参数,添加ASM 文件,并录入上面的简单程序。确保无编译和链接错误。
4.3 程序调试
使用Keil环境可以进行仿真调试。进入“调 试”菜单,开始调试,可以单步运行,或 者先设置断点然后连续运行;可以在调试 过程中观察各个寄存器的值。还可以在sys 区域观察到当前程序执行的时间。
一个简单程序举例如下:
ORG 0000H ;复位起始地址 LJMP START ;中间地址保留给中断向量表
ORG 0040H ;程序实际起始地址 START: ; 实际程序
MOV 40H, #0H
4.2 简单程序录入和调试
NEXT: MOV A, 40H INC A MOV P0, A ;板上的P0口连接到8个LED,可以监视运行状态 MOV 40H, A MOV R6, #0FFH
时钟 (CLK) 每次由低变高时,数据右移一位,输入到 Q0,Q0 是两个数据输入端(A和B)的逻辑与,它将 上升时钟沿之前保持一个建立时间的长度。
主复位(CLR)输入端上的一个低电平将使其它所有输入 端都无效,同时非同步地清除寄存器,强制所有的输 出为低电平。
六、思考题
1. MCS51中有哪些可存取的单元,存取方式 如何?它们之间的区别和联系有哪些?
相关文档
最新文档