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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)開(kāi)關(guān)控制心型LED閃爍狀態(tài)源程序與Proteus仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
Proteus通過(guò)使用單片機(jī)C51控制流水燈的閃碩狀態(tài),語(yǔ)言簡(jiǎn)單

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit S1=P2^0;
  6. sbit S2=P2^1;
  7. sbit S3=P2^2;
  8. sbit S4=P2^3;
  9. uchar keyval;   //定義鍵值變量
  10. void key_scan();        //按鍵掃描函數(shù)聲明
  11. void delayms(uint);       //延時(shí)函數(shù)聲明
  12. void pattern1();
  13. void pattern2();
  14. void pattern3();
  15. void pattern4();

  16. void main(void)
  17. {
  18. keyval=0;
  19. while(1)
  20. {
  21.   key_scan();                         //調(diào)用按鍵掃描函數(shù)
  22.   switch(keyval)                  
  23.   {
  24.    case 1:pattern1();break; //按鍵1被按下時(shí)執(zhí)行操作
  25.    case 2:pattern2();break; //按鍵2被按下時(shí)執(zhí)行操作
  26.    case 3:pattern3();break; //按鍵3被按下時(shí)執(zhí)行操作
  27.    case 4:pattern4();break; //按鍵4被按下時(shí)執(zhí)行操作
  28.   }
  29. }
  30. }
  31. void key_scan(void)       //按鍵掃描函數(shù)定義
  32. {
  33. P2=0xff;
  34. if((P2&0x0f)!=0x0f)
  35. {
  36.   delayms(100);    //按鍵消抖
  37.   if(S1==0)
  38.   keyval=1;
  39.   if(S2==0)
  40.   keyval=2;
  41.   if(S3==0)
  42.   keyval=3;
  43.   if(S4==0)
  44.   keyval=4;
  45. }
  46. }
  47. void delayms(uint j)
  48. {
  49.         uchar i;
  50.         for(;j>0;j--)
  51.         {
  52.                 i=250;
  53.                 while(--i);
  54.                 i=249;
  55.                 while(--i);
  56.         }
  57. }


  58. void pattern1()
  59. {
  60.   uchar i;
  61.         P0=0x7f;
  62.         P1=0xfe;
  63.         for(i=0;i<8;i++)
  64.         {delayms(200);
  65.          P0=_cror_(P0,1);
  66.          P1=_crol_(P1,1);
  67.   }
  68. }

  69. void pattern2()
  70. {
  71.   uchar i,temp;
  72.         temp=0xfe;
  73.         for(i=0;i<8;i++)
  74.         {delayms(200);
  75.          P0=P1=temp;
  76.          temp=temp<<1;
  77.   }
  78. }

  79. void pattern3()
  80. {
  81.     P0=P1=0xff;
  82.           delayms(200);
  83.           P0=P1=0x00;
  84.           delayms(200);
  85. }


  86. void pattern4()
  87. {
  88.   uchar i;
  89.         P0=0x7f;
  90.         for(i=0;i<8;i++)
  91.         {delayms(200);
  92.          P0=_cror_(P0,1);
  93.   }        
  94.         P0=0xff;
  95.         P1=0xfe;
  96.         for(i=0;i<8;i++)
  97.         {delayms(200);
  98.          P1=_crol_(P1,1);
  99.   }
  100.         P1=0xff;
  101. }
復(fù)制代碼
本人初學(xué),僅供參考,存在錯(cuò)誤和不足之處,請(qǐng)大家回帖多多指教,切勿照搬,文件下載:
以上的Keil5代碼工程文件和Proteus仿真8.13下載:
以上代碼下載.7z (60.43 KB, 下載次數(shù): 17)

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:561301 發(fā)表于 2022-6-8 16:56 | 只看該作者
剛試用了  發(fā)現(xiàn)要切換不同的閃爍只能在剛接通電源時(shí)才能,中途按下其他鍵沒(méi)有反應(yīng),
回復(fù)

使用道具 舉報(bào)

板凳
ID:65074 發(fā)表于 2023-1-29 16:13 | 只看該作者
我的也是這樣的效果 只有復(fù)位后按按鍵可以切換 之后就切換不了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区在线观看视频 | 亚洲成av人片在线观看 | 国产在线激情视频 | 国产精品久久久久aaaa九色 | 91久久国产综合久久 | 国产精品日韩欧美一区二区三区 | 日韩视频免费在线 | 午夜免费网站 | 一区二区日本 | 国产精品成人一区二区三区夜夜夜 | 亚洲香蕉在线视频 | 91在线区| 欧美激情欧美激情在线五月 | 日本特黄a级高清免费大片 成年人黄色小视频 | avtt国产 | 欧美成人h版在线观看 | 日韩在线欧美 | 精品福利av导航 | 国产精品一区二区在线 | 国产精品国产自产拍高清 | 亚洲高清电影 | 亚洲日日夜夜 | av永久 | 免费国产成人av | 亚洲 91| 国产亚洲欧美日韩精品一区二区三区 | 青草视频在线 | 中文二区 | 中文字幕国产精品 | 欧美一级在线观看 | 亚洲欧美在线一区 | 欧美xxxx做受欧美 | 精品成人 | 国产精品久久久久久av公交车 | 九色av | 日韩精品免费在线观看 | 日韩精品成人 | www在线| 99精品99| 日韩一区二区三区在线视频 | 一区观看|