开发工具:
文件大小: 36kb
下载次数: 0
上传时间: 2011-05-10
详细说明:
很详细#include #include "table.h" #define Mov_Speed 5 //移动速度 #define Total_byte 1824 //计算方法为:字数量*32+256 uchar Mov_Val; //位移变量 uchar Line_Val; //行变量 uint TMP; uchar BUFF[18]; /**************装载一线点阵数据****************/ void Download_line(void) { uchar a; for(a = 0;a < 9;a ++) //a为要显示的数字+1 { BUFF[ 2 * a ] = table[ TMP + 32 * a + 2 * Line_Val ]; BUFF[ 2 * a + 1 ] = table[ TMP + 1 + 32 * a + 2 * Line_Val ]; } } /*******双字节合并为单字节的子程序模块************/ uchar Two_One_byte(uchar a,uchar b) { uchar temp; if(Mov_Val<8) temp = Mov_Val; else temp = Mov_Val - 8; temp = a << temp | b >> 8 - temp; return temp; } /***************发送一线点阵数据*******************/ void Send_line(void) { char a; uchar b; if(Mov_Val < 8) b = 0; else b = 1; for(a = 18 + b; a >= b; a --) { SBUF = Two_One_byte( BUFF[ a ],BUFF[ a + 1 ] ); while(!TI); TI = 0; } } void main(void) { uchar j; while(1) { while( Mov_Val < 16 ) // 循环16次,点亮并移动一个汉字 { for( j = 0;j < Mov_Speed;j ++ ) { for( Line_Val = 0;Line_Val < 16; Line_Val ++ )//扫描16行 { Download_line(); //装载一线点阵数据 Send_line(); //发送一线点阵数据 P2 = Line_Val; P2_4 = 1; } } Mov_Val ++; //列指针递增 } Mov_Val = 0; TMP = TMP + 32; // 一个汉字移动后,指向下一个汉字 if( TMP >= Total_byte ) TMP = 0;// 移动完全部汉字后,重新开始 } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.