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

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

QQ登錄

只需一步,快速開始

搜索
查看: 2810|回復(fù): 3
收起左側(cè)

c51跑馬燈仿真+單片機(jī)源代碼

[復(fù)制鏈接]
ID:337656 發(fā)表于 2018-5-24 21:58 | 顯示全部樓層 |閱讀模式
學(xué)校實(shí)訓(xùn)做的,共享一下
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png

單片機(jī)源程序如下:
  1. #include<REGX51.H>
  2. #include<intrins.h>
  3. unsigned char code tablex[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
  4. unsigned char code table0[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};              //全部led燈一起閃爍
  5. unsigned char code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};        //LED從低位往高位移
  6. unsigned char code table2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  7. unsigned char code table3[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};        //LED從1個(gè)亮到8個(gè)都點(diǎn)亮(從低位往高位)
  8. unsigned char code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};   //LED從8個(gè)全亮到一個(gè)都不亮(從低位往高位)
  9. unsigned char  led00[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};                            //
  10. unsigned char  led01[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};
  11. unsigned char  led02[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};
  12. unsigned char  led10[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};  
  13. unsigned char  led11[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};
  14. unsigned char  led12[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};
  15. unsigned char  led20[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};  
  16. unsigned char  led21[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};
  17. unsigned char  led22[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff};

  18. unsigned char i,j;                        //定義循環(huán)變量
  19. unsigned int tt=200;                      //定義時(shí)間指數(shù)
  20. unsigned int  go=0,to=0;                  //定義跳轉(zhuǎn)變量
  21. //***************************************************************************
  22. void delay(unsigned int time)             //延時(shí)函數(shù)
  23. {
  24.         unsigned int x,y;
  25.         for(x=time;x>0;x--)
  26.                 for(y=110;y>0;y--);                                                       
  27. }

  28. //————————————————————————————————————————————————————————————————————————————————————————————————————
  29. void INT0ear()interrupt 0
  30. {
  31.         switch(tt)
  32.         {
  33.             case 200:tt=400;break;
  34.                 case 400:tt=600;break;
  35.                 case 600:tt=800;break;
  36.                 case 800:tt=1000;break;
  37.                 case 1000:tt=200;break;
  38.         }
  39. }
  40. void INT1ear()interrupt 2
  41. {
  42.         go=go++;
  43.         if(go==5)go=0;
  44.         switch(go)
  45.         {   
  46.                 case 0:for(j=0;j<8;j++)
  47.                 {
  48.                         led00[j]=table0[j];led01[j]=table0[j];led02[j]=table0[j];
  49.                         led10[j]=table0[j];led11[j]=table0[j];led12[j]=table0[j];
  50.                         led20[j]=table0[j];led21[j]=table0[j];led22[j]=table0[j];
  51.                         P3_4=0;P3_5=0;P3_6=0;P3_7=0;
  52.                 }break;
  53.                 case 1:for(j=0;j<8;j++)
  54.                 {
  55.                         led00[j]=table1[j];led01[j]=table1[j];led02[j]=table1[j];
  56.                         led10[j]=table1[j];led11[j]=table1[j];led12[j]=table1[j];
  57.                         led20[j]=table1[j];led21[j]=table1[j];led22[j]=table1[j];
  58.                         P3_4=1;P3_5=0;P3_6=0;P3_7=0;
  59.                 }break;
  60.                 case 2:for(j=0;j<8;j++)
  61.                 {
  62.                         led00[j]=table2[j];led01[j]=table2[j];led02[j]=table2[j];
  63.                         led10[j]=table2[j];led11[j]=table2[j];led12[j]=table2[j];
  64.                         led20[j]=table2[j];led21[j]=table2[j];led22[j]=table2[j];
  65.                         P3_4=0;P3_5=1;P3_6=0;P3_7=0;
  66.                 }break;
  67.                 case 3:for(j=0;j<8;j++)
  68.                 {
  69.                         led00[j]=table3[j];led01[j]=table3[j];led02[j]=table3[j];
  70.                         led10[j]=table3[j];led11[j]=table3[j];led12[j]=table3[j];
  71.                         led20[j]=table3[j];led21[j]=table3[j];led22[j]=table3[j];
  72.                         P3_4=1;P3_5=1;P3_6=0;P3_7=0;
  73.                 }break;
  74.                 case 4:for(j=0;j<8;j++)
  75.                 {
  76.                         led00[j]=table4[j];led01[j]=table4[j];led02[j]=table4[j];
  77.                         led10[j]=table4[j];led11[j]=table4[j];led12[j]=table4[j];
  78.                         led20[j]=table4[j];led21[j]=table4[j];led22[j]=table4[j];
  79.                         P3_4=0;P3_5=0;P3_6=1;P3_7=0;
  80.                 }break;
  81.         }
  82. }
  83. //————————————————————————————————————————————————————————————————————————————————————————————————————
  84. void main()
  85. {
  86.         EA=1;EX0=1;IT0=1;EX1=1;IT1=1;        //打開總中斷開關(guān),打開外部中斷,設(shè)置初始狀態(tài)
  87.         P3_4=0;
  88.         P3_5=0;
  89.         P3_6=0;
  90.         P3_7=0;
  91.         while(1)
  92.         {               
  93.         for(i=0;i<8;i++)
  94.         {
  95.                 P0=led00[i];
  96.                                 P1=led01[i];
  97.                                 P2=led02[i];
  98.                 delay(tt);                       
  99.         for(i=0;i<8;i++)
  100.         {
  101.         }
  102.                 P0=led10[i];
  103.                                 P1=led11[i];
  104.                                 P2=led12[i];
  105.                 delay(tt);
  106.         }
  107.         for(i=0;i<8;i++)
  108.         {
  109.                 P0=led20[i];
  110.                                 P1=led21[i];
  111.                                 P2=led22[i];      
  112.                 delay(tt);
  113.         }
  114.         }
  115. }
復(fù)制代碼

所有資料51hei提供下載:
51跑馬燈.zip (20.32 KB, 下載次數(shù): 21)
回復(fù)

使用道具 舉報(bào)

ID:352518 發(fā)表于 2018-6-22 15:32 來自手機(jī) | 顯示全部樓層
謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:352518 發(fā)表于 2018-6-22 15:34 來自手機(jī) | 顯示全部樓層
謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:431591 發(fā)表于 2019-12-12 09:27 | 顯示全部樓層
很好,很高級(jí),正在學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区视频 | www.一区二区 | 日韩激情免费 | 中文字幕在线免费观看 | 亚洲精品免费在线观看 | 国产亚洲精品91 | 成人午夜激情 | 欧美video| 99久久婷婷国产精品综合 | 免费在线性爱视频 | 毛片视频观看 | 精品成人av| 91久久久久久久久久久 | 99精品一级欧美片免费播放 | 欧美精品一区免费 | 黄色小视频入口 | 亚洲欧美日韩久久 | 亚洲bt 欧美bt 日本bt | 成人国产综合 | 久久久久国产精品一区二区 | 91欧美 | 国产a级毛毛片 | 成人欧美一区二区三区黑人孕妇 | av片在线播放 | 欧美精品福利视频 | 91在线看视频 | 国产激情一区二区三区 | 在线亚洲人成电影网站色www | av一级毛片| 色播久久久 | 国产视频一区二区 | 综合激情久久 | 欧美一区二区三区在线观看 | 久久久精品影院 | 亚洲欧洲一区二区 | 午夜在线影院 | 亚洲国产视频一区二区 | www.青青草 | 欧美黄色网络 | 91成人免费看片 | 天天操天天操 |