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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6517|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于一鍵多功能的問題,幫忙看看,謝過!!!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:9596 發(fā)表于 2009-4-24 02:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

;*****************************************************************
;開關(guān)SP1接在P1.0管腳上,在AT89C51單片機的P0端口接有四個發(fā)光二極管,上電的時候,
;L1接在P0.0管腳上的發(fā)光二極管在閃爍,當(dāng)每一次按下開關(guān)SP1的時候,L2接在P0.1管腳上的發(fā)光二極管在閃爍,
;再按下開關(guān)SP1的時候,L3接在P0.2管腳上的發(fā)光二極管在閃爍,再按下開關(guān)SP1的時候,
;L4接在P0.3管腳上的發(fā)光二極管在閃爍,再按下開關(guān)SP1的時候,又輪到L1在閃爍了,如此輪流下去
;***************************************************************************************
        ORG 0000H
        AJMP MAIN
 MAIN:  MOV R0,#0 

   ST1: MOV P0,#0FEH;           燈L1閃爍
        LCALL DE1;                   調(diào)用延時子程序
        MOV P0,#0FFH;
        LCALL DE1;                   調(diào)用延時子程序
       LCALL CHECK;                調(diào)用按鍵掃描程序


    ST2:MOV P0,#0FDH;           燈L2閃爍
        LCALL DE1;
        MOV P0,#0FFH;
        LCALL DE1;
 LCALL CHECK

    ST3:MOV P0,#0FBH;          燈L3閃爍
        LCALL DE1;
        MOV P0,#0FFH;
        LCALL DE1;
 LCALL CHECK

    ST4:MOV P0,#0F7H;          燈L4閃爍
        LCALL DE1;
        MOV P0,#0FFH;
        LCALL DE1;
 LCALL CHECK
CHECK:
 ;*******************************
;判斷按鍵有沒有按下及按了幾次,即按鍵的識別
;********************************
 CHECK1:JB P1.0,L1;                              按下鍵了嗎?
        LCALL DE2;
        JB P1.0,CHECK1;                            真的按下了嗎?
 CHECK2:JNB P1.0,CHECK2;                    等待釋放,釋放了嗎?
        LCALL DE2;
        JNB P1.0,CHECK2;                          真的釋放了嗎?
;*********************************
        INC R0;                                          R0的值加1
     L1:CJNE R0,#1,L2;                             R0的值為1嗎?不為1,繼續(xù)判斷
        AJMP ST2;                                       為1,燈L2開始閃爍
     L2:CJNE R0,#2,L3;                             R0的值為2嗎?不為2,繼續(xù)判斷
        AJMP ST3;                                       為2,燈L3開始閃爍
     L3:CJNE R0,#3,L4;                              R0的值為1嗎?不為1,繼續(xù)判段
        AJMP ST4;                                       為3,燈L4開始閃爍
     L4:CJNE R0,#4,ST1;                            R0的值為1嗎?不為1,繼續(xù)判斷
        LJMP MAIN ;                                     為4,返回主程序,
  DE1:  MOV R5,#20
LOOP2: LCALL DE2;           調(diào)用延時10ms子程序
       DJNZ R5,LOOP2
       RET

  DE2: MOV R6,#20 ;延時10ms子程序
   L5: MOV R7,#248
       DJNZ R7,$
       DJNZ R6,L5
       RET
      END



程序在板子上調(diào)試的時候,發(fā)現(xiàn)按鍵按快了似乎來不及識別啊,要按下去一會會兒再松開才行,不過按了十幾次之后發(fā)現(xiàn)燈L1變成常亮的了,不再閃爍,這時候隨便怎么按也沒有反應(yīng)了,不知道怎么回事,希望各位幫忙指導(dǎo)指導(dǎo),感激……

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

使用道具 舉報

沙發(fā)
ID:9972 發(fā)表于 2009-4-24 21:37 | 只看該作者
再看下按鍵去抖的程序,貌似有問題,判定確實按下再跳轉(zhuǎn),你的貌似先跳轉(zhuǎn)再判斷了。。。。
回復(fù)

使用道具 舉報

板凳
ID:9596 發(fā)表于 2009-4-25 23:40 | 只看該作者

我請教過別人了,問題已經(jīng)解決,程序也修改好了,不過也感謝你的幫忙。他說是按鍵的靈敏度太低,主要原因是程序延時時間過長。也就導(dǎo)致在一定時間內(nèi)檢測按鍵的次數(shù)很少,所以會出現(xiàn)按下按鍵卻沒有檢測到的現(xiàn)象,只要想辦法提高檢測按鍵的頻率就可以了;不過關(guān)于 “按了十幾次之后發(fā)現(xiàn)燈L1變成常亮的了,不再閃爍”這個問題,他說是程序死機,原因是程序跑飛了,我不明白,程序為什么會跑飛,哪些情況會導(dǎo)致程序跑飛呢?得百度一下了,呵呵!謝謝

[此貼子已經(jīng)被作者于2009-4-26 0:00:08編輯過]
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国家一级黄色片 | 亚洲一二三区精品 | 欧美日韩成人在线观看 | 精品久久久久久亚洲综合网 | 九色视频网站 | 欧美夜夜| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲小视频在线观看 | 99日韩| 五月婷婷中文 | 国产精品久久久久久久久婷婷 | 一级黄色淫片 | 成人免费观看男女羞羞视频 | 成人中文字幕在线 | 国产91av视频在线观看 | 精品视频久久久久久 | 91一区二区三区 | 日本不卡免费新一二三区 | 国产高清视频一区 | 免费观看一级特黄欧美大片 | 国产精品免费视频一区 | 草久久久 | av高清毛片| 国产精品成人久久久久 | 中文字幕一区二区三区乱码在线 | 天天玩天天操天天干 | 97国产精品视频人人做人人爱 | 国内自拍偷拍视频 | 在线中文一区 | 日本不卡一区二区三区 | 久久一久久 | 青青草网站在线观看 | 亚洲视频第一页 | 7777在线| 国产美女精品 | 国产一区二区在线播放 | 国产精品久久久爽爽爽麻豆色哟哟 | 久久精品亚洲 | 精品在线一区二区 | 久草欧美视频 | 欧美精品久久久久久久久老牛影院 |