IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 51单片机出现正在检测单片机的原因以及点灯测试的注意事项 -> 正文阅读

[嵌入式]51单片机出现正在检测单片机的原因以及点灯测试的注意事项

51单片机是对兼容英特尔8051指令系统单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。

关于开发环境注意事项:

我们一般使用keil5来生成程序文件,用stc-isp将其下载到开发板上。由于下载资源很丰富,所以这里不赘述下载过程(keil5有两个版本,一个适用于51,另一个适用于开发stm32,虽然长得一样,但是适用范围不同,需要仔细甄别)。

这里需要注意的是:在用stc-isp下载程序时,需要严格按照单片机上的型号选择。例如我的单片机型号是STC89C52RC(虽然51单片机操作大都类似,但这里的型号必须严格对照自己单片机的型号选择),最开始选成了STC89C5,导致一直显示正在检测单片机

?具体型号可以看自己的单片机上的丝印?

以及单片机写入程序时需要冷启动,即重启单片机,否则也会一直显示正在检测单片机,所以在电脑上点击下载后要按下单片机开关重启(这个白色按钮就是开关)。

?还有就是在插线的时候动作要轻,有一些单片机由于设计原因,它的USB接口会很紧,所以插上去的时候动作要慢,不然很有可能会折断接口!!!

点灯测试代码

独立按键控制LED移位

#include <REGX52.H>

void Delayxms(unsigned int x )		//@12.000MHz
{
	unsigned char i, j;
	while(x--)
	{
		i = 12;
		j = 169;
		do
		{
			while (--j);
		} while (--i);
	}
}


void main()
{
	P2 = 0xFE;
	while(1)
	{
		if(P3_1==0)
		{
			Delayxms(20);
			while(P3_1==0);
			Delayxms(20);
			P2 = ~((~P2)>>1);
			if(P2==0xFF)
			{
				P2=0x7F;
			}
		}
		if(P3_0==0)
		{
			Delayxms(20);
			while(P3_0==0);
			Delayxms(20);
			P2=~((~P2)<<1);
			if(P2==0xFF)
			{
				P2=0xFE;
			}
		}
	} 
}

独立按键控制LED显示二进制

#include <REGX52.H>

void Delayxms(unsigned int x )		//@12.000MHz
{
	unsigned char i, j;
	while(x--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		}while (--i);
	}
}

void main()
{
	while(1)
	{
		if(P3_1==0)
		{
			Delayxms(20);
			while(P3_1==0);
			Delayxms(20);
			P2--;
		}
	}
}

这里有一个知识点,就是对于无符号的整数0,减1后应该为-1,但是事实上,由于整数在单片机中以补码表示,0-1表示为0000 0000(补)+1111 1111(补)= 1111 1111(补),如果它是有符号整数,那么计算机会认为它是整数-1,这没问题。但如果它被定义为无符号整数,因为无符号整数中没有符号位,所以它会被认为是Umax,也就是+255,这也是之前一直困扰我的问题,为什么0-1=255,在这里做下解释,防止哪天忘了。

另外:在写程序时需要先仔细看下开发板的原理图(虽然都差不多),但由于厂家不同,其引脚的命名也可能会不同(有时候还会很莫名奇妙),所以别人写的51程序有时候不一定使用于自己的单片机。

比如这里的独立按键模块,按道理来说K1应该接P3_0,K2应该接P3_1,但是这里却反过来了(原因不详,应该是设计问题)。

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-29 23:14:49  更:2022-01-29 23:15:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:33:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码