基于STC单片机学习平台的硬件电路设计

发布者:创意探险最新更新时间:2011-11-05 关键字:STC单片机 手机看文章 扫描二维码
随时随地手机看文章

  本文提出了一种基于STC单片机学习平台的硬件电路设计,采用了一款新型的单片机型号一STC12C5410AD,在学习平台中加入了一些串行接口的芯片,接口标准包括RS-232、SPI、IIC、1-wire等。学习平台的设计目标:ISP可编程、液晶屏显示、日历时钟(IIC接口芯片)、温度测量(1-wire接口芯片)、FLAH存储器(SPI接口芯片)、按键(腊换扫描按键)、电压测量(AD转换)。

  1硬件系统概述

  学习平台以STC12C5410AD为核心,结构图如图1所示。

  

结构图

 

  1.1 STC12C5410AD单片机简介

  STC12C5410AD单片机是宏晶科技在标准8051单片机内核基础上进行较大改进后推出的增强型单片机。它是增强型8051单片机,单时钟/机器周期,工作电压5.5V一3.5V,工作频率范围0~35MHz,512字节片内数据存储器,10K字节片内Flash程序存储器,ISP(在系统可编程)/IAP(在应用可编程),可通过串口直接下载程序,EEPROM功能,6个16位定时/计数器,PWM(4路)/PCA(可编程计数器阵列,4路),8路10位A/D转换,SPI同步通信口。

  2硬件系统设计

  2.1晶振,电源及复位电路

  图2、图3和图4分别为复位电路、电源电路和晶振电路。复位电路中的RST网络标号连接至STC12C5410AD单片机的引脚3,该电路上电复位。由于STC12C5410AD单片机工作电压在5.5~3.5V之间,因此电源用的是5V的开关电源,为了AD转换准确,加入了一个LM7805稳压芯片。

  

复位电路[page]

 

2.2烧写程序电路

 

  ISP(In—System Programming)在系统可编程,指的是电路板上的空白器件可以编程写入最终用户代码,而不方需式要擦从除电或路再板编卜程取。下传器件统,的已80经51编单程片的机器调件试也可程以序用的I删SP要使用编程器或者仿真器,比较繁琐,而STC12C5410AD支持在ISP,只要加入图5中的电路,就可以通过串口利用STC单片机PC端ISP下载摔制软件将要调试的程序写到电路板上的单片机中。下图中的网络标号RxD和TxD分别连接到STC12C5410AD单片机中的P3.0口和P3.1口。

  

烧写程序电路

 

  2.3按键电路

  由于Io口资源有限,而STCl2C5410AD自带AD转换,因此采用AD转换做按键扫描,按键电路如图6。其中BUTTON网络标号连至单片机的P1.0AD转换口。

  

按键电路

 

  2.4液晶显示电路

  液晶显示电路示于图7,因为STC12C5410AD单片机的Io口有限,而1602液晶屏需要8个数据口,因此使用了一个74HC164芯片将串口的输入转为并口的输出,并且加入了一个74LS273锁存器芯片防止在串行移入的过程中将不需要的数据送入1602液晶屏,导致显示错误。

  

液晶显示电路

 

  2.5日历时钟电路

  日历时钟电路示于图8,采用的是Dallas公司推出的DS1302芯片,是IIC接口的芯片。STC12C5410AD单片机没有IIC通信口,是用两个IO口通过软件来模拟IIC接口。DS1302_SCLK和DS1302_DATA两个网络标号连接到STC12C5410AD单片机的P2.2和P2.3口,在这两个u上各加了一个10K的上拉电阻。RST_DS1302网络标号连接到P0.0,用来复位DS1302芯片。

  

日历时钟电路

 

  2.6测温电路

  测温电路示于图9,采用的是Dallas公司的单总线数字式温度传感器DS18B20,因此小需要加入模数转换电路,直接将它的DQ脚接到单片机的一个IO口就可以了。

  

测温电路

 

  2.7 FLASH电路

  电路如图10所示,AT25F512是SPI接口的Flash芯片。STC12C5410AD自带SPI通讯端口,SCK、MISO、MOSI和Ss网络标号分别连接到单片机的P1.7、P1.6、P1.5和P0.3口,都加入了一个10K的上拉电阻。

  2.8 DA转换电路

  DA转换电路示于图11,利用单片机自带的PWM功能来实现DA转换。

  

DA转换电路

 

  3 结束语

  本文提出了一种基于STC12C5410AD单片机的学习平台的硬件电路的设计,相对于传统的8051单片机,用STC12C5410AD单片机来设计电路的方法有一些不同,它没有8051的ALE(地址锁存)引脚等,因此不能将它的PoEl当成地址数据复用口。学习平台的硬件电路中大部分采用的是串行口芯片,包括了大部分主流的串行口标准。采用液晶屏代替数码管用来显示,加入了FLASH存储芯片,利用STC12C5410AD的PWM功能实现DA转换,充分利用了STC12C5410AD单片机的资源,同时芯片内自带看门狗硬件电路和Ⅱ科的M功能,适合用来当作教学实验的学习平台。

关键字:STC单片机 引用地址:基于STC单片机学习平台的硬件电路设计

上一篇:基于单片机的CAN总线接口转换卡设计
下一篇:单片机虚拟试验箱设计与研究

推荐阅读最新更新时间:2024-03-16 12:45

stc单片机可调PWM程序
下面这个程序是应用在stc12c2052ad上的pwm程序,测试成功 #include reg52.h sfr CCON =0xD8; //PCA control register sfr CMOD =0xD9; sfr CL =0xe9; sfr CH =0xF9; sfr CCAP0L=0xea; sfr CCAP1L=0xeb; sfr CCAP0H=0xfa; sfr CCAP1H=0xfb; sfr CCAPM0=0xda; sfr CCAPM1=0xdb; sbit CR=0xde; //位寻址 void main(void) { CMOD=0x02; //使用系统时钟,时钟输入源频率fosc/2。PWM频
[单片机]
STC单片机内部EEPROM的使用-记录上电次数
大多数情况下,大家存储掉电的数据都是用的24C02,在一些需要考虑成本的场合,内部的EEPROM也是可以考虑使用的,这个程序介绍一下,STC内部的EEPROM的使用,程序的功能是记录上电次数,然后加1,在数码管上显示出来。 /******************************************************************************* * 文件名: 数码管显示上电计数值 * 描 述: 上电计数 * 功 能:数码管的使用 11.0592MHZ * 作 者:大核桃 * 版本号:1.0.1(2017.05.23) ************************************
[单片机]
STC单片机开发的几大注意事项
   ISP烧写程序注意事项   程序无法下载进MCU,可能出错的地方有:如果准备条件充分(驱动程序安装成功STC_ISP.EXE安装成功),在下载程序进入MCU的时候,需要对ISP软件进行参数的设置。   Ⅰ:MCU Type选项,我用的是STC89C54RD+。(型号必须匹配)   Ⅱ:(CH3415SER.EXE)驱动安装成功后,设备管理器中查看端口(COM和LPT),其中的USB-SERIAL CH340(COM4)中的COM4是可以和MCU连接的通信端口。其他通讯端口(COM1和COM2)在没有必要的情况下不要使用。选择COM4,Max Buad参数选默认。   Ⅲ:根据MCU支持的晶振频率选择OSCDN(OS
[单片机]
51单片机入门经验分享6-利用STC单片机的ADC采集电压
在实际开发中,AD,DA用的相当多,这一节,我们写一个程序,将采集到的电压数值显示在数码管上,程序如下: /******************************************************************************* * 文件名: ADC转换器使用 * 描 述: 电池电压 * 功 能:中断方式 11.059200MHZ * 作 者:大核桃 * 版本号:1.0.1(2017.05.23) *******************************************************************************/ #in
[单片机]
51单片机入门经验分享6-利用<font color='red'>STC单片机</font>的ADC采集电压
STC单片机8个LED闪烁程序
ORG 000H ;起始地址 START: ;入口标号 MOV R0,#5 ;设置5次计数 LP: ;入口标号 MOV P1,#00H;向P1口载入低电平(LED共阳极) CALL DE ;调入延时(我延时写得简单,就用DE表示) MOV P1,#0FFH;向P1口载入高电平 CALL DE ;调入延时(如果大家看到,多多支持我哈-蓝色梦幻) DJNZ R0,LP ;如果R0不为零,继续执行LP
[单片机]
<font color='red'>STC单片机</font>8个LED闪烁程序
STC单片机PWM脉宽调制功能模块
// STC单片机PWM脉宽调制功能模块 #include STCSTC12C2052AD.h // PWM初始化 // 将PCA初始化为PWM模式,初始占空比为0 // 参数:0,1,2,3,分别表示对PWM0、PWM1、PWM2、PWM3初始化 void PWM_Init(int i) { CMOD = 0x02; // 设置PCA定时器频率为内部时钟fosc/2 CL = 0x00; CH = 0x00; switch(i) { case 0: CCAPM0 = 0x42; // PWM0设置PCA工作方式为PWM方式(0100 0010) CCAP0L = 0x00; // 设置PWM0初始值
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved