这个单片机程序那有问题?
答案:5 悬赏:80
解决时间 2021-10-18 23:42
- 提问者网友:未信
- 2021-10-18 01:36
这个单片机程序那有问题?
最佳答案
- 二级知识专家网友:末日狂欢
- 2021-10-18 02:00
直接传就行了,把中文放在一个数组中如a[]=无线传输;传的时候就取数组的首地址,再依次累加直到传完就行了。收到的东西还放在一个数组中就还原了,再写到LCD上就OK
全部回答
- 1楼网友:不甚了了
- 2021-10-18 05:53
INOUT MACRO STR,AA
PUSH DX
LEA DX,STR
MOV AH,AA
INT 21H
POP DX
ENDM
INOUT_1 MACRO A_1
MOV AH,A_1
INT 21H
ENDM
- 2楼网友:骨子里都是戏
- 2021-10-18 04:46
编译通不过是因为你的中断跳转标号不对,
AJMP CONT
.....
CON:MOV TH1 #3CH
把上面的CON改为CONT试一下能否通过。
08H位是一个标志位,由于1S的延时太长,计时器一次中数时间不够,所以需要计数14H个周期,当达到1S定时后,中断程序中把08H位置位,DJN 08H $跳出等待,接着执行下面的程序,同时计时期中断再打开,重新计时。
- 3楼网友:骨子里都是戏
- 2021-10-18 03:16
主程序里不要循环,循环体全部放在中断函数里。
#include<reg52.h>
unsigned char code a1[]={0xF8,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC};
unsigned char code a2[]={0x8B,0x5B,0x14,0x66,0x03,0x8F,0x0B};
sbit p12=P1^2;
unsigned int i=0;
void main()
{
TMOD=0x01;
TH0=a1[i];
TL0=a2[i];
EA=1;
ET0=1;
TR0=1;
while(1)
{
;
}
}
void timer0() interrupt 1
{
p12=!p12;
TH0=a1[i];
TL0=a2[i];
i++;
}
- 4楼网友:猎心人
- 2021-10-18 02:46
直接传就行了,把中文放在一个数组中如a[]="无线传输";传的时候就取数组的首地址,再依次累加直到传完就行了。收到的东西还放在一个数组中就还原了,再写到LCD上就OK
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯