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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

PIC單片機開發板獨立鍵盤掃描+蜂鳴器響+數碼管 C程序代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:103513 發表于 2016-1-17 02:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


PIC單片機開發板 C代碼:獨立鍵盤掃描+蜂鳴器響+數碼管
                                                                                               自已寫的,并正常運行   


  1. /*
  2. 為自已寫的獨立鍵盤掃描+蜂鳴器響+數碼管
  3. 犯的錯:unsigned密寫成了unsigner一直提示找不到a,b
  4.   PORTD0=1;不行,要寫成PORTD=0x01;才可以,經實驗證得沒有PORTD0沒這個東西,應為RD0=1;
  5.   PORTD=0x03;不是第三個燈亮,而是0000 0011是兩個燈亮
  6.   PORTD=0x8則是0000 1000是第4個燈亮。。。。。出錯因原進制轉化,剛開始寫程序進制轉化混掉了。
  7. */
  8. #include <pic.h>
  9. #define uchar unsigned char
  10. #define uint unsigned int
  11. __CONFIG(0x3B31);
  12. const unsigned char table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};  //數碼管數組
  13. uchar key_num;
  14. void delay(uint x)  //延時函數
  15. {
  16. uint a,b;
  17. for(a=x;a>0;a--)
  18.   for(b=110;b>0;b--);
  19. }
  20. void scan();   //掃描鍵盤函數  聲明
  21. void didi(uchar num); //蜂鳴器響 函數 聲明
  22. void disp(uchar num0,uchar num1,uchar num2,uchar num3,uchar num4,uchar num5,uchar num6,uchar num7); //數碼管顯示 聲明
  23. //-----------------------------------------------------------------------------------
  24. void init()        //初始化函數
  25. {
  26. TRISA=0x00;

  27. TRISB=0xff;  

  28. TRISC=0X00;

  29. TRISD=0x00;

  30. TRISE=0x00;  

  31. PORTC=0Xff;  

  32. PORTD=0x00;

  33. }
  34. //-------------------主函數-----------------------------------------------------------
  35. void main()
  36. {
  37. init ();
  38. while(1)
  39. {
  40. scan();   //掃描鍵盤
  41. disp(key_num,2,3,4,5,6,7,8); //后面的直接傳給數碼管而第一個是幾,我們要用鍵盤來檢測,則第一個變量由key_num
  42. }
  43. }
  44. //-------------------------------------------------------------------------------------

  45. void didi(uchar num) //蜂鳴器函數,num響幾聲
  46. {
  47. uchar di_num; //di_num響幾聲
  48. for(di_num=num;di_num>0;di_num--)
  49.   {
  50.   RE0=1;
  51.   delay(100);
  52.   RE0=0;
  53.   delay(50);
  54.   }
  55. }
  56. void scan()  
  57. {
  58. if(RB0==0)
  59.   {
  60.   delay(10);

  61.   if(RB0==0)
  62.    {
  63.    didi(1);
  64.    while(!RB0);

  65. //   PORTD=0x01;  //若寫成RD0=1;也可,不過呢,會出現燈亮了之后不會滅掉,還得加清零(滅燈)
  66.    key_num=1;
  67.    }
  68.   }
  69. if(RB1==0)
  70.   {
  71.   delay(10);

  72.   if(RB1==0)
  73.    {
  74.    didi(2);
  75.    while(!RB1);

  76. //   PORTD=0x02;
  77.    key_num=2;
  78.    }
  79.   }
  80. if(RB2==0)
  81.   {
  82.   delay(10);

  83.   if(RB2==0)
  84.    {
  85.    didi(3);
  86.    while(!RB2);

  87. //   PORTD=0x04;
  88.    key_num=3;
  89.    }
  90.   }
  91. if(RB3==0)
  92.   {
  93.   delay(10);

  94.   if(RB3==0)
  95.    {
  96.    didi(4);
  97.    while(!RB3);

  98. //   PORTD=0x08;
  99.    key_num=4;
  100.    }
  101.   }
  102. }

  103. //---------------------------數碼管顯示函數,數組------------------------------------------------
  104. void disp(uchar num0,uchar num1,uchar num2,uchar num3,uchar num4,uchar num5,uchar num6,uchar num7)
  105. {
  106. PORTD=table[num0];
  107. PORTA=0x00;  //第一個數碼管選通
  108. delay(2);  //延時,顯示2ms

  109. PORTD=table[num1];
  110. PORTA=0x02;  //第二個數碼管選通
  111. delay(2);  //延時,顯示2ms

  112. PORTD=table[num2];
  113. PORTA=0x04;  //第三個數碼管選通
  114. delay(2);  //延時,顯示2ms

  115. PORTD=table[num3];
  116. PORTA=0x06;  //第四個數碼管選通
  117. delay(2);  //延時,顯示2ms

  118. PORTD=table[num4];
  119. PORTA=0x08;  //第五個數碼管選通
  120. delay(2);  //延時,顯示2ms

  121. PORTD=table[num5];
  122. PORTA=0x0A;  //第六個數碼管選通
  123. delay(2);  //延時,顯示2ms

  124. PORTD=table[num6];
  125. PORTA=0x0c;  //第七個數碼管選通
  126. delay(2);  //延時,顯示2ms

  127. PORTD=table[num7];
  128. PORTA=0x0e;  //第八個數碼管選通
  129. delay(2);  //延時,顯示2ms
  130. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美美乳 | 欧美二级| 国产精品国产精品国产专区不卡 | 欧美h| 爱爱免费视频 | 国产精品视频一区二区三区, | 美女日皮网站 | 亚洲精品国产成人 | 久久影院一区 | 亚洲成人精品免费 | 色婷婷一区二区三区四区 | 亚洲福利一区二区 | 中文在线一区二区 | 欧美一区二不卡视频 | 九九热国产精品视频 | 欧美黑人一区 | 国产综合精品一区二区三区 | 欧洲毛片 | 国产毛片久久久 | 亚洲一区综合 | 国产在线观看一区二区 | 中文字幕成人 | 精品中文字幕一区二区三区 | 黄网免费看 | 午夜寂寞福利视频 | 亚洲日韩中文字幕一区 | 亚洲高清免费观看 | 成人免费大片黄在线播放 | 中文字幕三区 | 亚洲视频一区二区三区 | 四虎永久免费地址 | 男人的天堂久久 | 韩国精品一区二区三区 | 中文字幕色站 | 久久亚洲天堂 | 日韩电影中文字幕 | 午夜视频免费在线观看 | 亚洲一二三区在线观看 | 国产精品一区二区三区久久 | 欧美jizzhd精品欧美巨大免费 | 在线播放国产一区二区三区 |