16路入16出可编程场效应管可编程说明书.docx
- 文档编号:4453546
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:1.47MB
16路入16出可编程场效应管可编程说明书.docx
《16路入16出可编程场效应管可编程说明书.docx》由会员分享,可在线阅读,更多相关《16路入16出可编程场效应管可编程说明书.docx(21页珍藏版)》请在冰豆网上搜索。
16路入16出可编程场效应管可编程说明书
八入八出场效应管工控开发板说明书
第一部分:
八入八出场效应管工控开发板功能介绍
1.八入八出场效应管工控开发板简介
2.硬件连接使用说明
3.STC12C5A60S2单片机简介
4.N沟道Irf1205场效应管简介
第二部分:
板子编程入门教学
1.KeiluVision4
2.用keil软件建一个简单工程
3.开发板下载程序方法
第三部分:
板子各种软件应用实例
一、基础类
1.控制某一路延时通断实例
2.随机输出控制使用实例
3.八路输出流水灯实例
4.一对一输入输出互锁控制实例
5.一对一输入输出自锁控制实例
6.一对一输入输出点动控制实例
7.电脑采集输入控制输出实例
二、提高类
1.掉电记忆应用实例
2.加密设定次数应用实例
附录:
1、硬件原理图
第一部分:
八入八出场效应管工控开发板功能介绍
1.八入八出场效应管工控开发板简介
●尺寸:
115mmX77mmX25MM
●供电:
板子供电直流6到40V
●八路数字量输入光耦(PC817)隔离
●八路场效应管输出带光耦(PC817)隔离
●拓展口八个io
●输入输出带指示
●晶振11.0592Mhz
●场效应管(IRF1205)输出可控制55V44A负载
功能:
八个输入可以接八个NPN型传感器,或者控制设备的限位开关、启动、停止开关等等,可以实现任意控制设备的编程(仿西门子s7-200开关管型),可以控制直流12V到55V,107w负载
2.硬件连接标注说明
●
整版标注:
●485连接
注:
RS485建议采用双绞线连接,采用带屏蔽的双绞线连接,并将屏蔽层接地,总线上挂多个模块时,采用手拉手不的连接方式。
●采集外部干接点开关量信号的接法
●
输出控制负载连接
3.STC12C5A60S2系列1T单片机简介
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
⏹增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051
⏹工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:
3.6V-2.2V(3V单片机)
⏹工作频率范围:
0-35MHz,相当于普通8051的0~420MHz
⏹用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节......
⏹片上集成1280字节RAM
⏹通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA
⏹ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
⏹有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9.看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)
⏹外部掉电检测电路:
在P4.6口有一个低压门槛比较器5V单片机为1.32V,误差为+/-5%,
3.3V单片机为1.30V,误差为+/-3%
⏹12.时钟源:
外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟
常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~15.5MHz
3.3V单片机为:
8MHz~12MHz
精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准
⏹13.共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器
做串行通讯的波特率发生器
再加上2路PCA模块可再实现2个16位定时器
⏹2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟
⏹外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3)
⏹PWM(2路)/PCA(可编程计数器阵列,2路)---也可用来当2路D/A使用---也可用来再实现2个定时器---也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)
⏹A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口
⏹STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)
⏹工作温度范围:
-40-+85℃(工业级)/0-75℃(商业级)
⏹封装:
LQFP-48I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
第二部分板子编程入门教学
1.KeiluVision4简介:
使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。
KEILuVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。
因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。
KEILuVision4比起uVision3或是uVision2界面感觉舒服一些,增加了一些功能暂且不去研究,毕竟大家都喜欢用新的软件,感叹发展太快了,很多人连uVision2都没有摸透,呵呵。
安装的方法和普通软件差不多,这里就不做介绍了。
另外提醒大家不要崇拜汉化版软件,还是E文的干净没有BUG!
2.用keil软件建一个简单工程
在这里以51单片机并结合C程序为例(汇编操作方法类似,唯一不同的是汇编源程序文件名后缀为“.ASM”),图文描述工程项目的创建和使用方法:
1.首先我们要养成一个习惯:
最好先建立一个空文件夹,把您的工程文件放到里面,以避免和其他文件混合,如下图笔者先创建了一个名为“Mytest”文件夹:
2.点击桌面上的KeiluVision4图标,出现启动画面:
3.点击“project---NewuVisionProject”新建一个工程:
4.在对话框,选择放在刚才建立的“Mytest”文件夹下,给这个工程取个名后保存,不需要填后缀,注意默认的工程后缀与uVision3及uVision2版本不同了,为uvporj
5.弹出一个框,在CPU类型下我们找到并选中“Atmel”下的AT89S51或52:
6.以上工程创建完毕,接下来开始建立一个源程序文本:
7.在下面空白区别写入或复制一个完整的C程序:
8.输入源程序文件名名称,在这里笔者示例输入“test”,这个名称,同样大家可以随便命名。
注意:
如果您想用汇编语言,要带后缀名一定是“test.asm”,如果是C语言,则是“test.c”,然后保存:
9.接下来需要把刚创建的源程序文件加入到工程项目文件中,大家在点“ADD”按钮时会感到奇怪,怎么对话框不会消失呢?
不管它,直接点击“Close”关闭就行了,此时大家可以看到程序文本字体颜色已发生了变化:
10.最后还要有设置一下,按下图设置晶振,建议初学者修改成12M,因12MHZ方便计算指令时间:
11.在Output栏选中CreateHEXFile,使编译器输出单片机需要的HEX文件:
12.工程项目创建和设置全部完成!
点击保持并编译(下图):
查看工程文件夹内容:
以上图文描述的是KEILuVISION的使用入门,这些是单片机基础知识和基本操作必备的。
KEILuVISION拥有强大的功能,还有仿真、调试等功能,在此不一一详解,建议读者找本书好好学习一下,真正到开发时还是要用到的。
3.下载程序方法
1.使用USB转RS232串口线,(电脑上有串口可以用串口下载)如下图所示,电脑需安装ch340驱动,提供安装视频教程,安装成功后,即可安照下列步骤下载程序
Usb转串口下载线
2.运行STC-ISP.exe程序,启动下载软件图1,此软件为绿色软件,无需安装,将程序目录拷贝至任意位置运行即可。
图1启动STC-ISP.exe
3.选择对应的单片机型号,在STC-ISP软件左侧的“步骤1”中选择用户使用的单片机(图2)。
本开发板使用的是STC12C5A60S2单片机
图2选单片机型号
4.选择需要下载进单片机的.HEX文件,点击“步骤2”中的“打开程序文件”按钮(图3),弹出打开文件对话框(图4),选中需要下载的.HEX文件。
图3加载HEX文件
图4选中需要下载的HEX文件
5.设定单片机下载时使用的串行通讯端口(图5)。
在“步骤3”中选中用户使用的下载串口,(右击“我的电脑”-“属性”-“设备管理器”-“端口COM”查看usb转串口线所使用的COM口),波特率请根据实际需求做对应调整。
图5选择和设定下载串口
6.设定单片机的工作模式(图6)。
由于STC单片机有许多其它的工作模式可供选择,因此,宏晶科技在“步骤4”中提供了一些单片机工作模式选项,一般无需做更动,按照默认设定使用就可以了,如有特殊需求,可参看单片机的器件手册。
图6设定单片机的工作模式
7.下载程序。
下载之前先确认目标板是否断电,因为STC单片机的下载的时候需要在单片机“冷启动”时进行。
目标板断电后,点击“步骤5”中的“download/下载”,此时STC-ISP软件将尝试和单片机握手,此时给目标板上电,如果一切正常,下载过程将正常开始,STC-ISP软件的左下方的信息窗口中将给出对应的提示信息(图7)。
图7程序下载
第三部分:
板子各种软件应用实例
1.随机输出控制使用实例
/**********************************************************
程序说明:
程序中数组KM(数据表)中的数据控制8个场效应管的通断
适合用作控制广告彩灯,灯箱,等等
**********************************************************/
#include
#include
#defineucharunsignedchar//宏定义无符号字符型
#defineuintunsignedint//宏定义无符号整型
/********************************************************************
初始定义
*********************************************************************/
/********************************************************************
初始定义
*********************************************************************/
/*定义八位数字量输入为单片机P0口*/
sbitX00=P0^0;
sbitX01=P0^1;
sbitX02=P0^2;
sbitX03=P0^3;
sbitX04=P0^4;
sbitX05=P0^5;
sbitX06=P0^6;
sbitX07=P0^7;
/*定义八位数字量输出IO口*/
sbitY00=P2^6;
sbitY01=P2^7;
sbitY02=P5^0;
sbitY03=P5^1;
sbitY04=P4^1;
sbitY05=P4^6;
sbitY06=P4^5;
sbitY07=P4^4;
/********************************************************************
数据表格
*********************************************************************/
codeucharKM[]={
0xFF,0xE1,0xFF,0xFF,0xFF,0xFF,0xFC,0xC5,0x92,0xFF,0xB7,0xB8,0xC9,0x80,0x7F,0xFF,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFC,0x4F,0xEF,0x3F,0xC8,0x1A,0x20,0xC0,0x00,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xF8,0x7F,0xFF,0xFF,0x75,0x86,0xF6,0xC0,0x00,0x00,
0xFF,0x03,0xEF,0x9F,0xFB,0xFF,0xF8,0x7F,0xFF,0xFF,0xFB,0xDF,0xFE,0xC0,0x7F,0xFF,
0x00,0x07,0xDE,0x7F,0xC7,0xFF,0xF0,0x7E,0x7F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,
0x00,0x07,0x1C,0xF7,0x9F,0xDF,0xF0,0x7E,0x7F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,
0xFC,0x07,0x00,0x8C,0x1F,0xBF,0xE7,0x3C,0x3F,0xFF,0xFF,0xFF,0xFF,0xC0,0x7F,0xFF,
0x00,0x07,0x00,0x08,0x1C,0x3F,0x88,0x3C,0x7F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,
0x00,0x06,0x0C,0x08,0x98,0x7F,0x80,0x0D,0x9F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,
0xFC,0x06,0x1C,0xE3,0x99,0xFF,0x00,0x0C,0x0F,0xFF,0xFF,0xFF,0xFF,0xC0,0x5F,0xFF,
};//数据表格
/********************************************************************
延时函数
*********************************************************************/
voiddelay(uchart)//当t等于50时,大概延时0.5秒;当t等于10时,大概延时0.1秒;
{
ucharm,n,s;
for(m=t;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
/********************************************************************
输出处理函数
*********************************************************************/
voidopen_X3(ucharturm)
{
chari;
for(i=7;i>=0;i--)
{
urm=_crol_(turm,1);
switch(i)
{
case0:
Y00=turm&0x01;break;
case1:
Y01=turm&0x01;break;
case2:
Y02=turm&0x01;break;
case3:
Y03=turm&0x01;break;
case4:
Y04=turm&0x01;break;
case5:
Y05=turm&0x01;break;
case6:
Y06=turm&0x01;break;
case7:
Y07=turm&0x01;break;
default:
break;
}
}
}
/********************************************************************
配置P4口
*********************************************************************/
voidP4_init(void)
{
P4SW=0x70;//配置P4口
P4M0&=0x80;
P4M1&=0x80;
}
/********************************************************************
主函数
*********************************************************************/
voidmain()
{
uchara,b;
P4_init();
for(a=0;a<3;a++)//循环3次
{
for(b=0;b<160;b++)//继电器输出数据表里的状态
{
open_X3(KM[b]);//取表格里的数据送P2口
delay(50);//延时约0.5秒
}
}
}
/********************************************************************
结束
*********************************************************************/
2.随机输出控制使用实例
/********************************************************
程序说明:
当X00口与COM口接通后,对应的场效应Y00导通(即:
输出控制电源);
当X01口与COM口接通后,对应的场效应Y01导通(即:
输出控制电源);
当X02口与COM口接通后,对应的场效应Y02导通(即:
输出控制电源);
当X03口与COM口接通后,对应的场效应Y03导通(即:
输出控制电源);
当X04口与COM口接通后,对应的场效应Y04导通(即:
输出控制电源);
当X05口与COM口接通后,对应的场效应Y05导通(即:
输出控制电源);
当X06口与COM口接通后,对应的场效应Y06导通(即:
输出控制电源);
当X07口与COM口接通后,对应的场效应Y07导通(即:
输出控制电源);
**********************************************************/
#include
#defineucharunsignedchar//宏定义无符号字符型
#defineuintunsignedint//宏定义无符号整型
/********************************************************************
初始定义
*********************************************************************/
/*定义八位数字量输入为单片机P0口*/
sbitX00=P0^0;
sbitX01=P0^1;
sbitX02=P0^2;
sbitX03=P0^3;
sbitX04=P0^4;
sbitX05=P0^5;
sbitX06=P0^6;
sbitX07=P0^7;
/*定义八位数字量输出IO口*/
sbitY00=P4^4;//硬件的p2.6口有问题,测试时把p2.5和p2.6短接了
sbitY01=P4^5;
sbitY02=P4^1;
sbitY03=P4^6;
sbitY04=P5^0;
sbitY05=P5^1;
sbitY06=P2^7;
sbitY07=P2^5;
/********************************************************************
延时函数
*********************************************************************/
voiddelay(uchart)
{
uchari,j;
for(i=0;i { for(j=13;j>0;j--); {;} } } /******************************************************************** 配置P4口 *********************************************************************/ voidP4_init(void) { P4SW=0x70;//配置P4口 P4M0&=0x80; P4M1&=0x80; } /******************************************************************** 主函数 *********************************************************************/ voidmain() { P4_init(); while (1) { if(X00==0){delay(100);while(! X00);Y00=0;}//Y00和被控电源地接通 if(X01==0){delay(100);while(! X01);Y01=0;}//Y01和被控电源地接通 if(X02==0){delay(100);while(! X02);Y02=0;}//Y02和被控电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 可编程 场效应 说明书