Jeff 发表于 2024-12-18 17:08:27

第七课按键灯点亮第一课时---冲哥

1、按键原理:两脚,四脚,不按下时分为常开与常闭类型,按下反向。

2、机械按键消抖(5-10ms时隙)
if(KEY==0)
{
            Delay_ms(10)
            if(KEY == 0)
            {
                      执行代码
             }
}

3、按键消抖与管脚选择控制,低电平点亮,高电平熄灭。

4、按键消抖与重复判断的稳定态输出。

5、按键函数执行的前后步骤与程序逻辑分析。

本课时完结。

xxkj2010 发表于 2024-12-18 18:27:03

Jeff 发表于 2024-12-10 09:56
第四课时不停电下载视频讲解与公布的DEMO测试代码不同,同样一个代码,原版公布的同一个Keil_V5可以调试通 ...

得看具体什么问题,究竟在编译过程中提示了什么?
或者你可以把整个工程贴出来。
论坛上高手云集,什么问题都能得到解决的

Jeff 发表于 2024-12-19 07:58:03

第七课按键灯点亮第二课时---冲哥

1、流水灯左移演示。
2、数组使用:定义 类型,名称【长度】= {数值}。
3、数组的使用
      赋值:名称【索引】=数值


千万千万千万注意数组索引从O开始。索引是总数数组-1

课后习题,按键从右往左移动。
两种解题方案。
1、利用上面数组的数码表。做个for循环判断,增加一个全局变量循环数字,这个可以左移右移都可以用。
2、利用0x01十六位进制数左移一位,for循环然后取反,注意循环边界溢出处理。

本课时完结。

Jeff 发表于 2024-12-19 08:00:30

xxkj2010 发表于 2024-12-18 18:27
得看具体什么问题,究竟在编译过程中提示了什么?
或者你可以把整个工程贴出来。
论坛上高手云集,什么问 ...

感谢回复,已经解决。{:smile:}

Jeff 发表于 2024-12-19 18:58:20

第八课   蜂鸣器的应用 ---冲哥

1、蜂鸣器,分为有源带震荡源黑胶封底,通电就响;无源无震荡源,需要通过持续高低电平刺激持续发声,无源底部裸漏电路板。

2、控制原理:P54引脚串4.7K限流电阻,给高电平关闭,给低电平打开。P54进入三极管偏置电压位,电路采用SS8550三极管,电源端家22U电容滤波。

3、练习蜂鸣代码。

4、应用,对着电磁炉研究了30分钟的锅。(其实是在做饭,边想边看){:lol:}

5、代码练习模拟电磁炉开机,模拟模式选择。

本课时完结。

Jeff 发表于 2024-12-19 20:06:57

第八课   蜂鸣器的应用第二课时 课后作业-冲哥

上一课时就在写KEY3作业,折腾了还不得3小时呢。
结果加上KEY3就不运行,K1K2也不能用,屏蔽掉代码就可以用了。-。-

后来吧管脚加到P35上,结果就可以了,呜呼哀哉~~~

实验箱是9.62,不知道是管脚烧坏,还是另作他用了。{:shutup:}

Jeff 发表于 2024-12-23 15:52:21

第九课   数码管的静态应用-冲哥
一、认识单片机。
二、控制原理。
三、数码管实现0-9显示。


1、数码管也叫多个LED数码管,内部是把多个发光二极管封装在一起,可以不同颜色。分为一位,两位,四位和八位数码管。

2、数码管的外形。尾A共阳,尾K共阴。分为ABCDEFG管脚,加两个GND管脚和DP小数点。

3、共阴,相应的管脚低电平点亮;共阳,相应管脚给高电平点亮。管脚串301R电阻。

4、9.62实验箱P6+com0点亮第一个数码管。

5、逻辑分析。P60从低位到高位分为a~f,p67为dp小数点。

6、代码编写,数码管分为位码和段码,一个位码里面包含8个段码。

7、数字代码表16表示,用循环数组,代码显示1位静态显示。代码显示0-9循环,用按键控制数字的加减。

8、加蜂鸣功能。(在键盘稳定循环内)。

本课时完结。



Jeff 发表于 2024-12-23 17:25:18

第十课   数码管的动态显示-冲哥

一、数码管动态刷新的原理。
二、控制原理。
三、8位数码管同事点亮。

1、数码管的动态刷新原理,多位刷新显示。位码+段码的刷新。

2、控制原理,输出第一位位码+段码。。。延时----第二位。注意:位选延时以1ms为准,一个循环不能大于20ms,因为人的眼睛不容易分辨出50HZ以上的动态刷新。

3、8位数码管同时点亮。新建一个位选数组,新建一个段码数组。

4、代码循环刷新8个数码管联系。10秒计数器。

5、计算每个位的余数,小数点的用法。

6、循环刷新每个位的位码选择循环与每个位其中的段码循环赋值。

7、动态赋值。

8、函数优化与精简。

9、回顾局部变量与全局变量作用域的熟悉。

10、单键状态控制与使用的状态反选。


本课时完结。

Jeff 发表于 2025-1-2 14:30:01

第十一集:定时器的使用   冲哥

一、定时器的作用和意义
二、STC32G单片机定时器的使用原理
三、定时器的简单应用。
四、定时器的快速使用方法。


1、定时器的作用和意义,回顾TimeCount++讲解。while函数的循环+1.,

   1)设置为定时器时,可实现硬件计时,或者使程序每隔一固定时间完成一项操作。
   2)设置为计数器时候能够对脉冲进行计数。
   3)替代长时间Delay,提高CPU的运行效率和处理速度,能及时的相应某个事件。

2、STC32G单片机定时器使用原理。
   2.1)先设置功能为定时器/计数器(本质都是加法计数器),本课主要讲T0,T0-T4都有定时和计数的两种工作模式。
            定时器0、1模式寄存器(TMOD)
            T0_C/T:控制定时器0,用作计时器或计数器,清零则用作定时器(对内部系统时钟进行计数),置1用作计数器(对引脚T0/P3.4外部脉冲计数)

   2.2)如果在定时器模式下,设置不分频和12分频:
            当定时器/计数器T0\T1\T2工作在定时模式时,特殊功能寄存器AUXR中的T0x12、T1x12、T2x12分别决定是系统时钟的/12还是系统时钟/1(不分频)后让T0T1T2计数。
            当定时器/计数器T3/T4工作为定时模式时,特殊功能寄存器T4T3M中的T3x12\T4x12分别决定是12分频还是不分频后让T3和T4进行计数。
            分频12机器时钟+1,不分频1个机器时钟+1、
      
             辅助寄存器(AUXR)
             寄存器名称   地址      B7          B6             B5               B4         B3            B2             B1                B0
               AUXR            8EH    T0x12      T1x12   UART_M0x6    T2R      T2_C/T       T2x12       EXTRAM      SIBRT

               EXTRAM:扩展RAM访问控制。
                0:禁止访问外部扩展RAM。
                1:使能访问外部扩展RAM。

   2.3)定时器的工作模式(TMOD)
                  寄存器名称   地址      B7               B6             B5             B4         B3            B2             B1            B0
                     TMOD          89H   T1_GATE   T1_C/T   T1_M1      T1_M0   T0_GATE      T0_C/T   T0_M1      T0_M0
                   T1_M1/T1_M0 定时器计数器1模式的选择。16位自动重载模式,最大65355.8位自动重载0-255. 11模式为不可屏蔽定时器中断。

    2.4)定时器设置:
             TFO:T0溢出中断标志。溢出时硬件置1向CPU请求中断,知道CPU响应才有硬件清零。
             TR0:定时器T0控制位,改位有软件置位和清零。

   2.5)中断。
            EA:总中断
               ET0,ET1,分定时中断。


3、定时器的简单应用,代码编写与测试,上节课的按下按键时不影响数码管刷新(屏幕不闪不归零)
    注意中断内执行函数队列与原油代码延迟冲突。

4、定时器快速应用:在ISP里面有定时器计算器快速工具,可以快速计算T0-T4的定时器设置。最大支持24位。

本课时完结。

Jeff 发表于 2025-1-2 17:42:34

第十二集:计数器的使用   冲哥

一、计数器的用途
二、计数器的配置
三、计数器的应用

1、计数器用途。
2、技术区的配置:定时器1(外部计数-扩展T1为外部下降沿中断)
      端口上拉电阻控制寄存器(PxPU)列表,端口内部4.1K上拉电阻P35PU。
      ISPIO口计算工具。

3、代码调试:先设置定时器1参数TMOD=0X40,TH1=0xFF;TL1=0xFF; TF1=0;(清除标志)TR1=1;ET1=1; P40=0(打开LED三极管电源,P60=!P60取反)
   然后调用中断interrupt 3

4、利用IO口工具快速生成片内4.1K上拉电阻方法,P3PU=0x20;

5、计数器应用:编码器电机测速下降,下降沿图解。
   M法测速,又叫频率测量法。固定时间内(以秒为单位),统计这段时间的编码器脉冲数。计算速度值。

6、代码练习,用中断计算转速/每秒,超过时间设定清零。

本课时完结。
页: 1 [2] 3 4
查看完整版本: 冲哥32G单片机视频教程学习记录帖