1. 修改一个简单的单片机程序
让我想想
我修改了一下,把R2的赋值循环一次变小1(变少多少按你需要自己定咯,想变化快点就对这部分修改,当然,不可以用djnz咯),标星号部分是我改的 ,不懂可以HI我
ZWMADDR EQU 8002H
ZXMADDR EQU 8004H
ORG 0000H
ST: LJMP total;*************
ORG 0100H
total:;************
MOV R2,#25H ;****************
MAIN: MOV R3,#01H
MOV R4,#00H
LOOP: MOV DPTR,#CHAR
MOV A,R4
MOVC A,@A+DPTR
MOV DPTR,#ZXMADDR
MOVX @DPTR,A
MOV A,R3
MOV DPTR,#ZWMADDR
MOVX @DPTR,A
djnz r2,exit;***************
LCALL DELAY
MOV A,R3
RL A
MOV R3,A
CJNE R3,#40H,NEXT
MOV R3,#01H
NEXT: INC R4
CJNE R4,#10H,LOOP
SJMP MAIN
exit:;**************
sjmp $ ;************
DELAY: PUSH 02H
LP1: PUSH 02H
LP2: PUSH 02H
LP3: DJNZ R2,LP3
POP 02H
DJNZ R2,LP2
POP 02H
DJNZ R2,LP1
POP 02H
DJNZ R2,DELAY
RET
CHAR: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H
DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H
END
2. 如何修改单片机的源程序
使用编程软件如(keil,iar软件)编写和修改程序。选择产生hex文件后,利用程序下载软件flashmagic等(单片机不同而不同)下载程序到单片机。单片机上电运行即可!找本单片机书籍,应该就有很详细的介绍!
3. 单片机怎么改程序
1.只要单片机不是EPROM、OTP或者ROMless类型的,都可以把单片机内容擦除而重新写程序。并且现在的单片机还支持自己给自己执行擦除和编程的操作,比如W78E516B和AVR系列等。
2.还有Basic、ADA、PHP甚至是Java,有多种语言可选择。
3.像AT89C51之类的单片机需要高压编程器才能把程序写进去,AVR、STC、AT89SXX等只需要下载线就可以了,当谈也可以用编程器。
4. 如何改单片机程序
我可以完成的
5. 在keil中,怎么修改程序能让我最后在单片机液晶屏想要看到自己输入的数字
用普通的51单片机有点强人所难了。
按照你所说的,必须具备:
1.可以存放txt文件的空间,用51单片机放不了多少东西。极可能要外扩存储芯片或设备
2.需要在液晶显示,必须有字符集(这个倒好找)。
3.如何放入?如果按常规方法,就是用USB大容量存储设备方式了。这样需要USB接口。而且要用到文件系统,用FAT的比较多。
4.如何显示?这个倒简单,txt文件直接从头读取到尾,然后转换为字符(中文是双字节,英文是单字节)。至于怎么读靠自己编程了。
所以,如果做这个的话,硬件要有:
USB接口,足够的存储空间,液晶显示功能
个人能力上需要:
1.USB编程能力
2.液晶驱动编程能力
3.FAT文件系统的了解(可使用现成的东东,如ELM的FAT,但也要了解。)
6. 如何修改单片机的程序
你问这样的问题说明你还不了解单片机,回去好好看书。简单说一下,单片机本身是一个硬件,但它需要软件的支持才能运行工作,软件就是用户编写的程序然后编译成机器可以识别的代码,然后烧录到这个硬件的存储器中,修改单片机的程序这种说法也对也不对,对呢是说修改用户编写的源程序是对的,但单片机程序存储器里的内容就不是修改了,而是擦除然后重新烧录的过程,你想调整单片机的功能或其中的参数的话就需要再此单片机的开发环境下面编写程序,然后编译成为机器代码,最后烧录到单片机的程序存储器中就完成了。
7. 怎么编写单片机——TFT彩屏汉字程序
你现在看到的这两个函数LCD_ShowString()ChineseChar()是你在上层调用的,具体的函数定义你要去看底层是怎么实现的。我先简单介绍下着两个函数
LCD_ShowString(12,60,colors[0],colors[7],"-");应该是讲屏幕上x=12,y=60的地方显示一个“-”字符,字符颜色应该是你定义的colors[0],TFT屏的背景颜色是colors[7],这两个是你函数库自己定义的,可以改。
ChineseChar(20,60,1,colors[0],colors[7],1); //带 这个函数和上面那个函数大致相同,至于为什么会显示“带”,是因为最后那个1,这个程序你应该定义一个数组,在这个数组里面对你所要显示的字全部编码并存在这个数组中,最后你只需用想调用数组下标那样调用这个汉子。
至于你想显示班级、姓名 只需用把班级姓名进行编码就可以调用这个ChineseChar()函数进行显示
其实很简单的,只需用该几步就可以达到你想要的,不难~~
8. 怎么用单片机让LCD显示呢
用单片机让LCD显示,一要保证电路正确,二是程序必须与电路相符,程序中的LCD的控制脚必须与实物相符。否则,液晶屏只亮并不显示字符。你主程序中的液晶屏初始化语句应放在第一行。你现在是放在最后了,假如前面语句显示了,可初始化后就全没了。
9. 51单片机程序修改
现在,你显示的是num1,其范围是0~60。
可以把它的上限,改为30,这就符合你的要求了。
另外再增加一个变量num2,其范围是0~60。
用它来控制红绿黄的交替变化,即可。
voiddisplay(ucharge,ucharshi)
{
if(num2<=25){P1=0xfe;}
elseif(num2<=30){P1=0xff;delay(2);P1=0xfd;}
elseif(num2<=60){P1=0xfb;}
……
}
……
voidtime0()interrupt1
{
TH1=(65536-5000)/256;//--应该是TH0=...
TL1=(65536-5000)%256;//--应该是TL0=...
num++;
if(num==10){
num=0;
num1++;
if(num1==30)num1=0;//用于显示秒数
shi=num1/10;
ge=num1%10;
num2++;
if(num2==60)num2=0;//用于控制变换
}
}
10. led滚动显示屏单片机程序怎么编啊
啊我之前做了个数码管的时钟所以差不错,主程序一直循环读键盘,然后定时器中断写数字,按钮里面改参数,让定时器引用就行了