找回密码
 立即注册
查看: 207|回复: 4

打卡-Ai8051U学习-学习记录

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-22 20:24:09
已绑定手机

2

主题

5

回帖

64

积分

注册会员

积分
64
发表于 2024-12-11 23:33:51 | 显示全部楼层 |阅读模式

第一集学习心得,直观了解到了Ai8051U功能的强大。
f2f53ec9249abc867f0daef03486e99.jpg

d8b4b9a571102557fe0caa75fc1364a.jpg

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-22 20:24:09
已绑定手机

2

主题

5

回帖

64

积分

注册会员

积分
64
发表于 2024-12-12 19:55:49 | 显示全部楼层

第二集打卡,学习了Ai8051的硬件介绍,之前下载过keil5和ISP软件,这次补充下载了keil中断,学会了点亮流水灯操作,感觉操作挺简单的。Screenshot_2024-12-12-19-41-29-091_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-45-39-265_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-48-10-191_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-38-53-017_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-47-04-821_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-28-49-054_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-47-19-731_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-46-36-291_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-47-52-993_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-49-43-974_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-46-46-831_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-50-19-370_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-48-55-194_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-51-53-531_com.tencent.mtt.jpg

Screenshot_2024-12-12-19-52-22-623_com.tencent.mtt.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-22 20:24:09
已绑定手机

2

主题

5

回帖

64

积分

注册会员

积分
64
发表于 2024-12-19 20:29:24 | 显示全部楼层

第三节课打卡。

小灯点亮:电流从电源正极流到开关,电流再从开关流到LED灯,LED灯流到电源负极,电源正极可以用3v来代替,电源负极用0v来代替,灯泡两端加一个3v电压,灯泡点亮。

电源VCC3.3v经过一个三极管Q2(当开关使用)连接LED灯,根据小灯点亮原理则P0.0和P4.0需要接0v,三极管箭头从高电压指向低电压,根据这个信息可以通过看电路图知道什么时候给高电平什么时候给低电平,例如蜂鸣器中三极管箭头指向下端,意思就是从低电平指向高电平。

每个io口配置都需要两个寄存器设置,配置00为准双向口,配置01为推挽输出,配置10为高阻输入(电流既不流入也不流出),配置11为开漏模式,老式单片机刚刚上电即为准双向口,新款为高阻输入,p00m0和p00m1控制p00端口模式,想要p0.0和p4.0为0v,则需要将其配置成准双向口模式,p0m0=0000 0000(8个led灯都点亮则全部配置为0)   0x00(16进制写法),p0m0=0;(端口模式配置为准双向口)p0m1=0000 0000  0x00,二进制原因所以pxx,xx上只能写0或者1,逢二进一,语句结束要加分号p0m0=0x00;,大括号要换行缩进{tab换行}

P0m0=0x00;p0m1=0x00;(配置全为准双向口)

P40=0;(打开开关)

P00=0;(又打开开关)

#include"ai8051u.h"

void main(void)
{
P0M0=0;//p0(P00到p07)端口为准双向口
P0M1=0;

P4M0=0;
P4M1=0;//p4端口为准双向口

while(1)

{
P40=0;//p40端口输出0v
P00=0;//p00端口输出0v
}
}

屏幕截图2024-12-19201845.pnga05b39bacf6434d012f586449bb6c11.jpg

bb852b5857dd2a638cc00ae176f4006.jpg070c7af345af14be3d008163143ca92.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-22 20:24:09
已绑定手机

2

主题

5

回帖

64

积分

注册会员

积分
64
发表于 2024-12-19 20:50:58 | 显示全部楼层

第四集相对简单,跟着一步步做就完了,解决了需要每次按键下载的麻烦。
8021b9487f8add8a6af48e6a6d44007.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2024-12-22 20:24:09
已绑定手机

2

主题

5

回帖

64

积分

注册会员

积分
64
发表于 2024-12-21 20:50:10 | 显示全部楼层

第五集打卡。

Printf(“发送的内容字符串”);\r\n换行,%s控制参数的转换和打印

USB-CDC串口和普通串口区别,CDC任意波特率都可以工作,本质是USB在通信

Printf放在循环外面会没有延时处理一直发送信号

有几个%就应该有几个数字相对应,数字可以是常量也可以是变量,有n个转换说明符,printf()参数应该就有n+1个,每个逗号隔开一个参数

整形和长整形区别

8位就是8位二进制

UnSigned char正整数0-﹢255

signed char正负整数+128-128

变量定义 unsigned char x;

宏定义#define u8 unsigned char u8 x;(后面每次定义变量就可以直接用u8代替,不用打unsigned char)

0为假,非0为真,if判断语句会用上

b75034135d103c794751991162d9d2b.jpg

4db7c8c16404d93ff81da2648dc0c78.jpg
db791ff53f5025415daa0ce377ffe23.jpg

屏幕截图2024-12-21204616.png

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-7 03:20 , Processed in 0.221705 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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