实验(二)51单片机控制LED流水灯

您所在的位置:网站首页 51单片机心形流水灯程序 实验(二)51单片机控制LED流水灯

实验(二)51单片机控制LED流水灯

2023-04-01 20:29| 来源: 网络整理| 查看: 265

实验目的、内容、仪器

实验目的:了解51单片机的引脚结构,根据前面所学的左移右移的概念利用代码完成实验。

实验仪器:AT89C51:单片机、BUTTON:按键、CAP:电容、CRYSTAL:晶振、LED-RED:LED灯(绿色)、RES:电阻

2.硬件原理

3.程序流程图

4.代码实现

#include #include #define uint unsigned int #define uchar unsigned char void delayms(uint); uchar aa; void main() { aa=0xfe; while(1) { P2=~aa; delayms(500); aa=_crol_(aa,1); } } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); }

5.实验步骤

(1)搭建仿真电路,勾选debug

(2)建立keil工程,选择单片机型号

(3)给工程创建源码文件,并以.c结尾,添加文件到源组里

(4)生成hex文件,点击魔术棒,在output中勾选Create HRX_File

(5)对代码进行编译,调试debug,点击USE,在下拉菜单里选中“Proteus VSM Monitor 一51 ”进行设置

(6)将程序导入到单片机中运行,双击单片机,选择生成的hex文件

(7)在keil中启动调试,开始运行,观察proteus中的电路

6.结果及讨论

这次实验主要难点在于代码的理解方面,首先它运用了C51自带的函数库中的_crol_函数,,此函数包括在instrin的头文件中。_crol_函数会执行完从第一个led亮到第八个led,每判断过一次while的值是否为真的时候,相当于重新执行一遍从第一个led亮到第八个led,这是因为在执行while(1)中的第一条语句时,相当于把aa返回到最初值。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3