51单片机
以c语言代码为主,本人纯粹性的零基础,大家多多交流,共同进步
如有缺陷请大佬指正,多谢
qq_40179113
这个作者很懒,什么都没留下…
展开
-
keil中error C141: syntax error near ‘‘, expected ‘__asm‘之类问题
keil中error C141: syntax error near ‘‘, expected ‘__asm‘之类问题原创 2023-05-12 00:44:55 · 10446 阅读 · 0 评论 -
特别篇----延时函数升级
延时函数每次的值不一样,每次都得重新调用,很烦所以,我们需要给他设置为可以实现任何ms的调用(0~~65535)首先复制1ms的延时函数代码void Delay(unsigned int xms) //@11.0592MHz{ unsigned char i, j; while(xms) { _nop_(); i = 2; j = 199; do { while (--j); } while (--i); xms--; }}传参,即可原创 2021-12-28 11:34:17 · 3469 阅读 · 0 评论 -
1.3 流水灯
只需要让 小灯依次点亮即可每次亮灭添加一个延时函数#include <REGX51.H>#include <INTRINS.H>// 实现流水灯//延时函数 void Delay500ms() //@11.0592MHz{ unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } whil原创 2021-12-28 11:19:25 · 553 阅读 · 0 评论 -
1.2 控制LED闪烁
思路大体上跟上次一样没有啥本质上的区别所以只需要控制一个灯亮灭亮灭即可不过单片机的指令周期较短,灯闪烁通过人眼观察不到所以延时函数在这里就很重要话不多说,直接在stc-isp 上生成一个 500ms的代码(选的时候注意观察自己的芯片,晶振频率) void Delay500ms() //@11.0592MHz{ unsigned char i, j, k; _nop_(); i = 4; j = 129; k = 119; do { do { whi原创 2021-12-28 11:13:07 · 845 阅读 · 0 评论 -
1.1 点亮一个流水灯
入门第一个小任务吧,熟悉一下主要是套用固定模板,熟悉如何编译以及一系列的操作所以这一节直接上程序就可以了#include <REGX51.H>void main(){ //点亮一个LED灯 while(1) { P2 = 0xFE; // 1111 1110 }}最后的效果图片就是一个灯亮ok,这一节内容就到这里。赶上了这次疫情,过年正好不回去了,趁着这个机会学吧。这不算是散布谣言吧........原创 2021-12-28 11:03:57 · 539 阅读 · 0 评论