完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#include unsigned char segout[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //8列 unsigned char code tab[96]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //空格 0x00,0x7E,0xFF,0xC3,0xC3,0xFF,0x7E,0x00, //字符0 0x00,0x00,0x43,0xFF,0xFF,0x03,0x00,0x00, //字符1 0x00,0x63,0xC7,0xCF,0xDB,0xF3,0x63,0x00, //字符2 0x00,0x42,0xDB,0xDB,0xDB,0xFF,0x66,0x00, //字符3 0x00,0x3E,0x46,0xFF,0xFF,0x06,0x06,0x00, //字符4 0x00,0xF6,0xF7,0xD3,0xD3,0xDF,0xDE,0x00, //字符5 0x00,0x7E,0xFF,0xDB,0xDB,0xDF,0x4E,0x00, //字符6 0x00,0xC0,0xC0,0xC7,0xFF,0xF8,0xC0,0x00, //字符7 0x00,0xFF,0xFF,0xDB,0xDB,0xFF,0xFF,0x00, //字符8 0x00,0x72,0xFB,0xDB,0xDB,0xFF,0x7E,0x00, //字符9 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 //空格 }; /*------------------------------------------------ 硬件端口定义 ------------------------------------------------*/ ***it LATCH = P1^0; ***it SRCLK= P1^1; ***it SER = P1^2; ***it LATCH_B = P2^2; ***it SRCLK_B= P2^1; ***it SER_B= P2^0; void DelayUs2x(unsigned char t) { while(--t); } void DelayMs(unsigned char t) { while(t--) { DelayUs2x(245); //大致延时1mS DelayUs2x(245); } } /*------------------------------------------------ 发送字节程序 带有方向参数,可以选择从高位节写入或者低位写入 ------------------------------------------------*/ void SendByte(unsigned char dat,unsigned char direction) { unsigned char i,temp; if(direction==0) temp=0x80; else temp=0x01; for(i=0;i<8;i++) { SRCLK=0; SER=dat&temp; if(direction==0) dat<<=1; else dat>>=1; SRCLK=1; } } /*------------------------------------------------ 发送双字节程序 ------------------------------------------------*/ void Send2Byte(unsigned char dat1,unsigned char dat2,bit direction) { SendByte(dat1,direction); // bit 与char,int类似,占一位 SendByte(dat2,direction); } /*------------------------------------------------ 595锁存程序 ------------------------------------------------*/ void Out595(void) { LATCH=1; _nop_(); LATCH=0; } /*------------------------------------------------ 发送位码字节程序 使用另外一片单独595 ------------------------------------------------*/ void SendSeg(unsigned char dat) { unsigned char i; for(i=0;i<8;i++) //发送字节 { SRCLK_B=0; SER_B=dat&0x80; dat<<=1; SRCLK_B=1; } LATCH_B=1; // 锁存 _nop_(); LATCH_B=0; } /*------------------------------------------------ 主程序 ------------------------------------------------*/ void main() { unsigned char i,k,l; while(1) { for(k=0;k<=88;k++) //所有的字符个数 {for(l=20;l>0;l--) //延时长度,改变此值可以改变流动速度 { for(i=0;i<=7;i++) //8列显示 { SendSeg(segout[7-i]); Send2Byte(~(*(tab+i+k)),0xff,1); Out595(); DelayMs(1); Send2Byte(0xff,0xff,0);//delay(10); //防止重影 Out595(); } }} } } Send2Byte(~(*(tab+i+k)),0xff,1);这句不懂呀。。。尤其是第一个参数。。大神们这是怎么弄得就可以是0到9移动起来。。。。。能否解释下。。举个例子也好。。本人大菜鸟。。求帮助。。。 |
|
相关推荐
3个回答
|
|
{:14:}{:14:}
|
|
|
|
|
|
|
|
如果是9到0倒计时显示 间隔多少时间自定这个功能的话 很很简单的,附件希望对你有帮助!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
238 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
629 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
552 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
552 浏览 0 评论
1074 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11765 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 12:40 , Processed in 0.669210 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号