b中断定时器.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
b中断定时器

void main() { EA=1;//开总中断 EX0=1;//开外部中断0 TCON=0x01; wela=1;/ P0=0xea; wela=0; while(1) { for(num=0;num16;num++) { d1=1; //中断结束后,让流水灯灭. dula=1; P0=table[num]; dula=0; delay(1000); } } } void delay(uint z) { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } void exter0() interrupt 0 { d1=0; } P73 十位数 个位数 1号中断,定时器0(P67表), 让发光二极管以20MS间隔闪烁 3号中断,定时器1 (P67表),数码管前两位59S循环计时. 作业(下周星期五交,连同上几次的作业) 1、抄写碟中的程序:lesson4\例程\lesson4_1.c,并给每句话加注释,说明这个程序的功能。 2、抄写碟中的程序:lesson4\例程\lesson4_3.c,并给每句话加注释,说明这个程序的功能。(提示:看碟的录像) 3、编写程序:设计一个闹钟。 用定时器0的方式1实现每1小时后蜂鸣器响1分钟,1小时后蜂鸣器又响1分钟;用定时器1的方式1实现数码管的最后5位依时显示 00:00,00:01,00:02…………11:59,循环 4、实验编程:虚拟一个闹钟。(此题放于实验课完成) 用定时器0的方式1实现每1分钟后蜂鸣器响4ms,1分钟后蜂鸣器又响4ms ;用定时器1的方式1实现数码管的最后5位依时显示 00:00,00:01,00:02…………01:59,循环 3.4中断概念 1、CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断请求); 2、CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 3、待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。 4、这一过程称为中断 。 MCS-51单片机的中断系统结构 执行主程序 主程序 继续执行主程序 断点 中断请求 中断响应 执行中断处理程序 中断返回 引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。 51单片机内部一共有5个中断源(P65) 52单片机内部一共有6个中断源(P67) 《汇编语言》中的8086有256种中断源 3.5 单片机的定时器中断 一、定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 74161的逻辑符号 始化程序应完成如下工作: ( P73) ①对TMOD赋值,以确定T0和T1的工作方式。 ②计算初值,并将其写入TH0、TL0或TH1、TL1。 ④使TR0或TR1置位,启动定时/计数器定时或计数。 ①TMOD=0x01;//设置定时器0为工作方式1 ②TH0=(65536-10000)/256;  TL0=(65536-10000)%256; ③EA=1;//开总中断  ET0=1;//开定时器0中断 ④TR0=1;//启动定时器0 例3.5.1(P74) 始化程序应完成如下工作: ( P73) ①对TMOD赋值,以确定T0和T1的工作方式。 ②计算初值,并将其写入TH0、TL0或TH1、TL1。 ③中断方式时,则对IE赋值,开放中断。 ④使TR0或TR1置位,启动定时/计数器定时或计数。 ①TMOD=0x01;//设置定时器0为工作方式1 ②TH0=(65536-10000)/256;  TL0=(65536-10000)%256; ③EA=1;//开总中断  ET0=1;//开定时器0中断 ④TR0=1;//启动定时器0 例3.5.1(P74) [例3.5.1] 利用定时器0工作方式1,实现第一个发光管以1S亮灭闪烁。 #define uint unsigned int #define uchar unsigned char sbit led1=P1^0; uchar num; void main() { TMOD=0x01;//设置定时器0为工作方式1 TH0=(65536-10000)/256;//装初值 TL0=(65536-10000)%25

文档评论(0)

taotao0c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档