第9章 STC12C5A60S2单片机的片内

合集下载

STC12C5A60S2 系列单片机器件手册 说明书

STC12C5A60S2 系列单片机器件手册 说明书

Tel: 0755-********Fax: 0755-********创始人/研发总监:姚永平(139********)宏晶STC 官方网站: 1STC12C5A60S2系列 1T 8051 单片机中文指南全球最大的8051单片机设计公司S T C M C U L i m i t e d .临时技术支持:139********授权代理:南通国芯微电子有限公司总机:0513-5501 2928 / 2929 / 2966传真:0513-5501 2969 / 2956 / 2947宏晶STC 单片机官方网站: Update date: 2011/3/19---高速,高可靠---低功耗,超低价---超���超���� ---�抗静电,�抗干扰---1个时钟/机器周期8051STC12C5A60S2系列单片机器件手册STC12C5A08S2, STC12C5A08ADSTC12C5A16S2, STC12C5A16ADSTC12C5A20S2, STC12C5A20ADSTC12C5A32S2, STC12C5A32ADSTC12C5A40S2, STC12C5A40ADSTC12C5A48S2, STC12C5A48ADSTC12C5A52S2, STC12C5A52ADSTC12C5A56S2, STC12C5A56ADSTC12C5A60S2, STC12C5A60AD STC12C5A62S2, STC12C5A62AD全部中国大陆本土独立自主知识产权,技术处于全球领先水平,请全体中国人民支持,您的支持是中国大陆本土企业统一全球市场的有力保证.目录第1章STC12C5A60S2系列单片机总体介绍 (8)1.1 STC12C5A60S2系列单片机简介 (8)1.2 STC12C5A60S2系列单片机的内部结构 (10)1.3 STC12C5A60S2系列单片机管脚图 (11)1.4 STC12C5A60S2系列单片机选型一览表 (13)1.5 STC12C5A60S2系列单片机最小应用系统 (15)1.6 STC12C5A60S2系列在系统可编程(ISP)典型应用线路图 (17)1.7 STC12C5A60S2系列管脚说明 (19)1.8 STC12C5A60S2系列单片机封装尺寸图 (22)1.9 STC12C5A60S2系列单片机命名规则 (27)1.10 每个单片机具有全球唯一身份证号码(ID号) (28)1.11 如何从传统8051单片机过渡到STC12C5A60S2系列单片机 (31)第2章时钟,省电模式及复位 (35)2.1 STC12C5A60S2系列单片机的时钟 (35)2.1.1 STC12C5A60S2系列单片机内部/外部工作时钟可选 (35)2.1.2 时钟分频及分频寄存器 (36)2.1.3 如何知道单片机内部R/C振荡频率(内部时钟频率) (37)2.1.4 可编程时钟输出 (40)2.2 STC12C5A60S2系列单片机的省电模式 (45)2.2.1 低速模式 (47)2.2.2 空闲模式 (48)2.2.3 掉电模式/停机模式 (48)2.3 复位 (54)2.3.1 外部RST引脚复位(第一复位功能脚) (54)2.3.2 外部低压检测复位(高可靠复位,新增第二复位功能脚RST2复位) (54)2.3.3 外部低压检测若不作第二复位功能时,可作外部低压检测中断 (56)2.3.4 软件复位 (60)2.3.5 上电复位/掉电复位 (60)2.3.6 MAX810专用复位电路 (61)2.3.7 看门狗(WDT)复位 (61)2.3.8 冷启动复位和热启动复位 (65)第3章片内存储器和特殊功能寄存器(SFRs) (66)3.1 程序存储器 (66)3.2 数据存储器(SRAM) (67)3.2.1 内部RAM (67)3.2.2 内部扩展RAM (69)3.2.3 外部扩展的64KB数据存储器(片外RAM) (77)3.3 特殊功能寄存器(SFRs) (80)第4章.STC12C5A60S2系列单片机的I/O口结构 (87)4.1 I/O口各种不同的工作模式及配置介绍 (87)4.2 STC12C5A60S2系列单片机P4/P5口的使用 (92)4.3 I/O口各种不同的工作模式结构框图 (94)4.3.1 准双向口输出配置 (94)4.3.2 强推挽输出配置 (95)4.3.3 仅为输入(高阻)配置 (95)4.3.4 开漏输出配置(若外�上拉电阻,也可读) (95)4.4 一种典型三极管控制电路 (97)4.5 典型发光二极管控制电路 (97)4.6 混合电压供电系统3V/5V器件I/O口互连 (97)4.7 如何让I/O口上电复位时为低电平 (98)4.8 PWM输出时I/O口的状态 (99)4.9 I/O口直接驱动LED数码管应用线路图 (100)4.10 I/O口直接驱动LCD应用线路图 (101)4.11 A/D做按键扫描应用线路图 (102)第5章.指令系统 (103)5.1 寻址方式 (103)5.1.1 立即寻址 (103)5.1.2 直接寻址 (103)5.1.3 间接寻址 (103)5.1.4 寄存器寻址 (104)5.1.5 相对寻址 (104)5.1.6 变址寻址 (104)5.1.7 位寻址 (104)5.2 指令系统分类总结 (105)5.3 传统8051单片机的指令定义 (110)第6章.中断系统 (147)6.1 中断结构 (149)6.2 中断寄存器 (151)6.3 中断优先级 (159)6.4 中断处理 (160)6.5 外部中断 (161)6.6 中断测试程序(C程序及汇编程序) (162)6.6.1 外部中断0(INT0)的测试程序(C程序及汇编程序) (162)6.6.2 外部中断1(INT1)的测试程序(C程序及汇编程序) (166)6.6.3 P3.4/T0/INT下降沿中断(可用于唤醒掉电模式)的测试程序 (170)6.6.4 P3.5/T1/INT下降沿中断(可用于唤醒掉电模式)的测试程序 (172)6.6.5 P3.0/RxD/INT下降沿中断(可用于唤醒掉电模式)的测试程序 (174)—— C程序及汇编程序 (174)6.6.6 低压检测LVD中断(可用于唤醒掉电模式)的测试程序 (177)6.6.7 PCA模块中断(可用于唤醒掉电模式)的测试程序 (180)第7章.定时器/计数器 (184)7.1 定时器/计数器的相关寄存器 (184)7.2 定时器/计数器0工作模式(与传统8051单片机兼容) (189)7.2.1 模式0(13位定时器/计数器) (189)7.2.2 模式1(16位定时器/计数器)及测试程序 (190)7.2.3 模式2(8位自动重装模式) (194)7.2.4 模式3(两个8位计数器) (197)7.3 定时器/计数器1工作模式(与传统8051单片机兼容) (198)7.3.1 模式0(13位定时器/计数器) (198)7.3.2 模式1(16位定时器/计数器) (199)7.3.3 模式2(8位自动重装模式) (203)7.4 可编程时钟输出及测试程序(C程序和汇编程序) (206)7.4.1 定时器0的可编程时钟输出的测试程序 (209)7.4.2 定时器1的可编程时钟输出的测试程序 (211)7.4.3 独立波特率发生器的可编程时钟输出的测试程序 (213)7.5 古老Intel 8051单片机定时器0/1的应用举例 (215)7.6 如何将定时器T0/T1的速度提高12倍 (222)第8章.串行口通信 (223)8.1 串行口1的相关寄存器 (223)8.2 串行口1工作模式 (229)8.2.1 串行口1工作模式0:同步移位寄存器 (229)8.2.2 串行口1工作模式1:8位UART,波特率可变 (231)8.2.3 串行口1工作模式2:9位UART,波特率固定 (233)8.2.4 串行口1工作模式3:9位UART,波特率可变 (235)8.3 串行通信中波特率的设置 (237)8.4 串行口1的测试程序 (242)8.5 串行口2的相关寄存器 (248)8.6 串行口2工作模式 (254)8.7 串行口2的测试程序 (256)8.8 双机通信 (262)8.9 多机通信 (273)第9章.STC12C5A60S2系列单片机的A/D转换器 (279)9.1 A/D转换器的结构 (279)9.2 与A/D转换相关的寄存器 (281)9.3 A/D转换典型应用线路 (286)9.4 A/D做按键扫描应用线路图 (287)9.5 A/D转换模块的参考电压源 (288)9.6 A/D转换测试程序(C程序和汇编程序) (289)9.6.1 A/D转换测试程序(ADC中断方式) (289)9.6.2 A/D转换测试程序(ADC查询方式) (295)第10章.STC12C5A60S2系列单片机PCA/PWM应用 (301)10.1 与PCA/PWM应用有关的特殊功能寄存器 (301)10.2 PCA/PWM模块的结构 (307)10.3 PCA模块的工作模式 (309)10.3.1 捕获模式 (309)10.3.2 16位软件定时器模式 (310)10.3.3 高速输出模式 (311)10.3.4 脉宽调节模式(PWM) (312)10.4 用PCA功能扩展外部中断的示例程序(C程序和汇编程序) (314)10.5 用PCA功能实现定时器的示例程序(C程序和汇编程序) (318)10.6 PCA输出高速脉冲的示例程序(C程序和汇编程序) (322)10.7 PCA输出PWM的示例程序(C程序和汇编程序) (326)10.8 利用PWM实现D/A功能的典型应用线路图 (330)第11章.同步串行外围接口(SPI接口) (331)11.1 与SPI功能模块相关的特殊功能寄存器 (331)11.2 SPI接口的结构 (334)11.3 SPI接口的数据通信 (335)11.3.1 SPI接口的数据通信方式 (336)11.3.2 对SPI进行配置 (338)11.3.3 作为主机/从机时的额外注意事项 (339)11.3.4 通过SS改变模式 (340)11.3.5 写冲突 (340)11.3.6 数据模式 (341)11.4 适用单主单从系统的SPI功能测试程序 (343)11.4.1 中断方式 (343)11.4.2 查询方式 (349)11.5 适用互为主从系统的SPI功能测试程序 (355)11.5.1 中断方式 (355)11.5.2 查询方式 (361)第12章.STC12C5A60S2系列单片机EEPROM的应用 (367)12.1 IAP及EEPROM新增特殊功能寄存器介绍 (367)12.2 STC12C5A60S2系列单片机EEPROM空间大小及地址 (371)12.3 IAP及EEPROM汇编简介 (373)12.4 EEPROM测试程序 (377)第13章.STC12系列单片机开发/编程工具说明 (385)13.1 在系统可编程(ISP)原理,官方演示工具使用说明 (385)13.1.1 在系统可编程(ISP)原理使用说明 (385)13.1.2 STC12C5A60S2系列在系统可编程(ISP)典型应用线路图 (386)13.1.3 电脑端的ISP控制软件界面使用说明 (388)13.1.4 宏晶科技的ISP下载编程工具硬件使用说明 (390)13.1.5 若无RS-232转换器,如何用宏晶的ISP下载板做RS-232通信转换 (391)13.2 编译器/汇编器,编程器,仿真器 (392)13.3 自定义下载演示程序(实现不停电下载) (394)7STC12C5A60S2系列 1T 8051 单片机中文指南全球最大的8051单片机设计公司S T C M C U L i m i t e d .临时技术支持:139********授权代理:南通国芯微电子有限公司总机:0513-5501 2928 / 2929 / 2966传真:0513-5501 2969 / 2956 / 2947附录A :汇编语言编程...................................398附录B :C 语言编程......................................420附录C :STC12C5A60S2系列单片机电气特性...............430附录D :内部常规256字节RAM 间接寻址测试程序...........432附录E :用串口扩展I/O 接口..............................434附录F :利用STC 单片机普通I/O 驱动LCD 显示..............437附录G :一个I/O 口驱动发光二极管并扫描按键..............444附录H :如何利用Keil C 软件减少代码长度.................445附录I :STC12系列单片机取代传统8051注意事项............446附录J :如何采购和授权分销机构.........................450J.1 如何采购 ................................................450J.2 授权分销机构 ............................................451附录K :每日更新内容的备忘录...........................453附录L :以下是各系列的选型指南. (454)L.1 STC15F828EACS 系列选型指南(2011年5月开始送样) ..........454L.2 STC15F204EA 系列选型指南 ...............................454L.3 STC12C5A60S2系列选型指南 ..............................454L.4 STC11/10xx 系列选型指南 .................................454L.5 STC12C5201AD 系列选型指南 ..............................454L.6 STC12C5620AD 系列选型指南 ..............................454L.7 STC12C5410AD 系列选型指南 ..............................454L.8 STC12C2052AD 系列选型指南 ..............................454L.9 STC89C51/STC90C51系列选型指南 . (454)8STC12C5A60S2系列 1T 8051 单片机中文指南全球最大的8051单片机设计公司临时技术支持:139********S T C M C U L i mi t e d .授权代理:南通国芯微电子有限公司总机:0513-5501 2928 / 2929 / 2966传真:0513-5501 2969 / 2956 / 2947第1章 STC12C5A60S2系列单片机总体介绍1.1.STC12C5A60S2系列单片机简介STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超�抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12 倍。

STC12C5A60S2教程

STC12C5A60S2教程

特殊单元
0003H 外部中断0中断服务程序的入口地址 000BH 定时/计数器0中断服务程序的入口地址 0013H 外部中断1中断服务程序的入口地址 001BH 定时/计数器1中断服务程序的入口地址 0023H 串行通信口1中断服务程序的入口地址 002BH ADC中断服务程序的入口地址 0033H 低电压检测中断服务程序的入口地址 003BH PCA中断服务程序的入口地址 0043H 串行通信口2中断服务程序的入口地址 004BH SPI中断服务程序的入口地址 读取程序存储器中保存的表格常数等内容时,使用MOVC指令。
0592mhz电容c1c2的典型值是47pfxtal1gnd22stc12c5a60s222stc12c5a60s2单片机的结构单片机的结构221stc12c5a60s2221stc12c5a60s2单片机的内部结构单片机的内部结构ram地址寄存器ram电源监控上电复位上电复位掉电复位可配置io口p0p4可配置io口p5程序flash程序地址寄存器缓冲器堆栈指针pc增量器pcpcb寄存器acctmp2tmp11k字节eepomrstale定时和控制逻辑片内rc振荡器dptr硬件看门狗wdt8通道高速adspi2路pwmpcaccu捕获比较单元指令寄存器可配置振荡器alupsw中断uart定时器逻辑xtal1xtal2cpu时钟222cpu以8位算术逻辑运算部件alu为核心加上通过内部总线而挂在其周围的暂存器tmp1tmp2累加器acc寄存器b程序状态标志寄存器psw以及布尔处理机就组成了整个运算器的逻辑电路
FFH 特殊功能寄存器区(80H~FFH) ~ [只能直接寻址访问] 80H 7FH 通用用户RAM和堆栈区(30H~7FH) ~ 30H [可直接或间接字节寻址] 2FH 位寻址区(16字节,共128位) ~ 也可以字节寻址 20H 1FH~ 18H 3区(R7~R0) 2区(R7~R0) 17H~ 10H 4个工作寄存器区 也可做RAM单元使用 0FH~ 08H 1区(R7~R0) 07H~ 00H 0区(R7~R0) 80H~ FFH [只能间接寻址访问 ]

深入浅出玩转单片机之探索STC12C5A60S2

深入浅出玩转单片机之探索STC12C5A60S2

//启动看门狗
for(;;)
//LED2 隔一秒闪烁
{
LED2 = 1;
Delay_1ms(1000);
LED2 = 0;
Delay_1ms(1000); } }
编译、下载目标代码,发现 LED1 常灭,LED2 常亮,这是什么原因呢?
//定义 P1 口配置寄存器
sfr P1M0 = 0x92;
ly sfr AUXR = 0x8e; mi sbit LED = P1^0; ur unsigned int Time = 0; Fo bit flag;
//定义定时器 12 分频配置寄存器
void Timer0_Init(void) {
#include <reg52.h> sfr P1M1 = 0x91; sfr P1M0 = 0x92; sbit LED = P1^0; void main()
//定义 P1 口配置寄存器
{ P1M1 &= ~(1<<0); P1M0 |= (1<<0); LED = 1; for(;;);
}
//配置 P1.0 为推挽输出
m 4. 探索 STC12C5A60S2 看门狗 ------------------------- 11 o.co 5. 探索 STC12C5A60S2 UART 串行口通信 ----------------- 15 aoba 6. 探索 STC12C5A60S2 A/D 转换 ------------------------ 24 14.t 7. 探索 STC12C5A60S2 PCA/PWM 功能 -------------------- 27 zu13 8. 探索 STC12C5A60S2 EEPROM 的应用 ------------------- 35 http://f 9. 探索 STC12C5A60S2 内部扩展 1024 字节 RAM 的使用 ----- 39

STC12C5A60S2单片机引脚图

STC12C5A60S2单片机引脚图

STC12C5A60S2单片机引脚图
STC12C5A60S2单片机引脚图
来源:21ic 作者:
关键字:STC12C5A60S2 单片机引脚图
P0。

0—P0。

7(39—32):P0口是一个漏极开路型准双向I/O口.在访问外部存储器时,它是分时
多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻.在EPROM编程时,它接收
指令字节,而在验证程序时,则输出指令字节。

验证时,要求外接上拉电阻。

P1。

0—P1。

7(1-8):P1口是带内部上拉电阻的8位双向I/O口.在EPROM编程和程序验证时,
它接收低8位地址。

P2.0—P2.7(21-28):P2口是一个带内部上拉电阻的8位双向I/O口。

在访问外部存储器时,它
送出高8位地址。

在对EFROM编程和程序验证期间,它接收高8位地址。

P3.0—P3。

7(10-17):P3口是一个带内部上拉电阻的8位双向I/O口。

STC60S2内部EEPROM程序

STC60S2内部EEPROM程序
入口参数:unsigned int addr擦除扇区的首地址
出口参数:无
**********************************************/
void Erase_Sector(unsigned int addr)
{
ISP_CONTR = WAIT_TIME_20MHz|0x80;
调试环境:keil 3.0
/************************************************/
#include<reg52.h>
#include<STC12ROM.h>
#define uchar unsigned char
#define uint unsigned int
擦除速度:晶振为40MHz、20MHz、10MHz、5MHz,分别为0、1、2、3
***********************************************************/
#include<reg52.h>
sfr ISP_DATA = 0xC2; /* FLASH EEPROM数据寄存器*/
void Enable_IAP()
{
EA = 0;
ISP_TRIG = 0x5A; // Enable FLASH EEPROM
ISP_TRIG = 0xA5;
EA = 1;
}
/******************************************************
子程序名:void Disable_IAP()
void write_Byte(unsigned int addr,unsigned char ch)

STC 12C5A60S2芯片的实验板报告

STC 12C5A60S2芯片的实验板报告

目录第一章实习的目的及意义 (1)1.1生产实习的目的 (1)1.2生产实习的意义 (1)1.3生产实习的重要性 (1)第二章单片机的最小系统 (2)2.1部分芯片介绍 (2)2.1.1 AT89S52芯片 (2)2.1.2 MAX232芯片 (3)2.1.3 LCD1602液晶显示器 (4)2.1.4 DS12887芯片 (5)2.1.5 74HC573 (7)第三章单片机电路板焊接 (8)3.1 单片机焊接 (8)3.2焊接元件清单 (8)3.3 焊接注意事项 (10)第四章 C51语言的应用程序 (12)4.1 Keil uVision的使用 (12)4.2 流水灯程序 (12)4.3 流水灯高地位循环闪烁 (13)4.4 AD转换测温度 (15)4.5 按键控制1602 (21)4.6 调试中出现的问题 (28)第五章单片机开发板的应用 (29)5.1 应用程序 (29)第六章实习体会 (33)第一章实习的目的及意义1.1生产实习的目的此次生产实习的目的是在理论学习的基础上,通过完成一个设计51单片机的多种资源应用并具有综合功能的最小系统目标板的设计与编程应用。

1.2生产实习的意义将理论知识与实际应用相结合,从实际出发分析问题、研究问题和解决问题,将单片机的知识系统化,并能对电子电路、电子元器件、印制电路板等方面的知识有进一步的加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机的应用系统的开发设计打下一定基础。

1.3生产实习的重要性生产实习是电子信息工程专业教学计划的一个重要部分,是培养学生理论学习与实践相结合的重要实践性教学环节。

通过生产实习使学生了解实习单位的工作方式和工作流程;对以后大单片机课程设计,帝业设计做基础,了解一个开发板的开发制作的整个过程以及元器件的采购;对生产现场、生产过程中的电子信息设备、计算机设备的应用状况有较为深刻的认识,掌握常规电子信息设备的使用维护方法;在实践中进一步加强专业教育,了解本专业工程技术岗位和生产劳动岗位的工作情况和工作内容,培养团队精神和吃苦耐劳的精神;同时可以使学生学到企业的管理经验和工人师傅的艰苦创业精神,激励学生奋发向上的开拓精神。

单片机STC12C5A60S2

单片机STC12C5A60S2

单片机STC12C5A60S2在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。

而且STC系列单片机支持串口程序烧写。

显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。

重要的一点STC12C5A60S2目前的售价与传统51差不多,市场供应也很充足。

是一款高性价比的单片机STC12C5A60S2/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的 0~420MHz;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单片机为:11MHz~15.5MHz,3.3V 单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;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,三线通信,还多了串口。

单片机STC12C5A60S2知识讲解

单片机STC12C5A60S2知识讲解

单片机STC12C5A60S2在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。

而且STC系列单片机支持串口程序烧写。

显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。

重要的一点STC12C5A60S2目前的售价与传统51差不多,市场供应也很充足。

是一款高性价比的单片机STC12C5A60S2/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的 0~420MHz;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单片机为:11MHz~15.5MHz,3.3V 单片机为:8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;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,三线通信,还多了串口。

单片机STC12C5A60S2

单片机STC12C5A60S2

精心整理单片机STC12C5A60S2在众多的51系列单片机中,要算国内STC 公司的1T 增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH 工艺的,如STC12C5A60S2单片机内部就自带高达60KFLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。

而且STC 系列单片机支持串口程序烧写。

显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。

重要的一点STC12C5A60S2目前的售价与传统51差不多,市场供应也很充足。

是一款高性价比的单片机/低功耗/集成1.2.电压:3.4.5.6.,可设可达到(8.9.10.;11.外部掉电检测电路:在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位定时器;14.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;15.外部中断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);置到20.装:(均可VCCGNDP0写“1”时,被定义为高阻输入。

STC12C5A60S2系列1T单片机简介

STC12C5A60S2系列1T单片机简介

STC12C5A60S2系列1T单片机简介STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。

1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统80512.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V- 2.2V(3V单片机)3.工作频率范围:0 - 35MHz,相当于普通8051的0~420MHz4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节......5.片上集成1280字节RAM6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O 口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA7. 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单片机为:11MHz~15.5MHz3.3V单片机为:8MHz~12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准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,三线通信,还多了串口。

STC 12C5A60S2芯片的实验板报告

STC 12C5A60S2芯片的实验板报告

目录第一章实习的目的及意义 (1)1.1生产实习的目的 (1)1.2生产实习的意义 (1)第二章单片机的最小系统 (2)2.1部分芯片介绍 (2)2.1.1A T89S52 (2)2.1.2 MAX232芯片 (3)2.1.3 LCD1602液晶显示器 (3)第三章单片机电路板焊接 (5)3.1单片机的焊接 (5)3.2焊接原件清单 (5)3.3焊接注意事项 (7)第四章c语言应用程序 (8)4.1 Keil uVision的使用 (8)4.2 流水灯程序 (8)4.3流水灯高低位循环闪烁 (9)4.4 AD转换测温度 (11)4.5 串口通信程序 (18)4.6 按键控制1602 (42)第五章单片机开发板的应用 (49)5.1任务及要求 (49)第六章实习体会 (53)第一章实习的目的及意义1.1生产实习的目的此次生产实习的目的是在理论学习的基础上,通过完成一个设计51单片机的多种资源应用并具有综合功能的最小系统目标板的设计与编程应用。

锻炼我们的动手动脑能力,进一步理解课本中所学的知识,巩固和深化对单片机的认识。

同时有助于我们对理论知识的理解,帮助我们学习专业知识 为以后的学习打好基础。

实习要求我们了解单片机原理和各元器件的主要作用。

还要掌握焊接的技术。

独立编程序下到实验板中实现所需功能。

1.2生产实习的意义通过对实习基地进行有针对性的参观、学习,提高学习对本专业真的了解和认识,增加学习兴趣和增强专业自豪感,为日后专业知识的学习打下良好的基础。

同时,实习对我们了解社会、接触生产实际、加强劳动观念、培养动手能力和理论与实践相结合的能力等方面亦具有重要的意义。

1.3生产实习的重要性生产实习是电子信息工程专业教学计划的一个重要部分,是培养学生理论学习与实践相结合的重要实践性教学环节。

通过生产实习使学生了解实习单位的工作方式和工作流程;对以后大单片机课程设计,帝业设计做基础,了解一个开发板的开发制作的整个过程以及元器件的采购;对生产现场、生产过程中的电子信息设备、计算机设备的应用状况有较为深刻的认识,掌握常规电子信息设备的使用维护方法;在实践中进一步加强专业教育,了解本专业工程技术岗位和生产劳动岗位的工作情况和工作内容,培养团队精神和吃苦耐劳的精神;同时可以使学生学到企业的管理经验和工人师傅的艰苦创业精神,激励学生奋发向上的开拓精神。

STC12C5A60S2内部PWM模块程序

STC12C5A60S2内部PWM模块程序
#define uint unsigned int
//新一代1T 8051系列单片机PCA/PWM特殊功能寄存器
// 7 6 5 4 3 2 1 0 Reset Value
sfr CCON = 0xD8; //PCA控制寄存器。CF CR - - - - CCF1 CCF0 00xx,xx00
//-----------------------
STC12C5A60S2内部PWM模块程序
/**************************************************************
*******************************
说明:单片机的PCA_PWM使用,60S2只有两个PWM输出,分别是1.3
// 1 1 1 0 0 1 1 0x73 PWM输出由低变高或由高变低都可产生中断
//-----------------------
sfrCCAP0L=0xEA;//PCA模块0的捕捉/比较寄存器低8位。0的捕捉/比较寄存器高8位。
0000,0000
sfrCCAP1L=0xEB;//PCA模块1的捕捉/比较寄存器低8位。
0000,0000
sfrCCAP1H=0xFB;//PCA模块1的捕捉/比较寄存器高8位。
0000,0000
//-----------------------
// 7 6 5 4 3 2 1 0 Reset Value
sfrPCA_PWM0=0xF2;//PCA模块0PWM寄存器。------EPC0H
EPC0L xxxx,xx00
sfrPCA_PWM1=0xF3;//PCA模块1PWM寄存器。------EPC1H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AD_CONVERT1: LCALL AD_CONV ;调用A/D转换的子程序 DJNZ R6, AD_CONVERT1 ;64次转换未结束,继续转换 MOV A,# 0 MOV ADC_CONTR,A;清ADC_FLAG位,并停止AD转换 RET AD_CONV: MOV A,ADC_CONTR JNB ACC.4, AD_CONV ;等待A/D转换结束 MOV A,#11101000B MOV ADC_CONTR,A ;再次启动AD转换 MOV A,ADC_RESL ;读转换结果的低8位 ADD A, AD_RESULT2 ;与低8位结果相加
情况如表 - 1 所示 选择9 P1 口不同的引脚作为模拟输入通道, 清 0 。 转换时,必须再次将该位置 1。 0 360个时钟周期转换一次 0 1 1 具体情况如表 1 A/D P1.3 作为 A/D 输入 9-2所示。 0 A/D转换之前一定要保证 540 个时钟周期转换一次 1 0 0 0 P1.4 作为 A/D输入 •启动 A/D 转换器的电源已打开,并且 首次开启内部 转换电源时,需要适当的延时,等内部电源 1 A/D 0 1 P1.5作为A/D输入 稳定后,再启动 A/D 转换结束后关闭 1 1 转换。 0 A/D P1.6 作为A/D输入 A/D转换器的 电源可降低功耗。 1 1 1 P1.7作为A/D输入
【 例 9 - 1 】 设 单 片 机 的 系 统 时 钟 频 率 为 12MHz , 利 用 STC12C5A60S2单片机中的 A/D转换模块,将测温电阻 PT1000 的阻值随温度变化所形成的电压信号转换成数字信号,单片 机 读 取 后 存 放 于 30H 、 31H 单 元 , 如 图 9 - 5 所 示 。
3.A/D转换结果寄存器ADC_RES、ADC_RESL (地址0BDH、0BEH)
• 用于保存A/D转换结果。
• 当辅助寄存器AUXR1(参见图2-8)中ADRJ(A/D转换结 果寄存器的数据格式调整控制)位为0时,10位A/D转换 结果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的 低2位中。 • ADRJ位为1时,10位A/D转换结果的高2位存放在ADC_RES 寄存器的低2位中,低8位存放在ADC_RESL寄存器中。 • 10位A/D转换的结果与输入电压的关系为: (ADC_RES[1:0],ADC_RESL[7:0])=210 Vin
• 当P1口中某引脚要作为A/D使用时,要将P1ASF寄存器 中该引脚所对应的位置1,即该引脚设置为模拟功能; • 通过MOV P1ASF,#DATA指令实现。
2.ADC控制寄存器ADC_CONTR(地址BCH)
CHS2 CHS1 CHS0 模拟输入通道选择
SPEED1 0 SPEED0 A/D 转换所需时间 0 0 P1.0作为 A/D 输入 SPEED1 、SPEED0 :转换速度控制位。 ADC_FLAG : A/D 转换器转换结束标志 ADC_POWER:A/D转换器的电源控制位。 ADC_START : 转换启动控制位。将该 1 1 CHS2 90 个时钟周期转换一次 对 SPEED0 两位取不同的值 0 0 SPEED1 1 、 P1.1作为 A/D:模拟输入通道选择。 输入 、 CHS1 、 CHS0 位,当 A/D 转换完成后,硬件自动将 当该位为1时,开启A/D转换器电源;当 位设置为1时,启动转换。转换结束 时, A/D 转换所需的时间不同,具体 CHS2 、 CHS1 、 CHS0 三位取不同的值时, ADC_FLAG 位置 1,但要通过程序将其 1 0当 180 个时钟周期转换一次 该位为 0时,关闭 转换器电源。 0 1 A/D 0 P1.2 作为 A/D 输入 后,该位自动清 0。下次需要启动
void AD_CONV ( ) { do{ temp= ADC_CONTR; //读A/D转换的控制寄存器的内容 }while ((temp &0x10)!=0x10);//等待A/D转换结束 ADC_CONTR=0xE8;//再次启动A/D转换 temp=ADC_RESL; //读转换结果的低8位 result+= temp;//累加转换结果 temp=ADC_RES;//读转换结果的高2位 temp=temp&0x0003;//屏蔽转换结果的高6位 temp= _irol_(temp,8);//将转换结果左移8位 result+= temp;//累加转换结果 } void DELAY_10μs ()//延时10μs函数 { unsigned char a; for(a=30;a>0;a--); }
AD_RESULT1 EQU 30H ;A/D转换结果的高8位 AD_RESULT2 EQU 31H ;A/D转换结果的低8位 P1ASF EQU 9DH AUXR1 EQU A2H ADC_CONTR EQU BCH AD_CONVERT: MOV P1ASF,#01H ;选择P1.0为A/D转换模拟量的输入 ORL AUXR1,#00000100B;选择ADRJ位为1 MOV A,#0E0H MOV ADC_CONTR,A ;开启A/D转换的电源 MOV AD_RESULT1,#00H MOV AD_RESULT2,#00H LCALL DELAY_10μs ;等待A/D转换电源稳定 MOV A,#11101000B MOV ADC_CONTR,A ; 启动A/D转换 MOV R6,#64 ;R6作为计数器
第9章 STC12C5A60S2单片机的 片内A/D转换器
9.1 A/D转换器的内部结构 9.2 A/D转换器的相关寄存器 9.3 A/D转换器的应用
第9章 STC12C5A60S2单片机的片 内A/D转换器
• 传统的单片机只能处理数字量信息,但在应用中 经常需要处理一些连续变化的模拟量,例如温度、 流量、电压、频谱等,这就需要先经过A/D转换转 变成单片机可以处理的数字量。 • STC90C58AD、STC12C5A60S2、STC12C5410AD等单 片机内部集成了8路10位A/D转换电路,转换速度 可达到250KHz(25万次/秒),即转换周期为4μs。
【 例 9 - 1 】 设 单 片 机 的 系 统 时 钟 频 率 为 12MHz , 利 用 STC12C5A60S2单片机中的 A/D转换模块,将测温电阻 PT1000 的阻值随温度变化所形成的电压信号转换成数字信号,单片 机 读 取 后 存 放 于 30H 、 31H 单 元 , 如 图 9 - 5 所 示 。 • 分析:首先将PT1000阻值变化所反应出的电压信号经仪表 放大器AD623放大成0-5V的电压信号。经单片机内部的 A/D转换器转换成数字量,为了提高转换的精确度,尽量 减小电源噪声的影响,可连续采集64次,并对A/D转换的 结果求和,相当于实现16位的A/D转换 。 • 汇编语言子程序
VN VX 比较器 D/A转换器 输 出 缓 冲 器 OE N位数字 量输出
时钟 模拟量输入 启动
时序与控制 逻辑电路
N位寄存器 EOC
逐次逼近A/D转换器原理图 逐次逼近式:转换前, N位寄存器写入的数据先由最高位置 1,DAC 输出值与被测的模拟值进行比较:如果“低于”,该位的1被保留; 如果“高于”该位的1被清除。然后下一位再置 1,再比较,决定是 否保留 ……直至最低位完成同一过程。写入的数据从最高位到最低 位都试探过一遍的最终值就是A/D转换的结果。
VCC

9.3 A/D转换器的应用
实现A/D转换的步骤如下: (1)设置P1ASF寄存器,确定P1口的相应引脚作为模拟输入 通道,设置辅助寄存器AUXR1中的ADRJ位确定转换结果保 存格式; (2)设置A/D转换控制寄存器ADC_CONTR,打开A/D转换电 源,确定转换速度和转换通道; (3)启动A/D转换。上电后首次打开内部AD转换模拟电源时, 需适当延时,待内部模拟电源稳定后,再启动A/D转换。 (4)A/D转换启动后经4个时钟周期延时可以通过软件查询 ADC_CONTR寄存器中的ADC_FLAG位是否为1,当ADC_FLAG 为1时表明A/D转换结束。AD转换结束后需将ADC_FLAG位 清0。
9.2 A/D转换器的相关寄存器
与A/D转换器相关的寄存器有: P1口模拟功能控制寄存器P1ASF A/D转换器控制寄存器ADC_CONTR A/D转换结果寄存器ADC_RES、ADC_RESL 辅助寄存器AUXR1 与A/D中断有关的寄存器IE、IPH和IP
• • • • •
1.P1口模拟功能控制寄存器P1ASF(地址9DH)
9.1 A/D转换的内部结构
STC12C5A60S2 单片机的 A/D转换的输入端在 P1 口( P1.7 - P1.0 ),上 电复位后,P1口为弱上拉,用户可以通过程序将8路中的任何一路设 置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。
逐次逼近型A/D转换器转换原理:
从最高位开始的逐位试探法
C51程序:
#include<STC12C5A.h> #include<intrins.h> //声明本征函数库 unsigned int temp,result; unsigned char num=0x40;//设置A/D转换次数 void AD_CONV ( ); // A/D转换函数的声明 void DELAY_10μs( ) ;//延时10μs函数的声明 void main( ) { P1ASF=0x01; 选择P1.0为A/D转换模拟量的输入 AUXR1=0x04;选择ADRJ位为1 ADC_CONTR=0xE0;//开启动A/D转换的电源 DELAY_10μs ( ); //延时10μs ADC_CONTR=0xE8;//启动A/D转换 while(num!=0) { AD_CONV ( );//调用A/D转换函数 num--; //计数值减1 } while(1); }
MOV AD_RESULT2,A ;将得到的结果存放至31H单元 MOV A, ADC_RES ;读转换结果的高两位 ANL A,#03H ;屏蔽ADC_RES寄存器的高6位 ADDC A, AD_RESULT1 ;与高8位结果相加 MOV AD_RESULT1,A ;将得到的结果存放至30H单元 RET DELAY_10μs: MOV R5,#1EH DJNZ R5,$ RET
相关文档
最新文档