- 博客(22)
- 收藏
- 关注
原创 初学STM32之定时器,LED呼吸灯
PWM初始化//PWM初始化/*1、开启定时器时钟与GPIO时钟2、配饰时基单元3、配置输出比较4、配置GPIO复用功能5、启启启。。。动*///开启APB1时钟,因为TIMER2是在APB1总线上的/*使用重映射//开启AFIO时钟*///选择时基单元驱动时钟,这里选择内部时钟,也可以不写,因为定时器上电后默认调用内部时钟//结构体//一分频//向上计数模式//自动重装器//PSC预分频器的值,分频系数//重复计数器的值,在高级计数器里面才有。
2024-05-31 16:43:52 706
原创 初学STM32单片坤之中断入门
1、20根输入线进来。2、 首先选择上升沿或者下降沿触发,也可不做选择,选择软件触发中断3、分为两路,上面为中断触发,下面为时间触发4、触发中断的话,先置一个请求挂起寄存器,可以通过读取该寄存器判断是哪个通道触发的中断5、中断屏蔽寄存器置1,另一个输入无论是什么都直接输出。若置0,只能输出0对中断有一个较浅的认识,复习了c语言中的strmp函数参考:【STM32入门教程-2023版 细致讲解 中文字幕】 https://www.bilibili.com/video/BV1th411z7sn/
2024-05-19 14:47:13 383 1
原创 初学单片坤之STM32串口入门
printf函数重定向:在平时其他编译器上使用的printf函数都是显示在对应编译器的显示器上,但keil中没有,所以我们这里将它的打印对象重新定义到串口上。图中的各种.c,.h 文件就是官方给的标准库文件(除开自己新建的文件)建议观看江协视频进行学习添加库文件操作。当给发送数据寄存器写入数据时,就会检查发送寄存器里面有没有正在移位的数据,如果没有,TDR里面的数据就会传到发送移位寄存器里。而 TTL 通常采用正逻辑,即逻辑“0”对应于低电平,逻辑“1”对应于高电平(2.0V 至 5.0V)。
2024-05-12 21:06:26 675
原创 初学单片坤之STM32点亮流水灯寄存器版
从图中我们可以看见,低就是指的0-7端口。红色方框圈出来的就是A0口,所以就是4位为一个IO口。我们只需要用A0~A2口,所以就用配置低寄存器就足够。STM32F103C8T6每个端口都有16个输入输出口,所以就将端口分为了端口配置低寄存器与端口配置高寄存器。本次我们选用A口的最低三个端口进行试验,所以我们需要将A口的时钟打开。想要打开对应的IO的时钟,我们就需要查阅STM32手册上的时钟使能寄存器。自我理解就是存储器中的存储的东西给出它地址。下图就是我们本次要用到的存储器映像对应的地址。
2024-05-05 17:06:40 327
原创 新手学单片坤之DS18B20单总线温度采集
了解到了单总线协议,并对DS18B20数据帧的操作有一定了解,会写基本的数据帧。本篇文章主要参考[13-1] DS18B20温度传感器_哔哩哔哩_bilibili。
2024-04-25 20:56:41 1012 1
原创 新手学单片坤之定时器与串口
蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音蜂鸣器有正负极,顶部印有+号的为正极,若蜂鸣器引脚没剪,则长的为正极本次任务使用的是无源蜂鸣器,故需要提供脉冲。较浅的理解到了UART通信,学会了串口的配置等。
2024-04-22 10:34:40 957 1
原创 新手学单片坤之定时器
P2_6=1;Delay(100);P2_7=0;count=0;代码较为简单死板就不做过多解释了,其中给管脚赋值还可以用位移符号来实现,当时没想这么多,哈哈。一旦我们按下外部中断就INT0,就进入中断程序,然后判断count的值,再进入对应的语句,然后再退出中断,如此往复。了解了定时器与中断的使用,感觉定时器更为复杂,因为定时器也需要用到中断,哈哈。
2024-04-07 21:00:20 959 1
原创 汇编延时与汇编查表法求平方数
其中,可以看见我用的P2_0并没有用P2,这是因为这逻辑分析仪似乎不能将P2口整体作为一个分析对象,所以只能将P2的最低口写出来单独分析(本来我们这个LED闪烁只用到了P2_0管脚)。然后再run,查看40H地址中的平方数是不是我们所要查找的平方数(40H地址中的数为16进制的数,还需要我们自己转换为10进制)。由图我们可以看出来,40H地址中存放了64这个16进制数,转换为10进制就是100,说明我们这个是正确的。其中,STC-ISP软件既可以帮助我们来将代码烧录到开发板中,又可以帮助我们写延时函数。
2024-03-24 16:29:39 1207 1
原创 基于SDCC和Edsim51的代码仿真
Proteus仿真完成Led灯的点亮和闪烁。从以上学习,我了解到了汇编语言,也的确发现相对于高级语言比如。等,汇编语言更难理解,但汇编也让我我更加理解一些底层逻辑。语句输入汇编代码,我们能在左下角看见编译成功。闪烁,跟以上步骤一样,需要先通过。内置汇编语言编译的方式。右键点击芯片点击编辑源代码。)到仿真软件中,再运行(将之前通过命令行生成的。文件加载到单片机中即可。虚拟开发板上点亮一个。
2024-03-16 22:33:16 325 1
原创 Verilog编程基础练习
一、3—8译码器logisim中3-8译码器电路图Quartus中的3—8译码器电路图综合logisim中的3—8电路图与Quartus电路图,可以看出Quartus生成的电路图更为简洁,是因为Quartus自动帮助我们把Logisim中那复杂连线变成了Quartus中的Decoder0。利用verilog编写3-8译码器verilog模块代码测试文件其中我们提出一个问题,verilog模块代码中的reg类型能换成wire类型吗?
2023-12-17 13:49:12 546 1
原创 Logisim下简单SR与D锁存器
基本的SR锁存器可以用两个与非门或者两个或非门构成1、两个与非门构成的SR锁存器2、两个或非门构成的SR锁存器RS触发器中R表示Reset(复位),S表示Ser(置位)。以上,我们能够清楚的了解到,这两种锁存器,本质上没有区别,只不过是真值表输出正好相反以下,我们着重来了解用与非门构成的锁存器。1、我们先在logisim中搭建仿真锁存器如图所示。
2023-11-21 20:46:38 551
原创 Multisim之简单的“四路抢答器”
3.由于我们本次只有四个人进行抢答,序号为u0-u3,然后对应真值表的输出0-3(这就是对应的几号床),所以我们在本次设计中,只需要用到输入口D4-D7,并且避免其他输入口产生影响,将其他输入口全部设为高电平(即1)。在本次设计中,u0为0号床病人,u1为1号床病人,u2为2号床病人,u3为3号床病人。1.由图可知,u0并没有发起信号,而u1,u2,u3发起了信号,但由于u1的优先权高,所以显示了数字1.2.由图可知,u0与u2都发起了信号,但由于u0的优先权比u2高,所以显示了0。
2023-11-14 21:13:39 2946 2
原创 计组实验之四路表决器
请在之前四路表决器电路实现的基础上,继续用连接线 联接CD4511,将投票为1的票数总和显示到一个 LED上,思考如何做?由于我们需要通过显示字形来直接看出有几个1,在这里,我们最多有四个1,即显示字形最多到4就行,所以我们需要将有几个1用2进制数来表示,下面给出了相关电路图。显示输入插口,按真值表(自拟)要求,逐次改变输入变量, 测量相应的输出值,验证逻辑功能, 与表3-1 进行比较, 验证所设计的逻辑电路是否符合要求。用实验结果与真值表3-1和3-2进行比对,可以得出,我们实验结果是正确的。
2023-11-02 21:40:55 8833 1
原创 计组实验之74LS00与74LS20
在本次实验中1.熟悉了基本逻辑电路的组合功能和基本分析方法2.熟悉了在实验装置上基本的接搭电路方法,了解了实验装置的部分功能3.感受到了亲自动手的魅力。
2023-10-25 20:13:49 2706 1
原创 初学Logisim之1bit半加器电路,1bit全加器电路,4位二进制数的补码器电路
其中,异或门右边是和(sum),即根据二进制加法法则对本位进行相加。与门右边是本位相加后进位输出(carry)。
2023-10-18 21:29:46 294
原创 c++猴子吃桃
海滩上有一堆桃子,N只猴子来分。第一只猴子把这堆桃子平均分为N份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子接着把剩下的桃子平均分成N份,又多了一个,它同样把多的一个扔入海中,拿走了一份。第三、第四、....,第N只猴子仍是将最终剩下的桃子分成N份,扔掉多了的一个,并拿走一份。
2023-03-17 22:11:44 1210
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人