用五一单片机c语言编程,p1口控制八个发光二极管,实现每隔一秒,两两点亮,并循环。

JNC N_JH ;够减就不用交换

void delay(unsigned char Xms)//延时Xms

单片机编程语言_常用单片机编程语言单片机编程语言_常用单片机编程语言


单片机编程语言_常用单片机编程语言


对、是C语言。

{int i,j;

for(X = i; X>0; X--)

for(j=110;j>0;j--);

}void main()

{P0 = 0x00; //P0.0~P0.7分别接八个发光二极管,刚开始全灭

while(1)

{delay(1000);

P0 = 0xc0;//点亮前两个发光二极管P0.0和P0.1;

delay(1000);//延时1秒

P0 = 0x30;//点亮第三个和第四个LED

delay(1000);

P0 = 0x0c;

delay(1000);

P0 = 0x03;

}}

二、

#include

#include

uchar temp, t0, t1;

it P10 = P1^0;

void main()

{P10 = 1;

temp = 0xfe;

P2 = 0xff;

TMOD = 0x01;

TH0 = (65536 - 50000) / 256;

TL0 = (65536 - 50000) % 256;

ET0 = 1;

EA = 1;

TR0 = 1;

while(1);

}void timer0() interrupt 1

{TH0 = (65536 - 50000) / 256;

TL0 = (65536 - 50000) % 256;

t0++;

t0 = 0;

t1++;

if(t1 == 8) {t1 = 0; t2 = ~t2; P10 = t2;}

temp = _crol_(temp, 1);

if(t2) {P0 = temp; P2 = 255;}

else {P2 = temp; P0 = 255;}

}}

扩展资料:

例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子,如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。

顺序结构可以使用构成一个简单的完整程序,常见的输入、计算、输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159rr,输出圆的面积s。

参考资料来源:

单片机编程可以用c语言吗

C语言和汇编语言都可以的。一般初学者,我建议学学汇编语言。做嵌入式开发的,不都汇编可能说不过去。学完汇编后,再学C语言,这样知识体系才有系统性。

可以使用C语言,单片机厂家基本都会推出针对C语言编程的开发包,具体情况可以上网查找资料,也可以找几本单片机编程的入门书籍看看

其实单片机编程和一般的C语言编程没有什么太大区别,主要是编译,链接时使用的指令代码不同,但这些东西对程序员来说是不可见的,无需特别考虑

汇编是基本的东西,是和硬件直接联系的。

C语言,开始学习的时候貌似脱离硬件,但是学到后来,还是照样得学习硬件知识。

边的时候可以 但要转换再连接才能用 单片机只视汇编语言

要看你用的单片是否有编译器

arm的简单,直接整个linux进去#define uint unsigned int就行

51的keil C 很流行

就整c就行P0 = temp;!!1

就是C啊 keil c

单片机的用汇编语言编程

程序就不具体写了,就写实现方法吧

主程序初始化好定时器T0,根据晶振频率算好一个值,然后进入主循环,循环内要做的时就是检测按键,可以多次检测去抖动,根据按键开定时器和关定时器T0(SETB TR0,CLR TR0),复位就是把X写0即可,同时完成将一个寄存器X的值到寄存器Y,然后将Y的内容换算为十进制的两个数,然后查表得到对应显示的端码送去P0和P2口。

T0中断服务程序,每次进中断后设定一个寄存器Z的值加1,达到设定的数字后回0,作用就是这个值乘T0定时的时间为1秒,如果寄存器回0的话,就把寄存器X加1,并判断到了99就回0。

如此程序的效果就是你要求的样子了

K1 EQU P1.0

K2 EQU P1.1

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#11H

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

MOV TH1,#HIGH(65536-5000)

MOV TL1,#LOW(65536-5000)

SETB ET1

SETB TR1

SETB EA

MOV R2,#0

LOOP:

JB K1,LOOP1

JNB K1,$

SETB TR0

SJMP LOOP

LOOP1:

JB K2,LOOP2

JNB K2,$

CLR TR0

SJMP LOOP

LOOP2:

JB K3,LOOP

JNB K2,$

LJMP MAIN

T0ISR:MOV R3,#0

CLR TR0

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB TR0

INC R2

CJNE R2,#20,T0E

MOV R2,#0

INC R3

CJNE R3,#100,T0E

T0E:

RETI

T1ISR:

CLcase 0x02:R TR1

MOV TH1,#HIGH(65536-5000)

MOV TL1,#LOW(65536-5000)

SETB TR1

MOV A,R3

MOV B,#10

DIV AB

MOV DPTR,#LEDTAB1

CPL 00H

JB 00H,T11

MOV P0,A

RETI

T11:

XCH A,B

MOV P2,A

RETI

;--------------------LEDTAB1: DB 0C0H ;"0" 00H DB 0F9H ;"1" 01H DB 0A4H ;"2" 02H DB 0B0H ;"3" 03H DB 99H ;"4" 04H DB 92H ;"5" 05H DB 82H ;"6" 06H DB 0F8H ;"7" 07H DB 80H ;"8" 08H DB 90H ;"9" 09H

END

单片机中大都使用什么语言编程?

bit t2;

单片机中,现在大多使用C51语言编程,以前大多使用汇编编程。建议先学C语言。汇编语言要算地址。

if(t0 == 10) {

1、在众多单片机中 51 架构的芯片风行很久,学习资料也多是初学的较好的选择之一。 2、汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂。 3、而 C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以嵌入汇编来解决高时效 性的代码编写问题。对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要小于汇编语言很多。

单片机编程,汇编语言

如下即可:

MOV R6, #10 ;11个数字,比较10次

S1:

MOV R0, #30H ;起始地址

MOV A, R6

MOV R7, A

CLR PSW.5 ;交换标志清零

自动控制领域的机器人、智能仪表、医疗器械。S2:

MOV B, @R0 ;取出前一个数

MOV A, @R0 ;取出后一个数

CJNE A, B, S3 ;后-前

S3:

MOV @R0, B ;交换存放

DEC R0

MOV @R0, A

SETB PSW.5 ;设立交换标志位

N_JH:

DJNZ R7, S2

JNB PSW.5, S_当然可以,去问老师,都会的,在学校里用汇编编单片机的程序只是为了让你练习汇编语言而已,单片机编程本来就是用c语言编的。END ;没有交换过,就结束

DJNZ R6, S1

S_END:

RET

单片机的编程语言是什么语言??

一、#include

学习的时候要要汇编编程,因为汇编有助于理解单片机硬件结构,有助于以后的程序优化,反汇编查错.

做项目的时候一般使用C语言,因为C语言可移植性与可读性都远远好于汇编,而一个产品总是注重稳定性和上市时间和可维护性,所以现在公司大多数用C语言开发嵌入式产品.但并不能埋没汇编的重要性,比如ARM的启动程序就是用汇编编写.

单片机的语言是汇编语言

即标MOVC A,@A+DPTR准的8051汇编语言,非常底层。

汇编是最基础的了,其他C,C++都可啊

编程语言:用来定义计算机程序的形式语言

在学校里汇编比较常用,工作中c才是主流。

汇编和c语言

一般汇编语言

貌似也有用C的

汇编是最基础的了,其他C,C++

单片机c语言编程

SORT: ;排序子程序

具体程序不写。原理为了更好的控制六个灯可以加一个译码器,单片机控制译码器的引脚C.B.A,灯与译码器的引脚连接(比如Y0-Y7依次连接)。在While中检测键盘的输入,然后根据键盘输入确定送给译码器的数值。比如说当检测到按下的是开关键时,可以设置一个判断标示。true时送给CBA为111,那么灯全亮。false时给000.

break;

//P0.0~P0.5接LED灯,P1.0开关键,P1.1增加,P1.2减少

#include

unsigned char QT;

unsigned char ledtab={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0};

delay(unsigned int x)

{unsigned int i,j;

for(i=0;i

for(j=0;j<125;j++);

}main()

{unsigned key,number;

P0=0xff;

QT=0x00;

number=0x0;

while(1)

{key=P1 & 0x07;

if(key!=0)

{delay(10);

if(key==(P1&0x07))

{switch(key)

{case 0x01:

QT=~QT;

if(QT==0)

{P1=0xff;

}P0=ledtab[number];

number++;

if(number>5)number=0;

P0=ledtab[number];

case 0x04:

number--;

if(number<0)number=5;

P0=ledtab[number];

default:break;

}}

}}

}

#include

}如下是仿真图

在单片机开发过程中,经常会用到什么语言。

INC K3 EQU P1.2R0

C/C++

汇编用的人很少!!

C/C++

汇编用的人很少!!

C/C++ 也可以用汇编

单片机能做什么

单片机(Single-ChipMicrocomr)是一种集成电路芯片,是采用超大规模建议先从汇编学习,然后重点放在C/语言集成电路技术把具有数据处理能力的处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统,在工业控制领域广泛应用。

录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

因此,单片机的学习、开发与应用将造就一#define uchar unsigned char批计算机应用与智能化控制的科学家、工程师。

C语言和汇编语言在开发单片机时有哪些不同

C语言编的程序,编译软件也把他转换成了汇编语言

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所异,所以不易移植。

SETB ET0

如果对单片机C语言有兴趣,C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所异,所以不易移植。

而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。

综上所述,用单片机C语言程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员能够掌握基本的C语言编程

采纳一下 谢谢