凌阳科技大学计划论坛

首页 » 16位u'nSP平台技术讨论区 » 请教:数码管闪烁问题
haowoxing - 2006-4-3 21:53:00

我在写一个程序时,主程序用来处理主要的事情,显示用在2HZ的中断中,用的是静态显示,但这样数码管频繁闪烁,怎么才能很好地解决闪烁问题?


谢谢!

leajian - 2006-4-14 21:32:00
静态显示的话,只要显示内容没有变化,就没必要更新的
haowoxing - 2006-4-15 17:52:00

如果数据频繁变化时怎么办?

sujing2857 - 2006-4-15 19:09:00
采用带有锁存的寄存器驱动数码管会好一些
leajian - 2006-4-18 11:52:00
呵呵,如果太频繁的话,只能舍弃一些数据的显示。
zhongfc - 2006-5-27 16:52:00
164没有锁存,如果是用这个做静显可能会有问题吧
47316568 - 2006-6-16 16:04:00

.INCLUDE  hardware.inc ;
.INCLUDE  key.inc ; // 包括key.inc文件
.RAM
.VAR R_KeyCode ; // 定义变量保存键值
.CODE
.PUBLIC _main ;  // 对main程序声明
_main :
call F_User_Init_IO; // 初始化IO口
call F_Key_Scan_Initial; // 初始化键盘扫描
L_MainLoop:
call F_Key_Scan_ServiceLoop; // 扫描键盘
call F_Key_DebounceCnt_Down; // Key debounce
call F_SP_GetCh; // 取键值
cmp R1, 0x0000; // 是否有键按下
je L_MainLoop; // 没有,继续检测
[R_KeyCode] = R1; // 有, 保存键值
[P_IOB_Buffer] = R1; // 送到B口显示
jmp L_MainLoop;
F_User_Init_I
r1 = 0x0000; // 设置A口为带下拉电阻的输入端
[P_IOA_Dir] = r1;
[P_IOA_Attrib] = r1;
[P_IOA_Data] = r1;
r1 = 0xffff; // 设置B口为无数据反相功能的低电
[P_IOB_Dir] = r1; 平输出
[P_IOB_Attrib] = r1;
r1 = 0x0000;
[P_IOB_Data] = r1;
retf;

为什么我一编译就出现如下的错误啊

有没有厉害的大虾帮帮我啊

谢谢拉

Error L0080: The external symbol "_main" has not a public definition.
Failed to generate G:\unSP IDE 1.16.1\unSPIDE\LLLL\Debug\LLLL.S37

1 Error, 0 Warning

G:\UNSPID~1.1\unSPIDE\make: *** [.\Debug\LLLL.S37] unknown signal
G:\unSP IDE 1.16.1\unSPIDE\LLLL\Debug\LLLL.S37 - 1 Error(s), 0 Warning(s)

小丑 - 2006-6-16 16:39:00

<DIV class=quote><B>以下是引用<i>47316568</i>在2006-6-16 16:04:00的发言:</B><br><P>.INCLUDE  hardware.inc ;<br>.INCLUDE  key.inc ; // 包括key.inc文件<br>.RAM<br>.VAR R_KeyCode ; // 定义变量保存键值<br>.CODE<br>.PUBLIC _main ;  // 对main程序声明<br> _main :<br>call F_User_Init_IO; // 初始化IO口<br>call F_Key_Scan_Initial; // 初始化键盘扫描<br>L_MainLoop:<br>call F_Key_Scan_ServiceLoop; // 扫描键盘<br>call F_Key_DebounceCnt_Down; // Key debounce<br>call F_SP_GetCh; // 取键值<br>cmp R1, 0x0000; // 是否有键按下<br>je L_MainLoop; // 没有,继续检测<br>[R_KeyCode] = R1; // 有, 保存键值<br>[P_IOB_Buffer] = R1; // 送到B口显示<br>jmp L_MainLoop;<br>F_User_Init_I<br>r1 = 0x0000; // 设置A口为带下拉电阻的输入端<br>[P_IOA_Dir] = r1;<br>[P_IOA_Attrib] = r1;<br>[P_IOA_Data] = r1;<br>r1 = 0xffff; // 设置B口为无数据反相功能的低电<br>[P_IOB_Dir] = r1; 平输出<br>[P_IOB_Attrib] = r1;<br>r1 = 0x0000;<br>[P_IOB_Data] = r1;<br>retf;<br></P><P>为什么我一编译就出现如下的错误啊</P><P>有没有厉害的大虾帮帮我啊</P><P>谢谢拉</P><P>Error L0080: The external symbol "_main" has not a public definition.<br>Failed to generate G:\unSP IDE 1.16.1\unSPIDE\LLLL\Debug\LLLL.S37</P><P>1 Error, 0 Warning</P><P>G:\UNSPID~1.1\unSPIDE\make: *** [.\Debug\LLLL.S37] unknown signal<br>G:\unSP IDE 1.16.1\unSPIDE\LLLL\Debug\LLLL.S37 - 1 Error(s), 0 Warning(s)<br></P></DIV><p>

是否是_main后面多了个空格?

_main:

luguodeyo - 2008-8-18 15:55:00
我也遇到了这种问题,显示
D:\PROGRA~1\Sunplus\UNSPID~1.0\make: *** [.\Debug\Yuyinsuo.S37] unknown signal
请各位高手帮帮忙,到底怎么解决啊,先谢谢啦!!!
 1 
查看完整版本: 请教:数码管闪烁问题