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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

8x16LED點陣屏顯示數字 Proteus仿真+單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
話不多說直接上文件
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載).


單片機源程序如下:
  1. //74HC595練習程序
  2. //串入并出實現16流水燈效果
  3. //2009.12.28
  4. #include"reg52.h"
  5. #include"intrins.h"
  6. #define u8 unsigned char
  7. #define u16 unsigned int
  8. sbit SCK=P2^0;           //數據在上升沿進入移位寄存器
  9. sbit SER=P2^1;           //串行數據輸入端
  10. sbit RCK=P2^2;   //上升沿時將數據輸出到并行端口

  11. sbit gA=P0^0;
  12. sbit gB=P0^1;
  13. sbit gC=P0^2;
  14. sbit gD=P0^3;

  15. void DigDisplay(unsigned char n);
  16. u8 zi1[]={0x00,0x70,0x88,0x04,0x04,0x04,0x98,0x00,0x00,0x10,0x10,0x11,0x11,0x11,0x1F,0x00};

  17. void send_data(u8 dat0)//,u8 dat1,u8 dat2,u8 dat3)          //發送數據
  18. {
  19.         u8 i = 0, j = 0;

  20.         SCK = 0;                                // 將SCK置為初始狀態
  21.         RCK = 0;                                // 將RCK置為初始狀態
  22.         for (i=0; i<8; i++)
  23.         {
  24.                 SER = dat0 & (0x01);
  25.                 dat0 >>= 1;
  26.                 SCK = 0;
  27.                 _nop_();
  28.                 _nop_();
  29.                 _nop_();
  30.                 SCK = 1;
  31.                
  32.         }
  33. //        for (i=0; i<8; i++)
  34. //        {
  35. //
  36. //                SER = dat1 & (0x01);
  37. //                dat1 >>= 1;
  38. //                SCK = 0;
  39. //                _nop_();
  40. //                _nop_();
  41. //                _nop_();
  42. //                SCK = 1;        
  43. //               
  44. //        }
  45. //                for (i=0; i<8; i++)
  46. //        {
  47. //                SER = dat2 & (0x01);
  48. //                dat2 >>= 1;
  49. //                SCK = 0;
  50. //                _nop_();
  51. //                _nop_();
  52. //                _nop_();
  53. //                SCK = 1;
  54. //               
  55. //        }
  56. //        for (i=0; i<8; i++)
  57. //        {
  58. //
  59. //                SER = dat3 & (0x01);
  60. //                dat3 >>= 1;
  61. //                SCK = 0;
  62. //                _nop_();
  63. //                _nop_();
  64. //                _nop_();
  65. //                SCK = 1;        
  66. //               
  67. //        }
  68.                 RCK = 0;
  69.                 _nop_();
  70.                 _nop_();
  71.                 _nop_();
  72.                 RCK = 1;

  73.                 RCK=0;
  74.                 SCK=0;
  75.                 SER=0;
  76.                
  77. }

  78. void main()
  79. {
  80.         u8 k=0;
  81.         while(1)
  82.         {
  83.         for(k=0;k<16;k++)
  84.         {        
  85.                 DigDisplay(k);
  86.                 send_data(zi1[k]);//,zi2[k],zi3[k],zi4[k]);
  87.                 send_data(0x00);               
  88.         }
  89.         }               
  90. }
  91. void DigDisplay(u8 n)
  92. {
  93.                 switch (n)                                                          //位選,選擇點亮哪個數碼管
  94.                 {
  95.                         case 0:
  96.                                 gA = 1; gB = 1; gC = 1,gD=1;
  97.                                 break;                                                 //顯示第0位
  98.                         case 1:
  99.                                 gA = 0; gB = 1; gC = 1,gD=1;
  100.                                 break;                                                 //顯示第1位
  101.                         case 2:
  102.                                 gA = 1; gB = 0; gC = 1,gD=1;
  103.                                 break;                                                 //顯示第2位
  104.                         case 3:
  105.                                 gA = 0; gB = 0; gC = 1,gD=1;
  106.                                 break;                                                 //顯示第3位
  107.                         case 4:
  108.                                 gA = 1; gB = 1; gC = 0,gD=1;
  109.                                 break;                                                 //顯示第4位
  110.                         case 5:
  111.                                 gA = 0; gB = 1; gC = 0,gD=1;
  112.                                 break;                                                 //顯示第5位
  113.                         case 6:
  114.                                 gA = 1; gB = 0; gC = 0,gD=1;
  115.                                 break;                                                 //顯示第6位
  116.                         case 7:
  117.                                 gA = 0; gB = 0; gC = 0,gD=1;
  118.                                 break;                                                 //顯示第7位



  119.                         case 8:
  120.                                 gA = 1; gB = 1; gC = 1,gD=0;
  121.                                 break;                                                 //顯示第0位
  122.                         case 9:
  123.                                 gA = 0; gB = 1; gC = 1,gD=0;
  124.                                 break;                                                 //顯示第1位
  125.                         case 10:
  126.                                 gA = 1; gB = 0; gC = 1,gD=0;
  127.                                 break;                                                 //顯示第2位
  128.                         case 11:
  129.                                 gA = 0; gB = 0; gC = 1,gD=0;
  130.                                 break;                                                 //顯示第3位
  131.                         case 12:
  132.                                 gA = 1; gB = 1; gC = 0,gD=0;
  133.                                 break;                                                 //顯示第4位
  134.                         case 13:
  135.                                 gA = 0; gB = 1; gC = 0,gD=0;
  136.                                 break;                                                 //顯示第5位
  137.                         case 14:
  138.                                 gA = 1; gB = 0; gC = 0,gD=0;
  139.                                 break;                                                 //顯示第6位
  140.                         case 15:
  141.                                 gA = 0; gB = 0; gC = 0,gD=0;
  142.                                 break;                                                 //顯示第7位

  143.                         default:
  144.                                 break;        
  145.                
  146.         }
  147. }
復制代碼

所有資料51hei提供下載:
級聯.zip (108.39 KB, 下載次數: 45)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产91在线 | 中日 | av性色全交蜜桃成熟时 | 牛牛热在线视频 | 欧美一区中文字幕 | 亚洲一区综合 | 91成人免费电影 | 精品自拍视频 | 欧美久久久久 | 亚洲国产精品99久久久久久久久 | 亚州精品天堂中文字幕 | 日韩欧美精品一区 | 午夜免费观看体验区 | 日一区二区 | 日韩一区在线播放 | 国产人成在线观看 | 一区在线视频 | 超碰伊人久久 | 欧美一区 | 一级中国毛片 | 四虎影院一区二区 | 久久久成人免费视频 | 午夜久久久久久久久久一区二区 | 99亚洲精品| 久草精品视频 | 成人在线视频网 | 亚洲a在线观看 | 亚洲欧美国产毛片在线 | 中国一级特黄毛片大片 | 国产精品免费在线 | 精品国产乱码久久久久久牛牛 | 真人女人一级毛片免费播放 | 久草资源在线视频 | 亚洲精品成人网 | aaaaaaa片毛片免费观看 | 国产二区三区 | 五月婷婷亚洲 | 欧美日韩一区二区三区在线观看 | 午夜天堂精品久久久久 | а天堂中文最新一区二区三区 | 日日草天天干 | 亚欧性视频 |