找回密码
 立即注册
楼主: BALL

Ai8051U学习记录

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-11-27 16:50:02 | 显示全部楼层
学习一下ADC按键
截图202411271650007129.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-11-29 12:57:06 | 显示全部楼层
学习点亮LED
截图202411291256542608.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-11-29 17:57:58 | 显示全部楼层
今天遇到一个问题,在修改示例工程76-ST7789驱动1.3寸TFT240x240显示屏实验程序-SPI-DMA刷屏中,我尝试修改工程变成模块化编程,出现全局变量问题
截图202411291757073994.jpg

ST7789.zip

172.17 KB, 下载次数: 31

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-11-29 18:52:15 | 显示全部楼层
如果你要在其他地方调用同一个字库,应该把字库数据放在一个单独的.c文件,.h只做声明,lcdfont.h只在lcd.c里面调用就行了,这样问题解决了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 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,点击电脑端下载软件中的【下载/编程】按钮
   
   下载进行中,几秒钟后,提示下载成功!
截图202412022234207955.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-12-3 13:54:38 | 显示全部楼层
学习USB不停电下载后自己移植USB库文件
截图202412031354071146.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-12-15 20:58:52 | 显示全部楼层

总结:每个 IO 的配置都需要使用两个寄存器进行设置。以 P0 口为例,配置 P0 口需要使用 POM0 和 P0M1 两个寄存器进行配置,即 P0M0 的第 0位和 P0M1 的第0位组合起来配置 P0.0 口的模式即 P0M0 的第 1位和 P0M1 的第1位组合起来配置 P0.1 口的模式其他所有 IO 的配置都与此类似。M1 M0组合分别为00 01 10 11时候为准双向口、推挽输出、高阻输入、开漏模式。

按键输入和消抖

if(P32==0){
state=!state;

P00= state;

printf("state:%d\r'n",(int)state);

while();

}

bbe9ce0c54a9727998210e8d77633da.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-01-23 16:15:39

3

主题

26

回帖

183

积分

注册会员

积分
183
发表于 2024-12-15 21:30:18 | 显示全部楼层

第七集定时器

定时器作用:
(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作(2)替代长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)

使用定时器计算器配置定时器

void Timer0_Init(void) //3秒@24.000MHz
{
TM0PS = 0x5B; //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x3F; //设置定时初始值
TH0 = 0x01; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}

ad4584533ba02c86038ba699089879b.png

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-7 08:11 , Processed in 0.121596 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表