0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么使用C语言控制硬件

要长高 来源:电工之家 作者:电工之家 2022-06-04 17:31 次阅读

C语言的应用编程单片机的领域占了很大一部分,使用的比较多的51单片机STM32单片机都可以使用MDK软件编写固件。

单片机烧写了固件后可以点亮LED灯,可以驱动ADC检测电压,也可以驱动蜂鸣器发声,这就是简单地控制硬件。稍微复杂一点的,可以驱动NRF2401进行无线的连接,也可以使用ESP8266这类wifi芯片连接网络

接下来,简单地讲讲如何使用C语言控制硬件。

1、电路连接

简单的模块可以直接使用高低电平来控制,比如红外线发射模块,当你在驱动引脚上的电压达到3.3v,就能发出红外线;然后将电平设置为0v,红外线发射就停止了。

一般而言,单片机的引脚输出电压能够达到3.3v,也是可以点亮红外线LED,但是可能会导致电流不稳定的问题,所以一般会使用一个三极管接在引脚和LED之间放大电流的驱动能力。

从原理来说,通过加在LED上的电平不停的变化,并且严格按照一定的时间设置为高电平,然后变更为低电平,如此的反复循环,那就能够发出一段红外线控制码。只要手速够快,时间够精准完全能够控制家里的电视机、空调。

2、单片机控制硬件

上面说到纯手工控制模块遥控电视机、空调,但是实际上谁有这样的手速呢,即便有这样的手速那开关也受不了这样的操作频率。

到了这会我们的单片机该闪亮登场了。以常用的51单片机而言,频率可以达到12MHZ。翻译成大白话就是,一秒钟可以按下开关12x10的6次方次。这简直是魔鬼手速,不仅快而且精准。关键是价钱也不太贵。比如,diy一个遥控器,电路板上IC的价格不过3块钱。

单片机在这里就替代了手的作用,那么C语言就相当于控制手的大脑。

其实这里只是举例了硬件控制中最常用的IO控制,实际的应用情况中除了IO控制,还有常用的ADC控制,这个就相当于单片机替你把使用万用表测量电压的活给干了。

3、C语言控制单片机

如果要从原理上来说,C语言并不能直接控制单片机。C语言是高级语言,是给我们人类来看的,单片机作为机器自然不懂这个。它只懂机器语言,说白了就是高低电平。但是为了减少歧义,就将这高低电平规格化了,变成了数字的0和1。

编译器的工作其实就是将我们编写的C原因翻译成了数字0和1存到单片机里面。然后,单片机就按照这个固定的模式去比对,然后去执行。有点像上学时,老师在台上点名的意思。

总的来说,C语言控制单片机,单片机控制硬件

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620817
  • 硬件
    +关注

    关注

    11

    文章

    2922

    浏览量

    64764
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128510
收藏 人收藏

    评论

    相关推荐

    如何成为一名嵌入式C语言高手?

    相关教材、参加在线课程或者参考编程书籍来系统地学习C语言的基础知识,并通过编写简单的程序进行实践。 二、深入了解嵌入式系统的硬件架构和工作原理嵌入式系统通常包含微控制器或微处理器等
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    相关教材、参加在线课程或者参考编程书籍来系统地学习C语言的基础知识,并通过编写简单的程序进行实践。 二、深入了解嵌入式系统的硬件架构和工作原理嵌入式系统通常包含微控制器或微处理器等
    发表于 03-25 14:12

    fpga语言是什么?fpga语言与c语言的区别

    FPGA语言,即现场可编程门阵列编程语言,是用于描述FPGA(Field Programmable Gate Array)内部硬件结构和行为的特定语言。它允许设计师以
    的头像 发表于 03-15 14:50 371次阅读

    介绍一个用C语言编写的硬件外设访问库

    今天要介绍的开源软件叫 c-periphery,一个用 C 语言编写的硬件外设访问库。
    的头像 发表于 10-26 10:36 514次阅读
    介绍一个用C<b class='flag-5'>语言</b>编写的<b class='flag-5'>硬件</b>外设访问库

    C语言经典算法大全

    C语言经典算法,详细解析算法过程及算法思想,给读者具有启发意义,教程包含C语言大部分常用算法,仅供学习,禁止商业传播
    发表于 10-07 08:16

    C语言深度解析

    C语言深度解析,本资料来源于网络,对C语言的学习有很大的帮助,有着较为深刻的解析,可能会对读者有一定的帮助。
    发表于 09-28 07:00

    单片机C语言程序设计实训100例

    单片机C语言程序设计实训100例51 Proteus仿真本书基于Keil μVision程序设计平台和Proteus硬件仿真平台,精心编写了100余个8051单片机C
    发表于 09-27 06:16

    Linux下C语言编程入门教程

    u3000本文是Linux 下C 语言编程入门教程。主要介绍了Linux 的发展与特点、C语言的基础知识、Linux 程序设计基础知识及其下C
    发表于 09-22 06:56

    训练大语言模型带来的硬件挑战

    生成式AI和大语言模型(LLM)正在以难以置信的方式吸引全世界的目光,本文简要介绍了大语言模型,训练这些模型带来的硬件挑战,以及GPU和网络行业如何针对训练的工作负载不断优化硬件
    的头像 发表于 09-01 17:14 1111次阅读
    训练大<b class='flag-5'>语言</b>模型带来的<b class='flag-5'>硬件</b>挑战

    五种支持plc编程的语言有哪些

    在PLC控制系统设计中,不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,所以不但对PLC的硬件性能了解外,也要了解PLC对编程语言支持的种类。
    发表于 08-31 14:54 692次阅读
    五种支持plc编程的<b class='flag-5'>语言</b>有哪些

    求助,TD支持哪些硬件描述语言,支持混合语言吗?

    TD支持哪些硬件描述语言,支持混合语言吗?
    发表于 08-11 08:21

    C语言基础知识(一)

    、嵌入式系统和科学计算等领域。作为一名程序员,了解C语言的基础知识是非常重要的。本文将详细介绍C语言的基础概念,包括数据类型、变量、运算符、控制
    发表于 08-10 15:16

    C语言基础知识(一)

    、嵌入式系统和科学计算等领域。作为一名程序员,了解C语言的基础知识是非常重要的。本文将详细介绍C语言的基础概念,包括数据类型、变量、运算符、控制
    发表于 08-07 16:51

    ARM C语言扩展规范

    ARM C语言扩展(ACLE)规范指定源语言扩展和实现C/C++编译器可以实现的选项,以便让程序员更好地利用ARM体系结构。 扩展包括: 
    发表于 08-02 06:27