全站数据
8 4 2 0 5 8 1

单片机中,设晶振频率为6MHz,试编制50ms延时子程序

漫漫自考路 | 简单学习,快乐成才!         
问题更新日期:2024-10-23 17:23:34

问题描述

单片机中,设晶振频率为6MHz,试编制50ms延时子程序急求答案,帮忙回答下
精选答案
最佳答案

这个延时,各个单片机不确定,有一种方法是采用延时子函数 void delay(int k) { int i,j; for(i=0;i<k;i++) {=

"

" for(j=

"0;j<100;j++);

" }=

"

" 这里是可以设定延时时间,当然,需要用示波器测试,比如你的while(1)死循环里,=

"

" void=

"

" main()=

"

" while(1)=

"

" 输出1;=

"

" delay(1);=

"

" 输出0;=

"

" 然后测试周期,50ms对应的周期是100ms,因为是方波,有高低电平的时间,如果测试的时间长了,就减小j的值100,如果时间断了,就增加100那个数,直到周期为100ms。

如果100设为1了时间还是超过100ms(你这里频率6MHz如果是CPU的时钟,频率太低)那就用nop这个指令,每个单片机的这条指令书写不同,delay()子函数里就用几个nop延时