完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
今天成绩出来了,省一(偷笑)。这是本人第一次参加蓝桥杯,说实话就复习了两周,做了几套真题,当今天拿到题目要求的那一刻,感觉这一届的蓝桥杯的单片机组别比较前几年来说真的蛮简单的(偷笑,主要考察的无非那几个模块的应用。这篇文章将会大概分析这一届蓝桥杯的题目,希望可以帮助到你们。代码已经放到了我的 Gitee上面了,需要的小伙伴可以自己去下载,欢迎交流。 如果是备战下一届/复习蓝桥杯的同学,欢迎来我的博客学习我总结的蓝桥杯知识点。题目 直接上图: 可以看出今年的题目只考察了:DS18b20,PCF8591,按键,led,数码管这几个外设。相比较去年的添加的ne555,eeprom简直不是少了很多。只要足够细心一点,5个小时的时间完全足够用了。 说一下大体的思路吧:
DAC的代码: /** * @brief DAC输出 * @param[in] dat - 输入进行数模转换的数据 */ void dac_pcf8591(unsigned char dat) { i2c_start(); i2c_sendbyte(0x90); i2c_waitack(); i2c_sendbyte(0x40); //DAC输出模式 i2c_waitack(); i2c_sendbyte(dat); i2c_waitack(); i2c_stop(); } //LED任务 void LED_TASK() { if(MIN > MAX) //非正常温度区间 L4亮 { Init74HC138(4); P0 = 0xF7; Init74HC138(0); } else if(temperature > MAX) //非正常温度区间 L1亮 { Init74HC138(4); P0 = 0xFE; Init74HC138(0); } else if(temperature < MIN) //非正常温度区间 L3亮 { Init74HC138(4); P0 = 0xFB; Init74HC138(0); } else //正常温度区间 L2亮 { Init74HC138(4); P0 = 0xFD; Init74HC138(0); } } //DAC任务 void DAC_TASK() { if(temperature > MAX) //非正常温度区间 4v { dac_pcf8591(203); Vaout = VREF/255*4; } else if(temperature < MIN) //非正常温度区间 2v { dac_pcf8591(103); Vaout = VREF/255*2; } else //正常温度区间 3v { dac_pcf8591(153); Vaout = VREF/255*3; } } 温度的范围也是容易忽略的哦,我差一点就忘了这个范围的判断。大体上的需求就是这么些,客观题我就不说了,本人小白一个数电模电学忘得差不多了(笑哭我觉得我应该错了几道,题目和源码都放在git上面了,需要的可以自行下载。如果有错误的地方欢迎指正,共同进步!谢谢。 |
|
|
|
只有小组成员才能发言,加入小组>>
2611 浏览 0 评论
808浏览 1评论
250浏览 1评论
578浏览 0评论
312浏览 0评论
528浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 12:22 , Processed in 1.193807 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号