STC15F2K60S2单片机开发板资料
STC15F2K60S2单片机开发板
STC15F2K60S2单片机开发板STC15F2K60S2单片机开发板摘要单片机开发板的介绍单片机开发板是一块电路板和诸多元器件组合在一起供平时的学习、实验、开发等使用;是正式批量生产产品前,对产品进行设计和开发时使用的板子。
我们学习单片机,开始是对理论知识的学习,学习了一些指令和相关单片机结构的知识,而单片机开发板就是我们实践的工具,通过开发板我们可以做一些实验,从而掌握所学的知识。
打个比较通俗的例子:我们编写的代码是“软件”,而开发板是“硬件”,两者结合才会有用,如果只有代码,只有模拟的实验结果而不经过板子实践是学不好的,也掌握不了单片机。
简单概括说开发板实际上就是个多功的实验板,是学习单片机和开发单片机产品的好帮手。
上面集成了好多单片的的外围器件,如LED灯、数码管、按键、行列式按键、步进电机、伺服电机、液晶显示等等,利用一个开发板就可以编制不同的程序实现各种各样的功能,不用为了一个实验焊一块电路板了。
在开发板上设计、调试好CHMOS(互补高密度金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。
所以这种工艺将是今后一段时期单片机发展的主要途径2、微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。
IAP15F2K61S2 STC15F2K60S2 学习手册
使用说明(第三版)一、开发板简介:此款开发板专为STC15系列封装为LQFP44的单片机设计,板载单片机为IAP15F2K61S2,支持在线仿真,主时钟频率建议28MHz以下(STC官网说明最高频率为35MHz)。
该开发板适合新手入门学习,也适合熟练STC单片机的工程师进行开发设计。
发货清单:开发板*1,USB数据线*1(为使客户能够自由选择,其他器件请自行在本店购买)二、实物图鉴赏:三、功能说明:1、支持MINI USB接口供电/下载以及RS232串口下载2、RS232串口可切换3、双电源供电(5V/3.3V)4、6~9V电源适配器供电5、全部IO引出6、4位独立按键7、8位LED8、有源蜂鸣器9、MAX485通信10、译码器74LS13811、四相五线步进电机驱动12、6位共阴数码管13、LCD1602接口14、LCD12864接口15、温度传感器DS18B2016、红外接收17、PCF8574IIC IO扩展单片机资源说明(IAP15F2K61S2):1、42个IO2、双串口3、程序空间61K4、6个定时器5、10位8通道ADC6、3通道PWM7、SPI(只能作为MASTER)8、无需外部晶振四、下载说明:下载前请确保板子已经供电,如下图上方用黄色框圈出跳线帽为默认设置。
当上面一个跳线帽接右边时,只要连接迷你USB数据线就可以为板子供电,连接左边则需要用适配器供电,输入电压范围:6~9V。
下面的跳线帽为单片机工作电压,一般不需要改变。
下面的黄色框圈出薄码开关是单片机的串口(从左往右依次规定为1~6),如图所示时可以使用迷你USB线为单片机烧录程序。
当需要用9针串口为单片机下载程序时,请将1、2位拨下来,3、4位拨上去,5、6位拨下来。
两种下载方式的区别只是改变1、2和3、4的位置,5、6位的使用后续说明,下载程序不需要改变(注意:在任意时刻不能将1234位或者3456位同时拨到上面,否则会出现无法下载或者串口通信出错)。
STC15F2K60S2单片机的基本结构讲解学习
11/109
9/109
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P
AC(PSW.6):辅助进位标志位 当执行加/减法指令时,如果低四位数向高 四位数产生进/借位,则AC置“1”,否则清 零。
10/109
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P
增强型8051内核,单时钟机器周期,速度比传统8051内核单片机 快8~12倍 60KB Flash程序存储器;1KB数据Flash;2048字节的SRAM 3个16位可自动重装载的定时/计数器(T0、T1、T2) 可编程时钟输出功能 至多42根I/O口线 2个全双工异步串行口(UART) 1个高速同步通信端口(SPI) 8通道10位ADC 3通道PWM/可编程计数器阵列/捕获/比较单元 内部高可靠上电复位电路和硬件看门狗 内部集成高精度R/C时钟,常温工作时,可以省去外部晶振电路。
SPI
内部复位逻辑
控制单元
Port1锁存器
ADC
Port0,2,3,4,5锁存器
Port1驱动器
内部高精度R/C振荡器 P1.0~P1.7
8 P1.0~P1.7
Port0,2,3,4,5驱动器 P0,P2,P3,P4,P5
4/109 图3- 7 STC15F2K60S2单片机的内部结构图
STC15F2K60S2单片机定时器编程
STC15F2K60S2单片机定时器编程一、STC15F2K60S2 单片机定时器概述STC15F2K60S2 单片机内部集成了 5 个定时器,分别是 2 个 16 位的定时器/计数器 T0 和 T1,2 个 8 位的定时器 T2 和 T3,以及 1 个独立波特率发生器定时器T4。
这些定时器都具有不同的特点和应用场景。
T0 和 T1 是传统的 16 位定时器/计数器,可以工作在定时模式和计数模式。
在定时模式下,通过设置定时器的初值和溢出周期,可以实现精确的定时功能;在计数模式下,可以对外部脉冲进行计数。
T2 和 T3 是 8 位定时器,具有自动重载功能,使用起来更加方便。
T4 是独立波特率发生器定时器,主要用于串行通信中的波特率设置。
二、定时器的工作模式1、定时模式在定时模式下,定时器对内部的系统时钟进行计数。
通过设置定时器的初值和溢出周期,可以实现不同时长的定时功能。
例如,如果系统时钟频率为 12MHz,要实现 1ms 的定时,我们可以计算出定时器的初值为 65536 1000,然后将初值写入定时器的寄存器中。
2、计数模式在计数模式下,定时器对外部引脚输入的脉冲进行计数。
当计数值达到设定的阈值时,产生溢出中断。
三、定时器的相关寄存器1、定时器控制寄存器(TCON)TCON 寄存器用于控制定时器的启动、停止、溢出标志等。
例如,TR0 和 TR1 位分别用于控制 T0 和 T1 的启动和停止,TF0 和 TF1 位则分别表示 T0 和 T1 的溢出标志。
2、定时器模式寄存器(TMOD)TMOD 寄存器用于设置定时器的工作模式和计数方式。
例如,可以通过设置 TMOD 寄存器的某些位来选择定时器是工作在定时模式还是计数模式,以及是 8 位模式还是 16 位模式。
3、定时器初值寄存器(TH0、TL0、TH1、TL1、TH2、TL2、TH3、TL3)这些寄存器用于存储定时器的初值。
在定时模式下,通过设置初值可以控制定时器的溢出周期;在计数模式下,初值则决定了计数的阈值。
(仅供参考)IAP15F2K61S2开发板
STC15单片机开发板使用说明书(V1.0版)目录一.功能特色 (3)二.硬件部分 (3)1.功能模块 (3)2.实训STC15单片机开发板平台布局 (4)3.跳线说明 (5)4.电位器功能说明 (5)5.接口说明 (5)三.驱动安装及程序下载 (6)1.安装驱动 (6)2.程序下载 (6)一.功能特色1.采用宏晶公司最新STC15系列IAP15F2K61S2芯片。
ISP/IAP,在系统可编程/在应用可编程,无需编程器,无需仿真器。
可当仿真器使用。
2.增强型8051CPU,1T,单时钟/机器周期,速度比普通8051快8-12倍3.61K字节片内片内Flash程序存储器,擦写次数10万次以上4.片内大容量2048字节的SRAM5.大容量片内EEPROM,擦写次数10万次数以上6.共8通道10位高速ADC,速度可达30万次/秒,3路PWM还可当3路D/A 使用7.共3通道捕获/比较单元(CCP/PWM/PCA)8.内部高可靠复位,8级可选复位门槛电压,彻底省掉外部复位电路9.内部高精度R/C时钟,内部时钟从5MHz~35MHz可选,相当于普通8051的60MHz~420MHz10.两组高速异步串行通信端口(可同时使用),可在5组管脚之间进行切换,分时复用可当5组串口使用。
11.一组高速异步串行通信端口SPI。
12.各种接口扩展齐全。
13.一根优质USB线实现系统供电、程序下载、通信功能。
二.硬件部分1.功能模块STC15单片机开发板由以下基本功能模块组成。
(1)单片机芯片配置40脚STC15系列单片机插座;采用宏晶公司最新STC15系列IAP15F2K61S2。
(2)显示模块配置8路LED输出;配置8位8段共阳数码管;配置LCD1602、LCD12864和TFT液晶接口。
(3)输入/输出模块配置4×4键盘矩阵,其中16个按键可通过跳线配置为独立按键;配置ULN2003功率放大电路,驱动继电器、蜂鸣器、步进电机、直流电机。
STC15F2K60S2单片机的基本结构
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P
CY(PSW.7):进位标志位 当执行加/减法指令时,如果操作结果的最高位D7 出现进/借位,则CY置“1”,否则清“0”。执行 乘除运算后,CY清零。此外,CPU在进行移位操 作时也会影响这个标志位。
10:15:52 7
算术逻辑单元ALU:用来完成二进源自数的四则 运算和布尔代数的逻辑运算。
累加器ACC又记作A:是一个具有特殊用途的8 位寄存器,在CPU中工作最频繁,用来存放操 作数和运算结果。
寄存器B:是专门为乘、除法设置的寄存器, 也是一个8位寄存器,用来存放乘法和除法中 的操作数及运算结果,对于其他指令,它只作 暂存器用。
10:15:52 2
单片机产品
8051内核是Intel 8051系列单片机的基本标准,许多参 考书上将这种单片机称为MCS-51系列单片机。 MCS-51 系 列 单 片 机 的 典 型 产 品 为 8051 , 它 有 4K×8ROM,128字节RAM,2个16位定时/计数器,4 个8位I/O口,一个串行口。 二十世纪80年代,Intel将8051内核转让或出售给几家 著名的IC厂商,如Philips,Atmel等。这样,8051单片 机就变成众多制造厂家支持的,发展成为上百个产品 的大家族。
F0(PSW.5):用户标志0。 该位是由用户定义的一个状态标志。可以用软件 来使它置“1”或清“0”,也可以由软件测试F0控 制程序的流向。 F1(PSW.1):用户标志1。 该位是由用户定义的一个状态标志。与F0类似, 可以用软件来使它置“1”或清“0”,也可以由软 件测试F1控制程序的流向。
10:15:52 12
第二章 STC15F2K60S2单片机的基本结构
F000H
60KB
FF高 H 128字 特节 殊功0能 6FFH
程 存序 储F器 l0as3hF F 数H 1据 KBFl78aF 0s hH H 低 内部 128R字 A寄 M 节存器
1792字节 扩展RAM
0000H
0000存 H 储器 00H 内部RAM
0000H
程序Flash数 存据 储F器 lash存 内储 部器 数据存储器 扩展数据存
10:15:52 24
使用指令 读取程序存储器中保存的表格常数等内
容时,使用MOVC指令。
程 序 Flash 存 储 器 的 擦 写 次 数 为 10 万 次 以上,大大提高了芯片利用率,降低了开 发成本。
10:15:52 25
(2)数据存储器—STC15F2K60S2 数据存储器也称为随机存取数据存储器。
STC15F2K60S2单片机存储器配置示意图
10:15:52 21
(1)程序Flash存储器 功能:存放用户程序、数据和表格等信息。 空 间 大 小 : STC15F2K60S2 片 内 集 成 了 60KB的程序Flash存储器,地址为0000H~ F000H。单片机复位后,程序计数器PC的 内容为0000H,从0000H单元开始执行程序。
CY(PSW.7):进位标志位 当执行加/减法指令时,如果操作结果的最高位D7 出现进/借位,则CY置“1”,否则清“0”。执行 乘除运算后,CY清零。此外,CPU在进行移位操 作时也会影响这个标志位。
10:15:52 10
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P
10:15:52 12
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P
第2章 STC15F2K60S2单片机硬件结构
2.2 中央处理器(CPU)
单片机的中央处理器CPU由运算器和控制器组成。 它的作用是读入并分析每条指令,并根据各指令功能控制 单片机的各功能部件执行指定的运算或操作。 2.2.1 运算器 运算器主要用来对操作数进行算术、逻辑和位操作运算, 主要包括算术逻辑运算单元ALU、累加器ACC、寄存器B、 位处理器、程序状态字寄存器PSW及两个暂存器TMP1和 TMP2等。 算术逻辑运算单元ALU用来完成加、减、乘、除等基本算 术运算及完成8位变量的逻辑与、或、非、异或以及求补 等逻辑运算,还具有位操作功能。
速A/D转换器、CCP/PWM/PCA、看门狗、片内高精度RC振荡 器、高可靠性复位电路等组成,其内部结构如图2-1所示。
图2-1
STC15F2K60S2单片机内部结构
该单片机具有以下特点:
8位增加型8051内核,单时钟机器周期(1T),其指令代码与 8051完全兼容;
内部集成了高可靠复位电路和高精度RC时钟,常温下温飘 ±0.6%(-20℃~+65℃),ISP编程时内部时钟从5MHz~35MHz 可选,还可对外输出时钟。 内部集成有的Flash程序存储器和2048B的数据存储器SRAM, 包括常规的256B和内部扩展的1792B XRAM,并具有较强的加密 性; 芯片内集成有大容量的EEPROM功能;
RS1,RS0(PSW.4 ,PSW.3):工作寄存器组选择标志位。 RS1、RS0与所选择的4组工作寄存器组的对应关系如表2-1所 示。
RS1 0 0 1 1 RS0 0 1 0 1 工作寄存器组 0组(片内RAM地址00H-07H) 1组片内RAM地址08H-0FH) 2组(片内RAM地址10H-17H) 3组(片内RAM地址18H-1FH)
程序Flash存储器可在线反复编程擦写10万次以上,大大 提高了芯片使用效率,增加了灵活性。
STC15F2K60S2单片机基本结构与系统典型构成
单片机产品
8051内核是Intel 8051系列单片机的基本标准,许多参 考书上将这种单片机称为MCS-51系列单片机。
MCS-51 系 列 单 片 机 的 典 型 产 品 为 8051 , 它 有 4K×8ROM,128字节RAM,2个16位定时/计数器,4 个8位I/O口,一个串行口。
二十世纪80年代,Intel将8051内核转让或出售给几家 著名的IC厂商,如Philips,Atmel等。这样,8051单片 机就变成众多制造厂家支持的,发展成为上百个产品 的大家族。
STC15F2K60S2单片Fra bibliotek机的基本结构和系
统的典型构成
本章学习目标 掌握STC15F2K60S2单片机的基本结构 掌握单片机I/O口的使用 掌握单片机应用系统的典型构成
2
§3.1 STC15F2K60S2单片机的基本结构
一、单片机的内部结构
单片微型计算机(简称单片机)在一片芯片 上集成了前述微型计算机的功能结构,有 些单片机不仅集成了CPU、存储程序和数 据的存储器、I/O接口、定时/计数器等常规 资源,而且还集成了工业测控系统中常用 的模拟量模块。
AC(PSW.6):辅助进位标志位 当执行加/减法指令时,如果低四位数向高 四位数产生进/借位,则AC置“1”,否则清 零。
12
位号 D7 D6 D5 D4 D3 D2 D1 D0 符号 CY AC F0 RS1 RS0 OV F1 P
F0(PSW.5):用户标志0。 该位是由用户定义的一个状态标志。可以用软件 来使它置“1”或清“0”,也可以由软件测试F0控制 程序的流向。 F1(PSW.1):用户标志1。 该位是由用户定义的一个状态标志。与F0类似, 可以用软件来使它置“1”或清“0”,也可以由软件 测试F1控制程序的流向。
8 2STC15系列单片机技术应用资料
4. CLK_DIV.5是ADRJ位 ADRJ=0,10位A/D高8位放入ADC_RES,低2位存放
在ADC_RESL。A/D计算公式如下: 取10位结果理论(lǐlùn)计算值 =210*(Vin/Vcc) 取8位结果理论计算值 =28*(Vin/Vcc) ADRJ=1,10位A/D高2位放入ADC_RES,低8位存放 在ADC_RESL。A/D计算公式如下: 取10位结果理论计算值 =210*(Vin/Vcc)
第八页,共四十二页。
• 辅助寄存器AUXR(地址为8EH,复位(fù wèi)值为
01H)各位定义如下:
位号 D7 D6 D5 D4 D3 D2 D1 D0 位名 T0x T1x UART_M T2 T2_C T2x EXTR S1 称 12 12 0x6 R /T 12 AM S2
1)Tnx12:定时器n速度(sùdù)控制位。
8.4.1 片上A/D转换器工作原理
与A/D转换有关的特殊功能寄存器如下表(P.167):
第十九页,共四十二页。
1. STC15F2K60S2片内A/D内部结构
第二十页,共四十二页。
• STC15F2K60S2的ADC组成(zǔ chénɡ)
–多路选择开关 –比较器 –逐次比较寄存器 –10位DAC –转换结果寄存器(ADC_RES和ADC_RESL) –ADC控制寄存器ADC_CONTR
第五页,共四十二页。
8.5 STC15系列(xìliè)单片机中断系统 8.5.1 中断系统结构
STC15F2K60S2系列单片机提供14个中断源 1、外部中断5个:INT0,INT1, INT2, INT3,INT4 2、定时计数器2个:T0,T1,另T2,T3,T4被屏蔽 3、串行口4个:串口1、串口2、串口3、串口4 4、A/D转换中断 1个
STC15F2K60S2系列单片机总体介绍
STC15F2K60S2系列单片机总体介绍1.STC15F2K60S2系列单片机简介STC15F2K60S2系列单片机是STC 生产的单时钟/机器周期(1T)的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,�������代��技术,����,指�代�����������代��技术,����,指�代����指�代����容传统8051,但速度快8-12倍。
����高�度����高�度R/C 时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),ISP 编程时5MHz~35MHz 宽范围可设置,可彻底省掉外�昂贵的晶振和外�复位电路(��已��高可靠复位电路,ISP 编程时8级复位门槛电压可选)。
3路CCP/PWM/PCA ,8路高速10位A/D 转换(30万次/秒),�置2K 字节大容量SRAM ,2组超高速异步串行通信端口(UART1/UART2,可在5组管脚之间进行切换,分时复�可作5组串口使�),1组高速同步串行通信端口SPI ,���串行口通信���串行口通信�串行口通信/电机控制/强干扰场合。
在 Ke�lC Ke�l C 开发环境中,选择 Intel 8052 编译,头文件包含<reg51.h>即可现STC15系列单片机��STC-Y5超高速CPU �核,在相同的时钟频率下,速度又比STC 早期的1T 系列单片机(如STC12系列/STC11系列/STC10系列)的速度快20%.1.增强型 8051 CPU ,1T ,单时钟/机器周期,速度比普通8051快8-12倍2.工作电压:STC15F2K60S2 系列工作电压:5.5V - 4.5V (5V 单片机)STC15L2K60S2 系列工作电压:3.6V - 2.4V (3V 单片机)3.8K/16K/24K/32K/40K/48K/56K/60K/61K/63.5K 字节片�Flash 程序存储器,可擦写次数10万次以上4.片�大容量�大容量2048字节的的SRAM ,包括常规的256字节RAM <�data> 和��扩展的1792字节XRAM <xdata>5.大容量片�EEPROM ,擦写次数10万次以上6.ISP/IAP ,在系统可编程/在应�可编程,�需编程器,�需仿真器7.共8通道10位高速ADC ,速度可达30万次/秒,3路PWM 还可当3路D/A 使�8.共3通道捕获/比较单元(CCP/PWM/PCA)----也可�来再实现3个定时器或3个外�中断(支持上升沿/下降沿中断)或3路D/A9.利�CCP/PCA高速脉冲输出功能可实现3路9 ~ 16位PWM (每通道占�系统时间小于0.6%)10.利�定时器T0、T1或T2的时钟输出功能可实现高�度的8 ~ 16位PWM (占�系统时间小于0.4%)11.��高可靠复位,ISP编程时8级复位门槛电压可选,可彻底省掉外�复位电路12.工作频率范围:0MHz ~ 28MHz,相当于普通8051的0MHz~336MHz13.��高�度R/C时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),ISP编程时��时钟从5MHz~28MHz可设(5.5296MHz / 11.0592MHz / 22.1184MHz)14.不需外�晶振和外�复位,还可�外输出时钟和低电平复位信号15.两组超高速异步串行通信端口(可同时使�),可在5组管脚之间进行切换,分时复�可当5组串口使�:串口1(RxD/P3.0, TxD/P3.1)可以切换到(RxD_2/P3.6, TxD_2/P3.7),还可以切换到(RxD_3/P1.6, TxD_3/P1.7);串口2(RxD2/P1.0, TxD2/P1.1)可以切换到(RxD2_2/P4.6, TxD2_2/P4.7)注意:建议�户将串口1放在 P3.6/P3.7 或 P1.6/ P1.7 (P3.0/P3.1 作下载/仿真�);若�户不想切换,坚持使� P3.0/P3.1 或作为串口1进行通信,则务必在下载程序时,在软件上勾选“下次冷启动时,P3.2/P3.3为0/0时才可以下载程序”。
STC15F2K60S2系列单片机总体介绍
STC15F2K60S2系列单片机总体介绍1.STC15F2K60S2系列单片机简介STC15F2K60S2系列单片机是STC 生产的单时钟/机器周期(1T)的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,�������代��技术,����,指�代�����������代��技术,����,指�代����指�代����容传统8051,但速度快8-12倍。
����高�度����高�度R/C 时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),ISP 编程时5MHz~35MHz 宽范围可设置,可彻底省掉外�昂贵的晶振和外�复位电路(��已��高可靠复位电路,ISP 编程时8级复位门槛电压可选)。
3路CCP/PWM/PCA ,8路高速10位A/D 转换(30万次/秒),�置2K 字节大容量SRAM ,2组超高速异步串行通信端口(UART1/UART2,可在5组管脚之间进行切换,分时复�可作5组串口使�),1组高速同步串行通信端口SPI ,���串行口通信���串行口通信�串行口通信/电机控制/强干扰场合。
在 Ke�lC Ke�l C 开发环境中,选择 Intel 8052 编译,头文件包含<reg51.h>即可现STC15系列单片机��STC-Y5超高速CPU �核,在相同的时钟频率下,速度又比STC 早期的1T 系列单片机(如STC12系列/STC11系列/STC10系列)的速度快20%.1.增强型 8051 CPU ,1T ,单时钟/机器周期,速度比普通8051快8-12倍2.工作电压:STC15F2K60S2 系列工作电压:5.5V - 4.5V (5V 单片机)STC15L2K60S2 系列工作电压:3.6V - 2.4V (3V 单片机)3.8K/16K/24K/32K/40K/48K/56K/60K/61K/63.5K 字节片�Flash 程序存储器,可擦写次数10万次以上4.片�大容量�大容量2048字节的的SRAM ,包括常规的256字节RAM <�data> 和��扩展的1792字节XRAM <xdata>5.大容量片�EEPROM ,擦写次数10万次以上6.ISP/IAP ,在系统可编程/在应�可编程,�需编程器,�需仿真器7.共8通道10位高速ADC ,速度可达30万次/秒,3路PWM 还可当3路D/A 使�8.共3通道捕获/比较单元(CCP/PWM/PCA)----也可�来再实现3个定时器或3个外�中断(支持上升沿/下降沿中断)或3路D/A9.利�CCP/PCA高速脉冲输出功能可实现3路9 ~ 16位PWM (每通道占�系统时间小于0.6%)10.利�定时器T0、T1或T2的时钟输出功能可实现高�度的8 ~ 16位PWM (占�系统时间小于0.4%)11.��高可靠复位,ISP编程时8级复位门槛电压可选,可彻底省掉外�复位电路12.工作频率范围:0MHz ~ 28MHz,相当于普通8051的0MHz~336MHz13.��高�度R/C时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),ISP编程时��时钟从5MHz~28MHz可设(5.5296MHz / 11.0592MHz / 22.1184MHz)14.不需外�晶振和外�复位,还可�外输出时钟和低电平复位信号15.两组超高速异步串行通信端口(可同时使�),可在5组管脚之间进行切换,分时复�可当5组串口使�:串口1(RxD/P3.0, TxD/P3.1)可以切换到(RxD_2/P3.6, TxD_2/P3.7),还可以切换到(RxD_3/P1.6, TxD_3/P1.7);串口2(RxD2/P1.0, TxD2/P1.1)可以切换到(RxD2_2/P4.6, TxD2_2/P4.7)注意:建议�户将串口1放在 P3.6/P3.7 或 P1.6/ P1.7 (P3.0/P3.1 作下载/仿真�);若�户不想切换,坚持使� P3.0/P3.1 或作为串口1进行通信,则务必在下载程序时,在软件上勾选“下次冷启动时,P3.2/P3.3为0/0时才可以下载程序”。
STC15F2K60S2-01-IO跑马灯(寄存器版)基本操作
STC15F2K60S2-01-IO跑马灯(寄存器版)基本操作STC15F2K60S2-01-IO跑马灯(寄存器版)基本操作本文将以流水灯为例,对STC15F2K60S2单片机的普通IO口的基本操作进行详细介绍。
先看效果图:本例是通过控制开发板上D1、D2、D3、D4四个LED在一定时间内的亮与灭来实现流水灯的效果,下面我们来详细介绍一下实现的过程。
打开开发板原理图,找到D1、D2、D3、D4这四个LED硬件原理图:从原理图中,我们不难发现,只要分别给P16、P17、P47、P46这四个IO一个低电平,对应的LED就会被点亮。
那么怎么才能让STC15F2K60S2单片机这四个IO口输出低电平呢?虽然不简单,但也不是很复杂。
首先,我们需要来配置这四个IO口的模式,从芯片手册上我们可以知道,STC15F2K60S2单片机的所有I/O口均可由软件配置成4种工作类型之一,即:准双向口/弱上拉、推挽输出/强上拉、仅为输入(高阻)或开漏输出功能,每个口用2个控制寄存器中的相应位控制每个引脚的工作类型。
那么我们来先看P16、P17口,这两个IO口是在P1端口上,从STC提供的芯片手册上,我们可以看到P1口的配置如下:也就是说,P1口的四种工作类型,是通过设置P1M1、P1M0的值来确定的。
这里我们演示流水灯用的是普通输入输出功能,也就是我们需要将P1M1、P1M0都设置成0就可以了!同样,P46、P47也是一样的设置:在这里就偷下懒,直接把所有I/O口都设置成准双向口了。
说到这里,可能有人会有疑惑:如果我只需要将某个I/O口设置成准双向口,其他的I/O口要用作别的功能,那该怎么设置呢?这个很简单,我们只需要按位设置。
举个例子,如果我们有这么一个需求,需要将P1.7为开漏,P1.6为强推挽输出,P1.5为高阻输入,其余I/O 口均为准双向口,那么我们只需要如下设置即可:P1M1 = 10100000B;P1M0 = 11000000B;还需要提醒一下,虽然STC15F2K60S2单片机的每个I/O口在弱上拉/强推挽输出/开漏模式时,都能承受20mA的灌电流(还是要加限流电阻,如1K,560R,472R 等),在强推挽输出时能输出20mA的拉电流(也要加限流电阻),但整个单片机的工作电流推荐不要超过90mA,即从MCU-VCC流入的电流建议不要超过90mA,从MCU-GND流出电流建议不要超过90mA,整体流出/流出电流建议都不要超过90mA。
STC15F2K60S2头文件
#ifndef __STC15F2K60S2_H_#define __STC15F2K60S2_H_///////////////////////////////////////////////////注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为// 高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用//相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2// P2.3/P2.7/P3.7/P4.2/P4.4/P4.5////////////////////////////////////////////////////////////////////////////////////////////////////包含本头文件后,不用另外再包含"REG51.H"//内核特殊功能寄存器// 复位值描述sfr ACC = 0xE0; //0000,0000 累加器Accumulatorsfr B = 0xF0; //0000,0000 B寄存器sfr PSW = 0xD0; //0000,0000 程序状态字页脚内容1sbit CY = PSW^7;sbit AC = PSW^6;sbit F0 = PSW^5;sbit RS1 = PSW^4;sbit RS0 = PSW^3;sbit OV = PSW^2;sbit P = PSW^0;sfr SP = 0x81; //0000,0111 堆栈指针sfr DPL = 0x82; //0000,0000 数据指针低字节sfr DPH = 0x83; //0000,0000 数据指针高字节//I/O 口特殊功能寄存器sfr P0 = 0x80; //1111,1111 端口0sbit P00 = P0^0;sbit P01 = P0^1;sbit P02 = P0^2;sbit P03 = P0^3;页脚内容2sbit P04 = P0^4;sbit P05 = P0^5;sbit P06 = P0^6;sbit P07 = P0^7;sfr P1 = 0x90; //1111,1111 端口1sbit P10 = P1^0;sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;sbit P14 = P1^4;sbit P15 = P1^5;sbit P16 = P1^6;sbit P17 = P1^7;sfr P2 = 0xA0; //1111,1111 端口2sbit P20 = P2^0;sbit P21 = P2^1;sbit P22 = P2^2;页脚内容3sbit P23 = P2^3;sbit P24 = P2^4;sbit P25 = P2^5;sbit P26 = P2^6;sbit P27 = P2^7;sfr P3 = 0xB0; //1111,1111 端口3sbit P30 = P3^0;sbit P31 = P3^1;sbit P32 = P3^2;sbit P33 = P3^3;sbit P34 = P3^4;sbit P35 = P3^5;sbit P36 = P3^6;sbit P37 = P3^7;sfr P4 = 0xC0; //1111,1111 端口4sbit P40 = P4^0;sbit P41 = P4^1;页脚内容4sbit P42 = P4^2;sbit P43 = P4^3;sbit P44 = P4^4;sbit P45 = P4^5;sbit P46 = P4^6;sbit P47 = P4^7;sfr P5 = 0xC8; //xxxx,1111 端口5sbit P50 = P5^0;sbit P51 = P5^1;sbit P52 = P5^2;sbit P53 = P5^3;sbit P54 = P5^4;sbit P55 = P5^5;sbit P56 = P5^6;sbit P57 = P5^7;sfr P6 = 0xE8; //0000,0000 端口6sbit P60 = P6^0;页脚内容5sbit P61 = P6^1;sbit P62 = P6^2;sbit P63 = P6^3;sbit P64 = P6^4;sbit P65 = P6^5;sbit P66 = P6^6;sbit P67 = P6^7;sfr P7 = 0xF8; //0000,0000 端口7sbit P70 = P7^0;sbit P71 = P7^1;sbit P72 = P7^2;sbit P73 = P7^3;sbit P74 = P7^4;sbit P75 = P7^5;sbit P76 = P7^6;sbit P77 = P7^7;sfr P0M0 = 0x94; //0000,0000 端口0模式寄存器0页脚内容6sfr P0M1 = 0x93; //0000,0000 端口0模式寄存器1 sfr P1M0 = 0x92; //0000,0000 端口1模式寄存器0 sfr P1M1 = 0x91; //0000,0000 端口1模式寄存器1 sfr P2M0 = 0x96; //0000,0000 端口2模式寄存器0 sfr P2M1 = 0x95; //0000,0000 端口2模式寄存器1 sfr P3M0 = 0xB2; //0000,0000 端口3模式寄存器0 sfr P3M1 = 0xB1; //0000,0000 端口3模式寄存器1 sfr P4M0 = 0xB4; //0000,0000 端口4模式寄存器0 sfr P4M1 = 0xB3; //0000,0000 端口4模式寄存器1 sfr P5M0 = 0xCA; //0000,0000 端口5模式寄存器0 sfr P5M1 = 0xC9; //0000,0000 端口5模式寄存器1 sfr P6M0 = 0xCC; //0000,0000 端口6模式寄存器0 sfr P6M1 = 0xCB; //0000,0000 端口6模式寄存器1 sfr P7M0 = 0xE2; //0000,0000 端口7模式寄存器0 sfr P7M1 = 0xE1; //0000,0000 端口7模式寄存器1//系统管理特殊功能寄存器页脚内容7sfr PCON = 0x87; //0001,0000 电源控制寄存器sfr AUXR = 0x8E; //0000,0000 辅助寄存器sfr AUXR1 = 0xA2; //0000,0000 辅助寄存器1sfr P_SW1 = 0xA2; //0000,0000 外设端口切换寄存器1sfr CLK_DIV = 0x97; //0000,0000 时钟分频控制寄存器sfr BUS_SPEED = 0xA1; //xx10,x011 总线速度控制寄存器sfr P1ASF = 0x9D; //0000,0000 端口1模拟功能配置寄存器sfr P_SW2 = 0xBA; //0xxx,x000 外设端口切换寄存器//中断特殊功能寄存器sfr IE = 0xA8; //0000,0000 中断控制寄存器sbit EA = IE^7;sbit ELVD = IE^6;sbit EADC = IE^5;sbit ES = IE^4;sbit ET1 = IE^3;sbit EX1 = IE^2;页脚内容8sbit ET0 = IE^1;sbit EX0 = IE^0;sfr IP = 0xB8; //0000,0000 中断优先级寄存器sbit PPCA = IP^7;sbit PLVD = IP^6;sbit PADC = IP^5;sbit PS = IP^4;sbit PT1 = IP^3;sbit PX1 = IP^2;sbit PT0 = IP^1;sbit PX0 = IP^0;sfr IE2 = 0xAF; //0000,0000 中断控制寄存器2sfr IP2 = 0xB5; //xxxx,xx00 中断优先级寄存器2sfr INT_CLKO = 0x8F; //0000,0000 外部中断与时钟输出控制寄存器//定时器特殊功能寄存器sfr TCON = 0x88; //0000,0000 T0/T1控制寄存器页脚内容9sbit TF1 = TCON^7;sbit TR1 = TCON^6;sbit TF0 = TCON^5;sbit TR0 = TCON^4;sbit IE1 = TCON^3;sbit IT1 = TCON^2;sbit IE0 = TCON^1;sbit IT0 = TCON^0;sfr TMOD = 0x89; //0000,0000 T0/T1模式寄存器sfr TL0 = 0x8A; //0000,0000 T0低字节sfr TL1 = 0x8B; //0000,0000 T1低字节sfr TH0 = 0x8C; //0000,0000 T0高字节sfr TH1 = 0x8D; //0000,0000 T1高字节sfr T4T3M = 0xD1; //0000,0000 T3/T4模式寄存器sfr T3T4M = 0xD1; //0000,0000 T3/T4模式寄存器sfr T4H = 0xD2; //0000,0000 T4高字节sfr T4L = 0xD3; //0000,0000 T4低字节页脚内容10sfr T3H = 0xD4; //0000,0000 T3高字节sfr T3L = 0xD5; //0000,0000 T3低字节sfr T2H = 0xD6; //0000,0000 T2高字节sfr T2L = 0xD7; //0000,0000 T2低字节sfr WKTCL = 0xAA; //0000,0000 掉电唤醒定时器低字节sfr WKTCH = 0xAB; //0000,0000 掉电唤醒定时器高字节sfr WDT_CONTR = 0xC1; //0000,0000 看门狗控制寄存器//串行口特殊功能寄存器sfr SCON = 0x98; //0000,0000 串口1控制寄存器sbit SM0 = SCON^7;sbit SM1 = SCON^6;sbit SM2 = SCON^5;sbit REN = SCON^4;sbit TB8 = SCON^3;sbit RB8 = SCON^2;sbit TI = SCON^1;页脚内容11sbit RI = SCON^0;sfr SBUF = 0x99; //xxxx,xxxx 串口1数据寄存器sfr S2CON = 0x9A; //0000,0000 串口2控制寄存器sfr S2BUF = 0x9B; //xxxx,xxxx 串口2数据寄存器sfr S3CON = 0xAC; //0000,0000 串口3控制寄存器sfr S3BUF = 0xAD; //xxxx,xxxx 串口3数据寄存器sfr S4CON = 0x84; //0000,0000 串口4控制寄存器sfr S4BUF = 0x85; //xxxx,xxxx 串口4数据寄存器sfr SADDR = 0xA9; //0000,0000 从机地址寄存器sfr SADEN = 0xB9; //0000,0000 从机地址屏蔽寄存器//ADC 特殊功能寄存器sfr ADC_CONTR = 0xBC; //0000,0000 A/D转换控制寄存器sfr ADC_RES = 0xBD; //0000,0000 A/D转换结果高8位sfr ADC_RESL = 0xBE; //0000,0000 A/D转换结果低2位//SPI 特殊功能寄存器sfr SPSTAT = 0xCD; //00xx,xxxx SPI状态寄存器页脚内容12sfr SPCTL = 0xCE; //0000,0100 SPI控制寄存器sfr SPDAT = 0xCF; //0000,0000 SPI数据寄存器//IAP/ISP 特殊功能寄存器sfr IAP_DATA = 0xC2; //0000,0000 EEPROM数据寄存器sfr IAP_ADDRH = 0xC3; //0000,0000 EEPROM地址高字节sfr IAP_ADDRL = 0xC4; //0000,0000 EEPROM地址第字节sfr IAP_CMD = 0xC5; //xxxx,xx00 EEPROM命令寄存器sfr IAP_TRIG = 0xC6; //0000,0000 EEPRPM命令触发寄存器sfr IAP_CONTR = 0xC7; //0000,x000 EEPROM控制寄存器//PCA/PWM 特殊功能寄存器sfr CCON = 0xD8; //00xx,xx00 PCA控制寄存器sbit CF = CCON^7;sbit CR = CCON^6;sbit CCF2 = CCON^2;sbit CCF1 = CCON^1;sbit CCF0 = CCON^0;页脚内容13sfr CMOD = 0xD9; //0xxx,x000 PCA 工作模式寄存器sfr CL = 0xE9; //0000,0000 PCA计数器低字节sfr CH = 0xF9; //0000,0000 PCA计数器高字节sfr CCAPM0 = 0xDA; //0000,0000 PCA模块0的PWM寄存器sfr CCAPM1 = 0xDB; //0000,0000 PCA模块1的PWM寄存器sfr CCAPM2 = 0xDC; //0000,0000 PCA模块2的PWM 寄存器sfr CCAP0L = 0xEA; //0000,0000 PCA模块0的捕捉/比较寄存器低字节sfr CCAP1L = 0xEB; //0000,0000 PCA模块1的捕捉/比较寄存器低字节sfr CCAP2L = 0xEC; //0000,0000 PCA模块2的捕捉/比较寄存器低字节sfr PCA_PWM0 = 0xF2; //xxxx,xx00 PCA模块0的PWM寄存器sfr PCA_PWM1 = 0xF3; //xxxx,xx00 PCA模块1的PWM寄存器sfr PCA_PWM2 = 0xF4; //xxxx,xx00 PCA模块1的PWM寄存器sfr CCAP0H = 0xFA; //0000,0000 PCA模块0的捕捉/比较寄存器高字节sfr CCAP1H = 0xFB; //0000,0000 PCA模块1的捕捉/比较寄存器高字节sfr CCAP2H = 0xFC; //0000,0000 PCA模块2的捕捉/比较寄存器高字节//比较器特殊功能寄存器页脚内容14sfr CMPCR1 = 0xE6; //0000,0000 比较器控制寄存器1sfr CMPCR2 = 0xE7; //0000,0000 比较器控制寄存器2//增强型PWM波形发生器特殊功能寄存器sfr PWMCFG = 0xf1; //x000,0000 PWM配置寄存器sfr PWMCR = 0xf5; //0000,0000 PWM控制寄存器sfr PWMIF = 0xf6; //x000,0000 PWM中断标志寄存器sfr PWMFDCR = 0xf7; //xx00,0000 PWM外部异常检测控制寄存器//如下特殊功能寄存器位于扩展RAM区域//访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写#define PWMC (*(unsigned int volatile xdata *)0xfff0)#define PWMCH (*(unsigned char volatile xdata *)0xfff0)#define PWMCL (*(unsigned char volatile xdata *)0xfff1)#define PWMCKS (*(unsigned char volatile xdata *)0xfff2)#define PWM2T1 (*(unsigned int volatile xdata *)0xff00)#define PWM2T1H (*(unsigned char volatile xdata *)0xff00)#define PWM2T1L (*(unsigned char volatile xdata *)0xff01)页脚内容15#define PWM2T2 (*(unsigned int volatile xdata *)0xff02) #define PWM2T2H (*(unsigned char volatile xdata *)0xff02) #define PWM2T2L (*(unsigned char volatile xdata *)0xff03) #define PWM2CR (*(unsigned char volatile xdata *)0xff04) #define PWM3T1 (*(unsigned int volatile xdata *)0xff10) #define PWM3T1H (*(unsigned char volatile xdata *)0xff10) #define PWM3T1L (*(unsigned char volatile xdata *)0xff11) #define PWM3T2 (*(unsigned int volatile xdata *)0xff12) #define PWM3T2H (*(unsigned char volatile xdata *)0xff12) #define PWM3T2L (*(unsigned char volatile xdata *)0xff13) #define PWM3CR (*(unsigned char volatile xdata *)0xff14) #define PWM4T1 (*(unsigned int volatile xdata *)0xff20) #define PWM4T1H (*(unsigned char volatile xdata *)0xff20) #define PWM4T1L (*(unsigned char volatile xdata *)0xff21) #define PWM4T2 (*(unsigned int volatile xdata *)0xff22) #define PWM4T2H (*(unsigned char volatile xdata *)0xff22) #define PWM4T2L (*(unsigned char volatile xdata *)0xff23)页脚内容16#define PWM4CR (*(unsigned char volatile xdata *)0xff24) #define PWM5T1 (*(unsigned int volatile xdata *)0xff30) #define PWM5T1H (*(unsigned char volatile xdata *)0xff30) #define PWM5T1L (*(unsigned char volatile xdata *)0xff31) #define PWM5T2 (*(unsigned int volatile xdata *)0xff32) #define PWM5T2H (*(unsigned char volatile xdata *)0xff32) #define PWM5T2L (*(unsigned char volatile xdata *)0xff33) #define PWM5CR (*(unsigned char volatile xdata *)0xff34) #define PWM6T1 (*(unsigned int volatile xdata *)0xff40) #define PWM6T1H (*(unsigned char volatile xdata *)0xff40) #define PWM6T1L (*(unsigned char volatile xdata *)0xff41) #define PWM6T2 (*(unsigned int volatile xdata *)0xff42) #define PWM6T2H (*(unsigned char volatile xdata *)0xff42) #define PWM6T2L (*(unsigned char volatile xdata *)0xff43) #define PWM6CR (*(unsigned char volatile xdata *)0xff44) #define PWM7T1 (*(unsigned int volatile xdata *)0xff50) #define PWM7T1H (*(unsigned char volatile xdata *)0xff50)页脚内容17#define PWM7T1L (*(unsigned char volatile xdata *)0xff51) #define PWM7T2 (*(unsigned int volatile xdata *)0xff52) #define PWM7T2H (*(unsigned char volatile xdata *)0xff52) #define PWM7T2L (*(unsigned char volatile xdata *)0xff53) #define PWM7CR (*(unsigned char volatile xdata *)0xff54)/////////////////////////////////////////////////#endif页脚内容18。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STC15F2K60S2单片机开发板摘要单片机开发板的介绍单片机开发板是一块电路板和诸多元器件组合在一起供平时的学习、实验、开发等使用;是正式批量生产产品前,对产品进行设计和开发时使用的板子。
我们学习单片机,开始是对理论知识的学习,学习了一些指令和相关单片机结构的知识,而单片机开发板就是我们实践的工具,通过开发板我们可以做一些实验,从而掌握所学的知识。
打个比较通俗的例子:我们编写的代码是“软件”,而开发板是“硬件”,两者结合才会有用,如果只有代码,只有模拟的实验结果而不经过板子实践是学不好的,也掌握不了单片机。
简单概括说开发板实际上就是个多功的实验板,是学习单片机和开发单片机产品的好帮手。
上面集成了好多单片的的外围器件,如LED灯、数码管、按键、行列式按键、步进电机、伺服电机、液晶显示等等,利用一个开发板就可以编制不同的程序实现各种各样的功能,不用为了一个实验焊一块电路板了。
在开发板上设计、调试好程序,就能方便地移植到产品上,只是有时要作适当的修改,比如端口的设置等,因为毕竟开发板和产品的电路板不可能完全一致的。
这样我们就可以通过开发板的使用节省大量的资源,提高我们的学习效率。
为我们更好的学习单片机提供一个良好的平台。
国内外发展趋势现在可以说是单片机的战国时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:1、低功耗CMOS化MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。
所以这种工艺将是今后一段时期单片机发展的主要途径2、微型单片化现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。
现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。
3、主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,A TMEL公司的产品和中国台湾的Winbond系列单片机。
所以C8051为核心的单片机占据了半壁江山。
而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。
此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。
在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。
目录:1单片机最小系统...............................2 PC通讯的RS232接口电路.....................................3 1602LCD显示电路..................................................4 4位LED数码管显示电路........................................4 X4矩阵键盘电路.....................................................5 参考文献....................................................................6 附件.............................................................................一:单片机最小系统时钟源电路单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,结构如图2.1.1 中Y1、C16、C17。
Y1一般选择12MHZ频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
图2.1.1复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
其结构如图2.1.2 中R1、R2、C3和S18。
上电自动复位通过电容C3充电来实现。
手动按键复位是通过按键将电阻R1与VCC接通来实现。
二:RS-232总线标准RS-232C总线标准定义了25个引脚的连接器,各引脚的定义如表3-1所示。
表中定义的许多信号线是为通信业务联系或控制而设置的,在计算机串口通信中主要是用以下一些信号。
(1)数据传输信号:发送数据(TXD),接收数据(RXD)(2)调制解调器控制信号:请求发送(RTS),清除发送(CTS)(3)地线:保护地(PG),信号地(GND)Rs-232 C总线的其他标准规定如下:(1)R S-232总线标准逻辑电平:+5--+15V表示逻辑“0”,-15、-5表示逻辑“1”,噪声容限为2V。
(2)标准数据传输速率:50b/s 、 75b/s、 110b/s、600b/s、1200b/s 、 4800b/s 、9600 b/s 、 19200 b/s2.1 RS-232C接口电路当51单片机与PC机通过RS-232标准总线串行通信时,由于RS-232信号电平与51单片机信号电平不一致,因此,必须进行信号电平转换。
其常用的方法有两种,一种是采用运算放大器、晶体管、光电隔离器等器件组成的电路来实现,另一种是采用专门集成芯片来实现。
下面以MAX232专门集成芯片为例来介绍接口电路的实现。
2.2 MAX232接口电路MAX232芯片的引脚排列图如图6所示:图6 MAX232芯片的引脚排列图MAX232的工作电源为单电源,为了满足RS-232电平要求,MAX232内部有一个电压变化电路,与外接的4个1UF的电容一起长生+10V或-10V的工作电源。
器件内部还包括2个驱动器、2个接收器,每一个接收器将RS-232电平转换为5VTTL/CMOS电平;每一个发送器将TTL/CMOS电平转换成RS-232电平。
要实现多机通讯先要实现单机通讯,再把多个从机按照主从方式连接,再通过软件编程实现多机通讯。
单机通讯的传输过程主要分6步完成:1)PC机发出一个RS-232电平信号。
2)通过MAX232将信号转化为TTL/CMOS电平信号,以便于单片机接收。
3)单片机接收数据,然后通过内部程序将数据处理。
4)单片机发送TTL/CMOS电平数据。
5)通过MAX232将信号转化为RS-232电平信号,以便于PC 机接收。
6)PC机接收数据2.3 PC机采用DB-25型连接器DB-25连接器定义了25根信号线,分为4组:①异步通信的9个电压信号②20mA电流环信号 9个③空6个④保护地1个,作为设备接地端DB-25型连接器如图7所示图7 DB-25型连接器引脚排列图单片机与PC机串行通信电路图是由芯片MAX232实现51单片机与PC机串行通信的典型接线图。
图中外接电解电容C1,C2,C3,C4用于电源电压变换,提高抗干扰能力,它们可以取相同数值电容1.0uF/16V.其值一般为0.1UF.选择任一组电平转换电路实行串行通信,如图中选T1in, R1out分别与51单片机的TXD,RXD 相连,T1out ,R1in分别与PC机中RS232 接口的RSD , TSD相连,这种发送与接收的对应关系不能连错,则不能正常工作。
图用MAX232实现串行通信接口电路三:4*4矩阵键盘4*4矩阵键盘原理每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
4*4矩阵键盘电路图及效果图图2.5.1 4*4矩阵键盘电路图图2.5.2 4*4矩阵键盘效果图四 LCD1602模块液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域LCD1602各引脚接口说明表1 LCD1602各引脚接口说明编号符号引脚说明编号符号引脚说明1 VSS 电源地9 D2 数据2 VDD 电源正极10 D3 数据3 VL 液晶显示偏压11 D4 数据4 RS 数据/命令选择12 D5 数据5 R/W 读/写选择13 D6 数据6 E 使能信号14 D7 数据7 D0 数据15 BLA 背光源正极8 D1 数据16 BLK 背光源负极第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。