微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 对于晶振为24M的,C8051F310. 延迟10us的 延迟函数怎么编写

对于晶振为24M的,C8051F310. 延迟10us的 延迟函数怎么编写

时间:10-02 整理:3721RD 点击:
对于晶振为24M的,C8051F310.  延迟10us的 延迟函数怎么编写

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar num,flag;
  5. //初始化 定时器0 设置寄存器
  6. void init()
  7. {
  8.   num=0;
  9.   TOMOD = 0x01;
  10.   TH0=(65536-10)%256;
  11.   TL0=(65536-10)/256;
  12.   EA=1;
  13.   ET0=1;
  14.   TR0=1;
  15. }
  16. void main()
  17. {
  18.   init();
  19.   while(1)
  20.   {
  21.     if(flag==1) //时间到了
  22.     {
  23.       flag=0;  //清除标识位
  24.     }
  25.   }
  26. }
  27. //中断函数 使用1号中断
  28. void time0() interrupt 1
  29. {
  30.   TH0=(65536-10)%256; //发生中断后及时重新赋值
  31.   TL0=(65536-10)/256;
  32.   num++;  //计数器递增
  33.   if(num==2)
  34.   {
  35.     num=0;
  36.     flag=1;
  37.   }
  38. }

复制代码


大神, 有没有  delay 函数编程的 。用定时器不会调用啊

  1. //具体这个i值是多少,需要你debug调试,记得左侧有运行时间的
  2. void delay()
  3. {
  4.   int i;
  5.   for(i=15;i>0;i--);
  6. }

复制代码

好的,谢谢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top