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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4203|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)16×16點(diǎn)陣源程序及仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-3-4 15:05 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
   這是一款51單片機(jī)16×16點(diǎn)陣源程序及仿真,程序及仿真文件壓縮后放在百度網(wǎng)盤上,需要一可以自己下載: 16X16點(diǎn)陣向左移動(dòng).rar (62.26 KB, 下載次數(shù): 22)


源程序:

  1. /*******************************/

  2. //功能: 用16*16點(diǎn)陣實(shí)現(xiàn)左移顯示內(nèi)容
  3. //使用74154 作為行選信號(hào)
  4. //使用74HC595作為列信號(hào)

  5. /*******************************/

  6. #include <reg51.h>
  7. #include <intrins.h>


  8. #define uchar unsigned char
  9. #define uint unsigned int
  10. #define ROW  P2



  11. /******位定義*******/
  12. sbit ST_CP        = P3^2;         //74HC_595的上升沿使其數(shù)據(jù)鎖存
  13. sbit MR     = P3^3;  //74HC_595的復(fù)位端口


  14. uchar code disp[] = //需顯示的字模表
  15. {      
  16. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //" "
  17. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  18.                                                                                                                                                                                                                            
  19. 0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30, //歡
  20. 0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,
  21.                                                                                                                                                                                                                         
  22. 0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F,0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41, //迎
  23. 0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42,0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,
  24.                                                                                                                                                                                                                         
  25. 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x40,0x00,0x20,0x08,0x18,0x04,0x0F,0x43, //你
  26. 0x08,0x80,0xC8,0x7F,0x08,0x00,0x08,0x01,0x28,0x06,0x18,0x0C,0x00,0x00,0x00,0x00,
  27.                                                                                                                                                                                                                      
  28. 0x10,0x40,0x10,0x20,0x10,0x1E,0xFF,0x01,0x10,0x20,0x10,0x40,0xF8,0x3F,0x10,0x00, //加
  29. 0x00,0x00,0xF8,0x7F,0x08,0x20,0x08,0x20,0x08,0x20,0xFC,0x7F,0x08,0x00,0x00,0x00,
  30.                                                                                                                                                                                                                   
  31. 0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x0C,0x01,0x03,0xE2,0x00,0x1C,0x00,  //入
  32. 0xE0,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x00,
  33.                                                   
  34.                                                                                                                                                                                                                   
  35. 0x00,0x10,0x00,0x10,0xF8,0x17,0x49,0x12,0x4A,0x12,0x4C,0x12,0x48,0x12,0xF8,0xFF,  //單
  36. 0x48,0x12,0x4C,0x12,0x4A,0x12,0x49,0x12,0xFC,0x13,0x08,0x18,0x00,0x10,0x00,0x00,
  37.                                                                                                                                                                                                                   
  38. 0x00,0x80,0x00,0x40,0xFE,0x3F,0x20,0x01,0x20,0x01,0x20,0x01,0x20,0x01,0x20,0x01, //片
  39. 0x3F,0x01,0x20,0xFF,0x20,0x00,0x20,0x00,0x20,0x00,0x30,0x00,0x20,0x00,0x00,0x00,
  40.                                                                                                                                                                                                                      
  41. 0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF,0x90,0x80,0x10,0x41,0x00,0x20,0xFC,0x1F, //片
  42. 0x04,0x00,0x04,0x00,0x04,0x00,0xFE,0x3F,0x04,0x40,0x00,0x40,0x00,0x70,0x00,0x00,
  43.                                                                                                                                                                                                                   
  44. 0x10,0x02,0x10,0x01,0x91,0x00,0xD6,0xFF,0x30,0x01,0x98,0x82,0x00,0x40,0x08,0x20,  //初
  45. 0x08,0x18,0xF8,0x07,0x08,0x40,0x08,0x80,0x08,0x40,0xFC,0x3F,0x08,0x00,0x00,0x00,
  46.                                                                                                                                                                                                                   
  47. 0x40,0x04,0x30,0x04,0x11,0x04,0x96,0x04,0x90,0x04,0x90,0x44,0x91,0x84,0x96,0x7E, //學(xué)
  48. 0x90,0x06,0x90,0x05,0x98,0x04,0x14,0x04,0x13,0x04,0x50,0x06,0x30,0x04,0x00,0x00,
  49.                                                                                                                                                                                                                   
  50. 0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x0C,0x01,0x03,0xE2,0x00,0x1C,0x00, //入
  51. 0xE0,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x00,
  52.                                                                                                                                                                                                                  
  53. 0x00,0x00,0xFC,0xFF,0x01,0x00,0x02,0x00,0x06,0x00,0x00,0x00,0x02,0x00,0x02,0x00,  //門
  54. 0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x40,0x02,0x80,0xFF,0x7F,0x02,0x00,0x00,0x00,
  55.                                                                                                                                                                                                                   
  56. 0x00,0x00,0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x38,0x38,0x08,0x38,0x08,0x2C,0x08,0x2C, //QQ
  57. 0x08,0x2C,0x08,0x38,0x08,0x70,0x18,0x70,0xF0,0xDF,0xE0,0x4F,0xC0,0x07,0x00,0x00,
  58. 0x00,0x00,0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x38,0x38,0x08,0x38,0x08,0x2C,0x08,0x2C,
  59. 0x08,0x2C,0x08,0x38,0x08,0x70,0x18,0x70,0xF0,0xDF,0xE0,0x4F,0xC0,0x07,0x00,0x00,
  60.                                                                                                                                                                                                                   
  61. 0x10,0x04,0x92,0x02,0xFE,0xFD,0x92,0x44,0x92,0x44,0x92,0x44,0xFF,0xFE,0x12,0x04,//群
  62. 0x89,0x08,0x8A,0x08,0x8C,0x08,0xF8,0xFF,0x8C,0x08,0xCA,0x0C,0x89,0x08,0x00,0x00,

  63.                                                                                                                                                                                           
  64. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xF8,0x3F, // 104412917
  65. 0xF8,0x3F,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
  66. 0x00,0x00,0x80,0x01,0xE0,0x0F,0xF0,0x1F,0xF0,0x1F,0x18,0x30,0x08,0x20,0x08,0x20,
  67. 0x08,0x20,0x08,0x20,0x18,0x30,0xF8,0x1F,0xF0,0x1F,0xE0,0x0F,0x80,0x01,0x00,0x00,
  68. 0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x07,0x80,0x05,0x80,0x04,0x40,0x24,0x20,0x24,
  69. 0x30,0x24,0xF0,0x3F,0xF8,0x3F,0xF8,0x3F,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x00,
  70. 0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x07,0x80,0x05,0x80,0x04,0x40,0x24,0x20,0x24,
  71. 0x30,0x24,0xF0,0x3F,0xF8,0x3F,0xF8,0x3F,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x00,
  72. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xF8,0x3F,
  73. 0xF8,0x3F,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
  74. 0x00,0x00,0x00,0x00,0x60,0x30,0x70,0x30,0x78,0x38,0x08,0x3C,0x08,0x34,0x08,0x36,
  75. 0x08,0x32,0x08,0x33,0x88,0x31,0xF8,0x31,0xF0,0x30,0x60,0x38,0x00,0x00,0x00,0x00,
  76. 0x00,0x00,0xC0,0x00,0xF0,0x11,0xF0,0x3B,0x18,0x3B,0x08,0x32,0x08,0x22,0x08,0x22,
  77. 0x08,0x22,0x08,0x32,0x08,0x39,0xF8,0x1F,0xF0,0x0F,0xE0,0x07,0x00,0x00,0x00,0x00,
  78. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0xF8,0x3F,
  79. 0xF8,0x3F,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
  80. 0x00,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x18,0x00,0x08,0x00,0x08,0x3C,0x08,0x3E,
  81. 0x08,0x3F,0x88,0x01,0xC8,0x00,0x68,0x00,0x18,0x00,0x18,0x00,0x08,0x00,0x00,0x00,

  82. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  //" "
  83. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  84. };


  85. /*************延時(shí)函數(shù)***************/                                                     
  86. void delay1ms( unsigned char t)         

  87. {
  88.         unsigned char i,j;
  89.         for( ; t; t--)
  90.         for(i=4; i>0; i--)
  91.         for(j=123; j>0; j--);

  92. }


  93. void main()
  94. {
  95.         uint base   = 0;                                  //在disp[]地址中移動(dòng),從0 到 rows - 15,每次加2,實(shí)現(xiàn)移動(dòng)效果 用int類型 計(jì)數(shù)較多
  96.         uchar tmp  = 0;                                     //臨時(shí)變量,用于每個(gè)字顯示的次數(shù)
  97.         uint cols   = sizeof(disp);      //" 歡迎你來(lái)到桂林電子科技大學(xué)"共13個(gè)字符塊,+兩個(gè)清屏
  98.         uchar row  = 0;                                        //行選線
  99.         SCON       = 0x00;                             //串口工作模式0;移位寄存器方式 ,P3.1送移位脈沖,P3.0連接串行數(shù)據(jù)線
  100.                                                                            
  101.         while(1)
  102.         {
  103.                  for(base=0;base<=cols-32;base=base+2) //-32目的是用于顯示最后一個(gè)字符后沒(méi)有亂碼出現(xiàn)
  104.                  {
  105.                          for(tmp=0;tmp<2;tmp++)       //每個(gè)字塊顯示5次
  106.                         {               
  107.                                 for(row=0;row<16;row++)
  108.                                 {
  109.                                        
  110.                                         MR    = 0;                        //清理行輸出,將移位寄存器的數(shù)據(jù)清0
  111.                                         MR    = 1;
  112.                                         ST_CP = 0;                        //上升沿,將數(shù)據(jù)鎖存
  113.                                         ST_CP = 1;                                
  114.                                         SBUF=disp[base+row*2];

  115.                                         while(TI==0);                //等待發(fā)送完畢,串口發(fā)送完畢后,TI==1;所以使其TI=1,停止中端
  116.                                         TI = 0;        

  117.                                         SBUF=disp[base+row*2+1];
  118.                                         while(TI==0);                //等待發(fā)送完畢,串口發(fā)送完畢后,TI==1;所以使其TI=1,停止中端
  119.                                         TI  = 0;         

  120.                                         ST_CP = 0;                        //上升沿,將數(shù)據(jù)鎖存
  121.                                     ST_CP = 1;
  122.                                         ROW   = row;            //行控制,使其點(diǎn)亮
  123.         
  124.                                         delay1ms(3);                //3ms延時(shí)
  125.                                 }
  126.                         }
  127.                  }
  128.                  
  129.         }
  130. }
  131.         

復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:286641 發(fā)表于 2018-3-1 16:21 | 只看該作者
樓主是什么字模
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表