找回密码
 立即注册
查看: 945|回复: 15

学习打卡实验箱

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 15:37:32 | 显示全部楼层 |阅读模式

这节课主要讲了单片机的功能和用途等
定义:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,随即储存器RAM,只读储存器ROM,多钟I/O口和中断系统,定时器和中断器等功能集成到一块硅板上构成的一个小而完善的微型计算机系统,在工业控制领域起广泛作用。

功能:单片机基本上就是一个小的功能减少的计算机,能写入用户程序,能读取在输入引脚上的电压信号,能计算时间,能计数,能做数学运算,能做逻辑运算,能顺序动作,能通信等功能。
用途:单片机广泛用于仪表仪器,家用电器,医用设备,航空航天,专用设备等领域。
     智能仪器:电压,电流,功率,频率等仪器仪表;
     工业控制:工厂流水线的智能化,电梯智能化控制等;
     家用电器:电冰箱,洗衣机,空调等;
     网络和通信:手机,平板电脑,电脑,列车无线通信等;
背景:从上世纪80年代开始,由当时的4位,8位单片机,发展到现在的300M的高速单片机
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 15:57:58 | 显示全部楼层
本帖最后由 王云可 于 2024-10-22 17:23 编辑

第二集
特点:
     1板载了学习单片机常用的资源(包含下载电路,用户按键,和用户LED)
     2板载了常用的传感器的接口,可接入众多常用传感器
硬件组成:

        主控芯片:STC32G12K128;
        红外发射:用于发射红外信号,例如电视遥控板;
        红外接收:用于接收红外信号,例如电视机;
        电压比较;
        数码管:例如一些家用电器温度,时间的显示;
        LED灯;
        万能板:板载了常用的传感器的接口,可接入众多常用传感器,用户也可以扩展一些自己需求:
        NTC测温:比较稳定均匀;
        18B20:仅能测定某一时刻数值;
        ADC按键;
        基准电压;
        PWM模拟;
        24C02;
        LCD接口;
        LED;
        USB/232接口:用于和电脑连接;
        FLASH扩展;
        RS232电路;
        调试接口;
mmexportf162651820ba84fd225f8b85667bcf09_1729582689354.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 16:22:32 | 显示全部楼层
这一节课跟着冲哥主要学了开发环境搭建和程序下载

1.STC-ISP软件的下载:是开发STC单片机的必备神器,既能下载STC全系列单片机的程序,甚至集成了虚拟显示功能,在线生成工具,驱动安装等功能;
2.STC手册下载:帮助我们更好的了解和学习单片机,可以在官网上下载;
3.PDF阅读器的下载:帮助我们更好的浏览手册;
4.搭建C251开发环境;
5:进行工程的编译和下载;
本人之前接触过单片机的学习,相信跟着冲哥一定会学到很多东西
mmexport9d6687dbcd6a368044897df2aa0ef30a_1729584405122.jpeg
mmexporta1f00f9fbc6a9914c398262d395e5919_1729584408897.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 16:50:32 来自手机 | 显示全部楼层
本帖最后由 王云可 于 2024-10-22 16:52 编辑

      本节课主要跟着冲哥学习了LED灯点亮,自己也编了程序试一下。
    1.LED点亮原理
      输出电压=VCC是高电平,输出电压=GND(一般是0V)是低电平,高电平和低电平分别用1和0来表示。GPIO是通用输入输出端口的简称,可以通过软件来读取其输入电平或者控制他输出高低电平,例如:P4是一组GPIO口,P4.0是一组GPIO口的一个。
    2.LED点亮程序
      sfr P4=0XC0;
      sfr P4M1=0XB3;
      sfr P4M0=0XB4;
      sfr P6=0XE8;
      sfr P6M1=0XCB;
      sfr P6M0=0XCC;
      sbit P40=P4^0;
      sbit P60=P6^0;
      void main()
      {
        P4M0=0X00;
        P4M1=0X00;
        P6M0=0X00;
        P6M1=0X00;
        while(1)
        {
           P40=0;
           P60=0;
         }
       }

      3.下载用户代码到目标芯片中,使用USB模式对STC单片机进行正常的ISP下载,需要将P3.2口短路到GND,然后对目标芯片进行重新上电,使烧录步骤比较繁琐,STC单片机增加了一个特殊功能寄存器,当用户向寄存器写入0X60,即可实现软件复位到系统区,可以实现不停电就可进行ISP下载
mmexport57480f42b08bcacc39ccc62098c69340_1729586970511.jpeg
mmexportc0c4e5352891a1161a0860872c0ca7b0_1729586978442.jpeg
mmexport559ef05a15c0ca79469bf4ca68292b78_1729586974437.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 17:21:27 来自手机 | 显示全部楼层
第五集{:5_298:}
本节主要学习了C语言的运算符和进制数,我用按位或指令编了个程序点亮LED灯。

算数:
     加+,减-,乘*,除/,取余%,赋值=
判断:
     大于>,大于等于>=,小于<,小于等于<=,等于等于==,不等于!=
逻辑:
     逻辑与&&,逻辑或||,逻辑非!
位运算:
     按位左移<<,按位右移>>,按位与&,按位或|,按位异或^,按位取反~
进制转换
十进制         二进制            十六进制
0               0000               0
1               0001               1
2               0010               2
3               0011               3
4               0100               4
5               0101               5
6               0110               6
7               0111               7
8               1000               8
9               1001               9
10              1010               A
11              1011               B
12              1100               C
13              1101               D
14              1110               E
15              1111               F
mmexportba85b0813e64ea6fe46b6bcddacd9f5a_1729588828011.jpeg
mmexportbcdaa888733723839ad650c28cb2fce8_1729588824068.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 17:44:06 来自手机 | 显示全部楼层
第六集{:5_347:}
本节课主要学习了LED闪烁和花式点灯效果的设计

本节是基于delay延时函数实现LED灯闪烁的效果,但是我感觉自己没有完全学明白,稍后还会再看一遍视频,delay延时函数常用在单片机中来实现时间延长的目的,常用于LED闪烁,定时器初始化等项目,并且在实际应用中不同类型的单片机会使用不同的硬件定时器或者是软件定时器来实现延时的目的,在实际开发中,需要依据自己所使用的单片机型号和开发环境来进行编写适合的延时函数程序,这样就会事半功倍,很大程度的提高了学习和工作效率。
通过这节课,我也知道了模块化编程函数的使用。
1函数的定义
      返回值:没有返回值就是void
      函数名称:应该避开关键词,不重复
      入口函数:类型加名称,多个参数
2函数声明:
      返回值函数名称(入口函数);
3函数调用
      函数名称(入口函数)
总之,我感觉学习应该认真,经常总结,应该就没啥问题。
mmexport769469142d17df4675446a400c57b57d_1729589763237.jpeg
mmexport8716f2b24d78d0489ea678fe0ddcb87a_1729589766880.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 18:05:10 来自手机 | 显示全部楼层
第七集{:5_335:}
本节课主要学习了按键点灯

1按键原理:本质就是两个引脚之间的通断,有些是按下之后两个引脚导通,有些是按下之后两个引脚断开,所以我们平常在用到按键的时候一定要了解它的规格;
2按键去抖:机械开关当触电闭合时,一个开关断开时不会马上闭合,当触电断开时,一个开关闭合时不会马上断开,所以要进行按键消抖,根据我在网上看的发现可以软件滤波,在程序设计中,可以采取 软件滤波的方法来消除按键抖动,滤波可以通过延时,状态机等方式来确定只有真正的按键才会触发相应的操作,而忽略短暂的抖动信号 ,也可以通过硬件滤波,在电路设计中,加入电容,电阻等元件来实现硬件滤波,通过延长按键信号的上升沿或下降沿时间,从而消除按键抖动带来的干扰。总之,按键抖动可以通过软件滤波,硬件滤波,先择稳定的按键元件,金属片元件来进行消除。
3按键代码
if(KEY==0)
{
  Delay_ms(10);
  if(KEY==0)
   {
      执行功能
   }
}



if(KEY==0)
{
  Delay_ms(10);
  if(KEY==0)
   {
      while(KEY==0);
      执行功能
   }
}

但是对于移位操作我不太理解
mmexport9f13aa560a6bdc242ada680b27155fd1_1729591438519.jpeg
mmexport93eae81c8bd742a96e5e56c979a8b27b_1729591444718.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 18:29:33 来自手机 | 显示全部楼层
本帖最后由 王云可 于 2024-10-22 19:21 编辑

第八集
本节主要学习了蜂鸣器的应用,原理,使用蜂鸣器以及如何在程序上驱动蜂鸣器。

1认识蜂鸣器:分为有源蜂鸣器 和无源蜂鸣器,有源蜂鸣器内部带震荡源,一通电就会叫,无源蜂鸣器内部不带震荡源,用直流信号无法令其鸣叫,并且有源蜂鸣器比无源的价格贵。
2蜂鸣器原理:蜂鸣器的工作原理是通过电磁振动产生高频率噪声。‌ 蜂鸣器主要由振荡器、放大器以及‌压电陶瓷元件(或‌电磁铁)等部分组成。振荡器是蜂鸣器的核心部件,用于产生高频信号。压电陶瓷元件则是转换电信号为振动的关键,通过电场作用,使得压电陶瓷振动,从而引起空气震动,产生声音。此外,蜂鸣器还可以通过电磁式工作原理发声,即通过‌电磁线圈和‌磁铁的相互作用,使振动膜片周期性地振动发声。‌
3蜂鸣器应用:蜂鸣器广泛应用于各种电子产品中,如‌计算机、‌打印机、‌报警器、‌电子玩具、‌汽车电子设备等,作为发声器件使用。其类型包括压电式蜂鸣器和电磁式蜂鸣器。压电式蜂鸣器通常呈圆形,通过压电效应将电能转换为机械能,而电磁式蜂鸣器则通过电磁线圈和磁铁的相互作用发声。
4控制蜂鸣器:P54引脚给高电平关闭,P54引脚给低电平打开。
mmexporteac8e4add120364d32a8eee1b803e2e6_1729592484553.jpeg
mmexportb068bdef5190fb7d415b1fa2d5b5848a_1729592346206.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 19:23:19 来自手机 | 显示全部楼层
本帖最后由 王云可 于 2024-10-22 19:25 编辑

第九集
本节主要学习了数码管的静态使用,虽然这节课讲的内容没理解完,但还是先通过查阅资料总结一下吧。

1认识数码管
数码管是半导体发光器件的一种,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出所需的信息。数码管是一种由多个发光二极管(LED)组成的显示设备,每个LED代表一个数字或符号。通过控制每个LED的亮灭状态,可以显示出不同的数字、字母或符号。

2结构
数码管内部包含一个金属丝网制成的阳极和多个阴极,阴极的形状通常为数字或符号。管中充以低压气体,一般为氖加上一些汞和/或氩。当给某个阴极充电时,数码管会发出颜色光,颜色取决于管内的气体种类,一般为橙色或绿色。

3数码管分类
可分为 1 位、 2 位、 3 位、 4 位、 5 位、 6 位、7 位等数码管。
共阴数码管:是指数码管的输出端都接地,此时如果给输入端加高电平,那么数码管就显示。
共阳数码管:是指数码管的输出端都接高电平,此时如果给输入端加低电平,那么数码管就显示。
所以如果给一个数码管加高电平,数码管显示,那它就是共阴数码管,否则就是共阳的。
4数码管分布及显示示例

数码管是需要外部电路来驱动才能显示数字,其最常见的驱动方式是通过单片机输出控制信号来控制每个数码管LED灯的亮灭情况。而根据数码管的驱动方式的不同,可将其分为静态式和动态式两类。静态驱动也称为直流驱动,其驱动方式是指每个数码管的每一个段码都由单片机的I/O端口进行驱动,或者使用诸如BCD码二十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高;缺点则是占用I/O端口多,若驱动五个数码管静态显示,则需要5 × 8 = 40根I/O端口进行驱动。一个典型的89S51单片机可用的I/O端口仅有32个。而在实际应用中,为了驱动更多的数码管,就必须增加译码驱动器进行驱动,从而增加了硬件电路的复杂性。
mmexport0b46678911692b8a728bcf7ae9555069_1729596112423.jpeg
mmexport501b8546a3b9b439e267ffb7985a9ce4_1729596124026.jpeg
mmexport4cf686e702cc57a0ecd79131d1ab1c78_1729596118903.jpeg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-13 19:41:18

12

主题

80

回帖

168

积分

注册会员

积分
168
发表于 2024-10-22 19:56:05 来自手机 | 显示全部楼层
第十集
本节主要学习了动态数码管的显示

1数码管动态显示
动态显示是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。 当数码管处于动态显示时,所有位选线分离,而每个数码管的各条段选线相连。当需要显示数字或字符时,需要将所有数码管轮流点亮,这时对每个数码管的点亮周期有了一个较严格的要求:由于发光体从通入电流开始点亮到完全发光需要一定的时间,叫做响应时间,这个时间对于不同的发光材质是不同的,通常情况下为几百微秒,所以数码管的刷新周期(所有数码管被轮流点亮一次的时间)不要过短,这也与数码管的数量有关,一般的数码管的刷新周期应控制在5ms~10ms,即刷新率为200Hz~100Hz,这样既保证了数码管每一次刷新都被完全点亮,同时又不会产生闪烁现象。

2动态数码管显示原理
动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。

3总结
数码管的驱动方式分为静态式和动态式两类,静态驱动简单,但占用I/O端口多;动态驱动能够节省大量的I/O端口,更加节能,目前广泛应用于单片机系统中。在实际应用中,我们应该根据需求来选择合适的驱动方式,并针对特定需求进行相应的硬件电路设计。

通过学习两个视频,我本人感觉数码管静态显示比动态显示简单一些,各位朋友怎么认为呢。
mmexporte7444d7a721d2cb0503ac8cf39545a56_1729596367097.jpeg
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-9 09:16 , Processed in 0.128791 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表