[单片机类]

【灯光控制任务书】用面向对象写得灯光控制

[复制链接]
1740|13
手机看帖
扫描二维码
随时随地手机跟帖
suaig|  楼主 | 2018-3-9 20:01 | 显示全部楼层 |阅读模式
suaig|  楼主 | 2018-3-9 22:48 | 显示全部楼层
没有蓝桥得开发板,按照其原理图搭得。
qwer.png

使用特权

评论回复
suaig|  楼主 | 2018-3-10 15:13 | 显示全部楼层
更新了程序,以使其适应IAP15F2K61S2,主要是对串口和定时器进行了分频,现在还有一个担心得问题,例如**作LED灯,和数码管,我看到都接了WR和外部地址总线上,所以我第一反应是用的绝对地址去访问的,然后我知道IAP内部也有xdata,我不是很清楚这两块会不会冲突?没硬件测试。


另外除去上面的一些改变,还对LED进行了一次封装。由于代码使用的都是已有的库,里面可能有很多并没有使用的函数,占用了比较大的空间,而我没有去精简,不过没关系,实际使用了大概5K的ROM(包含了标准C语言库占用了大概2K)。如果有硬件的,可以帮我测试一下~~麻烦了。

库说明:PT_OS   基于定时器时基调度的伪线程库,让单片机宏观上同时执行多个任务
           SMG_Display 数码管中间层,用于衔接数码管驱动,使得所见即所得,输入"3.14-15"字符串即可在数码管上显示,并支持putchar
          HardwareSerial 串口队列缓冲区库,这个任务里面所需要完成的串口并不复杂,我加进去有点画蛇添足,不过这个库的大体功能是将串口接受到的加入缓冲区,以及串口需要发送的加入缓冲区,接受发送均由中断发出
          其他几个.c文件是对象方法的重写。用C++的思想看就是,我继承了数码管的类,但是我底层驱动是不一样的,所以底层重写了数码管的消影,送位,送段操作,以及串口发送接受字符串操作



蓝桥_3-8.zip

209.04 KB

使用特权

评论回复
caijie001| | 2018-3-10 18:56 | 显示全部楼层
能发个视频更好啊,好多人都没仿真软件的。。看看效果

使用特权

评论回复
caijie001| | 2018-3-10 18:56 | 显示全部楼层
很赞

使用特权

评论回复
suaig|  楼主 | 2018-3-11 12:04 | 显示全部楼层
caijie001 发表于 2018-3-10 18:56
能发个视频更好啊,好多人都没仿真软件的。。看看效果

我觉得学51的,没用过proteus,是不是太让人吃惊了

使用特权

评论回复
suaig|  楼主 | 2018-3-11 12:15 | 显示全部楼层


需要proteus 8.6 sp2仿真软件,可以百度或者向我索要,这里不能上传链接。


另外修复了一个BUG,因为堆栈超出导致函数指针指向0x00,调用导致软重启的情况(PC指针回到0x0000),现在OK啦~~

发送0x1x控制LED,发送0x20单片机会回复时间。可以同时发送0x01x和0x20,单片机会从队列中取出命令依次执行。

使用特权

评论回复
suaig|  楼主 | 2018-3-11 12:26 | 显示全部楼层
测试.png

使用特权

评论回复
suaig|  楼主 | 2018-3-11 13:07 | 显示全部楼层
开始审题没看清,原来题目中规定了命令,现在重新上传

蓝桥_3-11.zip

211.23 KB

使用特权

评论回复
dirtwillfly| | 2018-3-12 16:50 | 显示全部楼层
suaig 发表于 2018-3-11 12:04
我觉得学51的,没用过proteus,是不是太让人吃惊了

现在硬件很便宜,对仿真软件就没那么依赖了

使用特权

评论回复
suaig|  楼主 | 2018-3-12 19:37 | 显示全部楼层
dirtwillfly 发表于 2018-3-12 16:50
现在硬件很便宜,对仿真软件就没那么依赖了

传统51不方便调试,你买仿真器几千块,现在得STC15系列调试是串口调得,一点也不方便,仿真可以模拟时间暂停,而且这里面得仿真模型都经历过很多年检验得,与实物无异。另外,仿真可以排除很多硬件问题,如果有仿真,我更愿意,先用仿真检验程序得正确性,可以大大减少调试整个系统得难度。

使用特权

评论回复
dirtwillfly| | 2018-3-12 21:17 | 显示全部楼层
suaig 发表于 2018-3-12 19:37
传统51不方便调试,你买仿真器几千块,现在得STC15系列调试是串口调得,一点也不方便,仿真可以模拟时间 ...

51的仿真器价格也没那么夸张呢

使用特权

评论回复
suaig|  楼主 | 2018-3-13 19:26 | 显示全部楼层
进一步优化,让时钟走时更准,

蓝桥_3-13.zip

212.21 KB

使用特权

评论回复
ohy3686| | 2018-4-3 00:05 | 显示全部楼层
1-题目要求LED和数码管依次逐个点亮再逐个熄灭。
2-数码管检测完后,在LED的检测过程中,第0位数码管一直显示0。
3-按下S6和S7会控制L5和L6,这个题目没有要求。
4-注释不够完整。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

19

帖子

2

粉丝