孙立样优秀作者
原创内容 来源:小居数码网 时间:2024-08-12 16:04:01 阅读() 收藏:51 分享:72 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1635个文字,大小约为7KB,预计阅读时间5分钟。
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语言)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(373)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:c语言是编程必学的吗(为什么编程入门要学c语言):http://sjzlt.cn/shuma/154974.html