STC15F104E最小板产品使用手册.doc_第1页
STC15F104E最小板产品使用手册.doc_第2页
STC15F104E最小板产品使用手册.doc_第3页
STC15F104E最小板产品使用手册.doc_第4页
STC15F104E最小板产品使用手册.doc_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

汇诚科技STC15F104E单片机开发学习板产品使用手册【简要说明】一、尺寸:长25mmX宽18mmX高10mm二、主要芯片:主要芯片:STC15F104E单片机、MAX232三、工作电压:输入电压直流5 至 15V四、电脑串口下载,或者STC单片机专用下载线五、特点:1、具有电源指示。2、所有I/O口都以引出。3、可以实现与电脑串口通信。4、使用内部晶振。5、具有上电复位功能。6、支持STC15F1XX系列单片机7、支持STC串口下载;8、具有滤波电容;9、具有7805稳压芯片;10、可排针引电;六、提供相关软件、资料、原理图适用场合:单片机学习、电子竞赛、产品开发、毕业设计。注意啦:本产品提供的所有程序都附带原理图以及说明!【图片标注】【原理图】【PCB尺寸图】【开发板支持同系列单片机的型号】【产品展示】【单片机下载接线图】【单片机编程软件KEIL】【单片机编程软件界面如下】【单片机下载软件】【单片机下载软件界面】【STC15F104E系列单片机单片机开发应用参考程序】001、STC15F104E系列单片机之闪烁灯:/* 汇诚科技实现功能:闪烁灯使用芯片:STC15F104E系列单片机晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun网站:淘宝店:汇诚科技 郑兴电子直销部 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*/#include /库文件#include #define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* I/O定义*/sbit LED=P35; /定义单片机P3口的第5位 (即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; /点亮P3.5口灯 Delay1s(1); /延时 LED=1; /熄灭P3.5口灯 Delay1s(1); /延时/* 结束*/002、STC15F104E系列单片机之流水灯:/* 汇诚科技实现功能:流水灯使用芯片:STC15F104E系列单片机晶振: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=temp;/直接对1/0口赋值,使批输出低电平。delay();/延时for(i=1;i8;i+)/实现广告灯的从右到左移动a=tempi;/左移i位P3=a;/相与求值delay();/* 结束*/003、STC15F104E系列单片机之跑马灯:/* 汇诚科技实现功能:跑马灯使用芯片:STC15F104E系列单片机晶振: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=temp;/直接对1/0口赋值,使批输出低电平。delay();/延时for(i=1;i8;i+)/实现广告灯的从右到左移动a=temp(8-i);/右移8-i位P3=a|b;/相与求值delay();for(i=1;ii; /右移i位b=temp(8-i); /左移8-i位P3=a|b;/相与求值delay();/* 结束*/004、STC15F104E系列单片机之简单的按键识别:/* 汇诚科技实现功能:简单的按键识别使用芯片:STC15F104E系列单片机晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun网站:淘宝店:汇诚科技 郑兴电子直销部 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* I/O定义*/sbit LED1=P35; /定义单片机P3口的第5位 (即P3.5)/为输出sbit key1=P33; /定义单片机P3口的第3位 (即P3.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按键按下,P3.5口输出低电平,指示灯亮。/* 结束*/005、STC15F104E系列单片机之定时器产生延时1秒程序:/* 汇诚科技实现功能:定时器产生延时1秒程序使用芯片:STC15F104E系列单片机晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun网站:淘宝店:汇诚科技 郑兴电子直销部 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*/#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/uchar sec; /定义计数值,每过1/10 秒,sec 加一uchar keycnt=0;/按下次数值uint tcnt; /键值判断/* I/O定义*/sbit P33=P33; /定义单片机P3口的第3位 (即P3.3)/* 定时中断服务函数*/void t0(void) interrupt 1 using 0 /定时中断服务函数tcnt+; /每过250ust tcnt 加一if(tcnt=400) /计满400 次(1/10 秒)时tcnt=0; /重新再计sec+;if(sec=10) /定时10 秒,在从零开始计时sec=0;P33=!P33; /取反 P3.3/* 主函数*/void main()TMOD=0x02; /定时器工作在方式2TH0=0x06; /对TH0 TL0 赋值TL0=0x06;TR0=1; /开始定时ET0=1;EA=1;sec=0;while(1)/* 结束*/006、STC15F104E系列单片机之按键控制继电器通断1秒启动停止:/* 汇诚科技实现功能:按键控制继电器通断1秒启动停止使用芯片:STC15F104E系列单片机晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun网站:淘宝店:汇诚科技 郑兴电子直销部 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*/#include /库文件#define uchar unsigned char/宏定义无符号字符型#define uint unsigned int /宏定义无符号整型/* 初始定义*/uchar sec; /定义计数值,每过1/10 秒,sec 加一uchar keycnt=0;/按下次数值uint tcnt; /键值判断/* I/O定义*/sbit P33=P33; /定义单片机P3口的第3位 (即P3.3)为输出口sbit P3_5=P35; /定义单片机P3口的第5位 (即P3.5)位输入口/* 延时函数*/void delay(uchar t) uchar i,j; for(i=0;i0;j-); ; /* 按键扫描函数*/void KEY() /按键扫描程序if(P3_5=0)delay(20);if(P3_5=0)keycnt+;/* 按下次数判断函数*/switch(keycnt) /按下次数判断case 1: /第一次按下TH0=0x06; /对TH0 TL0 赋值TL0=0x06;TR0=1; /开始定时break;case 2: /第二次按下TR0=0; /定时结束keycnt=0; /重新开始判断键值break;while(P3_5=0); /* 定时中断服务函数*/void t0(void) interrupt 1 using 0 /定时中断服务函数tcnt+; /每过250ust tcnt 加一if(tcnt=400) /计满400 次(1/10 秒)时tcnt=0; /重新再计sec+;if(sec=10) /定时10 秒,在从零开始计时sec=0;P33=!P33; /取反 P3.3/* 主函数*/void main()TMOD=0x02; /定时器工作在方式2ET0=1;EA=1;sec=0;TR0=0;while(1) KEY();/* 结束*/007、STC15F104E系列单片机之串口通讯应用程序:/* 汇诚科技实现功能:STC15F104E系列单片机之串口通讯应用程序使用芯片:STC15F104E系列单片机晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun网站:淘宝店:汇诚科技 郑兴电子直销部 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*单片机与PC机采用9针串口,MAX232通讯,波特率默认为9600.单片机接收PC机发送的数据码表如下:01、开:PC发送AIO口输出高电平; 02、关:PC发送BIO口输出低电平; 03、输出状态查询:PC发送C;单片机返回输出状态A表示开 B表示关;04、继电器状态取反:PC发送D继电器状态取反*/#include reg52.h #include #define uchar unsigned char /宏定义字符型变量#define uint unsigned int/宏定义整型变量/* 波特率设定*/#define BAUD 0XF400 /1200bps 11.0592MHZ/#define BAUD 0XFA00 /2400bps 11.0592MHZ/#define BAUD 0XFD00 /4800bps 11.0592MHZ#define BAUD 0XFE80 /9600bps 11.0592MHZ/#define BAUD 0XFF40 /19200bps 11.0592MHZ/#define BAUD 0XFFA0 /38400bps 11.0592MHZuchar dat; /用于存储单片机接收发送缓冲寄存器SBUF里面的内容sbit P33=P33; /定义继电器控制输出脚/* 定义特殊寄存器*/sfr AUXR = 0x8E; /辅助寄存器sbit RXB=P30;sbit TXB=P31;/* 定义数据类型*/uchar TBUF,RBUF;uchar TDAT,RDAT;uchar TCNT,RCNT;uchar TBIT,RBIT;uint TING,RING;uint TEND,REND;void UART_INIT(); /声明函数uchar t,r; /定义数据类型uchar but16; /数据存储数组/* 延时函数*/void delay(uchar t) uchar i,j; for(i=0;i0;j-); ; /* 主函数*/void main()TMOD=0X00; /定时器T0设定AUXR=0X80; /辅助寄存器TL0=BAUD; /十六位寄存器TH0=BAUD8; /十六位寄存器TR0=1; /开定时器ET0=1;PT0=1;EA=1; /开总中断UART_INIT(); /串口初始化while(1) /无线循环if(REND) REND=0; r+; /butr+&0x0f=RBUF; dat=RBUF; if(TEND) if(t!=r) TEND=0;/ TBUF=dat;switch(dat) /接收数据判断uchar k;k=10;case A: P33=1;delay(k);TBUF = dat;dat=0xee;break; / 开,并返回数据值case B: P33=0;delay(k);TBUF = dat;dat=0xee;break; / 关,并返回数据值case C: if(P33=1)TBUF = A;if(P33=0)TBUF = B;delay(k);dat=0xee;break; / 读输出口状态,并返回数据值case D: P33=!P33;delay(k);TBUF = dat;dat=0xee;break; / 输出口取反default:break; / 跳出 t+; /TBUF=butt+&0x0f; TING=1; /* 定时器T0*/void tm0()interrupt 1 using 1 if(RING) if(-RCNT=0) RCNT=3; if(-RBIT=0) RBUF=RDAT; RING=0; REND=1;else RDAT=1; if(RXB)RDAT|=0X80; else if(!RXB) RING=1; RCNT=4; RBIT=9; if(-TCNT=0)TCNT=3;if(TING) if(TBIT=0) TXB=0; TDAT=TBUF; TBIT=9; else TDAT=1; if(-TBIT=0) TXB=1; TING=0; TEND=1; else TXB=CY; /* 功能:串口初始化,波特率9600,方式1*/void UART_INIT()TING=0;RING=0;TEND=1;REND=0;TCNT=0;RCNT=0;/* 结束*/008、STC15F104E系列单片机之EEPROM应用程序:/* 汇诚科技实现功能:STC15F104E系列单片机之EEPROM应用程序使用芯片:STC15F104E系列单片机晶振:11.0592MHZ波特率:9600编译环境:Keil作者:zhangxinchun网站:淘宝店:汇诚科技 郑兴电子直销部 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */*/#include reg52.h #include #define uchar unsigned char /宏定义字符型变量#define uint unsigned int/宏定义整型变量/* 寄存器设置*/ sfr IAP_DATA =0xc2; /数据寄存器sfr IAP_ADDRH =0xc3; /地址寄存器sfr IAP_ADDRL =0xc4; /地址寄存器sfr IAP_CMD =0xc5; /命令寄存器sfr IAP_TRIG =0xc6; /触发寄存器sfr IAP_CONTR =0xc7; /擦除寄存器sbit P33=P33; /定义继电器控制输出脚/* 命令定义*/#define CMD_IDLE 0 /EEPROM无操作#define CMD_READ 1 /读取字节#define CMD_PROGRAM 2 /写入字节#define CMD_ERASE 3 /擦除字节/* 编程周期由晶振决定*/#define ENABLE_IAP 0X80 /编程周期由晶振决定(如果30MHZ选用此项)/#define ENABLE_IAP 0X81 /编程周期由晶振决定(如果24MHZ选用此项)/#define ENABLE_IAP 0X82 /编程周期由晶振决定(如果20MHZ选用此项) #define ENABLE_IAP 0X83 /编程周期由晶振决定(如果12MHZ选用此项)/#define ENAB

温馨提示

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

评论

0/150

提交评论