- 博客(16)
- 收藏
- 关注
原创 DAY6 超声波
还没接收到信号(接收到信号时Rx为0)或者TF溢出(TF1溢出标志位,溢出时为1)的时候用while循环卡住 while(没接收到信号且没溢出)发送之后立马开始计时 令计时标志位TR1 = 1;(1开始计时,0不计时)配置TMOD定时器1计时模式(高四位0000-->十六位自动重装载模式)死记*0.017)-->返回值单位为厘米。直到接受信号,停止计时TR1 = 0。时间储存变量一定要是int!TH1 TL1复位成0。调用发送函数发送超声波。
2024-04-02 11:15:28
269
1
原创 第10届 省赛题错题汇总
错误代码2:i会溢出,致使程序卡死,数码管不显示任何数值,按键无法使用。因为程序启动的时候,频率输出功能有一定的滞后性,会致使刚开始输出频率为0,则i会马上++到7,然后溢出,程序在最开始就卡死。直接在Led_Proc()函数里通过标志位的方式无法熄灭所有LED,因为?(不知道为啥,存疑)正确代码:注意,位数高低是从右往左,但是数码管的存储数组是从左往右排序的,可以利用。错误代码1:把每一位为0的数码管都熄灭了,而不是只有最高位熄灭。错误代码会出现整数 //?
2024-03-31 16:59:41
183
1
原创 新建keil项目规范步骤
点击魔法棒---output---c51--include pathes--加入driver文件--ok。点击新建--点保存--保存在driver--底层功能函数(在driver下新建函数文件)品字型 ---工程名--user driver。点击魔法棒---output---hex。先新建user driver文件夹。
2024-03-24 13:49:20
289
1
原创 蓝桥杯技巧
而循环移位函数,在移到最高位时,在移位会重新放到最低位,不会移出数字。第一个参数为需要移位的内容,第二个参数为移位位数。利用划线部分的函数进行编写下面的流水灯部分。普通移位当到达最高位时,再移位会将数字移出;利用INTRINS.H头文件中的函数。(1)包含头文件INTRINS.H。(2)右击该头文件,进入其内部定义。函数1为循环右移,函数2为循环左移;可见里面有很多功能的函数。无需越界判断,更加方便。
2024-03-23 11:11:21
218
原创 蓝桥杯单片机常见报错
报错原因:报错的地方并没有错误,错误在报错的程序上方,原因就是少写了一个括号;首先检查硬件部分,跳线帽有没有接好,例如独立按键和矩阵按键的条线帽,555测频时需要接跳线帽,超声波模块也需要接跳线帽。如果还是各个模块都不响应,极有可能在于中断未开,两个中断一定要开,总中断和用到的定时器中断。如果只有某一模块不响应,可能这个模块存在大延时。注释其他代码,单独烧录某个模块的代码。首先检查硬件部分,此时需要换一块开发板,再次尝试。如果没有问题,检查该模块代码内容上是否出现错误。如果不行可能的原因再代码上。
2024-03-21 21:30:30
1306
1
原创 DAY3 PCF8591
写在最前,上面链接更细致,这个只是我的总结了各方内容,把重点挑出来,不具有可读性易错点:引脚介绍因为我们一般使用芯片的内部时钟,所以EXT和OSC接地,而VSS和VCC手册里写是用来上电复位的,只需要照着原理图接就行。
2024-03-13 19:25:25
433
1
原创 DAY2 DS18B20模块
传感器参数测温范围为-55℃到+125℃,在-10℃到+85℃范围内误差为±0.4°。返回16位二进制温度数值主机和从机通信使用单总线,即使用单线进行数据的发送和接收在使用中不需要任何外围元件,独立芯片即可完成工作。掉电保护功能 DS18B20 内部含有 EEPROM ,通过配置寄存器可以设定数字转换精度和报警温度,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。
2024-03-13 15:49:50
470
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人