ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:331KB ,
资源ID:4609183      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4609183.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机自学必读.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机自学必读.docx

1、51单片机自学必读1. 系统概述89C51-III单片机学习板是一款基于8位单片机处理芯片STC89C52RC的系统。其功能强大,可以实现单片机开发的多种要求,学习、开发者可以根据需要选配多种常用模块,达到实验及教学的目的。89C51-III单片机学习板功能强大,具有报警,跑马灯、串行通信(max232)、段码液晶(msm0801LCD)和字符液晶显示(LCD1602)、电机控制(L298)、A/D转换(TLC2543)、D/A转换(TLC5615)、温度采集(DS1602)、数字信号合成(AD9851)、实时时钟电路(DS1302)、420mA输出、PWM输出(UC3842)、红外检测(KS

2、M-603LM)控制等十七种功能,供学习者学习开发使用。89C51-III单片机学习板采用的芯片都是常用芯片,使学习者对常用电子产品进一步学习理解。2. 系统原理2.1系统组成图1-1 系统原理图2.2 主CPU电路主CPU电路选用STC89C52RC系列单片机,STC89C52RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可

3、编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/ 机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/ 精简指令集结构,内部集成MAX810 专用复位电路。STC89C51系列单片机的特点:(1) 增强型 1T 流水线/ 精简指令集结构 8051 CPU(2) 工作电压:3.4V - 5.5V (5V 单片机) / 2.0V - 3.8V (3V 单片机)(3) 工作频率范围:0 - 35 MHz,相当于普通8051 的 0420MHz.实际

4、工作频率可达48MHz.(4)用户应用程序空间12K / 10K / 8K / 6K / 4K / 2K 字节(5) 片上集成 512 字节 RAM(6) 通用I/O 口(27/23个),复位后为: 准双向口/ 弱上拉(普通8051 传统I/O 口)可设置成四种模式:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/ 高阻,开漏每个I/O 口驱动能力均可达到20mA,但整个芯片最大不得超过55mA(7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片(8) EEPROM 功能(9) 看门狗(10)内部集成MAX810

5、 专用复位电路(外部晶体20M 以下时,可省外部复位电路)(11)时钟源:外部高精度晶体/ 时钟,内部R/C 振荡器。用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟。常温下内部R/C 振荡器频率为:5.2MHz 6.8MHz。精度要求不高时,可选择使用内部时钟,因为有温漂,请选4MHz 8MHz(12)有2个16 位定时器/ 计数器(13)外部中断2 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒(14)PWM ( 4 路)/ P C A(可编程计数器阵列),也可用来再实现4个定时器或4个外部中断(上升沿中断/ 下降沿中断

6、均可支持)(15) STC89Cc516AD具有ADC功能。 10 位精度ADC,共8 路(16) 通用异步串行口(UART)(17) SPI 同步通信口, 主模式/ 从模式(18)工作温度范围: 0 - 75 / -40 - +85(19)封装: PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封状,定货)STC89C52RC系列单片机为真正的看门狗,缺省为关闭(冷启动),启动后无法关闭,可省去外部看门狗。此系列单片机P4口地址为E8H,并有2个附加外部中断,P4.2/INT3,P4.3/INT2。晶振电路部分,使用11.0592M晶体,和2

7、0PF的电容。在复位电路中,采用阻容复位时,电容为10uF,电阻为10k;晶振及复位电路如图2.1。因为STC89C52RC系列单片机RESET脚内部没有下拉电阻,必须接10k电阻。图2.1晶振及复位电路2.3 电源电路:电源电路采用外部供电的方式,通过变压器将220V交流电转变为12V,再通过接口J0向实验板供电,为保护系统的安全性,增加了开关k0,防止因电源不当引起硬件的烧坏,电源经过k0后,经过整流桥,再通过电源芯片7805和7809得到+5V和+9V,为系统及周围芯片提供电源。电源供电原理图如图2.2图2.2电源供电原理图2.4 报警器电路报警器电路如图2.3所示,使用三极管9012进

8、行驱动控制。用单片机控制引脚P3.2控制报警器工作,实现报警功能。图2.3 报警器电路与STC89C52RC的连接2.5 按键系统设计有三路独立的输入按键,按键直接接入到单片机的P1口,键盘电路如图2.4所示。当按键未按下时,由于上拉电阻的作用,单片机检测到引脚为高电平;当按键被按下时,单片机检测到引脚为低电平。所以只要通过检测相应端口的状态的变化,就可以检测到是否有按键按下。图2.4键盘电路与STC89C52RC的连接2.6串行通信模块2.6.1. RS232接口电路系统设计了RS232接口电路,来实现系统与PC机串口通讯。在此系统中RS232接口电路主要用来将用户程序下载进控制器。用户通过

9、USB线将程序代码送入RS232串口J9,经MAX232将程序下载进单片机。接线方法如图2.6.1。用户也可在自己的目标系统上,可将P3.0/P3.1 经过RS-232 电平转换器转换后连接到电脑的普通RS-232 串口,就可以在系统编程/ 升级用户软件。建议如果用户板上无RS-232 电平转换器,应引出一个插座,含 Gnd / P3.1 / P3.0 / Vcc 四个信号线,当然如能引出Gnd / P3.1 / P3.0 / Vcc / P1.1 /P1.0 六个信号线为最好,这样就可以在用户系统上直接编程了。关于ISP 编程的原理及应用指南详见附录部分“STC12C5410AD 系列单片机

10、 ISP 编程 原理 工具使用说明” 部分。图2.6.1 RS232、与TTL电平转换电路与STC89C52RC的连接2.6.2. RS485接口电路RS485是一个半双工通信的接口电路,其电路采用MAX485。利用RS485接口可方便实现多一机对多机的组网通信。P3.5为收发控制脚。电路如图2.6.2图2.6.2 RS485接口电路与STC89C52RC的连接2.7液晶显示模块系统设计中,液晶显示采用SMS0801 LCM液晶屏。SMS0801 LCM可以显示8位带小数点数字,采用串行接口,使用方便,只需将1,2脚接电源地,3脚接单片机P1.6,4,5脚接电源,6脚接单片机P1.3即可实现显

11、示。如图2.7所示。 表1 SMS0801 LCM 使用说明一 主要技术参数显示容量8位带小数点数字芯片工作电压2.7v5.5v工作电流20uA(3.0V)字 高10.7mm环境相对湿度85视 角6:00工作温度-10+50显示方式反射式正显式存储温度-20+60接口方式串行接口二接口信号说明1 VSS:电源地2 VSS:电源地3 CLK:串行移位脉冲输入4 VDD:电源正极5 VDD:电源正极输入6 DI:串行数据输入三、SMS0401地址映射表LCDBUFD7D6D5D4D3D2D1D00A1B1C1D1E1F1G1H11A2B2C2D2E2F2G2H22A3B3C3D3E3F3G3H33

12、A4B4C4D4E4F4G4H44A5B5C5D5E5F5G5H55A6B6C6D6E6F6G6H66A7B7C7D7E7F7G7H77A8B8C8D8E8F8G8H8图2.7 SMS0801的结构图2.8电机控制模块电机控制模块中采用驱动二相和四相步进电机的专用芯片L298来完成,其内部包含4通道逻辑驱动电路,具有双电机控制功能,内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。 这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转、制动等功能。为了进一步将功能扩展,将L298的输出out1,out2,out3,

13、out4经扩展口J6,J7扩展出来。电机控制电路接线图如图2.8所示。表2-2 为电机控制功能表表2-2 电机控制功能表输入电机状态备注Ven(6脚、11脚)C(5脚、10脚)D(7脚、12脚)HHL正转电机转动LH反转00停止电机被制动11停止LX(任意)X(任意)停止电机不受控制图2.8 电机控制电路与STC89C52RC的连接2.9 A/D模块系统使用12位模数转换器TLV2543来实现,TLVC2543采用串行接口,具有11路输入,有三个控制输入端为CS(片选)、输入/输出时钟(I/OCLOCK)以及串行数据输入端(DATAINPUT)。片内的14通道多路器可以选择11个输入中的任何一

14、个或3个内部自测试电压中的一个,采样保持是自动的,转换结束,EOC输出变高。主要特性如下:11个模拟输入通道;66ksps的采样速率;最大转换时间为10s;SPI串行接口;线性度误差最大为1LSB;低供电电流(1mA典型值);TLC2543与STC89C52的连接如图2.9所示。TLC2543的I/O时钟、数据输入、片选信号由P2.1、P2.2、P2.0提供,转换结果由P2.3口串行读出。另外将11路输入端接J3扩展接口,以便信号输入。图2.9 A/D转换电路与STC89C52RC的连接2.10 D/A模块TLV5615是一个10位电压输出数模转换器(DAC),包括4个控制位和12个数据位的1

15、6位字符串来编程,可以用于宽范围的电源电压:2.7V至5.5V。 引脚说明如下:DIN:串行数字数据输入;SCLK:串行数字时钟输入;/CS:片选。数字输入,用来使能和禁止输入,低电平有效;FS:帧同步,数字输入用于4线串行接口;AGND:模拟地REFIN:基准模拟电压输入;OUT:DAC模拟输出;Vdd:电源;图2.10 D/A转换电路与STC89C52RC的连接 2.11 温度采集模块温度采集部分采用单总线温度采集芯片DS18B20,DS18B20独特的单线接口仅需要一个端口引脚进行通讯。测量温度范围为 -55+125,在-10+85范围内,精度为0.5。现场温度直接以“一线总线”的数字方

16、式传输,大大提高了系统的抗干扰性。支持3V5.5V的电压范围, 接线方法如图2.11所示:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。图2.11 DS18B20与STC89C52RC的连接2.12 数字频率合成电路直接数字信号合成部分采用180直接数字频率合成器( DDS)AD9851来实现,AD9581是一个高度集成的器件,它是用先进的DDS技术,内部有一个高速的高性能的D/A转换器和比较器以构成一个可数字编程的频率发生器和时钟功能。当作为准确的时钟参考时,AD9851可以通过数字编程产生一个具有稳定的频率和相角的模拟正弦函数波形输出信号。产生的正弦波形可被直接用

17、作一个频率信号,或者可在内部转换为一个方波信号,可作为灵活调节的时钟发生器。AD9851创新的高速DDS内核,可接受32位的可调频率的信息,可以产生一个大约0.04的调谐输出信号并伴有180的系统时钟。AD9851包含一个特殊的乘法器电路,因此不需要高速的振荡器。这个乘法器对SFDR只有很微弱的冲击和很小的相角噪声特点。AD9851提供了5位可编程的相角调节方案,使相角能随输出信号的增加11.25。接线图如图2.12。图2.12 DDS 数字频率合成器连接电路与STC89C52RC的连接2.13 锁存器及其外扩接口系统通过锁存器74HCS373暂存单片机输出信号,74LS373包含了8个具有三

18、态输出的D型锁存器。当LE为高电平时,数据从输入端进入锁存器。8位锁存器74LS373的逻辑图见图所示2.13.1。其中使能端G加入CP信号,D为数据信号。输出控制信号为0时,锁存器的数据通过三态门进行输出。输出后通过外扩 接口J3将数据引出。电路原理图如图2.13.2。图2.13.1 74HC373原理图及功能图2.13.2 74HC373及对外扩展电路与STC89C52RC的连接2.14 EPROM电路系统设计了一个EPROM电路,用于存储数据,该电路使用24LC02B芯片,可以存储2Kbit数据,是电可擦除的PROM。由256*8位的记忆单元与两线串口单元相连接。电路如图2.14所示。图

19、2.14 EEOROM电路与STC89C52RC的连接2.15 实时时钟电路系统使用DALLAS公司的具有涓细电流充电能力的低功耗实时时钟电路DS1302。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302 的主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。工作电压为2.5V5.5V。 DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给

20、DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入

21、输出端(双向), SCLK始终是输入端。 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。 DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。其电路连接如图2.15所示。图2.15 DS1302实时时钟电路与STC89C52RC的连接3 单片机的C51编程技巧3.1 C51与C语言1、Main() /通信初始化 SCON=0x40; / 串行口工作方式1 ,TI=0 ,RI=0 TMOD=0x20; /定时器1工作方式2,8位自动重装式,晶振频率 11.

22、0592MHz PCON=0; TH1=0xFD; /9600bps TL1=0xFD; TR1=1; TI=1; printf(%f,%fn,ppf,mf);/通信2、C51的数据类型bit 0 1char 8 -128127unsigned char 8 0256int 16 -3276832767unsigned 16 065535long int 32 -231 (231-1)unsigned 32 0(232 -1)float 32 /在汇编中有24位例:int a=721 BCDint a=0721 8int a=0xFF Hex3、C51的函数int j 全局变量void fun

23、( )int i; 3.2 C语言中常用的语句(也适合于C51)if (条件) if( ) else if( ) elseswitch(条件式) case: 值1 break;case: 值2break;.while(条件) 动作先条件后内容 do先内容后条件while(条件)for(算式1;算式2;算式3) / (赋植;条件;增量)例1: for(i=0;i10;i+)动作 例2:for( ; ; );/C语言认为合法例3:i=0; for(;i10;i+)3.3 指针与数组char *a;char ab;a=&ab;char 名 (三维)void dalay(unsigned int count ) unsigned int I;for(i=0;icount;i+) main( )dalay(100);3.4 语言中按地址传递 void demo(char buf10) char i; for(1=0;i10;i+) bufi=0;main( )char dat10; demo(dat);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1