久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
“新手求教!!” 延時程序 的使用方法。
[打印本頁]
作者:
627431363
時間:
2017-7-28 16:01
標題:
“新手求教!!” 延時程序 的使用方法。
詳細
一定要詳細!
拜托了!!!
作者:
admin
時間:
2017-7-28 16:21
我7年前發布的單片機延時函數教程:
http://m.zg4o1577.cn/bbs/dpj-4711-1.html
作者:
vadzbchva
時間:
2017-7-28 16:47
void delay(int a)
{
unsigned char i,j;
for(i=a;i>0;i--)
for(j=110;j>0;j--);
}
能夠延時ams,具體看什么樣的單片機了,處理速度越快,a值越大
作者:
51mcu
時間:
2017-7-29 07:00
你到本壇上下載一個"單片機小靈“
http://m.zg4o1577.cn/bbs/dpj-23766-1.html
這款工具可是很好用的,寫中斷、寫延時程序直接生成,大大減少了編程者的工作量和腦力勞動。
作者:
諾炎
時間:
2017-7-29 08:55
void yanshi(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
優先定義延時功能函數,定義形參uint形xms,進入for嵌套循環,達到延時目的
作者:
呂聰聰
時間:
2017-7-29 10:33
void delay(u16 i)
{
while(i--);
}
主函數里再寫delay();括號里面寫時間,為1的時候是10微秒。這是最簡單的一個延時。
還有就是主程序里面需要短暫的延時的時候可以直接寫個for的空循環。
作者:
zl2168
時間:
2017-7-29 11:12
本帖最后由 zl2168 于 2017-7-29 11:17 編輯
延時可用延時函數,也可用延時語句。
最簡單的延時語句
un
signed long
t;
//
定義延時參數
t
(長整型)
for (t=0; t<=n; t++ ); //
按
n
值延時
作者:
ljffjl
時間:
2017-7-29 11:40
找本書,書上應該有詳細的教程
作者:
564654654
時間:
2017-7-29 14:35
下載一個單片機小精靈,很好用,輸入自己想延時的時間就能出來程序。
作者:
寶哥哥
時間:
2017-7-29 15:59
用一個51單片機,for循環吧。
作者:
7890.
時間:
2017-7-29 16:32
找個單片機小精靈
作者:
white1
時間:
2017-7-30 13:31
先定義一個
void delayms(uint k)
{
uint i,j;
for(i=k;i>0;i--)
for(j=110;j>0;j--);
}
然后后面調用
delayms(5);
里面的數值自己設定
作者:
627431363
時間:
2017-7-30 22:25
謝謝大家了!!!
作者:
Timbo
時間:
2017-7-31 13:07
void delay(int a)
{
unsigned char i,j;
for(i=a;i>0;i--)
for(j=110;j>0;j--);
}
作者:
lxj3648227
時間:
2017-7-31 15:36
32的程序,有詳細的解釋
static uint8_t fac_us = 0; /* us延時倍乘數 */
static uint16_t fac_ms = 0; /* ms延時倍乘數 */
/* 初始化延遲函數 */
/* SYSTICK的時鐘固定為HCLK時鐘的1/8
* SYSCLK:系統時鐘 */
void delay_init(void)
{
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
fac_us = SystemCoreClock / 8000000; /* 為系統時鐘的1/8 */
fac_ms = (uint16_t)fac_us * 1000; /* 每個ms需要的systick時鐘數 */
}
/* 延時nus */
void delay_us(uint32_t nus)
{
uint32_t temp;
SysTick->LOAD = nus * fac_us; /* 時間加載 */
SysTick->VAL = 0x00; /* 清空計數器 */
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; /* 開始倒數 */
do {
temp = SysTick->CTRL;
}
while ((temp & 0x01) && !(temp & (1 << 16))); /* 等待時間到達 */
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; /* 關閉計數器 */
SysTick->VAL =0x00; /* 清空計數器 */
}
/* 延時nms */
/* 注意nms的范圍
* SysTick->LOAD為24位寄存器,所以,最大延時為:
* nms<=0xffffff*8*1000/SYSCLK
* SYSCLK單位為Hz,nms單位為ms
* 對72M條件下,nms<=1864 */
void delay_ms(uint16_t nms)
{
uint32_t temp;
SysTick->LOAD = (uint32_t)nms * fac_ms; /* 時間加載(SysTick->LOAD為24bit) */
SysTick->VAL = 0x00; /* 清空計數器 */
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; /* 開始倒數 */
do {
temp = SysTick->CTRL;
}
while ((temp & 0x01) && !(temp & (1 << 16))); /* 等待時間到達 */
SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; /* 關閉計數器 */
SysTick->VAL = 0x00; /* 清空計數器 */
}
復制代碼
作者:
單單單片機就好
時間:
2017-7-31 18:11
是不清楚它怎么計算延時時間的還是不清楚什么 先找些資料把基本的原理 理論性東西弄懂 延時函數就起了延時de作用啊
作者:
寶哥哥
時間:
2017-8-12 00:57
用個for循環就行了。
作者:
huang520
時間:
2017-8-12 11:48
用單片機精靈就得了
作者:
驅蚊燈
時間:
2017-8-13 06:02
void delay_1ms(unsigned int mas) //延時1ms
{
uint i,j;
for(i=0;i<mas;i++)
for(j=0;j<110;j++);
}
作者:
scad4
時間:
2017-8-13 21:38
呂聰聰 發表于 2017-7-29 10:33
void delay(u16 i)
{
while(i--);
哪里抄的?我問問你u16是什么你知道嗎?你的重定義語句呢?自己一知半解就不要來教別人了好吧?
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产又粗又猛又黄又爽无遮挡
|
亚洲欧美成人
|
九九九久久久
|
欧美视频在线观看
|
国产精品第二页
|
在线观看免费av网站
|
色一情一乱一乱一区91av
|
精品一区二区三
|
亚洲综合视频在线观看
|
日韩欧美精品一区二区
|
国产精品欧美在线
|
欧美一区二区三区视频
|
福利片在线观看
|
日本精品视频在线观看
|
麻豆国产一区二区三区四区
|
一级黄色片在线观看
|
欧美性大战xxxxx久久久
|
日韩在线免费观看视频
|
国产福利在线看
|
欧美黄色网
|
91啪国产
|
99国产精品99久久久久久
|
久久er99热精品一区二区
|
激情高潮到大叫狂喷水
|
久久靖品
|
日韩中文字幕精品
|
国内精品视频在线观看
|
伊人网视频
|
亚洲无av在线中文字幕
|
日本三级香港三级
|
在线观看91
|
黄色大片免费观看
|
日韩在线播放视频
|
av免费看片
|
欧美日本一区二区三区
|
日韩欧美在线视频
|
日韩一区二区三区在线播放
|
四虎久久久
|
国产一区二区不卡视频
|
91丨九色丨国产在线
|
国产精品成人在线观看
|