STC12C5A60S2精简开发板带232及485产品使用手册.doc_第1页
STC12C5A60S2精简开发板带232及485产品使用手册.doc_第2页
STC12C5A60S2精简开发板带232及485产品使用手册.doc_第3页
STC12C5A60S2精简开发板带232及485产品使用手册.doc_第4页
STC12C5A60S2精简开发板带232及485产品使用手册.doc_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

STC12C5A60S2单片机开发学习板带232及485产品使用手册【简要说明】1、 尺寸:长80mmX宽71mmX高12mm二、主要芯片:STC12C5A60S2单片机三、工作电压:直流636伏四、特点:1、具有电源指示;2、所有I/O口已引出;3、可以实现与电脑串口通信;4、可以实现RS485通讯;5、具有上电复位和手动复位;6、LM2596宽电压稳压芯片;7、支持STC串口下载以及UART口下载;8、串口通讯(注:只能使用下载程序);9、八路LED灯(注:可拔出短路帽,断开LED灯);10、可端子接线供电、可排针引电; 11、输入电压范围宽,且确保AD参考电压准确(注:因无外部参考电压点); 12、四位按键输入,一位按键复位。五、提供相关软件、资料、原理图适用场合:单片机学习、电子竞赛、产品开发、毕业设计。注意啦:本产品提供的所有程序都附带原理图以及说明!【图片标注】【连接图】【原理图】(放大可以看清楚)【PCB尺寸图】【开发板支持同系列单片机的型号】STC单片机最新型号STC12C5A60S2STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;2.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);3.工作频率范围:0 - 35MHz,相当于普通8051的 0420MHz;4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节;5.片上集成1280字节RAM;6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM);9. 看门狗;10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);11.外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz15.5MHz,3.3V单片机为:8MHz12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;13.共4个16位定时器 两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波特率发生器 再加上2路PCA模块可再实现2个16位定时器;14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒,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);16. PWM(2路)/PCA(可编程计数器阵列,2路):也可用来当2路D/A使用也可用来再实现2个定时器也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);20.工作温度范围:-40 - +85(工业级) / 0 - 75(商业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。【产品展示】【产品加壳展示】【单片机支持的USB转串口线下载】通过USB转串口线下载,需要断开再启动一下电源开关!STC12C5A60S2单片机USB转串口线下载说明:1、连接串口线:USB头连接电脑,并安装驱动。2、9针串口头连接开发板串口1。3、开发板接电源,VCC接正极,GND接负极,并断开电源开关。4、打开下载软件,选择USB转串口线的串口号,并打开要下载的文件。5、点击下载,等待软件提示给开发板供电。6、软件提示供电后,按下电源开关,等待程序下载完成。【单片机编程软件KEIL】【单片机编程软件界面如下】【单片机下载软件】【单片机下载软件界面】【STC12C5A60S2系列单片机单片机开发应用参考程序】001、STC12C5A60S2单片机之闪烁灯002、STC12C5A60S2单片机之流水灯003、STC12C5A60S2单片机之跑马灯004、STC12C5A60S2单片机之简单的按键识别005、STC12C5A60S2单片机之按键识别的应用006、STC12C5A60S2单片机之数码管动态显示007、STC12C5A60S2单片机之SD卡读写008、STC12C5A60S2单片机之串口一应用009、STC12C5A60S2单片机之串口二应用010、STC12C5A60S2单片机之串口简单收发011、STC12C5A60S2单片机之双串口通信012、STC12C5A60S2单片机之不同波特率串口12通讯演示013、STC12C5A60S2单片机之串口2演示程序9位数据014、STC12C5A60S2单片机之演示(ADC查询方式)015、STC12C5A60S2单片机之演示(ADC中断方式)016、STC12C5A60S2单片机之AT24C04测试程序1T017、STC12C5A60S2单片机之AT24C04测试程序12T018、STC12C5A60S2单片机之DS18B20温度传感器1T019、STC12C5A60S2单片机之DS18B20温度传感器12T020、STC12C5A60S2单片机之DS1302应用1T021、STC12C5A60S2单片机之DS1302应用12T022、STC12C5A60S2单片机之串口通信单主单从023、STC12C5A60S2单片机之串口通信互为主从024、STC12C5A60S2单片机之EEPROM025、STC12C5A60S2单片机之PWM001、STC12C5A60S2单片机之闪烁灯:/*实现功能:闪烁灯使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*/#include /库文件#include #define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* I/O定义*/sbit LED=P00; /定义单片机P0口的第0位 (即P0.0)/* 延时100MS函数*/void Delay100ms()uchar i, j, k;_nop_();i = 5;j = 144;k = 71;dodowhile (-k); while (-j); while (-i);/* 延时1S函数*/void Delay1s(uint s) uchar m,n;for(m=s;m0;m-)for(n=10;n0;n-)Delay100ms();/* 主函数*/void main()while(1) /无限循环 LED=0; /点亮P1.0口灯 Delay1s(1); /延时 LED=1; /熄灭P1.0口灯 Delay1s(1); /延时/* 结束*/002、STC12C5A60S2单片机之流水灯:/*实现功能:流水灯使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/uchar temp; /定义字符型变量uchar a,b,i;/* 延时函数*/void delay()/延时程序uchar m,n,s;for(m=10;m0;m-)for(n=200;n0;n-)for(s=248;s0;s-);/* 主函数*/void main()temp=0xfe; /11111110定义每次一个灯亮while(1)P3=P2=P0=P1=temp;/直接对1/0口赋值,使批输出低电平。delay();/延时for(i=1;i8;i+)/实现广告灯的从右到左移动a=tempi;/左移i位P3=P2=P0=P1=a;/相与求值delay();/* 结束*/003、STC12C5A60S2单片机之跑马灯:/* 实现功能:跑马灯使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/uchar temp; /定义字符型变量uchar a,b,i;/* 延时函数*/void delay()/延时程序uchar m,n,s;for(m=20;m0;m-)for(n=20;n0;n-)for(s=248;s0;s-);/* 主函数*/void main()while(1)temp=0xfe; /11111110定义每次一个灯亮P3=P2=P0=P1=temp;/直接对1/0口赋值,使批输出低电平。delay();/延时for(i=1;i8;i+)/实现广告灯的从右到左移动a=temp(8-i);/右移8-i位P3=P2=P0=P1=a|b;/相与求值delay();for(i=1;ii; /右移i位b=temp(8-i); /左移8-i位P3=P2=P0=P1=a|b;/相与求值delay();/* 结束*/004、STC12C5A60S2单片机之简单的按键识别:/*实现功能:简单的按键识别使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* I/O定义*/sbit LED1=P00; /定义单片机P0口的第0位 (即P0.0)/为输出sbit LED2=P01; /定义单片机P0口的第1位 (即P0.1)/为输出sbit LED3=P02; /定义单片机P0口的第2位 (即P0.2)/为输出sbit LED4=P03; /定义单片机P0口的第3位 (即P0.3)/为输出sbit key1=P20; /定义单片机P2口的第0位 (即P2.0)/为输入sbit key2=P21; /定义单片机P2口的第1位 (即P2.1)/为输入sbit key3=P22; /定义单片机P2口的第2位 (即P2.2)/为输入sbit key4=P23; /定义单片机P2口的第3位 (即P2.3)/为输入/* 延时函数*/void delay()/延时程序uchar m,n,s;for(m=20;m0;m-)for(n=20;n0;n-)for(s=248;s0;s-);/* 主函数*/void main()while(1)if(key1=0)delay();if(key1=0)LED1=0;while(!key1);LED1=1; /如果key1按键按下,P01.0口输出低电平,指示灯亮。if(key2=0)delay();if(key2=0)LED2=0;while(!key2);LED2=1; /如果key1按键按下,P01.0口输出低电平,指示灯亮。if(key3=0)delay();if(key3=0)LED3=0;while(!key3);LED3=1; /如果key1按键按下,P01.0口输出低电平,指示灯亮。if(key4=0)delay();if(key4=0)LED4=0;while(!key4);LED4=1; /如果key1按键按下,P01.0口输出低电平,指示灯亮。/* 结束*/005、STC12C5A60S2单片机之按键识别的应用:/* 实现功能:按键识别的应用使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/uchar count; /按键计数,每按一下,count 加1uchar a,b; /定义字符型变量uchar temp; /定义字符型变量sbit BY1=P20; /定义按键的输入端(为单片机P2口的P2.1按键)/* 延时函数*/void delay10ms(void) /延时程序uchar i,j;for(i=20;i0;i-)for(j=248;j0;j-);/* 按键判断函数*/void key() /按键判断程序if(BY1=0) /判断是否按下键盘delay10ms(); /延时,软件去干扰if(BY1=0) /确认按键按下count+; /按键计数加1if(count=8) /计8次重新计数 count=0;/将count 清零 while(BY1=0);/按键锁定,每按一次count 只加1./* 主函数*/void main()temp=0xfe; /定义为11111110while(1)key(); /调用按键判断函数a=temp(8-count);/右移8-count位P0=a|b;/求值/* 结束*/006、STC12C5A60S2单片机之数码管动态显示:/* 实现功能:STC12C5A60S2单片机之数码管动态显示使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */#include /库文件#include#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/code uchar seg7code10= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /显示段码 数码管字跟uchar wei4=0XEf,0XDf,0XBf,0X7f; /位的控制端/* 延时函数*/void delay(uchar t) uchar i,j; for(i=0;i0;j-); ; /* 显示函数*/ void Led(int date) /显示函数/*数据转换*/ uint z,x,c,v; z=date/1000; /求千位 x=date%1000/100; /求百位 c=date%100/10; /求十位 v=date%10; /求个位 P2=0XFF; P0=seg7codez; P2=wei0; delay(80); P2=0XFF; P0=seg7codex; P2=wei1; delay(80); P2=0XFF; P0=seg7codec; P2=wei2; delay(80); P2=0XFF; P0=seg7codev; P2=wei3; delay(80); P2=0XFF;/* 主函数*/void main()int display_date=1358; /定义并赋值要显示的数据while(1)Led(display_date);/调用显示函数显示数据display_date/* 结束*/007、STC12C5A60S2单片机之SD卡读写:/* 芯片 :STC12C5A60S2晶振 :11.0592MHZ开发平台:KEIL功能 :向SD卡读写一个扇区,如果成功则激活P0口流水灯,如果失败则无流水灯。并且随程序运行向串口发送运行状态。波特率 :9600BPS日期 :11.5.19其他 :本程序软件模拟SPI,随后我会改为硬件SPI注意 :下载完程序后请复位系统后运行!(切记!)-*/#include STC12C5A60S2.h#include uart.h#include sd.h#define uchar unsigned char#define uint unsigned int uchar xdata tab512; /定义外部ROM,512个字节,数据缓冲区(一个扇区必须写512字节 )void delay5ms() uchar a,b; for(b=19;b0;b-) for(a=130;a0;a-);void delay500ms() uchar a,b,c; for(c=23;c0;c-) for(b=152;b0;b-) for(a=70;a0;a-);void main()int i;uchar flag=0;init(); /初始化串口txd_s(串口初始化n);SD_Reset(); /复位SD卡txd_s(SD卡复位完n);SD_Init(); /初始化SD卡txd_s(SD卡初始化完n);for(i=0;i512;i+) tabi=i; /向数据缓冲区中写入0255 0255,共512个字节txd_s(缓冲区写完n);SD_Write_Sector(20,tab); /将数据缓冲区中的512个字节的数据写入SD卡的第20扇区中 delay5ms(); txd_s(扇区写完n);for(i=0;i512;i+) /清空数据缓冲区 tabi=0; txd_s(清缓冲区n);SD_Read_Sector(20,tab);/从SD卡的第20扇区中读取512个字节的数据到数据缓冲区txd_s(读扇区完n);for(i=0;i1|P07;delay500ms(); else delay5ms();txd_s(匹配错 n); while(1);/* 结束*/008、STC12C5A60S2单片机之串口一应用:/* 实现功能:STC12C5A60S2单片机之串口一应用使用芯片:STC12C5A60S2晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! 功能 :串口一收发8位数据。(采用中断方式,T1产生波特率)其他 :采用查询方式发送稳定,但是接收数据极不稳定由于官方资料使用的是中断方式,所以建议使用中断方式收发数据。注意 :下载完程序后请复位系统后运行!(切记!)*/#include STC12C5A60S2.h /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/uchar tab=; /程序下载完毕后,连接串口,波特率9600 单片机复位后会自动收到数据uchar d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论