tonytonytony101
驱动牛犊
驱动牛犊
  • 注册日期2003-05-16
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:925回复:0

固件问题求教各位大侠???

楼主#
更多 发布于:2003-06-05 08:47
各位老大;
固件程序中,mainloop里用到一些控制程序,不会写,写了也不能保证质量,毕业设计快结束了,老大们帮帮忙,小的感激不尽。
最好有相关的源程序,c语言的。谢谢。
1:isd1420语音芯片的放音,录音子程序
2:万用智能遥控器的 编,解码源程序。原理是:
一体化红外接受头接收各种家电遥控器的遥控信号,通过INT0中断,计时器0测量脉冲宽度,存入at24c32中,24c32的scl接p2。6
sda接p2。7。最后通过usb接口远程读取遥控信号,控制家电。
3:用74ls164扩展键led显示,led共阳极,动态扫描。
4:实时钟芯片ds1302的读写程序。
email: simansacheng@elong.com

有以上随便一个的资料小弟都感激不尽,最好是C语言的,哎,书到用时方恨少,真后悔以前没好好学习,现在火烧眉毛真难受。


 我的程序:
//键盘子程序

unsigned char get_char(void)
{
unsigned char key_code,column=0,mask=0x00;
TI=0;
SBUF=mask;
while(TI=0);
while(1)
{
while((p3.4&p3.5)!=0);
delay();
if((p3.4&p3.5)!=0) continue
else break;
}
mask=oxfe;
while(1)
{
TI=0;
SBUF=mask;
while(TI=0);
if((p3.4&p3.5)!=0)
{
mask=crol_(mask,1);
column|1;
if(column>=8) column=0
continue;
}

)
if(p3.4==0) key_code=column;
else key_code=8+column;
return(key_code)
}
void delay(void)
{
unsigned int i 10;
while(i--);
}

//led显示子程序


void disp(void)
{
#program asm
setb psw.4
mov r6,#06h
mov r7,#20h
mov r1,#50h
disp1: mov dptr,cstab
mov a,@r1
mov a,@a+dptr
mov dptr,#0a800h
movx a,r7
mov sbuf,a

wait2:

jnb ti,wait2
clr ti
acall dl2ms
inc r1
rr a
mov r7,a
djnz r6,disp1
clr psw.4
ret
cstab:
db 0c0h,0f9h,0a4h
db 0b0f,99h,92h
db 82h,0f8h,80h
db 98h,88h,83h
db 8eh,0ceh,0ffh
dl2ms: mov r3,#02h
dla2: mov r4,#0ffh
dla3: djnz r4,dla3
djnz r3,dla2
ret
#program endasm
}
//语音子程序
void init(void)
{
#program asm

mov dptr,#7fffh
mov a,#80h
movx @dptr,a
#program endasm
}
void record(void)
{
#program asm
mov dptr,#7ffdh
mov a,#0ffh
movx @dptr,a
mov a,40h
acall de20ms
movx @dptr,a
acall de05s
mov a,#0ffh
movx @dptr,a
ret
#program endasm
}
void play(void)
{
#program asm
mov dptr,#7ffch;
mov a,#0ffh
movx @dptr,a
mov a,40h
acall de20s
movx @dptr,a;
acall de05s;
mov a,#0ffh
movx @dptr,a;
ret
#program endasm
}
不知道以上的程序有什么问题,老大帮忙看一看。  


 
游客

返回顶部