完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
各位麻烦帮我看看这道程序,我是用MAX7219来驱动8*8点阵的,但是在显示时会红一片。
#include #define uint unsigned int #define uchar unsigned char ***it CS=P2^1; ***it CLK=P2^2; ***it DIN=P2^0; uchar code table[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x7E,0x18,0x18,0x18,0x18,0x7E,0x00, 0x00,0x66,0x99,0x81,0x42,0x24,0x18,0x00, 0x00,0x42,0x42,0x42,0x42,0x24,0x18,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; void writebyte(uchar sj) { uchar i; CS=0; for(i=0;i<8;i++) { CLK=0; DIN=sj&0x80; sj=sj<<1; CLK=1; } } void write_MAX7219(uchar address,uchar date) { CS=0; writebyte(address); writebyte(date); CS=1; } void delay(uint x) { uint i,j; for(i=0;i } void init() { write_MAX7219(0x09,0x00); //解码寄存器(地址:0x09,写0x00时,选ND,解码7~0数码管) write_MAX7219(0x0a,0x01); //亮度寄存器 write_MAX7219(0x0b,0x07); //扫描寄存器(0x0_,_等于显示数码管的个数) write_MAX7219(0x0c,0x01); //省电寄存器(写0x00进入掉电模式,写0x01进入正常模式) write_MAX7219(0x0f,0x00); //测试寄存器(写0x01进入测试模式,写0x00进入正常模式) } void main() { uchar i,a,j,f; uchar wo; init(); while(1) { for(i=1;i<9;i++) { write_MAX7219(,); write_MAX7219(i,table[wo++]); delay(50); } j++; i=1; if(j>=32) { j=0; } wo=j; } } |
|
相关推荐
8个回答
|
|
是仿真不?
|
|
|
|
不是啊,是显示的时候出现一片全红!
|
|
|
|
|
|
|
|
|
|
|
|
楼主我现在也在做这个试验,遇到同样的问题,请问楼主你当初是怎么解决的呀?
|
|
|
|
好资料,看看能看懂不
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11983 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 03:51 , Processed in 0.719725 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号