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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

按鍵控制的單片機(jī)流水燈(上至下再下至上)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:149427 發(fā)表于 2016-11-22 13:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
C51的流水燈 老師布置的作業(yè),上至下再下至上的流水燈,并且可以用按鍵來控制.

資料下載:
按鍵控制的流水燈(上至下再下至上).zip (79.29 KB, 下載次數(shù): 14)

c語言的流水燈程序:
  1. #include<reg51.h>
  2. #include<intrins.h>       //包含循環(huán)左、右移位函數(shù)的頭文件
  3. #define led P1
  4. sbit key1=P3^2;
  5. sbit key2=P3^3;
  6. unsigned char a,b;

  7. void delay(unsigned char m)
  8. {
  9.       unsigned i,j;
  10.        for(i=0;i<=m;i++)
  11.          for(j=0;j<=120;j++);   //這條語句大概延時1ms
  12. }

  13. void key1ch()
  14. {
  15.   
  16.   while(key2)    //如果鍵2沒有按下,循環(huán)執(zhí)行這段程序
  17.   {
  18.    for(a=0;a<8;a++)
  19.     {   
  20.          delay(500);
  21.          led=_crol_(led,1);//左移一位
  22.          while(!key2) return;//如果鍵2按下,退出
  23.       }
  24.    }
  25. }
  26. void key2ch()   
  27.   {
  28.     while(key1)      //如果鍵1沒有按下,循環(huán)執(zhí)行這段程序
  29.     {for(b=0;b<8;b++)
  30.       {  
  31.           delay(500);
  32.           led=_cror_(led,1);//右移一位
  33.            while(!key1) return;//如果鍵1按下,退出
  34.       }
  35.     }
  36. }

  37. void main()
  38. {
  39.   led=0xfe;
  40.   while(1)
  41.   {if(!key1)
  42.    {
  43.     delay(10);
  44.      while(key1);
  45.       key1ch();
  46.     }
  47.    else
  48.     if(!key2)
  49.     {
  50.       delay(10);
  51.        while(key2);
  52.         key2ch();
  53.      }
  54.    }
  55. }
復(fù)制代碼

匯編語言的流水燈程序:
  1. org 0000h
  2. ajmp main
  3. org 0003h
  4. ajmp int00
  5. org 0013h
  6. ajmp int01
  7. org 0030h
  8. main:mov sp,#60h
  9.      clr 20h.0
  10.      clr 20h.1
  11.      setb it0
  12.      setb it1
  13.      setb ex0
  14.      setb ex1
  15.      setb ea
  16. key1:jnb 20h.0,key2
  17.      mov a,#0feh   ;按鍵1處理,從上往下流動
  18.      mov r2,#8
  19. loop1:mov p1,a
  20.       acall delay
  21.      rl a             ;左移一位
  22.      jnb 20h.1,loop2   ;判斷按鍵2是否按下,沒有則按照按鍵1的功能執(zhí)行
  23.      djnz r2,loop1
  24.      mov r2,#8
  25.      sjmp loop1

  26. key2:jnb 20h.1,key1
  27.      mov a,#07fh
  28. loop2: mov p1,a
  29.       acall delay
  30.       rr a
  31.      jnb 20h.0,loop1
  32.       djnz r2,loop2
  33.       mov r2,#8
  34.       sjmp loop2

  35. int00:setb 20h.1
  36.       clr 20h.0
  37.        reti
  38. int01:setb 20h.0
  39.       clr 20h.1
  40.       reti

  41. delay:mov r5,#4
  42.    dl1:mov r6,#200
  43.    dl2:mov r7,#250
  44.    djnz r7,$
  45.    djnz r6,dl2
  46.    djnz r5,dl1
  47.    ret

  48. end
復(fù)制代碼
  1. org 0000h

  2. key:jnb p3.2,key11  ;判斷是否按鍵1,如果是則進(jìn)行按鍵處理
  3.     jnb p3.3,key21  ;判斷是否按鍵2,如果是則進(jìn)行按鍵處理
  4.     sjmp key
  5. key11:call delay10ms  ;延時10毫秒進(jìn)行按鍵消抖
  6.       jnb p3.2,[        DISCUZ_CODE_5        ]nbsp;     ;按鍵還是按下的,則等待鍵釋放
  7.       acall key1
  8.       sjmp key
  9. key21:call delay10ms
  10.       jnb p3.3,$
  11.        acall key2
  12.       sjmp key
  13.       
  14. key1:mov a,#0feh   ;按鍵1處理,從上往下流動
  15.      mov r2,#8
  16. loop1:mov p1,a
  17.       acall delay
  18.      rl a             ;左移一位
  19.      jnb p3.3,back1   ;判斷按鍵2是否按下,沒有則按照按鍵1的功能執(zhí)行
  20.      djnz r2,loop1
  21.      sjmp key1
  22. back1: mov r2,#8
  23.      ret
  24. key2:mov a,#07fh
  25. loop2: mov p1,a
  26.       acall delay
  27.       rr a
  28.      jnb p3.2,back2
  29.       djnz r2,loop2
  30.       sjmp key2
  31. back2: mov r2,#8
  32.       ret

  33. delay:mov r5,#4
  34.    dl1:mov r6,#200
  35.    dl2:mov r7,#250
  36.    djnz r7,$
  37.    djnz r6,dl2
  38.    djnz r5,dl1
  39.    ret
  40. delay10ms:
  41.     mov r6,#200
  42. ddl2:mov r7,#250
  43.     djnz r7,$
  44.     djnz r6,ddl2
  45.     ret
  46. end
復(fù)制代碼

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:551148 發(fā)表于 2020-4-7 15:53 | 只看該作者
完整文件嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:724172 發(fā)表于 2020-4-7 16:37 | 只看該作者
太好了,但還有沒有另的模式編碼?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久99久久98精品免观看软件 | 亚洲一区二区免费视频 | 久草网站 | 亚洲三级国产 | 在线视频一区二区三区 | 亚洲日本激情 | 久久99深爱久久99精品 | 色呦呦在线 | 国产成人在线观看免费 | 久久亚洲国产精品 | 成人国产在线视频 | 中文字幕日韩欧美一区二区三区 | h视频免费在线观看 | 天天综合日日夜夜 | 一区在线视频 | 91免费电影 | 午夜久久久 | 日韩成人免费在线视频 | avhd101在线成人播放 | 欧美成年黄网站色视频 | 久久久久久网站 | 国产精品91视频 | 亚洲精品欧美精品 | 日韩在线观看中文字幕 | 日韩欧美一区二区三区免费看 | 91综合在线视频 | 毛片视频免费观看 | 搞黄视频免费看 | 在线日韩福利 | 亚洲欧洲精品成人久久奇米网 | 久久久久久久久久久高潮一区二区 | 国产成人精品午夜视频免费 | 国产精品一区二区av | 午夜大片 | 日韩欧美在线不卡 | 成人免费在线播放 | 久久久夜 | 精品国产欧美一区二区 | 成人av鲁丝片一区二区小说 | av中文字幕在线观看 | 日韩免费一区 |