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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

51单片机中断程序大全Word格式文档下载.docx

1、 while(1)/无限循环等待查询 while(TF0=0) ; TF0=0; P2=P2; /实例43:用定时器T1查询方式控制单片机发出1KHz音频sbit sound=P37; /将sound位定义为P3.7引脚 TMOD=0x10; /使用定时器T1的模式1 TH1=(65536-921)/256; /定时器T1的高8位赋初值 TL1=(65536-921)%256; TR1=1; /启动定时器T1 TF1=0; while(TF1=0) TF1=0; sound=sound; /将P3.7引脚输出电平取反/实例44:将计数器T0计数的结果送P1口8位LED显示sbit S=P34;

2、 /将S位定义为P3.4引脚 TMOD=0x02; /使用定时器T0的模式2 TH0=256-156; TL0=256-156; while(TF0=0) /如果未计满就等待 if(S=0) /按键S按下接地,电平为0 P1=TL0; /计数器TL0加1后送P1口显示 /计数器溢出后,将TF0清0 /实例45:用定时器T0的中断控制1位LED闪烁sbit D1=P20; /将D1位定义为P2.0引脚 EA=1; ET0=1; while(1)/无限循环等待中断 ;定时器T0的中断服务程序void Time0(void) interrupt 1 using 0 /“interrupt”声明函数为

3、中断服务函数 /其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器 D1=D1; /按位取反操作,将P2.0引脚输出电平取反 TH0=(65536-46083)/256; /定时器T0的高8位重新赋初值/实例46:用定时器T0的中断实现长时间定时unsigned char Countor; /设置全局变量,储存定时器T0中断次数 Countor=0; /从0开始累计中断次数 Countor+; /中断次数自加1 if(Countor=20) /若累计满20次,即计时满1s Countor=0; /将Countor清0,重新从0开始计数/实例47:用定时器T1中断控制两个LED以不同周期

4、闪烁sbit D2=P21; /将D2位定义为P2.1引脚unsigned char Countor1; /设置全局变量,储存定时器T1中断次数unsigned char Countor2; ET1=1; /定时器T1中断允许 TH1=(65536-46083)/256; TL1=(65536-46083)%256; Countor1=0; Countor2=0; /从0开始累计中断次数 定时器T1的中断服务程序void Time1(void) interrupt 3 using 0 /“interrupt”声明函数为中断服务函数 /其后的3为定时器T1的中断编号; Countor1+; /C

5、ountor1自加1 Countor2+; /Countor2自加1 if(Countor1=2) /若累计满2次,即计时满100ms D1=D1; Countor1=0; /将Countor1清0,重新从0开始计数 if(Countor2=8) /若累计满8次,即计时满400ms D2=D2; /按位取反操作,将P2.1引脚输出电平取反 Countor2=0; TH1=(65536-46083)/256; /定时器T1的高8位重新赋初值/实例50-1:输出50个矩形脉冲 /包含51单片机寄存器定义的头文件sbit u=P14; /将u位定义为P1.4/*延时约30ms (3*100*100=

6、30 000s =30m*/void delay30ms(void) unsigned char m,n; for(m=0;m100;m+) for(n=0;nn+)/*/ unsigned char i; u=1; /初始化输出高电平 for(i=0;i /包含函数_nop_()定义的头文件unsigned char code Tab=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F;/流水灯控制码,该数组被定义为全局变量sbit P17=P17;延时约150ms void delay(void) 200;250;n+) 发送一个字节的数据void Send(unsigned char dat) P17=0; /P1.7引脚输出清0信号,对74LS164清0 _nop_(); /延时一个机器周期 /延时一个机器周期,保证清0完成 P17=1; /结束对74LS164的清0 SBUF=dat; /将数据写入发送缓冲器,启动发送 while(TI=0) /若没有发送完毕,等待 TI=0; /发送完毕,TI被置“1”,需将其清0 SCON=0x00; /SCON=0000 0000B,使串行口工作于方式0 8;i+) Send(Tabi); /发送数据 delay(); /延时

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

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