循环彩灯实验c语言程序,实验3LED指示灯循环控制.doc

实验3LED指示灯循环控制

洛阳理工学院实验报告

系部计算机系班级B100508学号姓名王彪课程名称单片机原理及应用实验日期2012.5.26实验名称LED指示灯循环控制成绩【实验目的】熟悉uVision3编译软件,掌握C51编程与调试【实验条件】

如下图为LED指示灯循环控制电路原理图。图中LED指示灯外接于P0口。由于P0口作为I/O口使用时是漏极开路的,需要外接上拉电阻,因而图中还加有8只100欧的电阻。图中的时钟电路和复位电路与实验1相同。

程序启动后,8只发光二极管做循环点亮控制,其中灯亮顺序为P0.0→P0.1→P0.2→P0.3→…→P0.7→P0.6→P0.5→…→P0.0,无限循环,两次LED亮的时间间隔约0.5s.

【原理图】

【实验内容】

(1)熟悉uVision3编译软件,了解软件的结构组成与功能。

(2)学习C51语言的程序设计方法。

(3)学会在uVision3中进行C51程序录入、编译和调试。

(4)理解Proteus与Keil联合的仿真原理,实现LED指示灯循环控制功能。

【实验步骤】

在isis中绘制原理图,按照下表将元件添加到编辑环境中。

在uVision3中用c语言编写c51程序。

利用uVision3的编译调试功能检查程序的语法和逻辑错误。

下载可执行文件,在Proteus中观察仿真的结果,检查程序的正确性。

Category

Reference

Value

Microprocessor

U1

80C51

Data converter

U3

ADC0808

Miscellaneous

X1

CRYSTAL

Capacitors

C2、C3

CAP

CapacitorsC1/22uF

CAP-ELEC

Resistors

R2~R8/200

RES

Resistors

R1~R18/100

RES

Optoelectronics

D1~D8

LED-YELLOW

【C语言程序】

#include

int flag=0;

int count=0;

char led_mod[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

void timer0 (void) interrupt 1{

if(flag==0&&count!=7){

count++;

P0=led_mod[count];

flag=count/7;

}

if(flag==1&&count!=0){

count--;

P0=led_mod[count];

if(count==0) flag=0;

}

}

void main(){

TMOD=0x01;

TH0=-(50000/256);

TL0=-(50000%256);

P0=0x00;

EA=1;

ET0=1;

TR0=1;

while(1);

} 【仿真图】

【实验总结】

通过本实验更加熟悉了uVision3编译软件的使用,掌握了C51编程与调试方法。

在本实验中LED灯的后面的保护电阻和p0口的上拉电阻不能太大,否则会导致LED的亮度看不出来。

通过本实验,加深了对C51编译软件的认识, 有很大的收获。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的第一个Python程序(简单的用户名密码登录程序)

话说啊,所谓的C语言1000行,Java100行,Python20行呢。。。光一个登录就30行了。、 一个输入用户名密码的登录程序: init_usrnameinput(Please enter initial username:) init_passwordinput(Please enter initial password:) pr…

startuml动态模型工具_动态面板模型估计方法简介以及stata应用

动态面板模型最主要的特征是在控制变量中加入了y的滞后项,其中 代表控制变量, 代表固定效应, 代表残差项由于加入了y的滞后项导致了采用常用固定效应估计方法会导致参数估计的不一致性,因此需要采用其他的估计方法。本文主要分为4个部分&…

c语言编程三问三答,c语言程序编程

优质回答 回答者:柚子老弟啊这个是个初学者犯的常见错误,意思是说在一个项目里定义了两个主函数,所以报主函数重复定义了.解决办法重新建一个工程.-----------------------------------------------------------------回答者:Ryan锤#includeint fun(int …

Python2和Python3中raw_input( )和input( )区别(附代码)

备注: 1、在python2.x中raw_input( )和input( ),两个函数都存在,其中区别为 raw_input( )---将所有输入作为字符串看待,返回字符串类型 input( )-----只能接收“数字”的输入,在对待纯数字输入时具有自己的特性&#x…

最有效的萨克斯弱音器_1990到2016年全球自杀数据公布,中国自杀死亡率下降最显著!...

最新一期的BMJ杂志上发表的一篇题为《Global, regional, and national burden of suicide mortality 1990 to 2016: systematic analysis for the Global Burden of Disease Study 2016》的研究,对1990到2016年全球自杀疾病负担进行了分析,让我们一起来看…

C语言编译不等于,为什么嵌入式C语言中的size不等于所有成员size之和

结构体在C语言程序开发中,是不可或缺的语法。不过,相信不少C语言初学者遇到过这样的问题:为什么结构体的 size 有时不等于它的所有成员的 size 之和呢?C语言结构体大小等于它的所有成员大小之和吗?举例来说&#xff0c…

【HDU - 1237】简单计算器 (栈模拟)

题干: 读入一个只包含 , -, *, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中…

ip地址合不合法怎么看_到底醇基燃料合不合法呢?

什么是醇基燃料?醇基燃料合不合法?投资醇基燃料或者自己用有没得回报呢?新能源环保燃料油配方_醇基燃料厂家加盟-四川新源素科技有限公司​www.xysu.net什么是醇基燃料醇基液体燃料主要是以甲醇、乙醇为主混配的液体燃料,甲醇是最简单的饱和脂肪醇,分…

android 通讯录 备份,安卓Android手机通讯录怎么备份 卓联系人备份 卓手机联系人导出...

一旦买新安卓手机,如何才能快速地将通讯录、短信、通话记录、图片以及音乐转移到新手机里?如果还用纯手动复制、输入的方式,就说明你out的太久了。其实,只需短短四步就可以方便的将联系人、照片、音乐、应用等等一键转移完成无缝换机。【步骤…

【POJ - 3259 】Wormholes(Bellman_Ford或spfa算法,判断有向图中是否存在负环)

题干: 农夫约翰在探索他的许多农场,发现了一些惊人的虫洞。虫洞是很奇特的,因为它是一个单向通道,可让你进入虫洞的前达到目的地!他的N(1≤N≤500)个农场被编号为1..N,之间有M&…

android设置window背景颜色,android – 设置标题背景颜色

这个thread将让你开始在xml文件中建立自己的标题栏,并在你的活动中使用它编辑这里是上面链接的内容的简要摘要 – 这只是设置文本的颜色和标题栏的背景 – 没有调整大小,没有按钮,只是最简单的示例res / layout / mytitle.xml – 这是将表示标…

ios 代码设置控件宽高比_iOS--利用比例纯代码适配屏幕大小

首先说下让自己的程序支持iPhone6和6,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述;第二种方法是和之前iPhone5的类似,比较简单,为iPhone6和6添加两张特殊的pngiPhone6&…

【动态规划模型】金矿模型理解动态规划!(精彩的故事)

对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂&…

android+图标+i_explore+无背景,Android Studio中Android Device Monitor中的File Explore不显示文...

环境:操作系统是Mac,模拟器问题:Android Studio中Android Device Monitor中的File Explore不显示文件本人在自学文件存储,想查看“dada/data”目录,本人在Windows上是可以在File Explore中看到的,在Mac上就…

origin怎么打开txt文本_【每日一学】差示扫描量热法(DSC)测量材料的比热容(3在Origin软件中计算间接法测得比热容的方法)...

在本系列内容第1部分和第2部分中分别介绍了使用DSC法通过间接法测量材料的比热容的常用方法的基本原理和得到高质量比热数据的方法,在完成实验后需要在相关的分析软件中计算所研究的材料的比热容。在目前大多数商品化的DSC仪所附带的分析软件中通常可以额外配置可用…

【HDU - 2809】 God of War(状压dp)

题干: At 184~280 A.D ,there were many kingdoms in China. Three strongest among them are "Wei", "Shu", "Wu". People call this period as "Three Kingdoms". HH is a super "Three Kingdoms" fan, beca…

mysql 优化配置 大批量数据插入_[译] MySQL 最佳实践 —— 高效插入数据

当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到,逐条发送 INSERT 语句并不是一个可行的方法。MySQL 文档中有些值得一读的 INSERT 优化技巧。在这篇文章里,我将概述高效加载数据到 MySQL 数据库的两大技术。LOAD DATA INFILE…

android 移植游戏,Unity游戏移植到Android平台

很多时候不仅需要单纯的运行单个的unity游戏,而是需要将游戏嵌入Android代码中和android其他功能相辅生成一个APP,比如通过android界面的一个按钮来启动一个unity游戏。本文介绍一下主要的过程。1. 将可运行的unity游戏打包为Android project。在Unity界…

code vs 代码格式化排版_23行代码,教你用python实现百度翻译!(建议收藏)

前言:努力折腾的人生虽然不是符合完美生活,但它一定是个很精彩的人生!生命在于折腾,正如敲代码一样,你们说是吗?文章主要介绍了用23行python代码实现百度翻译,颇有参考性,喜欢的记得…

【HDU - 1013 】Digital Roots (大数模拟)

题干: The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are summe…