单片机内部资源及编程

单片机内部资源及编程

ID:27540124

大小:347.51 KB

页数:67页

时间:2018-12-01

单片机内部资源及编程_第1页
单片机内部资源及编程_第2页
单片机内部资源及编程_第3页
单片机内部资源及编程_第4页
单片机内部资源及编程_第5页
资源描述:

《单片机内部资源及编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章MCS-51单片机内部资源及编程MCS-51单片机的内部资源主要有并行I/O口、定时器/计数器、串行接口以及中断系统,MCS-51单片机的大部分功能就是通过对这些资源的利用来实现的。下面分别对其介绍,并用汇编语言和C语言分别给出相应例子。6.1并行输入/输出接口6.1.1并行口应用与编程【例6-1】利用单片机的P1口接8个发光二极管,P0口接8个开关,编程实现,当开关动作时,对应的发光二极管亮或灭。只须把P0口的内容读出后,通过P1口输出即可。汇编程序:ORG0100HMOVP0,#0FFHLOO

2、P:MOVA,P0MOVP1,ASJMPLOOPC51语言程序:#includevoidmain(void){unsignedchari;P0=0xff;for(;;){i=P0;P1=i;}}6.2定时/计数器接口6.2.1定时/计数器的主要特性1.MCS-51系列中51子系列有两个16位的可编程定时/计数器:定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。2.每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定

3、来实现。3.每个定时/计数器都有多种工作方式,其中T0有四种工作方式;T1有三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。4.每一个定时/计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。6.2.1定时/计数器T0、T1的结构及工作原理TH1TL1TH0TL0TCONTMOD启动启动溢出溢出工作方式工作方式中断请求内部总线TcyT1T0加法计数器在使用时注意两个方面。第一,由于它是加法计数器,每来一个计数脉冲,加法器中的内容加1个单位,当由全1加到全0时

4、计满溢出,因而,如果要计N个单位,则首先应向计数器置初值为X,且有:初值X=最大计数值(满值)M-计数值N在不同的计数方式下,最大计数值(满值)不一样,一般来说,当定时器/计数器工作于R位计数方式时,它的最大计数值(满值)为2的R次幂。第二,当定时/计数器工作于计数方式时,对芯片引脚T0(P3.4)或T1(P3.5)上的输入脉冲计数,计数过程如下:在每一个机器周期的S5P2时刻对T0(P3.4)或T1(P3.5)上信号采样一次,如果上一个机器周期采样到高电平,下一个机器周期采样到低电平,则计数器在下一个

5、机器周期的S3P2时刻加1计数一次。因而需要两个机器周期才能识别一个计数脉冲,所以外部计数脉冲的频率应小于振荡频率的1/24。6.2.2定时/计数器的方式和控制寄存器一.定时/计数器的方式寄存器TMODTMODD7D6D5D4D3D2D1D0(89H)GATEC/TM1M0GATEC/TM1M0←定时器1→←定时器0→其中:M1、M0为工作方式选择位,用于对T0的四种工作方式,T1的三种工作方式进行选择,选择情况如下M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器1028位自动重

6、置定时/计数器113两个8位定时/计数器(只有T0有)C/T:定时或计数方式选择位,当C/T=1时工作于计数方式;当C/T=0时工作于定时方式。GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。二.定时/计数器的控制寄存器TCONTCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1IE0IT0其中:TF1:定时/计数器T1的溢出标志位,当定时/计数器T1计满时,由硬件使它置位,如中断允许则触发T1中断。进入中断处理后由内部硬件电路自动清除。TR1

7、:定时/计数器T1的启动位,可由软件置位或清零,当TR1=1时启动;TR1=0时停止。TF0:定时/计数器T0的溢出标志位,当定时/计数器T0计满时,由硬件使它置位,如中断允许则触发T0中断。进入中断处理后由内部硬件电路自动清除。TR0:定时/计数器T0的启动位,可由软件置位或清零,当TR0=1时启动;TR0=0时停止。6.2.3定时/计数器的工作方式一.方式0振荡器12TLx(低5位)THx(高8位)TFx与或TxTRxGATEINTxS2S1C/TTcy中断请求方式1是13位的定时/计数方式,因而

8、最大计数值(满值)为2的13次幂,等于8192。如计数值为N,则置入的初值X为:X=8192-N如定时/计数器T0的计数值为1000,则初值为7192,转换成二进制数为1110000011000B,则TH0=11100000B,TL0=00011000B。二.方式1方式1的结构与方式0结构相同,只是把13位变成16位,16位的加法计数器被全部用上。由于是16位的定时/计数方式,因而最大计数值(满值)为2的16次幂,等于65536。如计数值为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。