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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

89C51单片机定时计数器中断.docx

1、89C51单片机定时计数器中断89C51单片机定时/计数器中断一、汇编语言编写51单片机定时/计数中断响应程序 ORG 0000H LJMP MAIN ORG 000Bh LJMP ZD0 ORG 0040HMAIN: MOV TH0,#0d8h MOV TL0,#0e8h MOV A,#0FEh SETB EA SETB ET0 SETB TR0 SJMP $ZD0: MOV P2,A MOV TH0,#0d8h MOV TL0,#0f0h inc r3 CJNE r3,#99D,ddd mov r3,#00h inc r4 CJNE r4,#9D,ddd mov r4,#00h RL A

2、DDD:reti end 二、C语言编写51单片机定时/计数中断响应程序#includereg51.hint ms,i,k,n,m,temp=0x01;void delay(ms) while(ms-) for(i=0;i120;i+);void main() TMOD=0x01; EA=1; ET0=1; TR0=1; while(1); void timer0() interrupt 1 TH0=(65536-10000-6)/256; TL0=(65536-10000-6)%256; k+; if(k=100) k=0; m+; if(m=8)m=0; P2=tempm;/这个语句是将变

3、量temp左移m位给P2,不改变temp的值。 /如果改成temp=tempsbit P1_0=P10;void timer0(void) interrupt 1using 1 P1_0=!P1_0; TH0= -1000/256;TL0= -1000%256;void main(void)TMOD=0x01; P1_0=0;TH0= -1000/256;TL0= -1000%256;EA=1;ET0=1;TR0=1;do while(1);例2,设单片机的fosc=6MHz,要求在P1.7脚上的指示灯亮一秒灭一秒.void main(void)P1_7=0; P1_0=1;TMOD=0x61

4、;TH0= -50000/256;TL0= -50000%256;TH1= -5; TL1= -5;IP=0x08;EA=l; ET0=1;ET1=l; TR0=l;TR1=1;for (;)#include sbit P1_0=P10;sbit P1_7=P17;void timer0( ) interrupt 1 using 1P1_0=!P1_0;TH0= -50000/256;TL0= -50000%256;void timer1( ) interrupt3 using 2P1_7=!P1_7;例3,设单片机的fosc=10MHz,要求在P1.0脚上输出周期为2.5s,占空比20%.#

5、include #define uchar unsigned charuchar time;uchar period=250;uchar high=50;void timer0( ) interrupt l using 1TH0= -8333/256;TL0= -8333%256;if(+time=high)P1=0;else if(time=period)time=0; P1=1;void main(void)TMOD=0x01;TH0= -8333/256;TL0= -8333%256;EA=l;ET0=1;TR0=1;do )while(1);#include #define uchar

6、 unsigned char#define uint unsigned int uchar time,status,percent,period;bit one_round;uint oldcount,target=500; void pulse(void) interrupt 1using lTH0= -833/256;TL0= -833%256; ET0=l;if(+time=percent)P1=0;else if (time =100)time=0;P2=l; void tachmeter(void) interrupt 2 using 2union uint word;structu

7、char hi;uchar lo;byte; newcount;newcount_byte.hi=TH1;newcount_byte.lo=TLl;period=newcount.word-oldcounts;oldcount=newcount.word;one -round=1;void main(void)IP=0x04;TMOD=0x01;TCON=0x54;TH1=0;TL1=0;IE=0x86;for(;)if(one_round)if(periodif(percent0)-percent;串行口8051系列单片机有一个标准的串行通信接口,发送数据时由TXD端口送出,接收数据时由RX

8、D端口输入. 内置两个缓冲器SBUF,一个接受缓冲器,另一个是接收缓冲器,可实行全双工的串行通信.近距离可直接用TTL电平,若与计算机通信,则需要将电平转换成RS232电平形式,若需长距离通信可以采用RS485电平形式,通信的数据必须通过软件的编写来完成.一,与串行口有关的SFR1,串行口控制寄存器SCONSM0 SM1 SM2 REN TB8 RB8 TI RID7 D6 D5 D4 D3 D2 D1 D0. SM0,SM1:串行口工作方式控制位(见书P158). SM2:多机通信控制位(方式2,3);1只有接收到第9位(RB8)为1,RI才置位;0接收到字符RI就置位. REN :串行口接

9、收允许位;1允许串行口接收;0禁止串行口接收. TB8:方式2和方式3时,为发送的第9位数据,也可以作奇偶校验位. RB8:方式2和方式3时,为接收到的第9位数据;方式1时,为接收到的停止位. TI:发送中断标志;由硬件置位,必须由软件清0. RI:接收中断标志;由硬件置位,必须由软件清0.一,与串行口有关的SFR2,电源控制寄存器PCONSMOD D7 D6 D5 D4 D3 D2 D1 D0PCON的第7位SMOD是与串行口的波特率设置有关的选择位. SMOD:串行口波特率加倍位.1方式1,3波特率=定时器1溢出率/16;方式2波特率为fosc/32;0方式1,3波特率=定时器1溢出率/3

10、2;方式2波特率为fosc/64. 二,串行口的工作方式1. 方式0方式0为移位寄存器输入/输出方式,串行数据通过RXD输入/输出 ,TXD则用于输出移位时钟脉冲.方式0时,收发的数据为8位,低位在前.波特率固定为fosc/12,其中fosc为单片机外接晶振频率.发送是以写SBUF寄存器的指令开始的,8位输出结束时TI被置位.方式0接收是在REN=1和RI=0同时满足时开始的.接收的数据装入SBUF中,结束时RI被置位.移位寄存器方式的也可用于两个单片机之间的通信.和通常9600波特相比,lMHz通信能力对短距离通信很吸引人.二,串行口的工作方式2. 方式1方式1是10位异步通信方式,1位起始位(0),8位数据位和1位停止位

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

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