找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3474|回复: 1
打印 上一主题 下一主题
收起左侧

单片机8X8点阵资料包下载 含原理图 仿真 左移与静止显示程序代码

[复制链接]
跳转到指定楼层
楼主
8X8点阵原理图


仿真图:



单片机源程序如下(左移显示):
  1. /*********************************************************************************
  2. * 【作    者】: 清翔电子
  3. * 【声    明】: 此程序仅用于学习与参考,引用请注明版权和作者信息!
  4. * 【函数功能】: 8*8点阵动态显示,箭头左移。                                                                                   
  5. * 【使用说明】: 兼容1602接口,使用时请把点阵1脚至6脚对应接到1602 1脚至6脚,
  6. 使用QX-MCS51开发板可以直接烧写此程序,无需修改接口。

  7. **********************************************************************************/
  8. #include "main.h"

  9. //定义变量
  10. unsigned char temp = 0xfe;
  11. unsigned char KEY_NUM = 0;

  12. unsigned char Display_word[24] = {
  13. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  14. 0x10,0x38,0x54,0x10,0x10,0x10,0x10,0x10,        //箭头
  15. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,


  16. };

  17. //****************************************************
  18. //主函数
  19. //****************************************************
  20. void main()
  21. {
  22.         unsigned int i;
  23.         unsigned char j,k;
  24.         while(1)
  25.         {               
  26.                 for(j = 0 ; j < 16 ; j++)               
  27.                 {
  28.                         for(i = 0 ; i < 50 ; i++)
  29.                         {
  30.                                 temp = 0x7f;
  31.                                 for(k = 0 ; k < 16 ; k++)                //一个字母4BYTE
  32.                                 {
  33.                                         Send_Byte(temp);                        //列选择
  34.                                         Send_Byte(Display_word[j+k]);                        //数据
  35.                                         LEDARRAY_LAT = 1;                                        //锁存数据
  36.                                         _nop_();
  37.                                
  38.                                         LEDARRAY_LAT = 0;
  39.                                         _nop_();
  40.                                         temp = (temp>>1)|0x80;
  41.                                 }
  42.                         }
  43.                 }
  44.         }                                       
  45. }

  46. //****************************************************
  47. //发送一个字节数据
  48. //****************************************************
  49. void Send_Byte( unsigned char dat)
  50. {
  51.         unsigned char i;
  52.         LEDARRAY_CLK = 0;
  53.         _nop_();       
  54.         LEDARRAY_LAT = 0;
  55.         _nop_();

  56.         for( i = 0 ; i < 8 ; i++ )
  57.         {
  58.                 if( dat&0x01 )
  59.                 {
  60.                         LEDARRAY_DI = 1;       
  61.                 }
  62.                 else
  63. ……………………

  64. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
静止显示:
  1. /*********************************************************************************
  2. * 【编写时间】: 2014年3月5日
  3. * 【作    者】: 清翔电子&51hei
  4. * 【声    明】: 此程序仅用于学习与参考,引用请注明版权和作者信息!
  5. * 【函数功能】: 8*8点阵静态显示"亲"与心形符号                                                                                           
  6. * 【使用说明】: 兼容1602接口,使用时请把点阵1脚至6脚对应接到1602 1脚至6脚,
  7. 使用QX-MCS51开发板可以直接烧写此程序,无需修改接口。

  8. **********************************************************************************/
  9. #include "main.h"

  10. //定义变量
  11. unsigned char temp = 0xfe;
  12. unsigned char KEY_NUM = 0;

  13. unsigned char Display_word[4][4] = {
  14. 0x00,0x48,0x2A,0x8E,0xFB,0x0E,0x2A,0x48, //亲
  15. 0x0C,0x1E,0x3E,0x7C,0x7C,0x3E,0x1E,0x0C, //心
  16. };



  17. //****************************************************
  18. //主函数
  19. //****************************************************
  20. void main()
  21. {
  22.         unsigned int i;
  23.         unsigned char j,k;
  24.         while(1)
  25.         {
  26.                 for(i = 0 ; i < 1000 ; i++)
  27.                 {
  28.                         temp = 0x7f;
  29.                         for(j = 0 ; j < 2 ; j++)                //显示前两个字母
  30.                         {
  31.                                 for(k = 0 ; k < 4 ; k++)                //一个字母4BYTE
  32.                                 {
  33.                                         Send_Byte(temp);                        //列选择
  34.                                         Send_Byte(Display_word[j][k]);                        //行数据
  35.                                         LEDARRAY_LAT = 1;                                        //锁存数据
  36.                                         _nop_();
  37.                                
  38.                                         LEDARRAY_LAT = 0;
  39.                                         _nop_();
  40.                                         temp = (temp>>1)|0x80;
  41.                                 }
  42.                         }
  43.                 }

  44.                 for(i = 0 ; i < 1000 ; i++)
  45.                 {
  46.                         temp = 0x7f;
  47.                         for(j = 2 ; j < 4 ; j++)                //显示前两个字母
  48.                         {
  49.                                 for(k = 0 ; k < 4 ; k++)                //一个字母4BYTE
  50.                                 {
  51.                                         Send_Byte(temp);                        //列选择
  52.                                         Send_Byte(Display_word[j][k]);                        //行数据
  53.                                         LEDARRAY_LAT = 1;                                        //锁存数据
  54.                                         _nop_();
  55.                                
  56.                                         LEDARRAY_LAT = 0;
  57.                                         _nop_();
  58.                                         temp = (temp>>1)|0x80;
  59.                                 }
  60.                         }
  61.                 }
  62.                
  63.                                        
  64.         }
  65. }

  66. //****************************************************
  67. //发送一个字节数据
  68. //****************************************************
  69. void Send_Byte( unsigned char dat)
  70. {
  71.         unsigned char i;
  72.         LEDARRAY_CLK = 0;
  73.         _nop_();       
  74.         LEDARRAY_LAT = 0;
  75.         _nop_();

  76.         for( i = 0 ; i < 8 ; i++ )
  77.         {
  78.                 if( dat&0x01 )
  79.                 {
  80.                         LEDARRAY_DI = 1;       
  81.                 }
  82. ……………………

  83. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
清翔电子8_8点阵资料包.rar (1.23 MB, 下载次数: 72)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:488921 发表于 2019-4-12 17:12 | 只看该作者
东西真NICE
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表