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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stc15單片機按鍵循環顯示源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:298970 發表于 2018-3-29 17:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. #include<stc15f2k60s2.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int

  4. uint i;
  5. uint ss_data=0;
  6. uint SS=0;
  7. uchar num=0;
  8. uchar code tab[]={0xc0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0Xc6,0Xa1,0X86,0X8e};//ROM
  9. void delayms(int ms);
  10. void keyscan16();
  11. void Timer0Init(void);
  12. void main()
  13. {
  14. Timer0Init();
  15. EA=1;
  16. P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;  //板子初始化程序 ,以后講
  17. P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;  //數碼管初始化程序,以后講

  18.   P0=tab[0];
  19. while(1)
  20. {
  21.   keyscan16();
  22. }
  23. }
  24. void keyscan16()
  25. {
  26. uchar temp;

  27. P44=0;P42=1;P3=0X7F;
  28. temp=P3;
  29. temp=temp&0X0F;//1111 1101 & 0000 1111 = 0000 1101
  30. if(temp!=0x0f)
  31. {
  32.   delayms(5);
  33.   temp=P3;
  34.   temp=temp&0X0F;
  35.   if(temp!=0x0f)
  36.   {
  37.    temp=P3;
  38.    ET0=1;
  39.    switch(temp)
  40.    {
  41.     case 0x7e: ss_data=800;break;
  42.     case 0x7d: ss_data=400;break;
  43.     case 0x7b: ss_data=200;break;
  44.     case 0x77: ss_data=100;break;
  45.    }
  46.    while(temp!=0x0f)
  47.    {
  48.     temp=P3;
  49.     temp=temp&0X0F;
  50.    }
  51.   }
  52. }
  53. P44=1;P42=0;P3=0XBF;//1011 111
  54. temp=P3;
  55. temp=temp&0X0F;//1111 1101 & 0000 1111 = 0000 1101
  56. if(temp!=0x0f)
  57. {
  58.   delayms(5);
  59.   temp=P3;
  60.   temp=temp&0X0F;
  61.   if(temp!=0x0f)
  62.   {
  63.    temp=P3;
  64.    switch(temp)
  65.    {
  66.     case 0xBe: P0=tab[0];break;//1111 1110 P37----p30
  67.     case 0xBd: P0=tab[5];break;//1111 1101
  68.     case 0xBb: P0=tab[6];break;
  69.     case 0xB7: P0=tab[7];break;
  70.    }
  71.    while(temp!=0x0f)
  72.    {
  73.     temp=P3;
  74.     temp=temp&0X0F;
  75.    }
  76.   }
  77. }

  78. P3=0XDF;P44=1;P42=1;//1101 1111
  79. temp=P3;
  80. temp=temp&0X0F;//1111 1101 & 0000 1111 = 0000 1101
  81. if(temp!=0x0f)
  82. {
  83.   delayms(5);
  84.   temp=P3;
  85.   temp=temp&0X0F;
  86.   if(temp!=0x0f)
  87.   {
  88.    temp=P3;
  89.    switch(temp)
  90.    {
  91.     case 0xDe: P0=tab[8];break;//1111 1110 P37----p30
  92.     case 0xDd: P0=tab[9];break;//1111 1101
  93.     case 0xDb: P0=tab[10];break;
  94.     case 0xD7: P0=tab[11];break;
  95.    }
  96.    while(temp!=0x0f)
  97.    {
  98.     temp=P3;
  99.     temp=temp&0X0F;
  100.    }
  101.   }
  102. }

  103. P3=0XEF;P44=1;P42=1;//1101 1111
  104. temp=P3;
  105. temp=temp&0X0F;//1111 1101 & 0000 1111 = 0000 1101
  106. if(temp!=0x0f)
  107. {
  108.   delayms(5);
  109.   temp=P3;
  110.   temp=temp&0X0F;
  111.   if(temp!=0x0f)
  112.   {
  113.    temp=P3;
  114.    switch(temp)
  115.    {
  116.     case 0xEe: P0=tab[0];break;//1111 1110 P37----p30
  117.     case 0xEd: P0=tab[2];break;//1111 1101
  118.     case 0xEb: P0=tab[4];break;
  119.     case 0xE7: P0=tab[6];break;
  120.    }
  121.    while(temp!=0x0f)
  122.    {
  123.     temp=P3;
  124.     temp=temp&0X0F;
  125.    }
  126.   }
  127. }
  128. }
  129. void Timer0Init(void)  //5毫秒@11.0592MHz
  130. {
  131. // AUXR |= 0x80;  //定時器時鐘1T模式    AUXR =AUXR|0x80;   0010 1010  | 1000 0000 = 1010 1010
  132. // TMOD &= 0xF0;  //設置定時器模式   // TMOD = TMOD&0xF0;   1010 1010 & 1111 0000 = 1010 0000
  133. AUXR=0X80;
  134. TMOD=0XF0;//11.0592MHz  55296  5MS   65536-55296=10240                  
  135. TL0 = 0x00;  //設置定時初值   
  136. TH0 = 0x28;  //設置定時初值
  137. TF0 = 0;  //清除TF0標志
  138. TR0 = 1;  //定時器0開始計時
  139. }
  140. void time0(void) interrupt 1
  141. {
  142. SS=SS+1;
  143. if(SS==ss_data)
  144. {
  145.   SS=0;
  146.   P0=tab[num];
  147.   num++;
  148.   if(num==16)num=0;
  149. }
  150. }
  151. void delayms(int ms)
  152. {
  153. int i,j;
  154. for(i=ms;i>0;i--)
  155.   for(j=845;j>0;j--);
  156. }
復制代碼



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:46065 發表于 2018-3-29 22:06 | 只看該作者
學習了,謝謝!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久视频在线 | 国产精品精品久久久久久 | 日韩在线小视频 | www.888www看片| 亚洲成人福利 | av官网在线 | 在线亚洲一区 | 天天操夜夜骑 | 丝袜一区二区三区 | 日韩毛片在线观看 | 国产一区二区三区四区在线观看 | 国产在线中文字幕 | 久久9久 | 在线观看a视频 | 视频一区二区在线观看 | 午夜天堂精品久久久久 | 久久中文字幕一区 | 欧美a级成人淫片免费看 | 成人亚洲性情网站www在线观看 | 91免费小视频 | 久久久久国产精品午夜一区 | 国产精品一区二区视频 | 久久五月婷 | 亚洲成人激情在线观看 | 中文字幕亚洲视频 | 天天在线操 | 国产精品天堂 | 精品一区二区三区在线观看国产 | 欧日韩在线观看 | va在线| 中文字幕亚洲区一区二 | 国产精品91网站 | 国产伦精品一区二区 | 91在线精品视频 | 黄色毛片一级 | 日韩在线播放视频 | 成人免费视频一区二区 | 91在线资源 | 欧美视频在线播放 | 男女羞羞免费视频 | 国产精品久久久久永久免费观看 |