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、代码练习,用中断计算转速/每秒,超过时间设定清零。
本课时完结。