8*8点阵资料包
点阵模块左移显示取模方式与电路图:
proteus仿真原理图:
单片机源程序如下:
- /*********************************************************************************
- * 【作 者】: 清翔电子
- * 【版 本】: QX-mini51 V2.0
- * 【声 明】: 此程序仅用于学习与参考,引用请注明版权和作者信息!
- * 【函数功能】: 8*8点阵动态显示,箭头左移。
- * 【使用说明】: 兼容1602接口,使用时请把点阵1脚至6脚对应接到1602 1脚至6脚,
- 使用QX-MCS51开发板可以直接烧写此程序,无需修改接口。
- **********************************************************************************/
- #include "main.h"
- //定义变量
- unsigned char temp = 0xfe;
- unsigned char KEY_NUM = 0;
- unsigned char Display_word[24] = {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x10,0x38,0x54,0x10,0x10,0x10,0x10,0x10, //箭头
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- //****************************************************
- //主函数
- //****************************************************
- void main()
- {
- unsigned int i;
- unsigned char j,k;
- while(1)
- {
- for(j = 0 ; j < 16 ; j++)
- {
- for(i = 0 ; i < 50 ; i++)
- {
- temp = 0x7f;
- for(k = 0 ; k < 16 ; k++) //一个字母4BYTE
- {
- Send_Byte(temp); //列选择
- Send_Byte(Display_word[j+k]); //数据
- LEDARRAY_LAT = 1; //锁存数据
- _nop_();
-
- LEDARRAY_LAT = 0;
- _nop_();
- temp = (temp>>1)|0x80;
- }
- }
- }
- }
- }
- //****************************************************
- //发送一个字节数据
- //****************************************************
- void Send_Byte( unsigned char dat)
- {
- unsigned char i;
- LEDARRAY_CLK = 0;
- _nop_();
- LEDARRAY_LAT = 0;
- _nop_();
- for( i = 0 ; i < 8 ; i++ )
- {
- if( dat&0x01 )
- {
- LEDARRAY_DI = 1;
- }
- else
- {
- LEDARRAY_DI = 0;
- }
-
- LEDARRAY_CLK = 1; //上升沿发送数据
- // _nop_();
- LEDARRAY_CLK = 0;
- // _nop_();
-
- dat >>= 1;
- }
- }
复制代码
下载:
清翔电子8_8点阵资料包.rar
(1.23 MB, 下载次数: 228)
|