P口输出流水灯与proteus

一、实验目的:

(1)学习P1口的使用方法;

(2)学习延时子程序的编写。

(3)学习掌握单片机仿真软件proteus的使用方法

二、实验顶备知识:

(1)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

三、实验内容:

流水灯程序设计:P3.7外接按钮开关(button)S1,P2口连接8只led,每次只点亮一只led 0.5秒,循环点亮,每0.5秒移动一次;S1断开时,led左移点亮,否则右移点亮。要求采用c51程序设计。其中流水灯移动用三种方法实现。

在proteus软件中画出该电路原理图,并导入程序,仿真运行。

四、Proteus的用法主要步骤:

1、打开proteus7.5,在菜单file里new一个design

2、准备元器件:惦记左侧工具列表里的

component mode,pick devices,将元器件添加到列表里

3、放置元器件:从元器件列表里拾取元器件,放置于图纸的合适位置,先放重要、体积大的元器件。

4、连接元器件:可以直接绘制wire,也可通过label建立电气连接。

5、编辑元器件的属性:选中待编辑元器件,右击,edit properties

6、单片机导入hex文件:选中单片机件,右击,edit properties--program files里导入编译好的hex文件

7、仿真运行:点左下角播放键。

#include <reg51.h>
#include <intrins.h> 				//内部函数包含到程序中
#define uchar unsigned char
#define uint unsigned int

sbit S1=P3^7; 						//定义了P3.7为开关输入

void delay(unsigned int i)			//定义延时函数Delay(),i是形式参数,不能赋初值
{
	unsigned int j;
	for(;i>0;i--)
	for(j=0;j<125;j++)				 
	{;}
}


void main(void)
{ 
	unsigned char data led;
	led=0xfe; 						//低电平点亮发光管,初始值对应最低位P1.0为低,即L0点亮
	while(1)
	{ 
		P2=led; 					//将led送到P2口
		delay(500); 				//延时0.5秒
		if(S1) 					    //如果KEY为1(开关断开),则变量led循环左移一位
			led=_crol_(led,1);
		else
			led=_cror_(led,1);		//否则led循环右移一位
	}
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-02 20:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-02 20:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-02 20:08:01       82 阅读
  4. Python语言-面向对象

    2024-01-02 20:08:01       91 阅读

热门阅读

  1. skynet 配置中lua服务创建流程

    2024-01-02 20:08:01       45 阅读
  2. MySQL 8.0 ReplicaSet备库切换为可读写单库

    2024-01-02 20:08:01       50 阅读
  3. 头歌:旅游网站大数据分析 - 数据抓取

    2024-01-02 20:08:01       68 阅读
  4. 前端需要学GraphQL 吗?

    2024-01-02 20:08:01       59 阅读
  5. C++精进之路(十二)类和动态内存分配

    2024-01-02 20:08:01       48 阅读
  6. 91 两个数组的交集II

    2024-01-02 20:08:01       52 阅读
  7. 用g2o实现bundle adjustment

    2024-01-02 20:08:01       61 阅读
  8. 94. 二叉树的中序遍历(“颜色标记法”)

    2024-01-02 20:08:01       52 阅读