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语言控制单片机,单片机控制硬件

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

    关注

    6030

    文章

    44489

    浏览量

    631873
  • 硬件
    +关注

    关注

    11

    文章

    3208

    浏览量

    66052
  • C语言
    +关注

    关注

    180

    文章

    7591

    浏览量

    135807
收藏 人收藏

    评论

    相关推荐

    C语言与Java语言的对比

    C语言和Java语言都是当前编程领域中的重要成员,它们各自具有独特的优势和特点,适用于不同的应用场景。以下将从语法特性、内存管理、跨平台性、性能、应用领域等多个方面对C
    的头像 发表于 10-29 17:31 117次阅读

    PLC编程语言C语言的区别

    在工业自动化和计算机编程领域中,PLC(可编程逻辑控制器)编程语言C语言各自扮演着重要的角色。尽管两者都是编程语言,但它们在多个方面存在显
    的头像 发表于 06-14 17:11 2305次阅读

    C语言:嵌入式开发中的关键编译器角色

    嵌入式程序开发跟硬件密切相关,需要使用C语言来读写底层寄存器、存取数据、控制硬件等,C
    发表于 04-26 14:53 508次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>:嵌入式开发中的关键编译器角色

    fpga是用c语言还是verilog

    FPGA(现场可编程逻辑门阵列)开发主要使用的编程语言硬件描述语言(HDL),其中Verilog是最常用的编程语言之一。而C
    的头像 发表于 03-27 14:38 1688次阅读

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

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

    C语言编程的七大陷阱与高效避坑指南

    在微控制器单元(MCU)开发领域,C语言因其接近硬件的特性、高效性和灵活性而广泛应用。
    的头像 发表于 02-21 09:09 447次阅读

    plc编程语言c语言的联系 c语言和PLC有什么区别

    PLC编程语言C语言的联系 PLC(可编程逻辑控制器)是一种针对自动化控制系统的特殊计算机。PLC编程
    的头像 发表于 02-05 14:21 3725次阅读

    c语言,c++,java,python区别

    C语言C++、Java和Python是四种常见的编程语言,各有优点和特点。 C语言
    的头像 发表于 02-05 14:11 2024次阅读

    C语言控制器模组用户手册

    电子发烧友网站提供《C语言控制器模组用户手册.pdf》资料免费下载
    发表于 12-26 09:25 0次下载

    如何在Saber中使用C语言进行建模呢?

    Saber不仅支持MAST语言和VHDL‐AMS语言建立模型,也支持C语言建立器件模型,这对熟悉C语言
    的头像 发表于 12-05 11:30 1061次阅读
    如何在Saber中使用<b class='flag-5'>C</b><b class='flag-5'>语言</b>进行建模呢?

    C语言运行环境是什么

    C语言运行环境(C language runtime environment)是指在执行C语言程序时所需的软件及
    的头像 发表于 11-27 16:13 3278次阅读

    如何选择创建c语言c++

    选择创建 C 语言C++ 都需要综合考虑多个因素。在决定使用哪种语言之前,我们需要对这两种语言的特点、优缺点、适用场景、学习成本等进行全
    的头像 发表于 11-27 15:58 555次阅读

    嵌入式C语言的结构特点

    嵌入式开发中既有底层硬件的开发又涉及上层应用的开发,即涉及系统的硬件和软件,C语言既具有汇编语言操作底层的优势,又具有高级
    的头像 发表于 11-24 16:16 616次阅读
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>语言</b>的结构特点

    \0在c语言中怎么用

    C语言是一种广泛使用的程序设计语言,具有高效、简洁和可移植等特点。本文将详尽介绍C语言的基本语法、数据类型、
    的头像 发表于 11-24 09:59 2965次阅读

    c语言程序设计概述

    电子发烧友网站提供《开源硬件-开发者智慧之c语言程序设计(带书签).pdf》资料免费下载
    发表于 11-20 10:25 1次下载
    <b class='flag-5'>c</b><b class='flag-5'>语言</b>程序设计概述