江上酒酒 发表于 2024-9-26 22:28:11

第一集

本帖最后由 江上酒酒 于 2024-9-28 16:57 编辑


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

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

江上酒酒 发表于 2024-9-26 22:32:10

第二集

本帖最后由 江上酒酒 于 2024-9-27 18:56 编辑

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

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



mengjun 发表于 2024-9-27 08:26:02

共同学习进步

江上酒酒 发表于 2024-9-27 10:03:19

第三集

本帖最后由 江上酒酒 于 2024-9-28 20:07 编辑

这一节课跟着冲哥主要学了开发环境搭建和程序下载

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



江上酒酒 发表于 2024-9-27 10:21:53

第四集

本帖最后由 江上酒酒 于 2024-9-28 17:21 编辑

本节课主要跟着冲哥学习了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下载。


江上酒酒 发表于 2024-9-27 11:30:51

第五集

本帖最后由 江上酒酒 于 2024-9-28 17:19 编辑

本节主要学习了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



江上酒酒 发表于 2024-9-27 12:05:31

第六集

本帖最后由 江上酒酒 于 2024-9-27 19:08 编辑

本节课主要学习了LED闪烁和花式点灯效果的设计

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


江上酒酒 发表于 2024-9-27 13:42:59

第七集

本帖最后由 江上酒酒 于 2024-9-27 19:10 编辑

本节课主要学习了按键点灯

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



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

但是对于移位操作我不太理解


江上酒酒 发表于 2024-9-27 14:05:59

第八集

本帖最后由 江上酒酒 于 2024-9-27 19:10 编辑

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

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

江上酒酒 发表于 2024-9-27 17:38:37

第九集

本帖最后由 江上酒酒 于 2024-9-28 17:00 编辑

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

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个。而在实际应用中,为了驱动更多的数码管,就必须增加译码驱动器进行驱动,从而增加了硬件电路的复杂性。


页: [1] 2
查看完整版本: 第一集