人人范文网 范文大全

单片机接口技术与实验课程总结

发布时间:2020-03-02 11:18:38 来源:范文大全 收藏本文 下载本文 手机版

《单片机接口技术与实验》课程总结

姓名:史慧学号:年级:

专业:电气工程及其自动化

1226409016 2009级

2011年秋季学期

实验一

1.功能要求

本实验要求向芯片中写入 10 个字节,然后再读出显示。

2.硬件设计思路

P2引脚连接8LED灯,显示读出的数据。

3.软件程序流程

其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。 接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

3.实验体会

SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。 要注意的是,SCLK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCLK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。

实验二

1功能要求

本实验要求向芯片中写入 10 个字节,然后再读出显示。 2.硬件设计思路

P2引脚连接8LED灯,显示读出的数据,P1.0和P1.1分别作为24C02的SCL和SDA端,WP接地。

3.软件程序流程

单片机作为发送端时,当它发送完一字节的数据后,需要执行的语句是:SDA=1;SCL=1;SCL=0 ,即将SDA拉高,等待接收端发送ACK信号 ,当单片机作为接收端时,如果接收多个数据,那么,在每接收完一字节的数据后,都要执行以下语句:SDA=0,ACL=1;SCL=0,向等待ACK的2402发送ACK信号,如果只接受一个字节的数据,那么就不发送ACK,这个时候,就要把SDA置高,即执行语句:SDA=1 4.实验体会

SDA和SCL都是双向I/O线,通过上拉电阻接正电源。当总线空闲时,2根线都是高电平。连接总线器件的输出级必须是开漏或集电极开路,以具有线“与”功能。I2C总线上数据传诵的最高速率为100Kb/s,连到总线上器件数量仅受总线电容400pF的限制。送到SDA线上的每个字节必须为8位,每次传送的字节数不限,每个字节后面必须跟1个响应位。数据传送时,先传最高位。如果接收器件不能接收下一个字节(例如正在处理一个内部中断,在这个中断处理完前就不能接收I2C总线上的数据字节),可以使时钟保持低电平,迫使主器件处于等待状态。当从机准备好接收下一个数据字节释放SCL线后继续传送。

数据传送过程中,确认数据是必须的。认可位对应于主器件的一个时钟,在此时钟内发送器件释放SDA线,而接收器件必须将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。

通常被寻址的接收器件必须在收到每个字节后作出响应,若从器件正在处理一个实时事件不能接收而不对地址认可时,从器件必须使SDA保持高电平,此时主器件产生一个结束信号使传送异常结束。

实验三

1功能要求

本实验要求测量温度并将温度显示。

2硬件设计思路

P2引脚连接数码管位选端,显示读出的数据。P1作为段选输出,18B20的DQ接P3.2.

3.软件程序流程

程序1.1 总线复位

uchar Reset(void)

{

uchar tdq;

DQ=0; //主机拉低总线

delay480μs(); //等待480μs

DQ=1; //主机释放总线

delay60μs(); //等待60μs

tdq=DQ; //主机对总线采样

delay480μs(); //等待复位结束

return tdq; //返回采样值

}

1-Wire总线的写操作

由于只有一条I/O线,主机1-Wire总线的写操作只能逐位进行,连续写8次即可写入总线一个字节。如程序1.2所示,当MCS-51单片机的时钟频率为12MHz时,程序中的语句_nop_();可以产生 1μs的延时,调用此函数时需包含头文件“intrins.h”。向1-Wire总线写1bit至少需要60μs,同时还要保证两次连续的写操作有1μs 以上的间隔。若待写位wbit为0则主机拉低总线60μs然后释放,写0操作完成。若待写位wbit为1,则主机拉低总线并在1~15μs内释放,然后等待60μs,写1操作完成。

程序1.2 向总线写1bit

void Writebit(uchar wbit)

{

_nop_();

//保证两次写操作间隔1μs以上

DQ=0;

_nop_();

//保证主机拉低总线1μs以上

if(wbit)

{

//向总线写1

DQ=1;

delay60μs();

}

else

{

//向总线写0

delay60μs();

DQ=0;

}

}

1-Wire总线的读操作

与写操作类似,主机对1-Wire总线的读操作也只能逐位进行,连续读8次,即可读入主机一个字节。从1-Wire总线读取1bit同样至少需要60μs,同时也要保证两次连续的读操作间隔1μs以上。如程序 1.3所示,从总线读数据时,主机首先拉低总线1μs以上然后释放,在释放总线后的1~15μs内主机对总线的采样值即为读取到的数据。

程序1.3 从总线读1bit

uchar Readbit()

{

uchar tdq;

_nop_();

//保证两次连续写操作间隔1μs以上

DQ=0;

_nop_();

//保证拉低总线的时间不少于1μs

DQ=1;

_nop_();

tdq=DQ;

//主机对总线采样

delay60μs();

//等待读操作结束

return tdq;

//返回读取到的数据

} 4.实验体会

作为一种单主机多从机的总线系统,在一条1-Wire总线上可挂接的从器件数量几乎不受限制。为了不引起逻辑上的冲突,所有从器件的1-Wire总线接口都是漏极开路的,因此在使用时必须对总线外加上拉电阻(一般取5kΩ 左右)。主机对1-Wire总线的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后。

实验四

1功能要求

本实验要求编写程序,利用 7279 及键盘显示接口电路,编程实现按键的读取,并将按键值显示在数码管上。 2硬件设计思路

(1).HD7279A应连接共阴式数码管。 (2).应用中,无需用到的键盘和数码管可以不连接。

(3).应用中,串入DP及SA—SG连接的8只电阻为200欧。

(4).应用中, 8只下拉电阻和8只键盘连接位选线DIG0-DIG7的电阻,应遵从一定的比例关系,典型值为10倍,下拉电阻的取值 范围是10K—100K,位选电阻的取值围是1K—10K。

(5).HD7279A需要一外接的RC振荡电路以供系统工 作,其典型值分别为R=1.5KΩ,C=15pF。

3.软件程序流程

检测到有键按下时边显示键码边执行相应的功能,如译码/不译码及消隐和闪烁属性,(循环)左移/(循环)右移,段点亮和段关闭。

4实验体会

编写功能函数方便调用,注意按键之间的实时性处理。

实验五

1功能要求

本实验要求利用实验箱产生0-5V 的模拟电压。编写程序,采集该模拟电压并将转换的结果用数码管显示。。

2硬件设计思路

P2.7和RD经过或非门连接到0809的OE端,P2.7和WR经过或非门连接到0809的ALE和START端,CLK 为时钟输入信号线。因ADC0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。

3.软件程序流程

ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。

4实验体会

使用总线模式,硬件电路比较复杂,还要注中断的处理和数据的处理。分析总线和IO模式的区别。

(1). ADC0809 内部带有输出锁存器,可以与AT89S51 单片机直接相连。 (2). 初始化时,使ST 和OE 信号全为低电平。 (3). 送要转换的哪一通道的地址到A,B,C 端口上。 (4). 在ST 端给出一个至少有100ns 宽的正脉冲信号。 (5). 是否转换完毕,我们根据EOC 信号来判断。

(6). 当EOC 变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。

实验六

1功能要求

本实验要求软件编程使DAC0832 转换模块循环输出三角波。

2硬件设计思路

WR接0832的WR1和WR2,ILE接5V电源,P0-P7接到D0-D7.

3.软件程序流程

unsigned char dat; dat=0x00; while(1) { for(dat=0;dat0;dat--) { DAC0832=dat; } } 以此来实现三角波。

4实验体会

DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。数字量的值是由每一位的数字权叠加而得的。D/A转换器品种繁多,有权电阻DAC、变形权电阻DAC、T型电阻DAC、电容型DAC和权电流DAC等。为了掌握数/模转换原理,必须先了解运算放大器和电阻译码网络的工作原理和特点。

总的实验总结

接口实验很重要的就是时序问题,每一个外围器件都有其特定的工作时序,多数情况下必须严格按照时序进行程序的编写,否则就没有结果。每个器件发送和接受数据的顺序也不一样,在编程时要注意低位在前还是高位在前,硬件电路的分配也很重要,又是程序是好使的,但电路不好用,就会浪费我们很多时间。

单片机原理与接口技术教案

《单片机与接口技术》实验报告1

微机接口技术课程实验考核

微机原理与接口技术实验总结

《单片机原理与接口技术》课程设计教学大纲

微机原理与接口技术课程总结

《微机原理与接口技术》课程总结

单片机技术实验指导书

浅论单片机原理与接口技术课程设计性实验的开设论文

《单片机技术》课程教学大纲

单片机接口技术与实验课程总结
《单片机接口技术与实验课程总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档