- 博客(10)
- 收藏
- 关注
原创 基于51单片机的简易交通灯控制装置仿真与实现(一)
设计、仿真并制作一基于51单片机的简易交通灯控制装置,该装置具有指挥十字路口不同方向车辆通行的功能,交通信号灯有红、黄、绿三种颜色,同时具有倒计时功能。
2023-11-05 06:43:56
3077
2
原创 电路板PCB封装引脚间距不合适的处理
于是干脆把单片机底座当作贴片元件来用,把底座的两列引脚向外弯折90度,这样就可以平贴在电路板上,再用斜口钳把引脚剪短一些,这样就可以完美的贴在所设计的封装上了。电路板设计好之后检查的时候没有注意,等到电路板加工回来要进行焊接的时候才发现,51单片机的封装DIP-40两列引脚之间的间距设计的过大,单片机底座插不进去。本来设想将底座的两列引脚分别向外侧掰开一定角度然后插进电路板封装孔中,不过实际操作起来却非常困难,主要还是封装的间距设计的过大了。再给每个引脚都上锡,将底座以贴片元件的方式焊接在电路板上。
2023-10-18 11:24:34
676
1
原创 【故障解决】STM32单片机型号一个字母的差异导致程序无法正常工作(停在HardFault_Handler()函数里)
后来经过查找问题,发现是单片机型号用错了,程序无法正常工作时所使用的单片机是STM32L151C8T6,该型号单片机flash为64kbytes,程序所需要的空间不够,从而导致无法正常工作。单片机下载程序正常,但是上电后却无法正常工作。进入在线调试,发现程序停在HardFault_Handler()函数里的死循环while(1)中,这说明STM32出现了硬件错误。应该使用STM32L151C8T6A,该型号单片机flash为128kbytes,可以满足程序所需空间。更换单片机后,可以正常工作。
2023-10-09 01:21:40
323
1
原创 【故障解决】stm32单片机下载程序提示错误解决办法(“Flash Timeout. Reset the Target and try it again.” )
后来发现问题是使用的下载线过长,下载速率太大所致。本来设置的最大速率是1.8MHz,后来使用短的下载线,或者使用长下载线但把下载最大速率改小(240kHz)后均下载成功。在网上搜索该错误信息提示,网上讨论的原因为芯片读保护了,或者是Debug设置中没有配置正确的flash。但是按照网上的方法并没有解决此问题。在调试程序的过程中,出现用ST-Link V2给stm32f103下载程序时提示错误的问题。
2023-10-09 01:19:13
3684
1
原创 STM32CubeIDE下配置STM32F103输出带死区的互补PWM波
STM32F103的TIM1和TIM8是高级定时器,可以产生嵌入死区时间的互补PWM波,使用STM32CubeIDE完成相关配置,可以直接生成代码,输出带死区的PWM波。以上几项配置主要是设置PWM频率,计数器从0开始计数,计数到(1000-1),再从0重新开始计数,预分频器设置为1,则计数器使用的时钟频率为72MHz/2 = 36MHz,计数周期为1000×1/36MHz,频率为36MHz/1000 = 36kHz。6、完成以上配置后即可生成代码,打开生成的代码,在main.c的TIM1初始化函数。
2023-10-07 21:00:48
2531
4
原创 打印输入中单词长度的直方图
这是《C程序设计语言》中的一题,是书中1-13题:#include #define MAXHIST 15 //直方图的最大长度#define MAXWORD 12 //输入单词的最大长度#define IN 1#define OUT 0int main(){ int c, i, nc, len, state; int wl[MAXWORD]; //按照单
2014-12-18 00:30:25
4224
7
原创 杭电ACM题2000遇到的一点问题
今天做了几个杭电的ACM题,包括2000题,题目描述是:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。要求输入为:输入数据有多组,每组占一行,有三个字符组成,之间无空格。输出为:对于每组输入数据,输出一行,字符中间用一个空格分开。编写的通过的代码如下:#include int main(){ char a, b, c, temp; while(scan
2014-12-02 23:58:19
3774
1
原创 转义字符的输出
转义字符在输出时前面要加上“\”,如:printf("\\t"); 输出制表符“\t”printf("\\n"); 输出换行符"\n"printf("\\"); 输出斜杠“\”可以这样来理解,输出时,当遇到"\"时,表示转义,"\\"表示的是一个斜杠"\",这样后面跟的字母是什么就打印什么,不管后面跟的是什么字符。有一个问题,就是回退符从键盘输入不了,在C语言经典教材《C
2014-12-01 22:10:43
10094
原创 辗除法求最大公约数和最小公倍数
最近两天因为忙于工作的事,学习进展较慢。今天看了一个辗除法求最大公约数的例子,上网查了一下其数学原理,算是理解了这个算法的数学依据。对于两个正整数num1,num2,且num1>num2,如果num1除以num2余数为resd,若resd=0则num2即是两数的最大公约数,若resd≠0,则令num1=num2,num2=resd,再重复进行以上过程,直到resd=0,则此时num2的值即
2014-11-29 01:06:40
5666
1
基于51单片机的简易交通灯(原理图+PCB+C程序代码+Protues仿真文件)
2023-11-02
基于Proteus7的51单片机流水灯(跑马灯)电路仿真文件和C语言程序
2023-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人