完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
频率转换公式为什么是这样的啊:frq_num = ((Count *65535+Hdata * 256+Ldata) *108 / 100) 关键是*108/100这部分
源代码: /********************************************************* * * * 主函数 * * * *********************************************************/ void main() { unsigned char m; unsigned long frq_num; P3 = 0xff; lcd_init(); lcd_pos(0x00); //设置显示位置为第一行 for (m = 0; m < 16; m++) lcd_wdat(cdis1[m]); //显示字符 lcd_pos(0x40); //设置显示位置为第二行 for (m = 0; m < 16; m++) lcd_wdat(cdis2[m]); //显示字符 TMOD = 0x51; //定时器0工作在定时方式 //定时器1工作在计数方式 TH0 = 0x4c; //50ms定时 TL0 = 0x00; TH1 = 0x00; //计数初值 TL1 = 0x00; ET0 = 1; //使能tiMER0中断 ET1 = 1; //使能TIMER1中断 EA = 1; //允许中断 PT1 = 1; //定义TIMER1中断优先 TR0 = 1; TR1 = 1; while (1) { if (sec) { Hdata = TH1; //取计数值 Ldata = TL1; frq_num = ((Count *65535+Hdata * 256+Ldata) *108 / 100); TH1 = 0; TL1 = 0; sec = 0; Count = 0; TR1 = 1; TR0 = 1; } temp = frq_num; play(); } } /********************************************************** * * * Time0中断函数 * * * **********************************************************/ void Time0()interrupt 1 { TH0 = 0x4c; //50ms定时 TL0 = 0x00; msec++; if (msec == 20) //50*20=1S { TR0 = 0; //关闭TIMER0 TR1 = 0; //关闭TIMER1 msec = 0; sec = 1; //置秒标记位 } } /********************************************************** * * * Time1中断函数 * * * **********************************************************/ void Time1()interrupt 3 { Count++; } /*********************************************************/ |
|
相关推荐
2个回答
|
|
经过本人亲身的实践,发现的确不明白楼主的问题所在,Count *65535+Hdata * 256+Ldata,这个就是计得的次数。后来我想想,发现:如果系统是晶振不是12M,也就是说机器周期不是1us。如果晶振是11.0592M,那机器周期就是1.08507us。那定时器0,算出来的时间不是1s,那么他的频率大概应该是:frq_num = ((Count *65535+Hdata * 256+Ldata) *108 / 100);个人见解,不知道是否正确,还请各位大神提出更高的见解。
|
|
|
|
frq_num = ((Count *65535+Hdata * 256+Ldata) *108 / 100) 和时钟周期有关系 确实是如楼上所推算的结果
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
464 浏览 0 评论
478 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
439 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
994 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1056 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11793 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 22:20 , Processed in 0.473728 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号