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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

分享設計:多種數碼管控制C語言代碼及仿真電路

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 多喝點 于 2020-2-7 16:45 編輯

  • 動態控制:使用74HC573八個共陽極數碼管依次顯示0-7

仿真電路圖:



C語言程序代碼:
  1. #include <reg52.h>

  2. #define uchar unsigned char        
  3. #define uint  unsigned int         
  4.               
  5. sbit we = P3^7;                           
  6. sbit du = P3^0;              
  7. uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8};
  8. uchar code tab[]={0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
  9. void delay(uint z)
  10. {
  11.         uint x,y;
  12.         for(x = z; x > 0; x--)
  13.                 for(y =10; y>0 ; y--);
  14. }


  15. uchar num;
  16. void main()
  17. {
  18.         du=0;
  19.         we=0;
  20.                 while(1)
  21.                 {
  22.                                         for(num=0;num<8;num++)
  23.                                                         {
  24.                                                                
  25.                                                                 we=1;
  26.                                                                 P1=tab[num];
  27.                                                                 we=0;
  28.                                                                
  29.                                                                
  30.                                                                 du=1;
  31.                                                                 P2=table[num];
  32.                                                                 du=0;
  33.                                                                 delay(10);
  34.                                                         };
  35.                 }
  36. }
復制代碼
2.動態控制:不使用74HC573使八個數碼管依次顯示0-7
仿真電路圖:(請注意:在接實際電路時,在數碼管管腳之前都要接上電阻,否則會燒壞電子器件)



C語言程序代碼:
  1. #include <reg51.h>

  2. void delay(void)
  3. {
  4.     unsigned char i, j;

  5.     for (i=0; i<10; i++)
  6.         for (j=0; j<10; j++);
  7. }


  8. unsigned char duanma[16] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8};

  9. unsigned char weima[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};


  10. void main(void)
  11. {
  12.     while (1)
  13.     {
  14.         unsigned char i = 0;

  15.         for (i=0; i<8; i++)
  16.         {
  17.             P2 = weima[i];  
  18.             P1 = duanma[i];   

  19.             delay();
  20.             P0 = 0x00;
  21.         }

  22.     }
  23. }
復制代碼

3、靜態控制:8個數碼管顯示相同數字,自動從0開始切換,直到F
仿真電路圖:



C語言程序代碼:

  1. #include <reg52.h>

  2. #define uchar unsigned char        
  3. #define uint  unsigned int         
  4. #define DELAY_TIME 1               
  5. sbit we = P3^7;                           
  6. sbit du = P3^0;              
  7. uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
  8. void delay(uint z)
  9. {
  10.         uint x,y;
  11.         for(x = z; x > 0; x--)
  12.                 for(y =500; y>0 ; y--);
  13. }


  14. uchar num;
  15. void main()
  16. {
  17.                 we=1;
  18.                 P1=0xff;
  19.                 we=0;
  20.                 while(1);
  21.                 {
  22.                                         for(num=0;num<16;num++)
  23.                                                         {
  24.                                                                 du=1;
  25.                                                                 P2=table[num];
  26.                                                                 du=0;
  27.                                                                 delay(100);
  28.                                                         };

  29.                         
  30.                 }
  31. }

復制代碼

4、動態控制:使用74LS138譯碼器控制八位數碼管依次顯示0-7

仿真電路圖:

C語言程序代碼:
  1. #include <reg52.h>

  2. #define uchar unsigned char        
  3. #define uint  unsigned int         


  4. uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07};
  5. uchar code tab[]={0x00,0x01,0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
  6. void delay(uint z)
  7. {
  8.         uint x,y;
  9.         for(x = z; x > 0; x--)
  10.                 for(y =10; y>0 ; y--);
  11. }
  12. uint i;
  13. void main()
  14. {
  15.         for(i=0;i<8;i++)
  16.                 {
  17.                         P2=tab[i];
  18.                         P1=table[i];
  19.                         delay(50);
  20.                 }
  21.         
  22. }
復制代碼

5、動態控制:使用74LS138譯碼器和74LS247七段數碼管譯碼器控制8位數碼管依次顯示0-7
仿真電路圖:


C語言程序代碼:
  1. #include <reg52.h>

  2. #define uchar unsigned char        
  3. #define uint  unsigned int         


  4. uchar code table[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
  5. uchar code tab[]={0x00,0x01,0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
  6. void delay(uint z)
  7. {
  8.         uint x,y;
  9.         for(x = z; x > 0; x--)
  10.                 for(y =10; y>0 ; y--);
  11. }
  12. uint i;
  13. void main()
  14. {
  15.         for(i=0;i<8;i++)
  16.                 {
  17.                         P3=tab[i];
  18.                         P2=table[i];
  19.                         delay(30);
  20.                 }
  21.        
  22. }
復制代碼






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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色亚洲| 日韩av在线中文字幕 | 久久99精品久久久久久噜噜 | 日韩精品视频在线观看一区二区三区 | 国产成人免费视频网站视频社区 | 欧美国产视频 | 亚洲福利在线观看 | 99re热精品视频 | 色啪网| 国产欧美一区二区三区国产幕精品 | 在线色网| 九九热视频这里只有精品 | 欧美日韩亚洲国产 | 亚洲三级在线观看 | 国产精品久久免费观看 | 中文在线www | 福利片在线观看 | 午夜免费在线电影 | 天天拍天天操 | 日韩中文字幕 | 国产视频久久 | 成人a网 | 日韩欧美在线视频 | 99国产视频| 日韩中文在线观看 | 男人天堂手机在线视频 | 成人夜晚看av | 免费在线一区二区 | 欧美一级观看 | 毛片a级 | 久久久xxx| 国产精品久久久久久久久久久久 | 在线观看中文字幕 | www.久久久久久久久久久 | 国产精品久久久久久久午夜 | 特黄色毛片 | 成人亚洲在线 | 午夜天堂 | 激情六月丁香 | 91看片| 青青草精品视频 |