㈠ 单片机的程序怎么写啊
1、首先打开编程软件Keil uVision4,新建一个工程文件,在菜单栏中Project—— New uVision Project..。
㈡ 单片机初学者,求助汇编程序练习。
START:MOV A, #00H //欲传送的数据开始
MOV R0,#30H //欲传送的地址入口
MOV R7,#10H //R7存放数据个数10个
MOV A,@R0 //数据开始传送到指定地址
INC R0 //地址加1
INC A //数据加1
DJNZ R7,START//是否传送完0F个数据,否则转到start,是则顺序执行,进行下一步传送
again1: MOV R0,#30H //数据存放处
MOV R1,#40H //欲传送的地址入口
MOV R7,#10H //数据个数
MOV @R0,A //取数据
MOV A,@R1 //数据开始传送到指定地址
INC R1 //地址加1
INC R0 //数据地址加1
DJNZ R7,again1//是否传送完0F个数据,否则转到again1,是则顺序执行,进行下一步传送
again2: MOV R0,#40H //数据存放处
MOV DPTR,#4800H //欲传送的地址入口
MOV R7,#10H //数据个数
MOV @R0,A //取数据
MOV A,@DPTR //数据开始传送到指定地址
INC DTPR //地址加1
INC R0 //数据地址加1
DJNZ R7,again1//是否传送完0F个数据,否则转到again2,是则顺序执行,进行下一步传送
again3: MOV DPTR,#40H //数据存放处
MOV DPTR,#4800H //欲传送的地址入口
MOV R7,#10H //数据个数
MOV @R0,A //取数据
MOV A,@DPTR //数据开始传送到指定地址
INC DTPR //地址加1
INC R0 //数据地址加1
DJNZ R7,again3//是否传送完0F个数据,否则转到again3,是则顺序执行,进行下一步传送
again4:......
......
......
不想写了 反正这就是大概的过程
无非就是取数据,取欲传送的地址,然后存数据,然后地址加1,继续传送。直到10H个数据传完。
要学会直接寻址,间接寻址的用法就OK
㈢ 求一个c51单片机的程序
很简单,柄24个led接P0,P2,P3,三个口,占24个io口,上面5个花状因为同一圆圈led同时亮
可以并在一起,占8个io口,刚好32个io口。
我们从下到上将led定义为1~24号,扩散从中心往外定义为25~32号led。
1~32号lde,分别接到P0,P2,P3,P1的P0_0~P0_7号脚,P2_0~P2_7号脚,P3_0~P3_7号脚,P1_0~P1_7号脚
下面给出程序:
#include<reg52.h>
unsignedinti=0;
unsignedcharcodedis1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//正向
unsignedcharcodedis2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//反向
voiddelay()//;//单个led延时
{unsignedintj,k;
for(j=0;j<400;j++)
for(k=0;k<20;k++);
}
voidmain()
{
while(1)
{
i=0;
for(i=0;i<7;i++)//最底8个逐个显示
{P0=dis1[i];delay();}//单个延时
P0=255;//关闭
for(i=0;i<7;i++)//上移8个
{P2=dis1[i];delay();}
P2=255;
for(i=0;i<7;i++)//再上移8个
{P3=dis1[i];delay();}
P3=255;
for(i=0;i<7;i++)//中心向外扩散
{P1=dis1[i];//上面5组8个向外扩散
P3=dis2[i];//下面柄自中心向下扩散
delay();
}
P1=P3=255;//关闭
}
}
如果图片看不清,点击“查看大图”,然后保存到你的电脑上,再查看更大的图。
㈣ 单片机实验 编写程序
单片机实验,其实这就是典型的流水灯电路,P1口接8个流水灯,每个灯点亮1秒。用定时器T1定时50ms,中断20次就为1秒,可用_crol_()移位函数实现。仿真效果如下图所示。
㈤ 单片机程序编写
程序如下:
;
TO_BIN:
MOV A, 32H
SWAP A
ANL A, #0FH ;得到十位数字
……
RET
本程序已经通过了试验验证,保证正确。
但是,楼主采纳了一个错误的程序。
其中的:ADD R4,就是错误的指令。
㈥ 求一个单片机的c程序
我不知道你是P几口,就当你是P1口吧
#include<reg52.h>
inta=2000
voidmain()
{
while(1)
{
P1=0x7e;
while(a--);//防止太短暂,你看不到。
a=2000;
P1=0xbd;
while(a--);
a=2000;
P1=0xdb;
while(a--);
a=2000;
P1=0xe7;
while(a--);
a=2000;
P1=0xdb;
while(a--);
a=2000;
P1=0xbd;
while(a--);
a=2000;
P1=0x7e;
}
}
自己没试,有错在找我
希望采纳
㈦ 谁有 单片机原理及应用(第3版),求教材百度网盘啊!急急急!
我这里有您想要的资源,通过网络网盘免费分享给您:
https://pan..com/s/1L_cDMFwD2mEXC4fZEcyLHw
全书共10章,内容包括:绪论、MCS-51单片机的结构与原理、指令系统及程序设计、内部资源及应用、系统扩展技术、输入/输出通道设计、交互通道配置与设计、应用系统设计,以及单片机调试/仿真常用软件Keil C51与Proteus的使用方法介绍,最后一章为课程设计与创新实验题目。每章都配有习题,并免费提供包括电子课件、典型例题的动画与Proteus仿真,以及习题参考答案在内的教学资源包。