网站后台版权河南城乡建设厅网站
网站后台版权,河南城乡建设厅网站,施工企业价值链,自己做的网站打开慢单片机——中断 宗旨#xff1a;技术的学习是有限的#xff0c;分享的精神是无限的。 1、中断#xff1a;放下手中的事情去处理另一种事情。 2、定时器中断 定时器是单片机模块的一个资源#xff0c;确确实实存在的一个模块#xff0c;中断是单片机的一种运行机制。不是一…单片机——中断 宗旨技术的学习是有限的分享的精神是无限的。 1、中断放下手中的事情去处理另一种事情。 2、定时器中断 定时器是单片机模块的一个资源确确实实存在的一个模块中断是单片机的一种运行机制。不是一回事不只是定时器才能触发中断。 对单片机的操作主要是操作IO口和操作寄存器的。 x * 8 3 向量地址 —— x为中断函数编号 3、数码管动态扫描
余晖效应10ms
P0 0xff // 消隐
EA 0;
ET0 0; // 开总中断开定时器0中断 #include reg52.htypedef unsigned int uint;
typedef unsigned char uchar;uchar code display[]
{//数码管显示字符转换表0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
uchar buffer[6]
{//数码管显示缓冲区初值0xFF确保启动时都不亮0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
uint cnt 0; //记录T0中断次数int main(void)
{unsigned long sec 0; //记录经过的秒数EA 1; //使能总中断TMOD 0x01; //设置T0为模式1TH0 0xFC; //为T0赋初值0xFC67定时1msTL0 0x67;ET0 1; //使能T0中断TR0 1; //启动T0while(1);return 0;
}
/* 定时器0中断服务函数 */
void InterruptTimer0() interrupt 1
{static uchar i 0; //动态扫描的索引TH0 0xFC; //重新加载初值TL0 0x67;cnt; //中断次数计数值加1//以下代码完成数码管动态扫描刷新P0 0xFF; //显示消隐switch (i){case 0:P1 0xfe;i;P0 buffer[0];break;case 1:P1 0xfd;i;P0 buffer[1];break;case 2:P1 0xfb;i;P0 buffer[2];break;case 3:P1 0xf7;i;P0 buffer[3];break;case 4:P1 0xef;i;P0 buffer[4];break;case 5:P1 0xdf;i 0;P0 buffer[5];break;default:break;}if(cnt 1000) //判断T0溢出是否达到1000次{cnt 0; //达到1000次后计数值清零sec; //秒计数自加1//以下代码将sec按十进制位从低到高依次提取并转为数码管显示字符buffer[0] display [sec % 10];buffer[1] display [sec / 10 % 10];buffer[2] display [sec / 100 % 10];buffer[3] display [sec / 1000 % 10];buffer[4] display [sec / 10000 % 10];buffer[5] display [sec / 100000 % 10];}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88378.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!