怎么使用C语言控制硬件

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

三星发布Galaxy采用屏下指纹识别技术
CDA:默默地为中国3D传感产业链客户的终端应用落地提供产品支持
全球及中国指纹识别芯片市场规模预测
小米6最新消息:小米6天时地利人和首发骁龙835,小米平板3配置性价比大升级
如何做晶圆切割(划片),晶圆切割的工艺流程
怎么使用C语言控制硬件
示波器操作和使用指南
正海集团与罗姆就成立合资公司达成协议,主营以碳化硅为核心的功率模块业务
曝联发科6nm芯片将支持160Hz+高刷新率
5G+物联网如何让城市更智慧
德国SycoTec 4033 创新“内部导电对刀”功能高速电主轴
烧结机主轴磨损如何修复
多点土壤水分监测系统【莱恩德LD-TS200】
C 语言知识:解析指针的过程与意义
西欧有超过四分之一的群众支持“人工智能”管理国家,做出决策
美国市场总销量5G手机占比低于1%
多射植入注塑成型应用案例
凌华科技发布军用宽温级计算机CoreModule 745
富士通FRAM铁电存储器解决方案在汽车上的应用
HTC的2019年财报发布:年收入同比下滑了57.82%,19年来最差