芯片应用总结

本文介绍了单片机的工作原理,包括启动代码、main函数执行流程,以及数码管、LED、点阵、AD/DA转换器、I2C总线、DS1302、1602液晶显示器、蜂鸣器、DS18B20、RS232和485串口通信的实现。重点讨论了各种设备的控制方法,如数码管的分段锁存、LED的驱动和点阵的串转并技术。此外,还涉及了AD/DA转换器的i2c通信和实时时钟DS1302的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单片机概括

       所谓的单片机也就相当于人的大脑,所有的命令都由其发出。与之通信通过各个管脚,上电运行之后,单片机能自动运行存储在其内部的程序,先是启动代码(为后续程序能够运行提供一个良好的环境,例如:分配堆、栈空间等,启动代码是用汇编程序写的,与具体的硬件环境相关)(为什么用汇编,因为汇编也就相当于机器语言,只不过汇编用助记符而已,机器可直接运行,至于启动代码完成什么工作,最基础的是能让后续代码正常运行。而高级语言相当于通用语言,其生成的机器语言与使用的编译器有关,每种硬件对应的都有其编译器。而高级语言为达到通用目的,自然会提取每个事物的共性,而忽略其个性。)(可以为其举个例子就是我们所说的语言,地球上有许多种语言,为方便交流,我们把英语作为国际语言,在国际事物中,我们都可以用英语交流,若不会英语,我们就需要有翻译人员,翻译给不同的国家的人,就需要不同能力的翻译人员)。

       之后跳到main函数执行,除非有跳转语句,否则程序会顺序执行。为了防止main函数过于庞大及方便管理,我们编写一个个小程序,然后在main中调用这些小函数。所以说程序的执行过程不过是调用各个函数而已。

数码管

       当数码管个数较多时,为节省io口,利用了74hc573锁存器,分段锁存,位锁存。位是决定哪个数码管工作,段是显示什么。利用人眼的视觉暂留,快速的进行切换,即可给人以都在工作的错觉。

LED

       要让led点亮,需让led通过电流,若一端接vcc,则只需让单片机的对应管脚输出低电平,又因单片机输入输出的电流有一定限制 ,所以对于led的小负载需加限流电阻,当负载为直流电动机时,单片机就驱动不了,此处利用了uln2003,通过其来增大带负载能力(四两拨千斤)。对于直流电动机,练习了pwm控制,固定一个周期,改变通入电流的时间。(这个周期怎么取还不清楚)(应该根据通与不通应该最少要保证可以工作)

点阵

双色点阵也就是一个发光孔里有两个不同颜色的小灯,共用一个公共端,控制另一端可让其发光或不发光。这里利用了74hc595,也相当于一个串转并芯片,由一个移位寄存器和存储器组成,通过级联可依次传输(因为每个芯片都有一个串行输出端口,串行输入的同时也从这里串行输出),8位传输完毕后可锁存,即可一次一直输出8位数据。

AD/DA

       pcf85914路ad、da转换器,通过i2c通信。ad、da都要用到参考电压,通过与之比较进行转换。(相当于天平秤重,饭吗相当于各二进制),ad转换的值放在了对应的寄存器中,读取即可。

      scl=0;//因为没写这个,读命令时无应答的后一个上升沿,故pcf8991无法转换,可能初始化时转换的寄存器为全1,故一直显示的为全1.(因此对于关键部分必须搞清楚)

I2C总线

       I2c总线:一根数据线,一根时钟线,由开始信号,之后传输数据,应答信号,结束信号组成。一条i2c总线上可挂接多个i2c器件,通过发送地址确认。(利用线与的功能)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值