《单片机PLC实验报告》由会员分享,可在线阅读,更多相关《单片机PLC实验报告(20页珍藏版)》请在金锄头文库上搜索。
1、实验一、单片机输入输出实验一、 实验目的:熟悉C8051F系列单片机的C语言编程,熟悉C8051F系列单片机的定时器使用方法,学习使用C8051F系列单片机数字量输入/输出。二、 实验原理:1.对于8位LED输出实验将C8051F020 的P4 口连接到8 盏LED 灯,通过定时器3计数溢出的方式产生中断,实现8 盏灯依次循环点亮。2.对于8路拨档开关输入,只需要使P5端口的输入传给P4端口,从而驱动对应LED小灯点亮。三、实验步骤:1. 8位LED输出准备工作:用短接线将实验箱上的P4.0P4.7与LD1LD8接线端子短接。利用定时器3作定时(系统主频2MHz,定时间隔要求0.3秒),用C8
2、051F020的P4口作输出控制发光二极管LD1LD8。让发光二极管LD1LD8依次点亮(同一时刻只有一个发光二极管发光)。其中LD1最先点亮,LD8最后点亮;当LD8点亮后,LD1再点亮,然后重复。28路拨档开关输入准备工作:闭合开关K11。A. 编写程序,读入开关K1K8的状态。B. 编写程序,读入开关K1K8的状态,取反后通过发光二极管LD1LD8输出。四、 实验流程:开始1.8位LED输出关看门狗初始化IO口初始化定时器3依次点亮LED是否定时到 N Y28路拨档开关输入开始关看门狗初始化IO口开关输入给P5P5端口值-P4端口值LED输出五、实验程序:1. 8位LED输出/-/程序说
3、明:/ 此程序用于测试教学实验机上的8个发光二极管,正常情况下应轮流点亮.定时时间为0.3s/-/ 头文件包含/-#include /-/ 16位特殊寄存器定义/-sfr16 TMR3RL = 0x92; sfr16 TMR3 = 0x94; /-/ 常量定义/-#define SYSCLK 2000000 /系统工作频率/-/全局变量定义/- unsigned char i=0xfe;/-/ 函数定义/-void PORT_Init (void);void Timer3_Init (int counts);void Timer3_ISR (void);/-/ 主程序/-void main (
4、void) WDTCN = 0xde; WDTCN = 0xad; /禁止看门狗定时器 PORT_Init (); Timer3_Init(0xc350 ); /定时时间为0.3s REF0CN=0x02; EA = 1; while (1) /-/函数名称: PORT_Init ()/函数功能: 通用I/O口及交叉开关初始化/入口参数: 无/出口参数: 无/全局变量引用: 无/调用模块: 无/-void PORT_Init (void) XBR2 = 0x40;/*使能交叉开关*/ P74OUT |= 0x000; /*推挽输出*/-/函数名称: Timer3_Init ()/函数功能: 定
5、时器3初始化/入口参数: int counts/出口参数: 无/全局变量引用: 无/调用模块: 无/-void Timer3_Init (int counts) TMR3CN = 0x00; /用十二分频 TMR3RL = -counts; TMR3 = 0xffff; EIE2 |= 0x01; TMR3CN |= 0x04; /-/函数名称: Timer3_ISR ()/函数功能: 定时器3中断服务程序/入口参数: 无/出口参数: 无/全局变量引用: 无/调用模块: 无/-void Timer3_ISR (void) interrupt 14 int j; TMR3CN &= (0x80)
6、;/*清中断标志*/ P4=i;/*送数据到P4*/ i=1; i = i | 0x01; if(i=0xff) i=0xfe;28路拨档开关输入/-/程序说明:/ 开关输入,小灯输出/-/ 头文件包含/-#include /-/ 主程序/-void main (void) WDTCN = 0xde; WDTCN = 0xad; /禁止看门狗定时器 XBR2 = 0x40;/*使能交叉开关*/ P74OUT |= 0x000; /*推挽输出*/P4=P5;/*送数据到P4*/五、 作业:1 试分析8位LED输出电路图的原理。答:8位LED输出电路图如下,当测试铜头为低电平时,LED能够发光,当
7、测试铜头为高电平或浮空状态时,LED不亮。2 试分析8路拨档开关输入电路图的原理。答:8路拨档开关输入电路图如下,K11是总的开关,当K1-K8任意一个开关接通时,对应的P5上的端口被置0,同时弱上拉端口产生一个中断,即INT0=0.实验二、单片机控制步进电机实验一、 实验目的:了解步进电机工作原理,掌握使用C8051F020 控制步进电机的硬件设计方法,熟悉步进电机驱动程序的设计与调试。二、 实验原理:1.步进电机的工作原理:以三相反应式步进电机为例:它的定子上有三对磁极,每一对磁极上绕着一相绕组,绕组通电时,这两个磁极的极性相反;三相绕组接成星形,转子铁心及定子极靴上有小齿,定转子齿距通常相等。转子铁心上没有绕组,转子的齿数为40,相邻两个齿之间夹角为9。当某一相绕组通电时,由于定转子上有齿和槽,所以当转子齿的相对位置不同时,在磁场的作用下,转子将转动一个角度,使转子和定子的齿相互对齐,这就是使步进电机旋转的原因。步进