不会书 发表于 2024-8-22 21:30:43

阿杰爱学单片机 发表于 2024-8-22 07:38
蜂鸣器也要接二极管吗,我记得是电感硬件才接吧

蜂鸣器属于感性元器件,关闭时,蜂鸣器里面的电流不能突然降为0,在突然关闭时会产生反相的电压,这时电流就需要有一个泄放路径,二极管就充当这个泄放路径。而蜂鸣器为什么要使用三极管驱动是因为蜂鸣器的电流有10mA左右,IO的驱动能力不够,所以一般蜂鸣器都是通过三极管驱动的

不会书 发表于 2024-8-22 23:12:52

第十六集:IO中断:首先设置IO口的中断模式PXIM0,PXIM1(X=0-7)。端口配置模式和具体端口模式配置寄存器请参考下图。
再打开端口中断使能,寄存器为PxINTE,0为关闭中断,1为打开,具体请参考下图。
以上完成即完成端口中断的初始化。
使用中断函数时,keil5对于c51,c52最多只有32个中断号,想要使用超过31的中断号,可以借助中断号13(闲置的中断号),在STC官网的工具软件里有可以增加keil软件端口数的扩展软件。
然后就是中断函数内部记得执行完后清空标志位让PXINTF = 0;(X = 0-7);
最后就是给定时器设置优先级,具体请参考下图。
这个中断优先级设置我感觉有点没弄明白

哈哈哈哈 发表于 2024-8-22 23:17:41

不会书 发表于 2024-8-22 21:30
蜂鸣器属于感性元器件,关闭时,蜂鸣器里面的电流不能突然降为0,在突然关闭时会产生反相的电压,这时电 ...

STCIO口驱动能力强,我记得手册上写20ma

阿杰爱学单片机 发表于 2024-8-23 06:29:34

不会书 发表于 2024-8-22 21:16
这样的吗

你放外面试试

阿杰爱学单片机 发表于 2024-8-23 06:37:13

不会书 发表于 2024-8-15 02:24
第二天:
第一天的问题已经解决啦,但是不知道原因..... ,可能是之前的环境搭建问题吧?
第六集LED电灯和花 ...

typedef只能给变量取名字
bit是51单片机特殊的变量只能赋值0和一,也就是一位的值

阿杰爱学单片机 发表于 2024-8-23 06:39:44

不会书 发表于 2024-8-22 21:30
蜂鸣器属于感性元器件,关闭时,蜂鸣器里面的电流不能突然降为0,在突然关闭时会产生反相的电压,这时电 ...

懂了,但我一直很疑惑,怎么样做到上电蜂鸣器不响

llyymm 发表于 2024-8-23 08:16:24

看到这些想到我刚开始学习时的情况了,那时候资料真的很难找

小涵子爸爸 发表于 2024-8-23 08:57:37

有c语言,数据结构和模电的基础,这就很好学了

阿杰爱学单片机 发表于 2024-8-23 14:18:18

不会书 发表于 2024-8-22 23:12
第十六集:IO中断:首先设置IO口的中断模式PXIM0,PXIM1(X=0-7)。端口配置模式和具体端口模式配置寄存器请参 ...

不是,学习能力这么强,我当年学8952都学了几个月{:cry:}

不会书 发表于 2024-9-29 14:54:06

今天拿到试验箱啦{:5_316:}
开始学习啦,第17集:
ADC控制寄存器ADC_CONTR

B7位为ADC_POWER 为ADC电源控制位:0关闭ADC电源,1打开ADC电源

打开电源后等待一毫米ADC电源稳定后再让ADC工作

B6位为ADC_START:ADC转换控制位,写1开始ADC转换,转换完成后硬件自动清零

写0对于已经工作的ADC无影响

B5位为ADC_FLAG:ADC转换结束标志位。当ADC完成一次转换后,硬件自动将此位置1,并向CPU提出中断请求,必须软件清零

B4位为ADC_EPWMT:使能PWM实时触发ADC功能

ADC_CHS:ADC模拟通道选择位选择如下图:注意选择通道时要将选择的通道设置为高阻输入



ADC配置寄存器ADCCFG

B5位RESFMT为ADC结果格式控制位,为0时高8位低4位,为1时高4位低8位.

SEED为ADC时钟频率控制如下图:



ADC时序控制器ADCTIM

一般默认值即可,有需要时再修改

具体使用参考下图:




页: 1 2 [3] 4
查看完整版本: 32G12K128学习记录