C语言控制单片机的详细原理是怎样的? 51单片机 C语言 控制频率原理??????

作者&投稿:锐凡 (若有异议请与网页底部的电邮联系)
C语言源程序----->C编译器----->汇编代码----->汇编器----->机器代码
所谓的单片机C语言的意思是拿C语言来编写单片机程序,没有什么C语言控制单片机这回说法。具体过程是:C语言源程序通过特定的C编译器编译为针对某种单片机的汇编代码,再由汇编器将汇编代码汇编为单片机可执行的机器代码,然后下载到单片机的存储器运行。当前一般的集成开发环境(如Keil C)可以一次搞定生成机器代码。
需要补充一点的是,单片机也是一种计算机,不要以为只有在PC机上才可以用C语言编程,C语言可以用作为任何计算机的编程语言,当然包括单片机,但有一个条件就是,你必需要有针对某种架构的计算机的C编译器。目前来讲,C语言的编译器种类非常多,有用于各种单片机以及微处理器架构的编译器版本,所以可以用C来做为单片机的编程语言。不同的是,你用TC或者VC编译得到的是X86(如Intel,AMD)的目标代码,只能在PC机上运行,而如果用单片机C编译器(比如Keil C)编译的代码是单片机代码,只能在特定的单片机上运行。目前C/C++是最流行的单片机/微处理器编程语言。

不知你的C语言功底怎么样,如果平常能用c编一个小游戏的话,那用c去编单片机程序那就是轻而易举的了!估计你有个误区,没有什么单片机c语言这种说法,可以这样理解吧,只不过是改了一个编译环境!程序运行的结果不在PC机上看得出来,而是转移到了一块单片机板上!举个例子,点亮一盏单片机上的发光二极管,有十几行代码就行了!你的问题不在编程问题,而是对硬件(单片机)不是很了解!不要把它想得那么神秘,只要C功底好,入门单片机很快!如果需要的话,可以发个程序给你看看,很简答。

C语言——汇编语言——机器码——烧入代码——CPU能读取并执行代码(原理就是数字电路了)

C语言控制单片机的详细原理是怎样的?~

不知你的C语言功底怎么样,如果平常能用c编一个小游戏的话,那用c去编单片机程序那就是轻而易举的了!估计你有个误区,没有什么单片机c语言这种说法,可以这样理解吧,只不过是改了一个编译环境!程序运行的结果不在PC机上看得出来,而是转移到了一块单片机板上!举个例子,点亮一盏单片机上的发光二极管,有十几行代码就行了!你的问题不在编程问题,而是对硬件(单片机)不是很了解!不要把它想得那么神秘,只要C功底好,入门单片机很快!如果需要的话,可以发个程序给你看看,很简答。

假设你的51单片机用的晶振是12MHz的,那么可以得到如下结论:51执行一个指令的时间周期是1uS,这个是51的基础知识,就不深入讲解了。
然后,如果用定时器0确定输出频率,假设定时器0的TL0初始值是0x01,那么当TL0变为0x02时,就是经过了1uS时间——这个懂吧?
那么,设置定时器0为工作模式1(即16位定时器模式),16位定时器的最高值是0xff ff,也就是65535 uS。
跟着,把定时器初始值设为十进制60536,这个说明了什么呢?经过以上推论,就知道设为这个初值之后,定时器0产生中断的周期为5 mS(注:65536 - 60536 = 5 000)。
最后,你的问题,1Hz时,周期为1000mS,你就每10个定时器中断( 1000mS / 2 / 5mS = 100),对相关引脚执行一次取反操作;10Hz时,周期为10mS,你就定义一下变量,然后对每个中断周期,每10个定时器中断( 100mS / 2 / 5mS = 10),对相关引脚执行一次取反操作;100Hz时,周期为100mS,你就每10个定时器中断( 10mS / 2 / 5mS = 1),对相关引脚执行一次取反操作。
-完-

单片机原理或c语言
答:include <reg51.h>sbit D0=P0^0;sbit S0=P3^2;void main(){ D0=1;//熄灭D0 while(1) { S0=1;//S0强制拉高 if(S0==0)//判断S0是否被按下 { D0=1;//点亮D0 while(S0==0);//等待S0松开 D0=1;//熄灭D0 } }} ...

单片机原理与应用技术(单片机原理与应用技术第二版课后答案)
答:今天小编辑给各位分享单片机原理与应用技术的知识,其中也会对单片机原理与应用技术第二版课后答案分析解答,如果能解决你想了解的问题,关注本站哦。单片机原理与应用的概述单片机原理及应用:本书详细地介绍了MCS-51单片机的硬件结构、指令系统,从应用的角度介绍了汇编语言程序设计与各种硬件接口设计、各种常用的数据运算和...

单片机C语言延时的方法。最好能够详细说明原理
答:如果用C51来编写延时程序,一般都用循环语句:例:void delay(unsigned int num){ unsigned int i;for (i=0; i<num; i++){ ; // 程序什么都不做 } } 原理很简单,程序什么都不做,只是不段的比较,直到比较完,这样就起到延时的作用了。至于它延时了多少时间,则需要编译后,看实际的...

单片机是怎么执行C语言程序的
答:看样子你对定时中断不是很懂~~~单片机上电后,单片机的内部定时就开始起振了,定时产生溢出后,会执行中断功能~~你已经对内部时钟的数据作了重装,并做了时钟数据的相应处理,中断完后,单片机内部溢出位自动清零~~~等待下一次中断的到来~~WHILE(1) 只是做为时实显示用的,是一个死循环,但中断的级别...

谁能帮我画出由单片机控制的8路竞赛抢答器的原理图和程序(要求用C语言...
答:简单的说一下吧,既然是八路,那么有8个LED,8个按键,硬件:8个LED 接P1口,(注意要接上拉电阻,低电平驱动)8个按键接P2口,按键另一端接地。编程:swhich case语句, 8个case语句 判断了哪个按键,注意每次判断需要屏蔽其他口,比如你按了P2.0,那么P1.0亮,P1.1-P1.7都要灭。然后...

单片机原理难吗?
答:单片机原理及应用需要学习低级汇编语言和C语言。学习具有一定难度。但只要有恒心是一定能学好的。1)编程语言:a)汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号...

单片机原理实用教程:基于Proteus虚拟仿真内 容简介
答:本书是一本实用教程,专门讲解基于Proteus虚拟仿真技术的8051单片机原理和接口技术。它详细地介绍了如何在Proteus软件环境中设计单片机应用系统,包括单片机的基本构造,如中断系统、定时器和串行口的工作原理。此外,书中还深入剖析了8051指令系统以及汇编语言程序设计方法,涉及DAC和ADC接口技术,以及键盘与显示...

答对就给财富值(关于单片机原理及应用)
答:一片27128是16K,两片是32K,从0000H开始的话,第一片地址范围是0000H~3FFFH,第二片的地址范围是4000H~7FFFH。图就不用画了吧,很简单的,随便一本51的书都可以找到。2 include<reg51.h>#define uchar unsigned char define uint unsigned int uchar ledtab[]={0xc0,0xf9,0xa4,0xb0,0x99...

单片机烧录原理
答:单片机烧录原理是单片机中已经存在了一个烧写程序。启动单片机时首先运行这程序,程序判断端口状态,如果符合“要烧写ROM”的状态存在,就从某个端口(串口、SPI等等)读取数据,然后写入到单片机的ROM中。如果没有“要烧写ROM”的状态,就转到用户的程序开始执行。

单片机问题 单片机的硬件 在c语言里面都怎么表示 c语言都通过哪些方式...
答:在C语言里,我们一般控制的单片机硬件大多数是特殊寄存器,它们在C语言里的名称跟汇编的一样(注意是大写)。我们可以通过赋值如P1 = 0xff,来控制单片机硬件。我们也可以通过读如status = P1,来得到硬件的状态值等等。