您的位置:首页 > 财经 > 金融 > 泰安人才网网上办事_室内设计联盟 官网_长沙网站优化推广_点击排名优化

泰安人才网网上办事_室内设计联盟 官网_长沙网站优化推广_点击排名优化

2025/1/6 13:36:20 来源:https://blog.csdn.net/m0_59385870/article/details/144896103  浏览:    关键词:泰安人才网网上办事_室内设计联盟 官网_长沙网站优化推广_点击排名优化
泰安人才网网上办事_室内设计联盟 官网_长沙网站优化推广_点击排名优化

在这里插入图片描述

在这里插入图片描述

设置字体
在这里插入图片描述

在这里插入图片描述
因为STC89C52不在keil软件里,只能用国外的
1.如果是keil4或5的老版本,则找ATMEL里面的at89c52系列
2.新版本,则microchip(因为2016年atmel被microchip收购了)

1 在这里插入图片描述

2 在这里插入图片描述

在这里插入图片描述
keil4里面没有new item
在这里插入图片描述
而keil5有,所以拿keil5举例
在这里插入图片描述
第一个必须要是main文件
第一个必须要是main文件
第一个必须要是main文件
第一个必须要是main文件
第一个必须要是main文件
第一个必须要是main文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原来是缺少主函数,此时正确
在这里插入图片描述
LED灯
长脚正极短脚负极,如果一样长,则从灯泡内部看,大片为负极,小片一侧为正极

最后一个数字代表0的个数
472=47 00
102=10 00
115=11 00000
1001=100 0
比如滑动变阻器上面的103=10 000
在这里插入图片描述

cpu通过我们写的软件(程序)来写值,即控制寄存器来控制硬件电路(驱动器),寄存器为1则表示高电平,硬件电路来执行我们想完成的功能
cpu通过寄存器写值1,则1通过驱动器变为高电平(正),0则低电平
寄存器刚好八个为一组,每个寄存器对应一个p2口
在这里插入图片描述
引入头文件,右键insert,当然可以打开该头文件查看更多寄存器信息知识
在这里插入图片描述
因为创建的时候选择了否,没有hex文件,所以此时生成
在这里插入图片描述

在这里插入图片描述
并且会自动创建hex文件
在这里插入图片描述

打开stc-isp
选择stc89c52
在这里插入图片描述
选择串口
在这里插入图片描述
打开
在这里插入图片描述
目标文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果没有亮,更换
在这里插入图片描述
在这里插入图片描述
点亮第一个灯完毕
在这里插入图片描述
注意,单独列出一个句子和while1的效果一样,因为单片机执行完该文件会再次执行

#include <REGX52.H>
void main()
{//p2=1111 1110;from max to min,but this form is DEC not BIN/** using HEX will be ok, because 1111=f,1110=e for BINtoHEX*/P2=0xfe;
}

闪烁功能:利用ISP软件自带的函数delay,复制进U5
在这里插入图片描述

注意是毫秒
在这里插入图片描述

#include <REGX52.H>
#include <INTRINS.H>//use nop , need include intrins head filevoid Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();//nop is null sentence,show nothing to do , so used to delay timei = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main()
{P2=0x55;Delay500ms();P2=0x55;Delay500ms();
}

自定义延时+流水灯
自定义延时:
先去生成1ms的延时代码
然后执行x次即总共延时xms

延时1ms
void Delay1ms()		//@12.000MHz
{unsigned char i, j;i = 2;j = 239;do{while (--j);} while (--i);
}
延时xms
#include <REGX52.H>
#include <INTRINS.H>//use nop , need include intrins head filevoid Delay(unsigned int x)//传参,使延时1ms的函数执行x次
{while(x--){unsigned char i, j;i = 2;j = 239;do{while (--j);}while (--i);}
}void main(){P2=0xFE;Delay(500);P2=0xFD;Delay(500);P2=0xFB;Delay(500);P2=0xF7;Delay(500);P2=0xEF;Delay(500);P2=0xDF;Delay(500);P2=0xBF;Delay(500);P2=0x7F;Delay(500);
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com