找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7619|回复: 0
收起左侧

单片机8*8点阵左移显示取模方式+仿真+源码等资料

[复制链接]
ID:299702 发表于 2018-3-30 22:37 | 显示全部楼层 |阅读模式
8*8点阵资料包
0.png

点阵模块左移显示取模方式与电路图:

8_8点阵原理图.jpg 取模方式.jpg

proteus仿真原理图:
0.png

单片机源程序如下:
  1. /*********************************************************************************
  2. * 【作    者】: 清翔电子
  3. * 【版    本】: QX-mini51 V2.0
  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[24] = {
  14. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  15. 0x10,0x38,0x54,0x10,0x10,0x10,0x10,0x10,        //箭头
  16. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,


  17. };

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

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

  57.         for( i = 0 ; i < 8 ; i++ )
  58.         {
  59.                 if( dat&0x01 )
  60.                 {
  61.                         LEDARRAY_DI = 1;       
  62.                 }
  63.                 else
  64.                 {
  65.                         LEDARRAY_DI = 0;
  66.                 }
  67.                
  68.                 LEDARRAY_CLK = 1;                                //上升沿发送数据
  69.                 //                                _nop_();
  70.                 LEDARRAY_CLK = 0;
  71.                 //                                _nop_();
  72.                                
  73.                 dat >>= 1;                       
  74.         }               
  75. }
复制代码

下载:
清翔电子8_8点阵资料包.rar (1.23 MB, 下载次数: 225)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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