找回密码
 立即注册
楼主: 蒋文涛

AI8051U学习之旅-看视频笔记

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-29 11:47:19
已绑定手机

13

主题

31

回帖

287

积分

中级会员

积分
287
发表于 2025-3-1 09:28:11 | 显示全部楼层

好,忙完这段时间,接着看视频打卡
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-29 11:47:19
已绑定手机

13

主题

31

回帖

287

积分

中级会员

积分
287
发表于 2025-3-2 10:22:08 | 显示全部楼层
蒋*** 发表于 2024-12-23 10:17
视频第八集《时间计时器周期性调动任务》
1.数组概念:相同类型的变量集合,可以采用数组数组变量来写代码 ...

视频第九集《数码管》
一.如何用STG公司提供的,AIapp-ISP单片机在线升级编程仿真调试平台软件生成数码管显示段码数据:
1.工具进入:
第一步:点工具按钮
截图202503021043432642.jpg
第二步:点弹出菜单的:字库生成

二.获得段码数据:
1.以共阴极数码管位例:一个byte有8个bit,每个bit刚好对应数码管的一个段位,假如硬件设计是如下对应的:
截图202503021041449293.jpg
DP点对应:bit7
G段对应:bit6
F段对应:bit5
E段对应:bit4
D段对应:bit3
C段对应:bit2
B段对应:bit1
A段对应:bit0
2.获得段码数据:右边表格第二栏就是段码数据。
3.在c语言编写中:可以将这些数据如下定义别名,就可直观使用。
列如:

#define     DISP_NUM0       0x3F        //数字'0';
#define     DISP_NUM1        0x06       //数字'1';
#define     DISP_NUM2        0x5B      //数字'2';
......

4.还有更好的方法,方便硬件修改的时候容易维护程序:
列如:
//宏定义,段式LED a~g及DP各段对应的比特,更换硬件只需改动以下8行
#define     SEG_AA      0x01    //对应原理图SEG0
#define     SEG_BB      0x02    //对应原理图SEG1
#define     SEG_CC      0x04    //对应原理图SEG2
#define     SEG_DD      0x08    //对应原理图SEG3
#define     SEG_EE      0x10    //对应原理图SEG4
#define     SEG_FF      0x20    //对应原理图SEG5
#define     SEG_GG      0x40    //对应原理图SEG6
#define     SEG_DP      0x80    //对应原理图SEG7

//----------------------------------------------------------
//用宏定义自动生成字形码宏定义,
#define     DISP_NUM0       (SEG_AA+SEG_BB+SEG_CC+SEG_DD+SEG_EE+SEG_FF)         //数字'0';
#define     DISP_NUM1       (SEG_BB+SEG_CC)                                     //数字'1';
#define     DISP_NUM2       (SEG_AA+SEG_BB+SEG_DD+SEG_EE+SEG_GG)                //数字'2';
#define     DISP_NUM3       (SEG_AA+SEG_BB+SEG_CC+SEG_DD+SEG_GG)                //数字'3';
#define     DISP_NUM4       (SEG_BB+SEG_CC+SEG_FF+SEG_GG)                       //数字'4';
#define     DISP_NUM5       (SEG_AA+SEG_CC+SEG_DD+SEG_FF+SEG_GG)                //数字'5';
#define     DISP_NUM6       (SEG_AA+SEG_CC+SEG_DD+SEG_EE+SEG_FF+SEG_GG)         //数字'6';
#define     DISP_NUM7       (SEG_AA+SEG_BB+SEG_CC)                              //数字'7';
#define     DISP_NUM8       (SEG_AA+SEG_BB+SEG_CC+SEG_DD+SEG_EE+SEG_FF+SEG_GG)  //数字'8';
#define     DISP_NUM9       (SEG_AA+SEG_BB+SEG_CC+SEG_DD+SEG_FF+SEG_GG)         //数字'9';
#define     BL_             0x00                                                //全段熄;
#define     A_              (SEG_AA+SEG_BB+SEG_CC+SEG_EE+SEG_FF+SEG_GG)         //字母A;
#define     b_              (SEG_CC+SEG_DD+SEG_EE+SEG_FF+SEG_GG)                //字母b   ;
#define     C_Small         (SEG_DD+SEG_EE+SEG_GG)                              //字母c;
#define     C_Big           (SEG_AA+SEG_DD+SEG_EE+SEG_FF)                       //字母C   ;
#define     d_              (SEG_BB+SEG_CC+SEG_DD+SEG_EE+SEG_GG)                //字母d;
#define     E_              (SEG_AA+SEG_DD+SEG_EE+SEG_FF+SEG_GG)                //字母E;
#define     F_              (SEG_AA+SEG_EE+SEG_FF+SEG_GG)                       //字母F;
#define     G_              (SEG_AA+SEG_CC+SEG_DD+SEG_EE+SEG_FF)                //字母G;
#define     H_              (SEG_BB+SEG_CC+SEG_EE+SEG_FF+SEG_GG)                //字母H;
#define     I_              (SEG_EE+SEG_FF)                                     //字母I;
#define     J_              (SEG_BB+SEG_CC+SEG_DD+SEG_EE)                       //字母J;
#define     K_              (SEG_BB+SEG_DD+SEG_EE+SEG_FF+SEG_GG)                //字母K;
#define     L_              (SEG_DD+SEG_EE+SEG_FF)                              //字母L;
#define     N_Small         (SEG_CC+SEG_EE+SEG_GG)                              //字母n;
#define     N_Big           (SEG_AA+SEG_BB+SEG_CC+SEG_EE+SEG_FF)                //字母N;
#define     M_              (SEG_AA+SEG_CC+SEG_EE+SEG_GG)                       //字母M;
#define     O_Small         (SEG_CC+SEG_DD+SEG_EE+SEG_GG)                       //字母o;
#define     O_BIG           DISP_NUM0                                           //字母O;
#define     P_              (SEG_AA+SEG_BB+SEG_EE+SEG_FF+SEG_GG)                //字母P;
#define     q_              (SEG_AA+SEG_BB+SEG_CC+SEG_FF+SEG_GG)                //字母q;
#define     r_              (SEG_EE+SEG_GG)                                     //字母r;
#define     S_              (SEG_AA+SEG_CC+SEG_DD+SEG_FF+SEG_GG)                //字母S;
#define     T_              (SEG_DD+SEG_EE+SEG_FF+SEG_GG)                       //字母T;
#define     U_Big           (SEG_BB+SEG_CC+SEG_DD+SEG_EE+SEG_FF)                //字母U;
#define     U_Small         (SEG_CC+SEG_DD+SEG_EE)                              //字母u;
#define     v_              (SEG_CC+SEG_DD+SEG_EE)                              //字母v;
#define     W_              (SEG_BB+SEG_DD+SEG_FF+SEG_GG)                       //字母W;
#define     y_              (SEG_BB+SEG_CC+SEG_DD+SEG_FF+SEG_GG)                //字母y;
#define     Z_              DISP_NUM2                                           //字母Z;
#define     NEG             SEG_GG                                              //负号-,亦即中划线;
#define     Line_Top        SEG_AA                                              //上划线;
#define     Line_Bottom     SEG_DD                                              //下划线;





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-29 11:47:19
已绑定手机

13

主题

31

回帖

287

积分

中级会员

积分
287
发表于 2025-3-5 16:30:54 | 显示全部楼层
蒋*** 发表于 2025-3-2 10:22
视频第九集《数码管》
一.如何用STG公司提供的,AIapp-ISP单片机在线升级编程仿真调试平台软件生成数码管 ...

视频第十集《虚拟键盘,LED和数码管》
1.虚拟的概念:MCU通过串口和PC数据通信,MCU和PC之间制订特定数据识别协议,在PC上配套人机界面工具软件来虚拟键盘的操作功能,LED和数码管的显示状态。以便在还没有键盘,LED和数码管硬件电路板的情况下,同过PC机的模拟,实现MCU的程序调试。
2.PC 上的工具入口,打开AIapp-ISP-v6.95F 点如下菜单:
截图202503051626139427.jpg
3.在如下地方获得编程帮助资料:
截图202503051630435776.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-4 04:12 , Processed in 0.137277 second(s), 61 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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