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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

定时器中断.doc

1、/*作者:夏国清,时间 2009/10/18 晚电路图说明:使用段锁存器和位锁存器分别控制数码管(共阴极) 的段选端和位选端,两个锁存器都使用 P0 口送数;并分别使用 P2.0 和 P2.1 来控制两锁存器的 LE 锁存控制端,LE1 时选通,LE=0 时锁存。程序功能:对数码管动态扫描来显示数 0 到 999,使用定时器 0 计时,使其半秒钟加数一次,到 999 加满自动清零重新计数。*/#include#define uint unsigned int#define uchar unsigned charuchar code d_table=0x3f , 0x06 , 0x5b , 0x

2、4f , 0x66 , 0x6d ,0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,0x39 , 0x5e , 0x79 , 0x71 , 0x00;/共阴 0F 段码uchar code w_table=0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/1-6 位选码sbit duan=P20;sbit wei=P21;uchar count;/定时器产生中断时加 1uint num;/存放数码管显示的数void delay(uint);void init();/对定时器 0 初始化,并对 ge,shi,bai 初始化void disp

3、lay(uint);/显示数void main()init();/初始化定时器while(1)if(count=10)/半秒钟到加数一次count=0;num+;if(num=1000)/数满清零num=0;/display(num);如果把函数放在这里的话,那么不会出现数字显示不稳地功能的现象 ,因为这里有一个 while(1)循环,数码管是亮 5ms,灭 10ms 而已.而如果放在定时器中断处理函数中则是亮 5 ms,而灭 45ms.void delay(uint z)/晶振频率 12MHz 时,z=1 时延迟 1msuint i,j;for(i=z;i0;i-)for(j=110;j0;

4、j-);void init()EA=1;/开总中断允许ET0=1;/开定时器 0 允许TMOD=0x01;/定时器选择软件启动,工作方式为 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;/给定时器赋初值,定时 50msTR0=1;/启动定时器 0 /当定时器计数值满 65536 的时候就触发/定时器 0 断 1. void display(uint m_num)/动态显示uchar ge,shi,bai;ge=m_num%10;shi=(m_num/10)%10;bai=m_num/100;/百位数P0=w_table1;wei=1;wei=0;P0

5、=d_tablebai;duan=1;duan=0;delay(5);/软件延时/十位数P0=w_table2;wei=1;wei=0;P0=d_tableshi;duan=1;duan=0;delay(5);/个位数P0=w_table3;wei=1;wei=0;P0=d_tablege;duan=1;duan=0;delay(5);void timer0_50ms() interrupt 1 / 每 50ms 执行一次定时器中断处理函数( 因为定时器中断处理函数中重新装初值了) TH0=(65536-50000)/256;TL0=(65536-50000)%256;/当计数值满 65536

6、 的时候就产生定时器 0 的中断,进入定时器中断 1。就是重/装初值 ,count+,还有执行一次 diaplay.count+;/定时时间计数display(num);/在数码管上显示当前 num 值 /把函数放在这里可以会出现数字不稳定的现象,因为在 50ms 内执行一次中断处理程序,所以每个数码管只是亮 5ms,count0123456789 10(count=0,num+ )123456789 10(count=0,num+)123456789display 函数 执行的间隔时间是 50ms,这个十分精确。可以用数轴来帮助理解。(在初始化函数中设定好定时器的初始值) 定时器中断就是当计数值满 65536 的时候就进入定时器中断处理函数。个位十位百位;消影;先把要送的数据送到门口,然后再开门,接着关门.定时器中断的应用,以及理解.动态显示的理解 24hz

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报