完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近做了个8*8光立方,硬件电路做好后写了一个测试程序,可是程序主循环循环几次后就卡死了,显示也是乱码,重新上电后程序就不能运行了。难道我写的程序可以把自己给改了?不然怎么卡死一次就不能再用了呢?极度迷茫中....
|
|
相关推荐
10个回答
|
|
|
|
|
|
没有看到你的程序呀,别人怎么帮你呀!传上来让大家一起看一下呀!
|
|
|
|
没程序。这不是白问
|
|
|
|
不好意思啊,失误 /*****************main.c*****************/ #include #include #define uchar unsigned char uchar data a[64];//={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; uchar idata d[64];//={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; ***it st_cp=P3^3; ***it st_clr=P3^2; //显示串口清除 uchar clock=0; uchar ram=0; void display(); void delay(); void asm(char asm) { #pragma asm MOV P0,R7 MOV R3,#0FEH LOOP1: MOV R5,#10 MOV R6,#255 LOOP: MOV P2,R3 MOV A,R3 RR A MOV R3,A DJNZ R6,LOOP DJNZ R5,LOOP #pragma endasm } void play() { uchar i=0; TR0=0; //关T0 TH0=62869/256; TL0=62869%256; //34ms if(ram) //是否请求显存复制 { for(i=0;i<64;i++) //显存复制 { a=d; } ram=0; } if(!clock) //是否是锁显 { display(); } TR0=1; //开T0 } void display() { uchar i,j,y,x; P2=0xff; P0=0; x=1; y=0; for(i=0;i<8;i++) //第一层 { y=8*i; st_cp=0; for(j=0;j<8;j++) //第一列 { SBUF=(~a[7+y-j]); while(!TI); TI=0; } st_cp=1; asm(x); x=(x<<1); } P2=0xff; P0=0; } void delay() { uchar j,k; for(k=0;k<255;k++) for(j=0;j<255;j++); } void delay1() { uchar j,k; for(k=0;k<127;k++) for(j=0;j<255;j++); } void main() { uchar i,j; /*******t0初始化 显示 *********/ TMOD=0x01; //方式1 TH0=63869/256; //20ms TL0=63869%256; ET0=1; //T0允许 EA=1; TR0=1; //T0运行 clock=0; while(1) { for(i=0;i<64;i++) { d=a1; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a2; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a3; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a4; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a5; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a6; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a7; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a8; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a9; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a10; ram=1; while(!ram); } delay(); delay(); delay(); for(i=0;i<64;i++) { d=a11; ram=1; while(!ram); } delay(); delay(); delay(); for(j=0;j<3;j++) { for(i=0;i<64;i++) { d=a12; ram=1; while(!ram); } delay1(); for(i=0;i<64;i++) { d=a13; ram=1; while(!ram); } delay1(); for(i=0;i<64;i++) { d=a14; ram=1; while(!ram); } delay1(); for(i=0;i<64;i++) { d=a15; ram=1; while(!ram); } delay1(); for(i=0;i<64;i++) { d=a16; ram=1; while(!ram); } delay1(); } } } void T_0() interrupt 1 //显示中断T0 { play(); //显示动作函数 } /****************aa.h****************/ #define uchar unsigned char uchar xdata a2[64]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x18,0x24,0x7e,0x99,0x99,0x99,0xbd,0x66,0x18,0x24,0x7e,0x99,0x99,0x99,0xbd,0x66,0x18,0x24,0x7e,0x99,0x99,0x99,0xbd,0x66}; uchar xdata a1[64]={0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0,0xff,0}; 都是类似的编码 |
|
|
|
汇编那块我看不懂,为什么要用汇编啊?是卡死的话,大多是卡在死循环里吧while(!ram);,建议你一步一步来调试,先把后面一大块东西注释掉,一个一个小动画地来调试,看看是哪里出问题了 |
|
|
|
CrazyMCU 发表于 2013-8-23 20:52 c里没有循环左移,在keil里debug没事,到单片机里就不行了。 |
|
|
|
{:10:}{:10:}{:12:}
|
|
|
|
|
|
|
|
的开始不乱的。
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码
304 浏览 0 评论
【瑞萨RA2L1入门学习】+ MacOS安装e2studio
253 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-本地仓库管理之分支间的操作
650 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】3D 图形显示
510 浏览 0 评论
641 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12210 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-24 06:24 , Processed in 0.635130 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号