BALL 发表于 2024-11-27 16:50:02

学习一下ADC按键

BALL 发表于 2024-11-29 12:57:06

学习点亮LED

BALL 发表于 2024-11-29 17:57:58

今天遇到一个问题,在修改示例工程76-ST7789驱动1.3寸TFT240x240显示屏实验程序-SPI-DMA刷屏中,我尝试修改工程变成模块化编程,出现全局变量问题

BALL 发表于 2024-11-29 18:52:15

如果你要在其他地方调用同一个字库,应该把字库数据放在一个单独的.c文件,.h只做声明,lcdfont.h只在lcd.c里面调用就行了,这样问题解决了

BALL 发表于 2024-12-2 22:34:52

【USB 下载方法 一,P3.2 按键,再结合停电上电 进自带USB直接下载】
1、按下板子上的 P3.2/INT0 按键,就是 P3.2 接地
2、给目标芯片重新上电,不管之前是否已通电。
---电子开关是按下停电后, 再松开就是上电
    等待电脑端 ISP 下载软件中自动识别出“(HID1) USB Writer”后,
   就与 P3.2 状态无关了,这时可以松开 P3.2 按键
   (P3.2 在用户程序区可做其它任意用途)
---传统的机械自锁紧开关是按上来停电,按下去是上电
3,点击电脑端下载软件中的【下载/编程】按钮
   (注意:USB 下载与串口下载的操作顺序不同)

下载进行中,几秒钟后,提示下载成功!

【USB 下载方法 二,复位管脚低电平复位, 进自带USB直接下载】
USB 连接好并已上电的情况下,外部按键复位也可进入 USB 下载模式,
注意:P4.7-nRST 出厂时默认是 P4.7-I/0 功能,
要改为复位功能,需 ISP 烧录时取消 设置复位脚用作 I/0口,停电一次再上电才生效,
程序区中用户程序也可改为复位脚或 I/0,这个立即生效。
1,按下 P4.7-nRST 外接的低电平复位按键复位 MCU,松开复位键,
MCU从系统程序区启动,判断是否要下载用户程序,
等待电脑端 ISP 下载软件中自动识别出“(HID1)USB writer”后
2,点击电脑端下载软件中的【下载/编程】按钮下载进行中,

几秒钟后,提示下载成功!

【USB 下载方法 三,从用户程序区软复位到系统区下载】
USB 连接好并已上电的情况下,
从用户程序区软复位到系统区也可进入 USB 下载模式
1,在用户程序区运行软复位到系统区的程序,
   就是IAP CONTR 寄存器送 60H。
   等待电脑端 ISP 下载软件中自动识别出“(HID1) USB Writer”后
2,点击电脑端下载软件中的【下载/编程】按钮
   
   下载进行中,几秒钟后,提示下载成功!

BALL 发表于 2024-12-3 13:54:38

学习USB不停电下载后自己移植USB库文件

BALL 发表于 2024-12-15 20:58:52

<p>总结:每个 IO 的配置都需要使用两个寄存器进行设置。以 P0 口为例,配置 P0 口需要使用 POM0 和 P0M1 两个寄存器进行配置,即 P0M0 的第 0位和 P0M1 的第0位组合起来配置 P0.0 口的模式即 P0M0 的第 1位和 P0M1 的第1位组合起来配置 P0.1 口的模式其他所有 IO 的配置都与此类似。M1 M0组合分别为00 01 10 11时候为准双向口、推挽输出、高阻输入、开漏模式。</p>
<p>按键输入和消抖</p>
<p>if(P32==0){<br />
state=!state;</p>
<p>P00= state;</p>
<p>printf(&quot;state:%d\r'n&quot;,(int)state);</p>
<p>while();</p>
<p>}</p>
<p><img src="data/attachment/forum/202412/15/204718ljojhfn8jiznj44n.png" alt="bbe9ce0c54a9727998210e8d77633da.png" title="bbe9ce0c54a9727998210e8d77633da.png" /></p>

BALL 发表于 2024-12-15 21:30:18

<p>第七集定时器</p>
<p>定时器作用:<br />
(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作(2)替代长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)</p>
<p>使用定时器计算器配置定时器</p>
<p>void Timer0_Init(void)                //3秒@24.000MHz<br />
{<br />
TM0PS = 0x5B;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )<br />
AUXR &amp;= 0x7F;                        //定时器时钟12T模式<br />
TMOD &amp;= 0xF0;                        //设置定时器模式<br />
TL0 = 0x3F;                                //设置定时初始值<br />
TH0 = 0x01;                                //设置定时初始值<br />
TF0 = 0;                                //清除TF0标志<br />
TR0 = 1;                                //定时器0开始计时<br />
}</p>
<p><img src="data/attachment/forum/202412/15/213016lb3ut3cbleac3u6b.png" alt="ad4584533ba02c86038ba699089879b.png" title="ad4584533ba02c86038ba699089879b.png" /></p>
页: 1 [2]
查看完整版本: Ai8051U学习记录