如何软件自动生成延时函数
文中教程使用燒入軟件叫:《stc-isp-v6.90J》
下載地址百度網盤鏈接:https://pan.baidu.com/s/1omRsAL12eJcd7rCJWi5uHw?pwd=1234?
提取碼:1234
?打開界面:
然后按順序完成操作:
1.選擇右箭頭右移;
2.找到《軟件延時計算器》;
3.系統頻率設置:你的晶振是11.0592MHz就選擇11.0592MHz,是12MHz就選擇12MHz;
4.定時長度設置:1000微秒=1毫秒,1000毫秒=1秒,按自己需要延時的時間設置;
5.8051指令集設置:AT89C51或52,設置為STC-Y1,右邊有寫適用于那些芯片。
6.生成代碼;
7.復制代碼;
8.刪除代碼第4行? _nop_();? ? ?或者? ?添加一個頭文件#include<intins.h>? (推薦刪除第4行)
以上就是延時代碼生成,如何使用:
1.把代碼復制到keil,頭文件下面;
2.需要延時的地方就加上如圖代碼第一行后面的Delay100us();記得加分號;
這樣就完成了,這個方法代碼長度有點長但延時比較精準,而且只需要設置好就可以自動生成,然后復制粘貼使用,如果沒有精準要求也可以手動打例如以下代碼:
void delay(unsigned int x)//延時子函數,延時1ms {unsigned int i,j;for(i=0;i<x;i++)for(j=0;j<125;j++); }//需要延時的地方就加上Delay(1000);里面數字以毫秒為單位,1000毫秒=1秒再或者軟件生成一個1毫秒的延時,然后放循環里面,自己想要多少毫秒就讓他循環多少次比如:
void Delay1ms(unsigned int xms)//延時1毫秒子函數,定義變量xms { unsigned char i,j; while(xms) { i = 2 ; j = 239 ; do { while (--j); } while (--i); xms--;//比如我想延時1秒,我后面調用就是1000,當1000減減到0就跳出循環 } } //把這個子函數放頭文件下面,后面程序需要延時就只需要調用就可以了,比如我要led延時1秒后亮滅 //led=~led; led取反亮滅 //Delaty1ms(1000); 延時1秒 1000ms=1s?當然最精準的方法就是使用定時計數器了,這個后面再發布一個單獨的帖子再講。
設置操作截圖:
總結
以上是生活随笔為你收集整理的如何软件自动生成延时函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乐高ev3编程---书籍选择
- 下一篇: eLife:一个开源、高性能的自动睡眠分