算法竞赛 "HDU刷题册" 嵌入式系统技术 "基于STM32F1的以太网芯片W5500驱动" "基于STM32F1的语音合成芯片SYN6288驱动" "基于STM32F1的时钟芯片DS1302驱动" "基于89C51/52单片机的红外线遥控器驱动" "基于STM32F4的射频卡RC522模块驱动" ...
分类:
其他好文 时间:
2019-01-30 11:10:48
阅读次数:
168
一般编译器的堆栈用于保存局部变量、函数的参数、函数的返回值、中断上下文信息等。但Keil对局部变量、函数参数预先分配空间(放在静态全局变量区),Keil的堆栈只是用于保存函数嵌套调用的PC、中断上下文信息。 从主程序进入中断需要入栈字节数:13+PC=15 Byte(ACC,PSW,B,DPH,DP ...
分类:
其他好文 时间:
2019-01-28 01:04:00
阅读次数:
210
51单片机的仿真栈(又叫模拟栈、或者可重入栈)。 首先来看,51的系统栈(又叫系统栈,或者硬件栈),就是SP所指向的栈,他是一个满增栈(注释1),位于片内RAM的128 bytes之中,上电之后系统堆栈指针SP的初值等于多少呢?这个要从51的启动文件来分析,启动文件中有这样的汇编代码: ?STACK ...
分类:
其他好文 时间:
2019-01-28 01:00:31
阅读次数:
207
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址 ...
分类:
其他好文 时间:
2019-01-26 17:10:27
阅读次数:
190
今天想尝试使用串口通信来控制舵机旋转的时候,由于同时用到了定时器T0和T1(用来设定波特率)。程序有点问题,运行不畅,所以现在想通过写篇文章重新来梳理对51单片机这两个定时器的理解。 STC89C51系列单片机有两个定时器:定时器T0、定时器T1 一、首先了解到51单片机的常用晶振是12MHz的,内 ...
分类:
其他好文 时间:
2019-01-22 21:52:18
阅读次数:
263
首字母消失:是在打印前没有先执行USART_ClearFlag(USART1,USART_FLAG_TC);至于原因,我曾经见到一位大神仔细的分析过,不过我忘了,大概的就是因为,单片机读取寄存器先后而导致的。中文乱码:这里中文乱码,首先你要确定你不是数字英文也乱码,如果是数字英文也乱码,那可能的原因就比较多了:比如波特率不对,TTL线却用了232线,USART配置没对,硬件本身坏了等等,有时还需要
分类:
其他好文 时间:
2019-01-22 15:07:15
阅读次数:
215
从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型, ...
分类:
其他好文 时间:
2019-01-22 01:17:34
阅读次数:
212
我想说,为了学习单片机而去学习单片机的思路不对。 你问,如何系统地入门学习stm32? 本身就是一个错误的问题。假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习。 你要考虑的是, 我可以用STM32实现什么? 为什么使用STM32而不是8051? 是因为51的频率太低,无法 ...
分类:
其他好文 时间:
2019-01-21 11:18:14
阅读次数:
191
原文链接: http://blog.sina.com.cn/s/blog_8ebff8d7010121tm.html 1.HC(S)08系列 开发机硬件:USB-ML-12 CYCLONE PRO USB-ML-UNIVERSAL USB-ML-UNIVERSAL FX 支持发软件:烧录软件 PRO ...
分类:
其他好文 时间:
2019-01-20 12:07:49
阅读次数:
601