单片机课程设计例题1-流水灯

合集下载

80C51单片机流水灯设计

80C51单片机流水灯设计

//定义延时子函数
第二种: (数组定义 LED 灯的各种状态) #include <reg52.h> #define uint unsigned int uint aa[] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f}; //将灯的不同状态分别定 义成 8 组六进制数并存入数组中 void Delayms(); //延时子函数申明 void main() { unsigned int i = 0; while(1) { P0 = aa[i]; //定义 P0 口为 aa 数组中第 i 个元素的状 态 Delayms(); //延时一段时间 i++; //改变数组中元素下标,当再次调用 时,LED 灯的状态改变 if (i == 8) //当所有状态都运行一次后应该回到最 初的状态,才能得以无限循环 { i = 0; } } } void Delayms() //延时子函数定义 { unsigned int i, j; for (i=1000; i>0; i--) {
ledr = (ledr << 1) | 0x01; led = (ledl & ledr); if (led == 0x7e) { temp = ledr; ledr = ledl; ledl = temp; }
实验二:流水灯——叠加 方法:又多次不同的初态,初态与前次的结束状态相同。 1) 保留前次的结束状态 if (((led >> 1) | 0x80) == temp) { temp = led; } 2)平移时,右边边界会移除,则采用初态合并法 Led = ((led >> 1)| 0x80)| & temp; 思考方法总结:

单片机流水灯课程设计

单片机流水灯课程设计

单片机流水灯课程设计第一篇:单片机流水灯课程设计单片机原理及系统课程设计报告基于AT89C51单片机的流水灯引言1.1 课题简介单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。

本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。

课程设计-- 基于单片机的双向流水灯

课程设计-- 基于单片机的双向流水灯
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
[3]宋庆环,才卫国,高志.89C51单片机在直流电动机调速系统中的应用[M].唐山学院,2008.4
[4]杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.3
[6]曹巧媛.单片机原理及应用[M].北京,电子工业出版社,1997.9
指导教师签字
教研室主任签字
2013年12月23日
摘要
经年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。在电子领域尤其是自动化智能控制领域,传统的分立元件或者数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

单片机课程设计多功能花样流水灯设计

单片机课程设计多功能花样流水灯设计
六、心得与体会
此次单片机课程设计我学到了许多,第一次学会了软硬结合做一个项目出来,自我感觉非常自豪,但是由于自我能力的不足,我更加体会到理论知识与动手能力相结合的重要性,而且设计过程中使我懂得在设计程序之前,务必要对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源?懂得设计的关键是要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,反复修改,不断改进是程序设计的必经之路。比如在设计显示程序时,一开始数码管的显示不全,然后就不断地调试延时程序,结果数字缺定在0不动,经过反复的调试终于将程序调试成功。而且要学会拓展自己思路,一开始只做了一个速度显示,后来感觉挺好玩的,就做了花样显示。同时要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你思路,这样也为资料的保存和交流提供了方便。整个设计的过程中(还是碰到了一些问题。比如对于键盘的延时防抖问题不能较好的解决,对于编程的顺序及各模块程序调用掌握得还不够好,对于一些相关的应用软件没能熟练掌握。通过这几天的反复思考,以及参考网上的程序最终还是完成了设计。设计中我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,在动手的过程中,不仅能增强实践能力而且在理论上可以有更深的认识。
长 江 学 院
花样流水灯设计报告
课题:多功能花样流水灯
院系:机械与电子工程系
专业:自动化
班级:
学号:
姓名:
指导老师:
2016年12月20日
1、设计思路………………………………………………………………………3
2、流程图……………………………………………………………………………………..4
四、硬件设计思路和电路图7
关键词:STC89C52RCLED灯单片机花样流水灯

单片机课程设计报告流水灯(WORD档)

单片机课程设计报告流水灯(WORD档)

XX工程学院单片机课程设计报告题目:流水灯学生姓名:学号:系部名称:职业技术学院班级:机电一体化Z11-1 指导教师:目录摘要 (3)一、课程设计题目 (4)二、设计任务及要求 (4)三、实验方案 (4)四、流程图 (4)五、硬件电路 (6)六、软件设计 (6)1 主体程序 (6)2 键扫描子程序 (6)3 闪烁控制程序 (6)4 延时子程序 (6)5 源程序设计 (7)七、功能调试 (12)八、设计总结 (12)九、参考文献 (13)【摘要】单片机课程设计主要是为了让我们增进对单片机芯片电路的感性认识,加深对理论方面的理解。

了解软硬件的有关知识,并掌握软件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。

另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。

一、课程设计题目:流水灯二、设计任务及要求:任务:完成对接在P1,P3口的发光二极管闪亮控制程序的设计1.用程序延时方法让P1的一个LED小灯每隔1S交替闪亮2.用程序延时方法让P1的8个LED小灯循环(每个亮50MS)闪亮3.用程序延时方法让P1的8个LED小灯追逐闪亮(50MS间隔变化)4.用程序延时方法让P1、P3的16个LED小灯循环(每个亮50MS)闪亮要求:1. 根据硬件电路原理,画出接线2. 设计出相应的软件程序三、实验方案:方案:单片机采用40脚的89C52标准双列直插系列,有4个标准输入/输出端口共32位控制端口。

本次设计采用并行口低电平(吸电流)直接驱动LED发光管发光形式,选择了P1和P3口的16个端口进行模拟LED小灯控制,如要多些小灯单元可再将P2口、P0口及其他空余端口用LED小灯驱动控制。

因系统功能要求能控制灯亮的方式,在P0.0—P0.3端口接了4个按键小开关,每个小开关可控制一种亮灯方式。

在端口较紧张的情况下,LED小灯驱动也可用串入/并出移位寄存器(如74HC595),单片机用并行移位方式进行驱动。

单片机实验LED流水灯实验

单片机实验LED流水灯实验

LED流水灯实验一、实验内容将LED灯逐个点亮,然后全亮,全灭。

二、实验原理8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,用一个八位二进制的左移和右移来确定灯的亮灭,并用定时器延时。

三、描述该实验中运用的理论知识1、LED的点亮:8个LED发光二极管,分别对应单片机IO口的P0.0到P0.7口,8个单片机IO口组成一个字节,在程序编写过程中,可以直接用P0来进行操作。

2、流水效果:C语言的8位二进制数代表了8个IO口,左移,最低位填0,然后按位取反,就可以将灯逐个点亮3、延时:特殊功能寄存器TMOD,如图T1和T0分别代表单片机两个计数器。

GATE:该位被置位时为门控位。

仅当TR1被置位并且INT1脚为高,定时器开始计数。

当该位被清零时,只要TR1被置位,定时器1马上开始计数。

C/T:该位为0的时候,用作定时器,该位为1的时候,用做计数器。

0.5秒的延时12 * (65536- x)/11059200 = 0.001四、实验步骤1、流程图2、结果程序:#include <reg52.h>typedef unsigned char uint8;typedef unsigned int uint16;sbit ENLED = P1^4;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;main(){uint8 counter;uint16 i,j;ENLED = 0;ADDR0 = 0; ADDR1 = 1; ADDR2 = 1; ADDR3 = 1;TMOD = 0x01;TH0 = 0xB8;TL0 = 0x00;TR0 = 1;while(1){if(1 == TF0){TF0 = 0;TH0 = 0xB8;TL0 = 0x00;counter++;}if(25 == counter){counter = 0;if(8 == j){P0 = 0X00;for(i=0;i<=38000;i++);P0 = 0XFF;for(i=0;i<=38000;i++);j = 0;}P0 = ~(1 << j++);}}}。

单片机流水灯课程设计

单片机流水灯课程设计

单片机流水灯课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和结构,掌握流水灯的设计方法。

2. 学生能描述流水灯程序的设计流程,包括电路连接、编程语言及指令的运用。

3. 学生了解并能够解释流水灯中涉及的电子元件功能,如电阻、电容、LED 等。

技能目标:1. 学生能够独立完成流水灯电路图的绘制,并正确搭建电路。

2. 学生能够运用指定的编程软件,编写并调试出流水灯的程序代码。

3. 学生通过动手实践,提高问题解决能力和团队协作能力。

情感态度价值观目标:1. 学生通过完成流水灯的制作,培养对电子制作的兴趣,激发创新精神。

2. 学生在团队合作中学会相互尊重、倾听意见,培养良好的沟通能力和团队意识。

3. 学生能够意识到科技在生活中的应用,增强实践是检验真理的唯一标准的认识。

课程性质:本课程为实践操作性强的电子技术课程,结合理论知识与动手实践,培养学生对单片机应用的基本技能。

学生特点:假设学生为八年级,已具备基本的物理知识和逻辑思维能力,对电子制作有好奇心,动手能力强。

教学要求:教师应注重理论与实践相结合,鼓励学生动手实践,关注个体差异,提供个性化指导,确保学生在掌握知识技能的同时,培养积极的情感态度价值观。

通过具体的学习成果分解,后续教学设计和评估将更有针对性。

二、教学内容1. 理论知识:- 单片机基本原理与结构介绍,关联教材第3章。

- 流水灯电路设计原理,关联教材第4章。

- 编程语言基础及指令运用,关联教材第5章。

2. 实践操作:- 电路图绘制,关联教材第6章。

- 流水灯电路搭建,包括元件识别、电路连接,关联教材第7章。

- 程序编写与调试,关联教材第8章。

3. 教学大纲安排:- 第一课时:介绍单片机基本原理与结构,让学生了解流水灯项目背景。

- 第二课时:讲解流水灯电路设计原理,进行电路图绘制练习。

- 第三课时:学习编程语言基础及指令运用,为学生编写程序打下基础。

- 第四课时:分组进行流水灯电路搭建,并进行程序编写与调试。

单片机课程设计流水灯

单片机课程设计流水灯

单片机课程设计流水灯一、课程目标知识目标:1. 理解单片机的基本原理和功能,掌握流水灯的设计方法;2. 学会使用特定编程语言(如C语言)编写单片机程序,实现流水灯效果;3. 了解单片机在现实生活中的应用,培养学生对电子科技的兴趣。

技能目标:1. 能够运用所学知识,独立设计并搭建简单的流水灯电路;2. 掌握单片机编程技巧,具备调试程序的能力;3. 培养学生动手实践、解决问题的能力,提高创新思维和团队协作能力。

情感态度价值观目标:1. 培养学生对单片机课程的兴趣,激发学习热情,形成主动学习的习惯;2. 培养学生面对挑战时,勇于尝试、不断调整的心态,增强自信心;3. 培养学生关注科技发展,认识到单片机在科技领域的广泛应用,树立为国家科技事业做贡献的远大志向。

课程性质:本课程为实践性较强的课程,要求学生结合理论知识,动手实践,实现具体的项目。

学生特点:本课程针对初中或高中年级学生,他们对单片机有一定了解,具备基本的编程知识,喜欢动手实践。

教学要求:教师应注重理论与实践相结合,关注学生个体差异,提供个性化指导,确保学生能够完成课程目标。

同时,注重培养学生的团队协作能力和创新思维,提高学生的综合素质。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 理论知识:a. 单片机原理与结构:讲解单片机的内部组成、工作原理及性能特点;b. 编程语言基础:回顾C语言基础知识,强调在单片机编程中的应用;c. 流水灯原理:介绍流水灯的工作原理,分析其电路设计和程序设计要点。

2. 实践操作:a. 电路搭建:指导学生搭建流水灯电路,熟悉各种电子元器件的使用;b. 程序编写:教授学生编写流水灯程序,掌握程序调试方法;c. 项目实施:引导学生将理论知识应用于实践,独立完成流水灯项目。

3. 教学大纲:第一课时:单片机原理与结构介绍,C语言基础知识回顾;第二课时:流水灯原理讲解,电路设计和程序设计要点分析;第三课时:电路搭建及元器件使用方法教学;第四课时:程序编写及调试方法教学;第五课时:项目实践,学生独立完成流水灯项目。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

+5V R9 10K C1 4.7u C3 30p C2 30p Y1 12MHz
9 18 19
图4­5 流水灯电路图
3. 电路元件使用介绍
n n
n n n n
(1)发光二极管简介 发光二极管(LED)是一种能直接将 是一种能直接将 +5V 电能转化为光能的显示器件 电能转化为光能的显示器件,当内 部有电流通过时,它就会发光 它就会发光。常 R 见的发光二极管有发红色的 见的发光二极管有发红色的、绿色 的、黄色的等。 LED 作用: 将电能转化为光能(电 将电能转化为光能 —光) 工作条件: 图4­6 LED点亮电路图 工作电流Ig :一般为5~ ~20mA 发光二极管压降Vg:一般为 一般为1.5~ 2.0V之间
n n n n n n n n n n n
(2)限流电阻R阻值的计算与选取 阻值的计算与选取: 图4-6是LED点亮电路图, ,电源按在单片机应用电 路的电源考虑,电源电压选 电源电压选+ 5 V, R为限流电阻。 因Ig为5~20mA、管压降 管压降Vg为1.5~2.0V 根据欧姆定律可得: R= (Vcc - Vg)/ Ig; 则Rmin最小值时,Ig应最大 应最大,管压降Vg也最大 Rmax最大值时,Ig应最小 应最小,管压降Vg也最小 所以有: Rmin=(5-2)V/20mA=3/20KΩ=150Ω 2)V/20mA=3/20KΩ=150Ω Rmax=(5-1.5)V/5mA=3.5/5KΩ=700Ω 1.5)V/5mA=3.5/5KΩ=700Ω 限流电阻R取值范围:150Ω< 150Ω< R < 700Ω。这里选 700Ω 取R为330欧姆,发光二极管工作电流约 发光二极管工作电流约10mA。
5.程序仿真
n
在Keil集成开发环境中, ,输入上述源程序并命名 为lm4-1.c,建立名为lm4 lm4-1的工程并将lm4-1.c加 入工程中,经编译、链接后进入调试状态 链接后进入调试状态,打开 Parallel Port1对话框, ,观察P1口的电平变化, 应出现有1位低电平在循环移动 位低电平在循环移动 。
4.程序设计
(1)流程图
开 始 初 值 ->变 量 J 左 移 "或 "0x01 变 量 J数 据 处 理 J->P1口 延 时 J=FFH? Y J=FEH N J->P1口 延 时 N 开 始 置 变 量 J=FEH 左 移 "或 "0x01 J=FFH? Y J=FEH
(a)最初的流程图 (b)变量J数据处理 图4­7 例题1程序流程图
(c)流程图
n
n n n n n
பைடு நூலகம்
(2)C语言程序
#include<regx51.h> void delay (void) //延时约 延时约0.5s { unsigned int i, j; //声明局部变量 声明局部变量i,j for (i = 0; i < 500; i++) q for (j = 0; j < 120; j++); // for循环嵌套 } void main (void ) { q unsigned char j = 0xFE; //声明变量 声明变量j并赋初值,j=11111110, q while (1) q { n j = ( j<<1 ) | 0x01 ; //变量 变量j左移一位与0x01进行“或”运算 n if (j == 0xFF ) j = 0xFE ; n P1 = j ; //将变量j的内容输出到 的内容输出到P1口,控制LED的点亮与熄灭 q delay ( ) ; //调用函数 调用函数delay() q } }
单片机课程设计
例题1-流水灯
4.2.1例题1-流水灯 流水灯
n n n n n
P1口连接8支发光二极管 支发光二极管,轮流点亮,循环往复。 1.教学目的: (1)学会使用P1口输出数据 口输出数据,点亮发光二极管。 (2)编写延时函数delay( delay( ),实现程序延时。 ) (3)学习使用keil C51软件仿真 软件仿真,观察P1口的输 出状态变化。
6。习题
n
编写从左至右循环点亮的程序。 编写从左至右循环点亮的程序
2.电路图
R8 R7 R6 R5
+5V 330 x 8
39 38 37 R1 36 35 34
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 IC1 AT89S51
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 P3.0/RXD P3.1/TXD
21 22 23 24 25 26 27 28 10 11
R4
R3
R2
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1
33 P0.6 32 P0.7 1 P1.0 2 3 4 5 6 7 8 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST XTAL1 XTAL2
P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17 ALE/PROG PSEN EA/VPP 30 29 31 +5V
n n n
n
n
(3)程序说明
n
n
n
①#include<regx51.h> regx51.h头文件包含 了AT89S51所有特殊功能寄存器的名称定义和 相对应的地址。 ②unsigned char j=0xFE unsigned char j=0xFE ;语句让变量j的内容 等于11111110。 ③表达式j<<1将变量j的每一位往左移一位,移 的每一位往左移一位 动之后j右边会移入0。若 若j为0xFE,移位之后,j 变成0xFC,即11111100 11111100 如图4­8所示。 n 0xFE 11111110 n 0xFC 11111100 图4­8变量左移位示意图
④语句j=(j<<1)|0x01将变量j的每一位左移一位之 后,再与0x01执行OR操作,结果变量 操作 j的内容等 于11111101,送往P1口则P1.1引脚为低电平,该 引脚连接的LED被点亮。 。 ⑤当0移到最左边时,再执行语句 再执行语句j=(j<<1)|0x01时, 变量j就变成0xFF,这个数据送给 这个数据送给P1口,8个发光 二极管将全部熄灭,此时必须把 此时必须把 j置成0xFE送给 P1,使得P1.0引脚连接的LED被点亮,因此要加 语句if(j==0xFF) j=0xFE 来判断这一情况。
相关文档
最新文档