久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3288|回復: 5
打印 上一主題 下一主題
收起左側

這個單片機延時時間怎么算的?能在keil中看出來嗎?

[復制鏈接]
跳轉到指定樓層
樓主
ID:388477 發表于 2018-11-1 14:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這個程序我的理解看對不對,KEY首先置1,當有按鍵按下,KEY為0,!KEY為1,LED的狀態取反,LED由不亮到亮即LED=1變為LED=0,燈亮
當再按一次,KEY為0,!KEY為1,LED的狀態取反,LED亮到不亮即LED=0變為LED=1,燈滅。

單片機源程序如下:
  1. #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義

  2. sbit KEY=P3^2;  //定義按鍵輸入端口
  3. sbit LED=P0^0;  //定義led輸出端口


  4. void DelayUs2x(unsigned char t);//函數聲明
  5. void DelayMs(unsigned char t);
  6. /*------------------------------------------------
  7.                     主函數
  8. ------------------------------------------------*/
  9. void main (void)
  10. {

  11. KEY=1; //按鍵輸入端口電平置高
  12. while (1)         //主循環
  13.   {

  14.   if(!KEY)  //如果檢測到低電平,說明按鍵按下
  15.     {
  16.          DelayMs(10); //延時去抖,一般10-20ms
  17.      if(!KEY)     //再次確認按鍵是否按下,沒有按下則退出
  18.            {
  19.         while(!KEY);//如果確認按下按鍵等待按鍵釋放,沒有釋放則一直等待
  20.                {
  21.                LED=!LED;//釋放則執行需要的程序
  22.                          }
  23.            }
  24.         }

  25.      //主循環中添加其他需要一直工作的程序
  26.       
  27.   }
  28. }
  29. /*------------------------------------------------
  30. uS延時函數,含有輸入參數 unsigned char t,無返回值
  31. unsigned char 是定義無符號字符變量,其值的范圍是
  32. 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
  33. 長度如下 T=tx2+5 uS
  34. ------------------------------------------------*/
  35. void DelayUs2x(unsigned char t)
  36. {   
  37. while(--t);
  38. }
  39. /*------------------------------------------------
  40. mS延時函數,含有輸入參數 unsigned char t,無返回值
  41. unsigned char 是定義無符號字符變量,其值的范圍是
  42. 0~255 這里使用晶振12M,精確延時請使用匯編
  43. ------------------------------------------------*/
  44. void DelayMs(unsigned char t)
  45. {

  46. while(t--)
  47. {
  48.      //大致延時1mS
  49.      DelayUs2x(245);
  50.          DelayUs2x(245);
  51. }
  52. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:388477 發表于 2018-11-1 15:26 | 只看該作者
回復

使用道具 舉報

板凳
ID:417020 發表于 2018-11-1 16:00 來自觸屏版 | 只看該作者
KEIL里設置好晶振頻率,單步運行就能查看延時時間
回復

使用道具 舉報

地板
ID:149144 發表于 2018-11-1 16:49 | 只看該作者
Keil 環境下,按一個紅色的 d (Ctrl + F5) ,再按上面的帶“{ }”帶箭頭的 (F10  F11) ,讓他跳到延時函數那里, 記錄當前時間,左邊有顯示的,再讓他繼續運行完這個延時函數,再看這時候的時間,就知道延時時間了
回復

使用道具 舉報

5#
ID:94031 發表于 2018-11-1 17:05 | 只看該作者
用程序算延時既不準也困難,還不如延時驅動IO用示波器測,既準又簡單。
回復

使用道具 舉報

6#
ID:413475 發表于 2018-11-1 17:07 | 只看該作者
從程序上看你的理解是對的,每次當按鍵按下釋放后LED IO狀態取反
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线视频成人 | 午夜国产一级片 | 国产精品免费观看视频 | 国产激情在线 | 国产偷久久一级精品60部 | 男人天堂国产 | 亚洲精品一区二三区不卡 | 视频一区二区三区在线观看 | 亚洲精品成人在线 | 亚洲国产成人av好男人在线观看 | 久久国产精品一区二区 | 精品一区在线看 | 特级丰满少妇一级aaaa爱毛片 | 日本一区二区三区在线观看 | 中国一级特黄毛片大片 | 国产成人精品一区二 | 色免费视频| jizz在线看片| 免费黄色成人 | av免费在线播放 | www.99re| 99久久久无码国产精品 | 99热.com | 国产精品有限公司 | 影音先锋成人资源 | 黄色在线免费观看视频 | 懂色中文一区二区在线播放 | 在线成人福利 | 国产视频中文字幕 | 中文精品视频 | 欧美一级大黄 | 懂色av一区二区三区在线播放 | 秋霞国产| 国产91在线 | 亚洲 | 日本超碰 | 国产精品久久久久久久午夜片 | 中文字幕成人av | 希岛爱理在线 | 日本成人毛片 | 亚洲91精品| 请别相信他免费喜剧电影在线观看 |