学习51单片机的第一天

使用书籍《51单片机典型项目实战-全能一本通(张毅刚)》

在大学的时候简单学过一点51基础知识,也有一点C语言的基础,可是基本上都忘完了,现在重新从零开始学习。

使用工具

使用的工具Proteus 8 Professional 进行仿真,同时变成软件是Keil uVision4
值得注意的是,当我在W10系统上安装Proteus 8 Professional后,运行仿真产生错误;
错误内容:在这里插入图片描述
原因是我的系统的用户名是中文,即使我把用户名改成英文还是不行,因为我是先安装的Proteus 8 Professional ,我的中文名的系统文件夹已经生成;所以采用修改环境变量的办法处理。
这个办法我是参考的:
解决proteus仿真时出现的错误 Cannot open ‘C:\User***\AppDate\Local\Temp\LISA4832.SDF’.

电路图及代码

在这里插入图片描述
画了一个简单的电路图;用P1口控制LED灯;

#include <reg51.h>	  // 引入51单片机寄存器及相关定义
#include <intrins.h>   
/* 引入intrins字符循环等操作
  _crol_ 字符循环左移
  _cror_ 字符循环右移
  _irol_ 整数循环左移
  _iror_ 整数循环右移
  _lrol_ 长整数循环左移
  _lror_ 长整数循环右移
*/


#define uint unsigned int    // 宏定义无符号 的int
#define uchar unsigned char	// 宏定义无符号 的char

void delay(uint i)			//定义一个软件毫秒ms延时函数
{
	uchar t;
	while (i--)
	{
		for (t=124;t>0;t--);
	}
}

//主函数
void main()
{
	P1=0xfe;	 //初始化P1口为11111110	,也就是LED1点亮
	while(1)	 //让程序跑起来
	{
		delay(500);	 //延时500ms
		P1=_crol_(P1,1); //_crol_ 字符循环左移 也就是P1为11111101;点亮LED2
	}
}

效果就是下面这样

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值