完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
void delay(uint z)
{ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 延时函数,怎么用定时器做呀? 能像上面的例子一样,能输入延时值的函数? 想做一个精确一点的,方便调用。。。 |
|
相关推荐
60个回答
|
|
|
所有芯片的用户手册里都有详细说明- -有看过?
|
|
|
|
|
|
哈哈啊,就是楼主说的这个办法 |
|
|
|
|
|
学到了
|
|
|
|
|
|
看看,学习学习
|
|
|
|
|
|
|
|
|
但如果想同时进行多个时间段的精确定时,这样的误差应该是不可避免的吧,,, ![]() |
|
|
|
|
|
好好看看芯片的数据手册!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
貌似不错,学习学习!
|
|
|
|
|
|
14楼写得很好啊
|
|
|
|
|
|
可以在中断中间写值吗,这个应该不难吧
|
|
|
|
|
|
这个也可以用仿真调试试出来吧,不断的修改里面的数值就会不断的接近要延时的时间
|
|
|
|
|
|
强大啊啊啊啊,牛人啊
|
|
|
|
|
|
void delay(uint i)
{ while(i!=0) { TMOD=0X01; //1ms的初值 TR0=1 ; TH0=(65535-1000) /256; TL0=(65535-1000) %256; while(TF0!=1) ; TF0=0; i--; } TR0=0; } |
|
|
|
|
|
用定时器写数码管就是每一次进中断显示一个数码管,下一个定时中断显示另外一个数码管两个定时器中断的中间这段时间就相当延迟了,定时器里面用一个变量改变数码管的位选就行了。
|
|
|
|
|
|
#include
void main() { TMOD=0X01; TH0=0X3C; TL0=0XB0; EA=1; ET0=1; TR0=1; while(1); } void timer0() interrupt 1 { TH0=0X3F; TL0=0XB0; } |
|
|
|
|
|
|
|
|
|
|
|
/*===============================
自创的中断延时函数,可直接调用 ===============================*/ #include ***it out=P3^0; unsigned int i=0; void timer_delay(unsigned int z); void main() { while(1) { timer_delay(1000); out = !out; } } void timer_delay(unsigned int z) { TMOD=0x01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1; ET0=1; TR0=1; while(i } void timer0() interrupt 1 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; i++; } /*该程序是我作为初学时创的,用示波器亲测过非常准。 初学时也是和楼主一样那么想的, 精准延时多好干嘛要for,while的啊当你往后学时你 就会发现自己的想法多么可笑多么不专业啊*/ |
|
|
|
|
|
给你提供一款软件,单片机精灵可以用一下
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16900 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 00:08 , Processed in 0.986594 second(s), Total 76, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
979