51单片机程序编写?

作者&投稿:谏姿 (若有异议请与网页底部的电邮联系)
51单片机程序编写(劳驾写得详细一点)?~

#include
void delay(unsigned int n)
{
while(n--);
}
void main()
{
char i;
//可以编好想要怎么流水的灯位的状态
unsigned char led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
while(1)
{
for(i=0;i<8;i++)
{
P1=led[i]; //LED接在P1口
delay(10000);
}
for(i=0;i<8;i++)
{
P1=led[8-i];
delay(10000);
}
}
}

:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV 50H, #0
MOV 51H, #0
MOV 52H, #0
MOV R0, #60H
MOV R2, #100
LOOP:
MOV A, @R0
JNZ FU
INC 52H ;0个数加一.
SJMP NEXT
FU:
JNB ACC.0, ZH
INC 51H ;负数个数加一.
SJMP NEXT
ZH:
INC 50H ;正数个数加一.
NEXT:
INC R0
DJNZ R2, LOOP
SJMP $

END

最简程序如下:



#include <reg51.h>
void delay(unsigned int n)
{
while(n--);
}
void main()
{
char i;
//可以编好想要怎么流水的灯位的状态
unsigned char led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
while(1)
{
for(i=0;i<8;i++)
{
P1=led[i]; //LED接在P1口
delay(10000);
}
for(i=0;i<8;i++)
{
P1=led[8-i];
delay(10000);
}
}
}


...要求使用定时计数器1,用C语言 编写程序实现?
TH0=256-100; \/\/定时100uS;TL0=TH0;EA=1;ET1=1;TR1=1;cp=1;while(1){} }

单片机程序编写。 1.试编写程序,将内部RAM以30H开始的3个连续但愿的内...
1.试编写程序,将内部RAM以30H开始的3个连续但愿的内容一次存入2FH,2EH和2DH单元。MOV 2FH,30H MOV 2EH,31H MOV 2DH,32H 2.试编写程序,完成两个16位数的剪发,5C3BH-3D46H,结果存入内部RAM的30H和31H单元,31H单元存差的高8位,30H单元存低8位。CLR C MOV A,#3BH SUBB A,#46H ...

关于单片机的输入输出控制,如p1-1输入1,p0-1输出0。程序怎么写?
START:MOV C, P1.0 ;把P1.0的信息存到进位位C MOV P0.0, C ;把进位位C的内容输出到P0.0 SJMP START ;转移到开始处,无限循环 --- 上面是用“位操作”指令,每次只是传送了一位数。如果是用8个引脚,就应该使用“字节传送”的指令了,一条即可。如下:START:MOV P0,...

单片机 试编写一个子程序
unsigned char *p; \/\/*p为指针,即为R1 unsigned char A; \/\/设置任一变量代替A,用来取子程序返回原数值 \/\/子程序,此函数调用前必须先给*p批针取外部RAM的低地址 unsigned char date(unsigned char *x){ unsigned char a;a=*p&0xf0h; \/\/取低地址的高4位 p++; \/\/P指向外部...

51单片机中怎样编写一个程序??
编写程序的步骤:(1)引入头文件;(2)宏定义;(3)函数初始化定义;(4)主程序;(5)各子程序初始化或功能子程序编写;(6)中断程序(如有)。

利用单片机,如何才能正确的编写出一段程序,编写的步骤是什么?
51之类的入门级单片机搭建的小程序可以用Keil来编比较方便,C语言记得导入头文件reg51.h或者reg52.h,然后后面用类似普通的C语言语法,注意这里的Keil C51和普通的C不同,比如sbit之类的,因为是交叉编译,所以要注意各个接口,深入学习一定需要看书的。KeilC步骤:1、下载Keil42、project选择芯片类型3、...

绘制一单片机最小系统电路图,编写程序控制P1.7口输出低电平,并点亮发光...
程序清单:CODESEGMENT ASSUME CS:CODE START: MOV DX,21BH MOV AL,80H OUT DX,AL;工作方式初始化 MOV DX,218H MOV AL,0FEH;设置输出数据,即显示模式 MOV CX,80;设置循环次数 LN:OUT DX,AL ROL AL,1 CALL DELAY;调用延迟程序 LOOP LN MOV AH,4CH INT 21H;返回 dos DELAY PROC;...

设单片机系统如何编写一个完整的C51程序使P1.6和P1?
设单片机系统编写一个完整的C51程序使P1.6和P1,可以使用正确编码加上解压即可。 一、过程: 1、TMOD = 0X02;\/\/工作方式寄存器; 2、TH0 = 56;\/\/8位的用TH; 3、TL0 = 0;\/\/16位跟13位两个都用; 4、EA = 1;\/\/开总中断; 5、TR0 = 1;\/\/定时器开始计数,return。 二、单片机简介: 1、单片机...

单片机 按键 按一下加一,长按自加 的程序怎么写? 是这样么? if(s2==...
if(s2==0){ delay1ms(5); \/\/按键去抖动 if(s2==0){ Ldata++;\/\/加一 for(i=0;i<1000;i++)\/\/此处为等待键释放,每个循环都看键是否释放,在这段时间内释放则算一次按键,此处i的大小根据需要确定 if(!s2==0)break; \/\/如果键释放则退出 else {if(i==1000)\/\/如果循环次数到了...

急需要用单片机程序编写一个秒表的程序
LJMP START ;跳转至主程序 ORG 000BH ;定时器0中断入口 T0INT: PUSH PSW ;状态保护 PUSH ACC MOV A,C100us+1 JNZ GOON ;计数值是否为0 DEC C100us GOON: DEC C100us+1 MOV A,C100us ORL A,C100us+1 JNZ EXIT MOV C100us,#HIGH(TICK) ;重置计数值 MOV C...

大新县13878896101: 51单片机程序编写 -
别邢清肝: 第一要解决测速的问题,这个可以利用霍尔元件和磁铁来实现,磁铁固定在电机上,电机每转一圈霍尔元件就能检测一个信号,利用单片机的计数器进行技计算.并把计数的值赋给一个变量NUM,然后利用定时设定一分钟的时间来判断NUM的值是否大于3000或4000,如果成立就执行相应的报警.至于温度可以用18B20因为温度在120度之内,18B20就可以.原理虽然简单但是敲代码还是一件非常枯燥的事情还是自己来完成吧,希望对你有帮助!

大新县13878896101: 51单片机的编程 -
别邢清肝: 51编程得看外部电路的连接情况.没有电路图,木有办法写... 数码管和单片机之间的电路有很多种,你这种就用译码器,74138就行.假设单片机p1口用作数码管输出. 滑槽电路也不清楚,假设一个电机,用的是P2^0,P2^1(顺...

大新县13878896101: 51单片机这个程序怎么编? -
别邢清肝: 那不简单,红外接收管的输出脚接到51的外部中断脚,收到红外信号就是输出电平变化,使51产生外部中断,然后在中断服务程序中点亮LED. 再用个定时器定时,若有信号就清定时计数,计数时间到了没有信号就关LED.

大新县13878896101: 请问这个51单片机的程序怎么写? -
别邢清肝: MOV R0,#08HMOV A,#01HLOOP:MOV P1,ADJNZ R0,$MOV R0,#08HRR ASJMP LOOP汇编百循环度一般问用减答:DJNZ 代替加内容,简单

大新县13878896101: 单片机编程程序 -
别邢清肝: 1、首先是打开keil软件,打开后显示的界面如下2、如下第一张图所示点击project-》new project,点击后将会出现如下第二张图所示界面;在文件框中填写你的工程名,名字可以是任意英文字符组成的(在此时你最好在你所希望存储该工程的...

大新县13878896101: 51单片机计数程序怎么写?
别邢清肝: #include&lt;reg52.h&gt; #include&lt;intrins.h&gt; #define uchar unsigned char//宏定义 #define uint unsigned int uint tt; sbit P1_1=P1^1; sbit P1_1=P1^2; sbit P1_1=P1^3; sbit P1_1=P2^2; unsigned char code LED7Code[] = { 0x3f,0x06,0x5b,0x4f,0x...

大新县13878896101: 用c++怎么编写51单片机程序,可以这么样编写吗???? -
别邢清肝: 相信很多初学者都有同样的疑问,也有同样的希望.就是用C++语言来写单片机程序的源代码.现在我来解释一下单片机的源代码程序几乎没有人用C++来写的. 1. 假设一下你现在用C++写完了一个程序代码.那么你要让单片机认识必须要编译...

大新县13878896101: 51单片机编程
别邢清肝: 给你个大概的思路吧 1.用两个数想减判断CF的值就ok啦 2.采用单片机的内部定时器的中断用法来解决问题.根据问题要求,单片机F=6MHz,因此一个机器周期为2us,因此1000ms=1000*500*一个机器周期=500000机器周期.定时器的工作模式1中总共一次中断最大记时为65536机器周期,确定计时初值为65536-50000=15536.然后在中断服务程序中设置另外的总的计数为10,若达到10则完成延时,达不到十则再进行一次中断.

大新县13878896101: 51单片机编程求指导...
别邢清肝: 嘿嘿 楼上的老兄给出的程序也不对呀 看上去挺工整的,错误好几出啊,是得不到正确结果的.其实算法很简单,只要熟悉一下单片机的加法指令和循环移位指令,自己就可以编写出来.1 算法: 就是使用指针 连续对20H开始的连续4个单字节二...

大新县13878896101: 求写一段简单的51单片机C语言代码 -
别邢清肝: 单片机检测高电平.1、可以用外部中断,外接激光传感器最好用普通光耦隔离一下,顺便改成低电平触发单片机中断.然后用位移指令移动跑马灯,然后计数值加1. 2、可以用循环检测,也建议用光耦隔离先,在MAIN里面不断检测P00,发现变化后,再次检测以便确认,确认后同样位移一下跑马灯,然后计数加1.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网