龙空技术网

C语言知识并不难,没有任何编程基础的人都能够学

枪哥说工控 582

前言:

此刻我们对“c语言低八位”都比较重视,我们都想要分析一些“c语言低八位”的相关知识。那么小编同时在网络上搜集了一些有关“c语言低八位””的相关知识,希望你们能喜欢,大家一起来了解一下吧!

C语言知识并不难,没有任何编程基础的人都能够学

单片机属于数字电路,其概念、术语、硬件构造和原理都源自数字电路,假如数字电路根底扎实,对复杂的单片机硬件构造和原理就能容易了解,就能轻松地迈开进修的第一步,自自信心也会树立起来。

一般是先进修模拟电路再去进修数字电路。扎实的模拟电路根底不仅让你容易看懂他人设计的电路,而且让你的设计的电路更可靠,提高产品质量。

C语言知识并不难,没有任何编程根底的人都能够学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学根底好、逻辑思维好的人学起来相对轻松一些。

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

当根底打好以后,你会感觉到单片机不再难学了,而且越学越起劲。

当单片机乖乖的依照你的逻辑思维和算法去执行指令,达到预期控制效果的时候,成就感会让你自信心十足、夜以继日、废寝忘食的投入到单片机的世界里。

能够这么说,扎实的电子技术根底和C语言根底能增强进修单片机自信心,快速掌握单片机技术。

假如是电子专业,和单片机相关的主要是电路分析,数电,模电。

一初始的时候,师兄带着我学C语言,那时候我记住和明白的独有C的语法,数字电路师兄也没有讲,毕竟C语言不像汇编,不用控制寄存器,只有明白有关的宏定义是什么意思,如P1=0x00就是把LED灯全部点亮(在明白LED灯的工作原理的情况下),那时候也根本不知道什么弱上拉,推挽、开漏等GPIO状态,更看不懂数据手册上的工作框图,也不知道怎么看数据手册。

其实没有硬件根底,有c的根底,也能够直接来的。买个板子,依葫芦画瓢,上手了,再回去进修根底知识。

单片机基本原理

C51程序设计

C51的指令规则;C51编程语句及规则;

C51表达式和运算符;

顺序程序、分支程序及循环程序设计;

C51的函数;

中断函数。

例:

程序的基本结构有顺序、选择、循环 。

2.C51的存储器模式有small 、 compact 、 large 。

3.C51中int型变量的长度为8bit ,其值域为0-255 ;unsigned char型变量的长度为8位,其值域为 -128-127 。

C51中关键字sfr的作用访问特殊功能寄存器 ,sbit的作用 位寻址 。

函数定义由 函数名 和 函数体 两部分组成。

C51的表达式由运算符和操作数 组成。C51表达式语句由表达式和分号 组成。

若局部变量未初始化,其初值为 0 。

C51中“!”运算符的作用是 逻辑非 ;运算符”~”的作用是 取反 。

若函数无返回值,用 void 关键字指定。

在C51中,语句while(1){循环体语句}的含义是 如果没有break语句则一直循环执行循环体中语句,否则执行到break跳出。

C51中,用于定义变量片内数据存储器类型的关键字是 small 。

程序设计题

1、电路如图所示,要求编程实现一个流水灯。

#include

#define led P2

Int mian()

{

Led = 0xFE;

While(1){

Led=(led<

}

Return 0;

}

2、电路如图所示,要求编程实现:数码管显示0~9,循环显示。

#include

#define digital P2

Void delay(int xx)

{

While(0<>

}

Int main()

{

Digital=0;

While(1){

If(digital

Digital+=1;

Delay(5000);

}

Else

Digital=0;

}

Return 0;

}

中断系统

1、 中断的定义;

2、 中断源及其优先级;

3、 中断过程及中断应用编程。

例:

一、 填空题

1.MCS-51单片机有 5 个中断源。上电复位时,同级中断的自然优先级从高至低依次为 外中断0,定时器0,外中断1,定时器1,串口中断,若IP=00010100B,优先级别最高者为外部中断1 、最低者为定时器1 。

外部中断请求有 电平 触发和 边沿 触发两种触发方式。

MCS-51单片机5个中断源的中断入口地址为:外部0 0003H,;定时0000B;外部1 0013H;定时1 001BH;串口中断 002BH; 。

中断向量是中断服务程序的 识别标志,用于生成中断服务程序入口地址(入口地址指示器) 。

5.当定时器/计数器1申请中断时,TF1为1 ,当中断响应后,TF1为0 。

当串口完成一帧字符接收时,RI为1 ,当中断响应后,RI为1 ,需要软件清零。

6.在MCS-51单片机的中断系统中,中断优先级共分为 2 级。

MCS-51 单片机定时器T0 的中断类型号是 1 。

二、 简答题

MCS-51单片机有几个中断源?各中断标志是如何产生的?如何撤销的?各中断源的中断矢量分别是什么?

5个中断源;中断标志在TCON寄存器中设定的对应的触发条件达成时由硬件置位;除串口中断外,进入处理函数前由硬件撤销中断标志;串口中断标志由软件清除;中断向量分别为:0003;000B;0013;001B;0023;

简述MCS-51中断过程。

程序执行过程中中断条件达成,当前执行空间的参量入栈保存后跳转到对应的中断服务函数,执行完后将先前的参量出栈继续执行前一过程;如果有多个中断同时被触发,先执行高优先级的中断服务函数;如果有同优先级中断,按照自然优先级顺序执行;

MCS-51 单片机有哪几个中断源?它们的中断类型号分别是什么?自然优先级由高到低依次是什么?

外部0 0;计时0 1;外部1 2;计时1 3;串口中断 4;

程序设计题

没有外部中断时,七段数码管显示8,当有外部中断时,七段数码管上显示的8连续闪烁8次,然后继续显示8。要求编写程序实现上述功能。

#include

Int0_srv() interrupt 0

{

For(int i=0;i

P2=0x00;

Delay();

P2=0xff;

}

}

Int main()

{

While(1){

P1=0xff;

}

Return 0;

}

2、没有中断发生时,发光二极管亮,有中断发生时,有外部中断时,在8个发光LED上按从上到下点亮一遍,然后再从下向上点亮一遍,每次点亮一个发光二极管。要求编写程序实现上述功能。

#include

Void int0_srv() interrupt 0

{

P2=0xff;

P2=0xfe;

Delay();

For(int i=0;i

P2=(P2<

For(int i=0;i

P2=(P2>>1)|(~P2);

}

Int main()

{

While(1){

P2=0x00;

}

Return 0;

}


对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取

标签: #c语言低八位