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

8051U实验箱学习记录

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-5 19:33:43 | 显示全部楼层
第六课上冲哥介绍了花式点灯和灯光闪烁
延时函数的用法,使灯 闪烁
截图202503051942054776.jpg

讲了dowhile和while的区别,while是先判断后
执行,do while是先执行后判断
截图202503051935115196.jpg
介绍了--a和a--的区别,--a是先运算,后输出;a--是
先输出后运算。


截图202503060904151090.jpg
上面语句的
结果是10,9,9和10,10,9

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-5 19:48:08 | 显示全部楼层
第六课下讲了函数的使用

截图202503051947199946.jpg

模块化编程,后缀带c的文件进行函数定义,
后缀带h的文件对变量类型进行定义
截图202503052011405959.jpg


后缀带h的文件用来声明, 截图202503052025134894.jpg
后缀带c的文件用来定义函数 截图202503052026207284.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-5 22:20:46 | 显示全部楼层
第7课上学习了按键的输入程序
按键的消抖程序
截图202503052220387735.jpg
按键判断是否按下
截图202503052226121314.jpg
根据按键的按下与否点亮灯


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-5 22:20:50 | 显示全部楼层
第7课下学习了按键的输入程序
灯的移位及闪烁程序
数组的使用
截图202503052258416810.jpg
利用数组来实现流水灯的功能
截图202503052303134435.jpg
定义数组
截图202503052308519954.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-6 09:08:20 | 显示全部楼层
第8课介绍了蜂鸣器
截图202503060908092192.jpg
截图202503060909111033.jpg



截图202503060912443495.jpg
截图202503060916037807.jpg
截图202503060947324833.jpg






回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-6 19:51:37 | 显示全部楼层
第8集作业,学习总结
增加按键,使功能键可以循环亮
截图202503061951312945.jpg

截图202503062006396192.jpg

在h文件里定义按键,在c文件里定义函数
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-6 20:15:22 | 显示全部楼层
第9课,学习总结
数码管的认识、
截图202503062015189771.jpg
截图202503062016421621.jpg


截图202503062026061095.jpg
数字的循环显示
截图202503062038085907.jpg



截图202503062038088893.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-6 20:51:00 | 显示全部楼层
第10集,数码管的动态显示
截图202503062050416102.jpg
截图202503062052012752.jpg
截图202503062054108849.jpg
位籹码管16进制的计算表

截图202503062058483574.jpg
程序数组定义
截图202503062100267216.jpg
截图202503062110336333.jpg
显示所需要的数字的方法








截图202503062058472657.jpg
截图202503062112268596.jpg
截图202503062112264190.jpg
截图202503062113406706.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-7 21:34:08 | 显示全部楼层
今天 下午收到了,可以说是梦寐以求的实验箱,迫不急待的想试试不停电下载这个功能
截图202503072140441377.jpg 截图202503072140155726.jpg 截图202503072139488812.jpg

当然首先要感谢宏晶科技对学习的支持,的确这是个实践的,跟着冲哥一起码代码会有更深刻的认识
看到这个新的板子一下子又忘记了如何下载了,翻了会儿说明,才找到p32键(不是复位键,我在这里浪费了好久时间),按下,再按电源键,松开,再松开p32,
就检测到实验箱了。神速的下载
可惜的是,第一次下载好后,弹出驱动程序安装失败,折腾了好久,感觉只有重启一个办法了,重启后,识别成功了。
看到编译好的文件嗖嗖的下载,只有一个字,大开眼界了。
还有一种用复位键下载的方法。就是下载程序时把复位引脚做i/o口用这个选择框不选,实验箱断次电,然后按复位键,进入下载
模式。

截图202503072141283670.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:79
  • 最近打卡:2025-06-27 11:33:21
已绑定手机

1

主题

27

回帖

407

积分

中级会员

积分
407
发表于 2025-3-8 23:51:11 | 显示全部楼层
研究了一下板子的接线和冲哥的课程已经有很大的差别了。。
1.2板的数码管是用2个74hc595驱动的。冲哥的程序运行不了。
截图202503091021088390.jpg

可以看出,3.2,3.4,3.5脚分别是数据的sck,rck,data.

/*************  IO口定义    **************/
sbit    P_HC595_SER   = P3^4;   //pin 14    SER     data input
sbit    P_HC595_RCLK  = P3^5;   //pin 12    RCLk    store (latch) clock锁存器
sbit    P_HC595_SRCLK = P3^2;   //pin 11    SRCLK   Shift data clock寄存器

向74hc595发送数据的函数,可以看出是一个16位的字节,前8位是并行输出,后8位
是串行输出,通过595的和第9脚输出,所以还要一个595进行解码。本板中并行输出码
为位码,串行输出码为段码。发送时是先送段码,后发送位码,说明是段码8位是串行,位码8位后发是并行。
void Send_595(u8 dat)
{
    u8  i;
    for(i=0; i<8; i++)
    {
        dat <<= 1;
        P_HC595_SER   = CY;//单片机CY(Carry): 用于表示加法进算中的进位和减法运算中的借位,
加法运算中有进位或减法运算中有借位则CY位置1,否则为0。CY位是累加器的进位、借位标志。
对于无符号数的运算,CY位就可以表示其是否溢出。但如果是有符号数,则不能按CY标志来判断了。
        P_HC595_SRCLK = 1;
        P_HC595_SRCLK = 0;
    }
/********************** 显示扫描函数 ************************/
void DisplayScan(void)
{
    Send_595(t_display[LED8[display_index]]);   //输出段码
    Send_595(~T_COM[display_index]);            //输出位码

    P_HC595_RCLK = 1;
    P_HC595_RCLK = 0;
    if(++display_index >= 8)    display_index = 0;  //8位结束回0
}
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-30 00:43 , Processed in 0.120594 second(s), 92 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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