足球比分直播

定时器中断.doc

返回
定时器中断.doc_第1页
第1页 / 共4页
定时器中断.doc_第2页
第2页 / 共4页
定时器中断.doc_第3页
第3页 / 共4页
定时器中断.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述:
/****************************************************作者夏国清,时间 2009/10/18 晚电路图说明使用段锁存器和位锁存器分别控制数码管共阴极 的段选端和位选端,两个锁存器都使用 P0 口送数;并分别使用 P2.0 和 P2.1 来控制两锁存器的 LE 锁存控制端,LE=1 时选通,LE0 时锁存。程序功能对数码管动态扫描来显示数 0 到 999,使用定时器 0 计时,使其半秒钟加数一次,到 999 加满自动清零重新计数。****************************************/includedefine uint unsigned intdefine uchar unsigned charuchar code d_table[]{0 x3f , 0 x06 , 0 x5b , 0 x4f , 0 x66 , 0 x6d ,0 x7d , 0 x07 , 0 x7f , 0 x6f , 0 x77 , 0 x7c ,0 x39 , 0 x5e , 0 x79 , 0 x71 , 0 x00};//共阴 0~F 段码uchar code w_table[]{0 xff,0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf};//1-6 位选码sbit duanP20;sbit weiP21;uchar count;//定时器产生中断时加 1uint num;//存放数码管显示的数void delayuint;void init;//对定时器 0 初始化,并对 ge,shi,bai 初始化void displayuint;//显示数void main{init;//初始化定时器while1{ifcount10//半秒钟到加数一次{count0;num;ifnum1000//数满清零num0;}//displaynum;如果把函数放在这里的话,那么不会出现数字显示不稳地功能的现象 ,因为这里有一个 while1循环,数码管是亮 5ms,灭 10ms 而已.而如果放在定时器中断处理函数中则是亮 5 ms,而灭 45ms.}}void delayuint z//晶振频率 12MHz 时,z1 时延迟 1ms{uint i,j;foriz;i0;i--forj110;j0;j--;}void init{EA1;//开总中断允许ET01;//开定时器 0 允许TMOD0 x01;//定时器选择软件启动,工作方式为 1TH065536-50000/256;TL065536-50000256;//给定时器赋初值,定时 50msTR01;//启动定时器 0 //当定时器计数值满 65536 的时候就触发//定时器 0 断 1. }void displayuint m_num//动态显示{uchar ge,shi,bai;gem_num10;shim_num/1010;baim_num/100;//百位数P0w_table[1];wei1;wei0;P0d_table[bai];duan1;duan0;delay5;//软件延时//十位数P0w_table[2];wei1;wei0;P0d_table[shi];duan1;duan0;delay5;//个位数P0w_table[3];wei1;wei0;P0d_table[ge];duan1;duan0;delay5;}void timer0_50ms interrupt 1 // 每 50ms 执行一次定时器中断处理函数 因为定时器中断处理函数中重新装初值了 {TH065536-50000/256;TL065536-50000256;//当计数值满 65536 的时候就产生定时器 0 的中断,进入定时器中断 1。就是重//装初值 ,count,还有执行一次 diaplay.count;//定时时间计数displaynum;//在数码管上显示当前 num 值 //把函数放在这里可以会出现数字不稳定的现象,因为在 50ms 内执行一次中断处理程序,所以每个数码管只是亮 5ms,}count0123456789 10(count0,num )123456789 10(count0,num)123456789display 函数 执行的间隔时间是 50ms,这个十分精确。可以用数轴来帮助理解。(在初始化函数中设定好定时器的初始值) 定时器中断就是当计数值满 65536 的时候就进入定时器中断处理函数。个位十位百位;消影;先把要送的数据送到门口,然后再开门,接着关门.定时器中断的应用,以及理解.动态显示的理解 24hz
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播