现场总线实验报告
- 格式:doc
- 大小:1.85 MB
- 文档页数:13
现场总线技术实验报告
学校:成都理工大学
学院:核技术与自动化工程学院专业:电气工程及其自动化
姓名:
班级:
学号:
指导老师:黄洪全
实验一Keil C51 开发环境学习一.实验目的
1、Keil C51集成开发环境学习
2、掌握Keil C51环境的代码编辑、调试;
3、掌握软件下载方法;
二.实验设备
(1)Keil C51软件;
(2)DP-51 下载仿真实验仪;
三.实验内容及方法
1.上机熟悉Keil C51 编程语言,熟悉μVision2的开发环境。
2.进入仿真程序调试软件,熟悉调试程序的环境、操作方法。
3.输入下面所给程序,并按要求调试、运行和观察记录结果。
四.实验程序和步骤
1、实验步骤:
一般按照下面的步骤来创建一个Keil C51应用程序。
①新建一个工程项目文件;
②为工程选择目标器件(例如选择PHILIPS的P87C52X2);
③为工程项目设置软硬件调试环境;
④创建源程序文件并输入程序代码;
⑤保存创建的源程序项目文件;
⑥把源程序文件添加到项目中。
2、实验程序:hello.c
#include
#include
void main(void)
{
unsigned int count_k; //定义变量
unsigned char a[5]={0x00,0x0d,0x12,0x05,0x01}; //定义数组a[5]并赋初始值
unsigned char b[5]={0x15,0x15,0x15,0x15,0x15}; //定义数组b[5]并赋初始值
while(1)
{
for(count_k=0;count_k<40;count_k++)
display(a); //显示dp51
for(count_k=0;count_k<20;count_k++)
display(b); //关闭显示
}
}
五.实验要求
1.DP51 开发板硬件结构(图)
2. DP51实验板主要功能模块。
电源电路,系统复位电路,时钟电路,JTAG接口电路,串口电路,键盘电路,LED灯电路,SPI接口电路,ADC电路和10USB电路等
实验二A/D 和 D/A转换实验
一.实验目的
1. 掌握对模拟信号的采集和进行相应的模拟量输出控制;
2. 了解信号测量的一些相关的知识;
二 ADC DAC 转换器实验板简介
实验板主要用来对模数转换ADC 和数模转换DAC 进行实验。
使用的主要器件
ADC0809 8 路8 位并行接口逐次逼近ADC 芯片
DAC0832 8 位并行接口DAC 芯片TLC549 1 路8 位串行接口ADC 芯片
TL431 三端可调分流基准源GAL16V8 可编程序逻辑芯片
LM324 通用运算放大器
三.实验内容
1.实验板上提供模拟电压信号,利用A/D模块将模拟量转换成数字量,并送数码管显示;2.将数字量100、200分别用D/A转换模块转换成数字量,用万用表量出实际的输出电压值;四.实验步骤方法:
1.ADC实验
(1)将扁平电缆两端,一边接DP-51+,一边接ADC-DAC实验板;
(2)连接232电缆到计算机,DP-51+上电,ADC-DAC实验板接开关电源,上电;
(3)将ADC模块的IN0、IN1通道的模拟电压转换为数字量,调节电位器W1和
W2改变输入的电压,并可用万用表测量TP1、TP2两点得到改变的实际电压值;
(4)编程调试;
2、DAC实验
(1)将J2-1 跳线短接,使DAC 电路变为单极性,DAC 输出0~ 5V ,测量点J6 的OUT1可得到实际的电压值。
(2)DAC 输出电压计算Uo=Vref D/256 (D 为DAC 的数据);
(3)编程实现1V、2V、4V输出电压;(4)编程调试;
五.实验要求
1. ADC-DAC电路原理及PCB 布局
2.ADC DAC 实验板上实现正弦波的DAC 数据求取程序
实验三CAN节点通讯实验
一.实验目的
1.掌握SJA1000 CAN控制器的功能,学会SJA1000的初始化。
2.CAN节点数据帧的发送、接收;
3.CAN节点的组网;
二、实验内容
编制并调试C程序实现下列功能:
1.完成节点的初始化;
2.发送数据;
3.显示发送帧数据;
三、实验方法和步骤
1. 将两个DP-51+仿真实验仪用CAN总线相连,因两个节点距离很近,可不接终端电阻。
2. 编制并输入C51程序,编译、下载;
3.使用单步运行程序的方法调试程序;
四、相关程序
(1)SJA1000初始化程序
SJA1000_Config_Normal()
{
BTR0=0x09;
BTR1=0x1c; //设置为1M波特率通信SJAEntryResetMode(); //进入复位模式
WriteSJAReg(REG_CAN_CDR,0xc8); //配置时钟分频寄存器,选择PeliCAN模式WriteSJAReg(REG_CAN_MOD,0x01); //配置模式寄存器,选择双滤波、正常模式WriteSJARegBlock(16,Send_CAN_Filter,8); //配置验收代码/屏蔽寄存器WriteSJAReg(REG_CAN_BTR0,BTR0); //配置总线定时器0
WriteSJAReg(REG_CAN_BTR1,BTR1); //配置总线定时器1 WriteSJAReg(REG_CAN_OCR,0x1a); //配置输出管脚SJAQuitResetMode(); //退出复位模式,进入工作模式