z1r343l 发表于 2024-12-29 15:15:53

<h1>第七集:按键点灯 下</h1>
<h2>数组的使用</h2>
<p><img src="data/attachment/forum/202412/29/152333p07dmwvb31dpbdpm.png" alt="image-20241229152310920" /></p>
<h2>程序部分</h2>
<p><img src="data/attachment/forum/202412/29/151517uj165q6dqqmm1cdq.png" alt="image-20241229151417253" /></p>
<h2>测试部分</h2>
<video controls="controls" src="forum.php?mod=attachment&amp;aid=77894"></video>
<p>测试移位ok<img alt="ciya" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/ciya.gif" title="ciya" /></p>

z1r343l 发表于 2024-12-30 22:59:29

<h1>第八集:蜂鸣器的应用</h1>
<h2>蜂鸣器种类</h2>
<p><strong>有源与无源</strong></p>
<p><img src="data/attachment/forum/202412/30/225922htkhncf3hzkfklki.png" alt="image-20241230225703009" /></p>
<h2>控制原理</h2>
<p><img src="data/attachment/forum/202412/30/225922cqr4ahqa5z2n4aws.png" alt="image-20241230225802458" /></p>
<p><strong>也就是高低电平控制</strong><img alt="dabing" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/dabing.gif" title="dabing" /></p>

z1r343l 发表于 2024-12-30 23:04:02

<h1>第九集:数码管的静态使用</h1>
<h2>数码管</h2>
<p><strong>共阳共阴 的接法</strong></p>
<p><img src="data/attachment/forum/202412/30/230354z8u2h3f69szf97s3.png" alt="image-20241230230124137" /></p>
<p>**也就是说,一个数码管是由8个led组成,8个led点亮的方式,如果是共阴(0)也就是端口0灭,如果是共阳(1)就是端口1灭,挺好速记<img alt="ciya" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/ciya.gif" title="ciya" /> **</p>
<p>**先这样,还没实验箱,测试不了<img alt="shuai" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/shuai.gif" title="shuai" /> **</p>

z1r343l 发表于 2025-1-5 22:31:39

<h1>第十集:数码管的动态使用</h1>
<h2>动态刷新</h2>
<p><strong>数码管动态刷新,也就是一位一位慢慢的刷新,但是人眼看不出来,利用视觉残留,动态刷新,</strong></p>
<p>**我的想法是,利用一个for循环的嵌套,现扫描位码,再在每个位码内部扫描段码,从而达到数码管的刷新显示<img alt="yiwen" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/yiwen.gif" title="yiwen" /> **</p>
<p><img src="data/attachment/forum/202501/05/222728ys8ffzdzladiesg8.png" alt="image-20250105221747721" /></p>
<p><strong>因为最近花了一点时间整理,第十一集和第十集一起出</strong></p>
<h1>第十一集:定时器的使用</h1>
<p><img src="data/attachment/forum/202501/05/222728ybxl9b2bplv9fn90.png" alt="image-20250105222356680" /></p>
<p>**我觉得定时器的存在是为了防止程序的阻塞,delay会造成程序的卡死,定时器不会,但是我想到一个问题,定时器中断如果过于频繁的出发,并且中断内部程序的内容太长,我觉得会干扰中断以外的主程序,同时中断自己也会造成干扰,所以我推荐定时器中断尽量频率弄小一点,也就是周期弄大一点。<img alt="dabing" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/dabing.gif" title="dabing" /> **</p>
<p><img src="data/attachment/forum/202501/05/222728ftaqnpjonrgma9t5.png" alt="image-20250105222430735" /></p>
<p><strong>定时器本质是加法计数器</strong></p>
<p><img src="data/attachment/forum/202501/05/222728gwwuxa2p1ntt7xpu.png" alt="image-20250105222607171" /></p>
<p><strong>定时器模式的使用,利用isp可以轻而易举的生成想要的时间</strong></p>
<p><img src="data/attachment/forum/202501/05/222728pkm5jk8l08xi585l.png" alt="image-20250105222718115" /></p>
<p><strong>我整合了一下之前学的led 按键 和数码管,结合定时器的中断功能,我实现的数码管的闪烁以及按键的切换界面,led的亮灭。</strong></p>
<p>以下是实现方式(接了别人的板子,实验箱还没有)</p>
<p>可能不太清楚,我是两个按键切换不同的界面,一个界面是F01-21bb,同时这个界面F01每秒闪烁一次,另一个界面是A      0;这两个界面led对应的位数也不一样</p>
<video controls="controls" src="forum.php?mod=attachment&amp;aid=79120"></video>

z1r343l 发表于 2025-1-8 17:56:16

实验箱已到,过几天再记录,最近有点忙{:ciya:}{:ciya:}

z1r343l 发表于 2025-1-9 23:33:28

<h1>第十二集:计数器的使用</h1>
<p><strong>以定时器1计数寄存器为例</strong></p>
<p>!image-20250109221523549</p>
<p><strong>配置示例代码</strong></p>
<p><strong>上框为定时器中断函数,下框为定时器配置</strong></p>
<p><img src="data/attachment/forum/202501/09/233327tuxazkwarznrv7rk.png" alt="image-20250109221834409" /></p>

z1r343l 发表于 2025-1-10 21:15:06

<h1>第十三集:简易多任务处理 上</h1>
<h2>程序模块化编写</h2>
<h3>创建程序文件三步</h3>
<h4>新建文件并保存</h4>
<h4>添加到工程</h4>
<h4>添加引用路径</h4>
<h2>引脚定义都在.h文件</h2>
<h3>sbit名称=P10;</h3>
<h3>#define名称P10</h3>
<h2>函数定义三步</h2>
<h3>定义</h3>
<h3>声明</h3>
<h3>调用</h3>
<p><strong>修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处添加到工程定义的,要在此处引用”。</strong></p>
<p><strong>bdata位寻址变量的使用</strong></p>
<p>主函数我把我的程序压缩成一套标准化流程<img alt="xieyanxiao" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/xieyanxiao.gif" title="xieyanxiao" /></p>
<p><img src="data/attachment/forum/202501/10/211352otsetberesymelr2.png" alt="image.png" title="image.png" /></p>
<p>其他文件如图所示</p>
<p><img src="data/attachment/forum/202501/10/211417f6jceqivaridldgu.png" alt="image.png" title="image.png" /></p>
<p>User就存放main和common所有的头文件</p>
<p>Driver存放底层驱动文件</p>
<p>App存放控制函数文件</p>
<p>COMM存放usb文件</p>

z1r343l 发表于 2025-1-16 20:22:11

<h1>第十三集:简易多任务处理</h1>
<p><strong>整合了smg数码管的程序,参考了官方demo的移位寄存器的方法,采用sprintf提取字符串的方法显示</strong></p>
<p><img src="data/attachment/forum/202501/16/202210swqzd2ycl7cdcq78.png" alt="image-20250116201103381" /></p>
<p><strong>添加任务函数,也就是扫描数码管移位寄存器函数</strong></p>
<p><img src="data/attachment/forum/202501/16/202210ipwzqfxwl1zj4llf.png" alt="image-20250116201234760" /></p>
<p><strong>对于真正的显示,可以采用sprintf提取</strong></p>
<p><img src="data/attachment/forum/202501/16/202210p71ccuto7azooutc.png" alt="image-20250116201308769" /></p>
<p><img src="data/attachment/forum/202501/16/202210e2ax4yaesm2xrsbb.png" alt="image-20250116202035238" /></p>
页: 1 [2]
查看完整版本: “32位8051单片机原理及应用”学习 个人汇总