单片机闪烁灯跑马灯控制课程设计
单片机闪烁灯跑马灯控制课程设计
单片机闪烁灯跑马灯控制课程设计单片机闪烁灯跑马灯控制课程设计报告一、引言本课程设计旨在通过学习和实践单片机(MCU)编程,实现闪烁灯和跑马灯的控制。
我们将使用嵌入式C语言编程,通过了解单片机的内部结构、电路设计和编程流程,深入理解单片机的工作原理和应用。
二、系统硬件设计本课程设计选用51单片机作为主控芯片,外接8个LED灯和1个按键。
硬件电路设计如下:1.单片机:采用AT89C51,该芯片具有32K字节的Flash存储器,256字节的RAM,以及两个16位定时器/计数器。
2.LED灯:采用普通LED灯珠,与单片机引脚相连,通过编程控制LED灯的亮灭状态。
3.按键:采用机械按键,与单片机的外部中断0(EX0)相连,用于触发闪烁灯和跑马灯的切换。
三、系统软件设计1.闪烁灯模式:在此模式下,8个LED灯将按照一定的频率交替闪烁。
我们可以通过计时器和GPIO口控制LED灯的亮灭状态。
void blink_LED(void) {int i;while(1) {for(i = 0; i < 8; i++) {P1_0 = ~P1_0; // 翻转LED状态delay(500); // 延时,控制闪烁频率}}}2.跑马灯模式:在此模式下,8个LED灯将按照一定的顺序依次点亮。
我们可以通过计时器和GPIO口控制LED灯的亮灭状态。
void marquee_LED(void) {int i;int led_state[8] = {0, 1, 0, 1, 0, 1, 0, 1}; // LED状态数组,初始为交替亮灭while(1) {for(i = 0; i < 8; i++) {P1_0 = led_state[i]; // 设置LED状态delay(50); // 延时,控制跑马灯速度}}}四、按键处理程序我们通过外部中断0(EX0)接收按键信号,当按键按下时,将切换闪烁灯和跑马灯模式。
按键处理程序如下:void EX0_ISR(void) interrupt 0 { // EX0中断服务程序if (key_flag) { // 如果按键已经被按下过if (key_value == 0) { // 如果按键状态为低电平marquee_LED(); // 切换到跑马灯模式key_flag = 0; // 标记按键状态已经改变} else { // 如果按键状态为高电平blink_LED(); // 切换到闪烁灯模式key_flag = 0; // 标记按键状态已经改变}key_value = ~key_value; // 翻转按键状态值} else { // 如果按键还没有被按下过key_value = ~key_value; // 翻转按键状态值if (key_value == 0) { // 如果按键状态为低电平blink_LED(); // 切换到闪烁灯模式key_flag = 1; // 标记按键状态已经改变} else { // 如果按键状态为高电平marquee_LED(); // 切换到跑马灯模式key_flag = 1; // 标记按键状态已经改变}}}。
单片机课程设计--跑马灯设计
单片机课程设计(跑马灯设计)专业:电气自动化摘要AT89C51是一种带4K字节闪存可编程可擦除只读存储器)(FPEROM—Flash Programmable and Erasable Read Only Memory 的低电压、高性能CMOS 8位微处理器,即单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
该设计使用A T89C51芯片作为控制芯片,利用P1口连接8个发光二极管,通过I/O的值控制“跑马灯”的亮灭,以达到显示效果。
开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并要求有多种亮暗组合。
时继续,并要求有多种亮暗组合。
按键跑马灯 按键单片机 跑马灯关键词:A T89C51单片机目录摘要 (I)第一章芯片分析和设计概述 (3)第一节 AT89C51芯片分析 (3)第一节第二节 设计概述 (8)第二节第二章硬件电路设计 (9)第三章程序部分设计 (10)参考文献 (18)第一章 芯片分析和设计概述第一节 AT89C51芯片分析ATMEL 的AT89S51是一种高效微控制器,将多功能8位CPU 和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
且价廉的方案。
AT89C51AT89C51的芯片引脚图如下:的芯片引脚图如下:图1.1 AT89C51引脚图引脚图各引脚的说明和功能分析如下:各引脚的说明和功能分析如下:VCC VCC:供电电压。
:供电电压。
:供电电压。
GND GND:接地。
:接地。
:接地。
P0口:口:P0P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
时,被定义为高阻输入。
P0P0能够用于外部程序数据存储器,它可以被定义为数据外部程序数据存储器,它可以被定义为数据//地址的第八位。
单片机课程设计报告跑马灯
单片机课程设计报告跑马灯武汉纺织大学单片机课程设计报告设计课题:跑马灯指导教师:刘丰姓名:颜珊曹坤班级:应电092一、设计任务利用单片机制作让LED灯依次闪烁时间间隔为0.5S二次后时间加快为0.2S并循环闪烁的跑马灯.二、设计要求(1)采用单片机STC89C52来控制,下载器由芯片MAX232来对程序的下载。
(2)LED灯的闪烁间隔时间为0.5S-0.25S-1S,每循环两圈更改闪烁速度。
(3)供电采用USB方口的方式。
三、方案设计与论证跑马灯电路的组成方框图为:四,主要元件介绍(1)单片机STC89C52引脚介绍stc89c52的内核和AT51系列单片机一样,故引脚也相同:1~8:I/OP1口(P1.0~P1.7);9:复位脚(RST/Vpd);10~17:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD)主要是此引脚;18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss);21~28:I/OP2口(P2.0~P2.7);29:-PSEN;30:ALE/-PROG;31:-EA/Vpp32~39:I/OP0口(P0.7~P0.0);40:+5V电源。
注:引脚功能前加“-”,说明其是低电平有效。
如P3.2=-INT0。
(2)MAX232介绍MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。
内部结构基本可分三个部分:第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、1 3、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、1 4脚(T1OUT)为第一数据通道8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2 OUT)为第二数据通道。
单片机闪烁灯课程设计
单片机闪烁灯课程设计一、课程目标知识目标:1. 学生能理解单片机的基本结构和工作原理;2. 学生能掌握单片机编程的基本语法和指令;3. 学生能了解闪烁灯电路的设计原理和实现方法。
技能目标:1. 学生能够独立完成单片机闪烁灯电路的搭建;2. 学生能够编写并调试单片机程序,实现闪烁灯的控制;3. 学生能够运用所学知识解决实际问题,具备一定的创新能力和动手操作能力。
情感态度价值观目标:1. 学生通过学习单片机闪烁灯课程,培养对电子技术的兴趣和热情;2. 学生在团队协作中,学会沟通、分享和合作,增强团队意识;3. 学生能够认识到科技发展对社会进步的重要性,树立正确的价值观。
课程性质:本课程为实践性课程,注重理论知识与实践操作相结合。
学生特点:学生具备一定的电子技术基础和编程能力,对单片机有一定了解。
教学要求:教师应关注学生的个体差异,因材施教,引导学生主动参与,培养其创新精神和实践能力。
在教学过程中,注重理论与实践相结合,提高学生的动手操作能力和问题解决能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理,引导学生了解单片机的基本功能和应用领域。
- 教材章节:第一章单片机概述- 内容:单片机结构、原理、发展历程及常见型号。
2. 编程语言与指令:讲解单片机编程所需的基础知识,包括语法、指令等。
- 教材章节:第二章单片机编程基础- 内容:编程语言、数据类型、运算符、控制语句、函数等。
3. 闪烁灯电路设计:介绍闪烁灯电路的原理和实现方法,指导学生进行电路搭建。
- 教材章节:第三章单片机接口技术- 内容:I/O口编程、电路设计原理、元器件选型等。
4. 程序编写与调试:教授编写单片机程序的方法,指导学生进行程序调试,实现闪烁灯控制。
- 教材章节:第四章单片机程序设计与调试- 内容:程序结构、编程技巧、调试方法等。
5. 实践操作与创新能力培养:通过实际操作,培养学生动手能力和创新能力。
单片机花样走马灯课程设计
花样走马灯一设计目的1.掌握单片机系统设计思路和基本步骤。
2.熟悉Keil C51高级语言集成开发环境。
3.熟练使用基于proteus的单片机系统仿真软件。
4.学会在ISIS 7 Professional下绘制电路原理图。
5.学会 Proteus VSM与uvision3 IDE的联调过程。
二设计要求实现单片机8051设计控制P1口的8个LED灯成花样走马灯。
连续实现以下四种效果:1.单灯左移2.单灯右移3.单灯逐个点亮接着逐个熄灭4.两边向中间逐个点亮接着中间向两边逐个熄灭三总体设计单片机应用系统的研制步骤一般分为:总体设计、硬件电路的构思设计、软件的编制和仿真调试四个阶段。
1.硬件电路设计根据设计要求所需的元器件为AT89C51单片机和LED灯。
该硬件部分由朱艳兵完成,故不再做详细介绍。
2.系统软件分析设计原理:规定灯亮时控制该灯的位设置为低电平,灯灭时该位设置为高电平,为了清楚的看到灯亮时的效果,要设置相应的延时函数,通过数组的引用和函数的调用来实现花样走马灯的设计。
(1)要使走马灯实现单灯左移、单灯右移、单灯逐个点亮接着逐个熄灭、两边向中间逐个点亮接着中间向两边逐个熄灭这四种效果。
(2)可根据上述的规定来设置控制8个LED灯的P1口各个引脚的电平来控制LED灯亮的效果。
①单灯左移:可将P1.0~P1.7各个引脚逐个设置为低电平,即该引脚控制的灯亮时该位就为低电平,即可设置一个数组名为table的数组来存放灯亮时的P1口各个引脚的电平。
②单灯右移:即P1.7先亮,按照P1.7~P1.0的顺序向右移,即该灯亮的时候该位就设置为低电平,反之为高电平,各引脚的电平在数组aa中存放,引用数组aa就可实现单灯右移。
③单灯逐个点亮接着逐个熄灭:可按照P1.0~P1.7的顺序点亮再按照P1.7~P1.0的顺序熄灭,实现原理同单灯左移和单灯右移,各个引脚的电平在数组bb,cc中存放。
④两边向中间逐个点亮接着中间向两边逐个熄灭:即先将P1.0和P1.7同时设置为低电平,全部点亮后再将P1.3和P1.4设置为高电平,依次直至全部熄灭,各个引脚的电平在数组dd中存放。
单片机跑马灯课程设计
第一章概论随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
本产品不仅具有电路简单,造价便宜,功耗低等优点,还有多种亮灯花样。
而且可以通过修改源程序中延迟程序的参数来改变亮灯速度和频率,还可以通过修改表中的数据来改变亮灯的方式,这便大大提高了产品的性能与灵活性,使产品不会局限于单一的功能而限制产品的适用范围。
课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。
进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。
综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。
学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。
通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。
第二章设计方案2.1、设计目的学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。
通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。
2.2、设计要求以MCS51单片机为核心,辅以外围接口电路,设计一个花样LED闪烁彩灯,使彩灯按事先编好的流程不断闪烁,并有不同种闪烁花样。
LED灯管可以使用共阳极,单片机芯片可采用AT89C52。
61单片机课程设计可以调控的跑马灯
61-单片机课程设计-可以调控的跑马灯1000字设计目的本课程设计旨在通过单片机编程实现一个可调控的跑马灯,加深学生对单片机概念、程序设计、输入输出等方面的理解,提高学生的程序设计能力。
设计实验材料1. 基于8051单片机的电路板2. LED灯3. 电阻器4. 按钮5. 电源(可使用9V电池或其他稳定的直流电源)实验过程1. 搭建基于8051单片机的电路板,连接LED灯和电阻器2. 编写跑马灯程序,其中需要实现以下功能:(1)通过按下按钮,控制灯的亮灭(2)通过另一个按钮,调整灯的亮度(3)通过另一个按钮,调整灯的闪烁频率3. 烧录程序到单片机中4. 连接电源,测试跑马灯的各项功能程序设计本跑马灯程序采用C语言编写,主要实现以下几个功能:1. 初始化LED灯、按键和定时器等相关IO口2. 判断按键被按下,执行相应的操作3. 调整LED灯的亮灭状态,并通过调整亮度和闪烁频率实现可调控功能程序流程:1. 初始化相关IO口和定时器2. 进入主循环3. 判断按钮是否被按下4. 若开始按钮被按下,则设置灯的状态为ON5. 若结束按钮被按下,则设置灯的状态为OFF6. 若调整亮度按钮被按下,则调整PWM占空比,实现亮度调整7. 若调整闪烁频率按钮被按下,则调整定时器的周期,实现闪烁频率调整8. 延时一段时间9. 回到主循环程序代码:```#include <reg52.h>#define LED P1 // LED灯#define PWM P2 // 调整亮度sbit startButton = P3^0; // 开始按钮sbit endButton = P3^1; // 结束按钮sbit pwmButton = P3^2; // 调整亮度按钮sbit freqButton = P3^3; // 调整闪烁频率按钮void timer0_init() // 初始化定时器{TMOD = 0x01;TH0 = 0x3C;TL0 = 0xB0;TR0 = 1;}void pwm_init() // 初始化PWM {TMOD |= 0x02;TL1 = 0x00;TH1 = 0xFD;ET1 = 0;TR1 = 1;}void main(){unsigned long cnt = 0;unsigned char pwm_value = 0; LED = 0x00;PWM = 0x00;timer0_init();pwm_init();while (1){if (startButton == 0){LED = 0x01;}else if (endButton == 0){LED = 0x00;}else if (pwmButton == 0){pwm_value++;if (pwm_value >= 255){pwm_value = 0;}CCAP0H = pwm_value;}else if (freqButton == 0){cnt++;if (cnt >= 1000){cnt = 0;}TH0 = (65536 - 1000) / 256; TL0 = (65536 - 1000) % 256; }while (TF0 == 0); // 等待定时器 TF0 = 0;}}```实验结果将程序烧录到单片机后,连接电源,按下不同的按钮,可调控跑马灯的亮度和闪烁频率。
单片机闪烁灯跑马灯控制课程设计
闪烁灯跑马灯控制系统河南工院第1章概述 (3)1.1设计的目的及意义 (3)1.2单片机的概述与应用 (3)第2章设计原理 (4)2.1设计要求与基本思路 (4)2.2设计方案选择 (5)2.3设计框图 (5)第3章硬件电路设计 (7)3.1时钟电路 (7)3.2扩展电路 (8)第4章程序设计 (9)4.1 程序设计思路与流程图 (9)4.2程序清单与代码 (11)4.3程序调试 (12)第5章原件明细表 (13)总结 (14)参考文献 (15)第1章概论1.1设计的目的与意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。
作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。
闪烁灯控制系统是利用8051单片机的P1控制的8个发光二极管。
可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1秒,如此循环,紧急情况下,控制P3.1进行报警2S停止。
闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础1.2单片机概述与应用单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。
基于单片机的跑马灯课程设计
课程设计(论文)题目基于单片机的跑马灯学院名称电气工程学院指导教师职称班级学号学生姓名2013年 1 月5日摘要:单片机最小系统是在以STC89C52RC单片机为基础上扩展,使其能更方便地运用于测试系统中。
本设计主要在单片机上扩展I/O口,复位电路,晶振电路,LED显示电路并写好底层程序,做出能应用于跑马灯的最小系统。
矚慫润厲钐瘗睞枥庑赖。
关键词:最小系统,STC89C52RC, 跑马灯The smallest system one chip computer is in expands at the base of MCS-52 one chip computer,make it used more convient in the test system. This design mainly expands I/O in the take 52 on chip computer, reset circuit, crystals circuit, the LED display circuitand writes the first floor procedure.Make for scrolling minimum system.聞創沟燴鐺險爱氇谴净。
Keyword:minimum system, AT89C52, scrolling南华大学电气工程学院《单片机原理及应用课程设计》任务书设计题目:基于单片机的跑马灯专业:电气工程及其自动化学生姓名: 学号:起迄日期: 2013 年12月23日—2014年1月 5日指导教师:《单片机原理及应用课程设计》任务书1.课程设计的内容和要求(包括原始数据、技术要求、工作要求等):1.1设计题目基于单片机的跑马灯1.2设计目的1.单片机最小应用系统的硬件设计技能训练;2.ASM语言或C51语言软件编程与调试技能训练;3.“下载及烧录(固化)程序”开发技能训练;4.Protell软件应用技能训练;1.3控制要求按键及外部中断控制二级管灯(自右向左)1.按键控制16个LED灯循环自右向左依次点亮2.间隔时间可以自行设计《单片机原理及应用课程设计》任务书2.对课程设计成果的要求〔包括图表、实物等硬件要求〕:1 认真阅读课程设计任务书,熟悉有关设计资料及参考资料,熟悉各种设计规范的有关内容,认真完成任务书规定的设计内容。
单片机整套实验及程序交通灯_跑马灯等
单片机整套实验及程序交通灯_跑马灯等一、单片机整套实验及程序介绍单片机是指一种完整的计算机系统,它是一种将控制器、存储器和输入/输出接口等功能合并在一块芯片上的微处理器。
利用它可以实现各种各样的自动控制系统,广泛应用于工业生产、通讯、计算机硬件系统、军事装备等领域。
在学习单片机时,学习实验是很重要的环节,可以帮助我们更好地理解单片机的原理及其应用。
在此提供一个包含跑马灯和交通灯两个实验的单片机整套实验及程序。
通过这两个实验的学习,可以加深自己对单片机逻辑控制原理的理解,同时也可以提高自己的实际操作能力。
二、跑马灯实验1、实验目的熟悉单片机系统的组成,学习使用单片机的输入/输出口,学习单片机的编程语言,并能用单片机实现跑马灯。
2、实验内容和步骤硬件方面:准备好实验板、单片机、按键、电源等硬件设备,连接好,保证正常工作。
软件方面:利用Keil uVision 4软件建立一个新工程,命名为“跑马灯”。
编写代码:根据单片机的输出口、输入口的接口,进行编程设计。
具体步骤如下:1)设置输入口:设置P32口作为设置跑马灯速度的按键,设置P33口作为开关跑马灯的按键。
2)设置输出口:设置P11~P14口的四个灯,作为跑马灯的显示口。
3)编程:程序的主程序是一个死循环,通过循环控制灯的亮灭,以便达到跑马灯的效果。
按键的实现是通过监测按键输出电平的变化来确定开启、关闭跑马灯的命令,同时还可以通过按键来实现调整跑马灯速度的目的。
3、实验结果通过编写代码,连接相应硬件,完成跑马灯的实验,输出口的LED灯像一个个由左向右、由右向左穿梭的小马跑,实验目的达到。
三、交通灯实验1、实验目的熟悉单片机系统的组成,学习使用单片机的输入/输出口,学习单片机的编程语言,并能用单片机实现交通灯系统。
2、实验内容和步骤硬件方面:准备好实验板、单片机、LED灯等硬件设备,连接好,保证正常工作。
软件方面:利用Keil uVision 4软件建立一个新工程,命名为“交通灯”。
单片机课程设计跑马灯
单片机课程设计跑马灯一、教学目标本节课的教学目标是使学生掌握单片机的基本原理和编程方法,通过设计和实现一个跑马灯项目,培养学生运用单片机技术解决实际问题的能力。
具体目标如下:1.知识目标:a.了解单片机的基本结构和原理;b.掌握单片机的编程语言和编程方法;c.熟悉单片机的硬件接口和外围电路。
2.技能目标:a.能够使用单片机开发工具进行程序编写和烧录;b.能够根据项目需求设计单片机的程序;c.能够搭建单片机的硬件电路并进行调试。
3.情感态度价值观目标:a.培养学生对科技创新的兴趣和热情;b.培养学生团队合作精神和自主学习能力;c.培养学生关注社会问题并运用技术解决实际问题的意识。
二、教学内容本节课的教学内容主要包括以下几个部分:1.单片机的基本原理和结构;2.单片机的编程语言和编程方法;3.跑马灯项目的需求分析和设计;4.跑马灯项目的编程和调试;5.跑马灯项目的硬件电路搭建和调试。
三、教学方法为了达到本节课的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解单片机的基本原理、编程语言和编程方法,使学生掌握相关知识;2.案例分析法:通过分析跑马灯项目的需求,引导学生学会项目分析和设计;3.实验法:通过搭建跑马灯项目的硬件电路和编程调试,使学生掌握单片机的实际应用;4.讨论法:在课堂上鼓励学生提问、讨论,促进学生之间的交流和合作。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《单片机原理与应用》;2.参考书:单片机技术的相关书籍;3.多媒体资料:单片机的原理讲解、编程方法演示、跑马灯项目案例分析等视频资料;4.实验设备:单片机开发板、外围电路元件、编程器、调试器等。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。
具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
《单片机应用课程设计》跑马灯
目录第1章课程设计内容及要求 (5)第2章引言 (6)第3章系统硬件电路设计 (7)第4章系统软件设计 (12)第5章课程设计心得 (14)第6章参考文献 (15)第7章附录(实物图,程序清单) (16)第1章课程设计内容及要求一、设计内容:1.1.1、了解各种元器件在电路中的作用和一些芯片的功能,并学会掌握Keil和proteus两个软件;1.1.2、对照原理图在proteus软件中画出原理电路图;1.1.3、检查焊接好的硬件实物图并检验实物图效果;1.1.4、根据实物图写出程序并仿真,并结合Keil和proteus两个软件进行调试和仿真。
二、设计要求:1.2.1外部功能按键连接于(INT0/1)作用时,分别实现开始、停止的功能。
具体过程为:按开始键,LED循环显示,按停止键时,LED循环状态暂停,若正巧最后一个LED被点亮,而其他LED皆熄灭时,表示该操作人获胜,赢得游戏,同时蜂鸣器鸣响较长时间,以示庆祝。
反之则蜂鸣器鸣响较短时间示意输掉游戏。
下次再按下开始键,游戏又开始;1.2.2、按下开关K1,实现跑马灯模式则进行灯循环点亮;1.2.3、按下开关K2,跑马灯停止循环,并停在LED灯中的一个;1.2.4、若是停在P1.0~P1.6中的一个,则响起短时间的音乐并表示游戏失败;1.2.5、若是停在P1.7LED灯时,则该对应的这LED 灯亮并响起较长时间的音乐并表示游戏胜利。
第2章引言跑马灯在单片机系统中一般是用来指示和显示单片机的运行状态,一般情况下,单片机的跑马灯由多个LED发光二极管组成。
在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。
当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。
此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。
本设计使用AT89C2051芯片,利用P1的8个端口连接8个发光二极管,通过P1.0到P1.7的值控制“跑马灯”的亮灭,以达到显示效果。
单片机跑马课程设计
单片机跑马课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解跑马灯程序的设计思路。
2. 使学生了解单片机编程的基本语法和指令,并能运用到跑马灯程序编写中。
3. 帮助学生掌握跑马灯程序中涉及的电子元件使用方法,如LED灯、电阻等。
技能目标:1. 培养学生动手操作单片机的能力,能够独立完成跑马灯程序的下载、调试和运行。
2. 提高学生的问题解决能力,能够分析并解决跑马灯程序中可能出现的故障。
3. 培养学生的团队协作能力,能够在小组内分工合作,共同完成跑马灯项目的设计与实现。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养其创新意识和探索精神。
2. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
3. 增强学生的自信心,使其在跑马灯项目实践中感受到成功的喜悦。
本课程针对单片机跑马项目设计,结合学生年级特点,注重理论与实践相结合,旨在提高学生的动手能力、问题解决能力和团队协作能力。
课程目标具体、可衡量,为后续教学设计和评估提供明确方向。
二、教学内容1. 单片机基本原理:介绍单片机的组成、工作原理,引导学生了解和掌握单片机的基本功能和应用。
- 教材章节:第1章 单片机概述- 内容:单片机的发展历程、内部结构、工作原理。
2. 单片机编程基础:讲解单片机编程的基本语法、指令和编程环境,为学生编写跑马灯程序奠定基础。
- 教材章节:第2章 单片机编程基础- 内容:C语言基础、单片机指令系统、编程环境搭建。
3. 跑马灯程序设计:分析跑马灯程序的设计思路,教授编程技巧,让学生学会编写和调试程序。
- 教材章节:第3章 单片机程序设计实例- 内容:跑马灯程序设计原理、程序编写、调试方法。
4. 电子元件应用:介绍跑马灯项目中涉及的LED灯、电阻等元件的使用方法,指导学生进行电路搭建。
- 教材章节:第4章 电子元件及其应用- 内容:LED灯、电阻、杜邦线等元件的功能和连接方法。
5. 跑马灯项目实践:引导学生分组进行跑马灯项目的设计与实现,培养其动手能力、团队协作能力和问题解决能力。
单片机课程设计--跑马灯设计
单片机课程设计(跑马灯设计)专业:电气自动化摘要AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,即单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
该设计使用AT89C51芯片作为控制芯片,利用P1口连接8个发光二极管,通过I/O的值控制“跑马灯”的亮灭,以达到显示效果。
开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并要求有多种亮暗组合。
关键词:AT89C51单片机跑马灯按键目录摘要 (I)第一章芯片分析和设计概述 (3)第一节AT89C51芯片分析 (3)第二节设计概述 (8)第二章硬件电路设计 (9)第三章程序部分设计 (10)参考文献 (18)第一章芯片分析和设计概述第一节AT89C51芯片分析ATMEL的AT89S51是一种高效微控制器,将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51的芯片引脚图如下:图1.1 AT89C51引脚图各引脚的说明和功能分析如下:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH 编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
单片机课程设计跑马灯的控制
单片机课程设计跑马灯的控制摘要:本设计选择对跑马灯的控制,先构思跑马灯实现预想效果,然后进行分析,根据要求编写程序,选择硬件端口,并进行调试致预想效果,最后浅谈课程设计的经历,以及总结。
目录一)课程设计的目的二)课程设计的要求三)流程图四)原理图五)程序语言六)总结七)参考资料设计题目:试设计一个闪烁跑马灯控制器,该控制器可以控制8个灯顺序亮灭。
当单片机上电后,8个灯依次从左向右亮,并且每个灯亮的时间为1秒钟。
这时,如果按钮K1按下,则灯亮的顺序是从右向左,同样,每个灯亮的时间是1秒钟。
这时,如果按下按钮K2,则此时,4个灯亮4个灯灭,延迟4秒钟以后,又开始从左向右点亮。
最后,若按下按钮K3,则全部灯亮。
此时若想再次点亮灯,必须重新上电。
题目分析:该题目要求控制8盏灯的亮灭,可使用单片机的P1.0到P1.8口来控制。
按钮K1用P3.4口,K2用P3.2口,及外部中断0,K3用P3.3口,及外部中断1,分别来实现。
单片机使用AT89C52,电源使用5V标准电源。
顺序亮灭使用外部中断源构成循环控制语句。
一、课程设计的目的课程设计是本专业集中实践环节的主要内容之一。
训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。
学生通过所做课题,熟悉单片机应用系统开发研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。
例如组成系统、编程、调试、绘图等。
使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。
通过本课程设计,主要达到以下目的:1.使学生增进对单片机的感性认识,加深对单片机理论方面的理解。
2.使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。
3.使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
二、课程设计的要求1.学生需认真阅读课程设计任务书,熟悉有关设计资料及参考资料,熟悉各种设计规范的有关内容,认真完成任务书规定的设计内容。
基于AT89C51单片机的跑马灯电路课程设计
目录1 实验目的 (1)2 元器件清单及简介 (1)3 设计原理及分析 (1)3.1 主要设计要求 (1)3.2 实验总流程图 (2)3.3 实验总图及说明 (3)4 实验中的问题与改进 (3)5 总结 (4)5.1 四级调速 (4)5.2 跑马灯闪烁方向的改变 (5)5.3 跑马灯循环闪烁灯的个数的改变 (6)6 实验分析与心得 (7)参考文献: (9)附录............................................... 错误!未定义书签。
基于AT89C51单片机的跑马灯电路课程设计1实验目的了解AT89C51管脚的基本功能,学会运用Proteus 7.7设计电路,学会运用汇编语言编写程序,来实现跑马灯的左右转换、0.1ms,0.25ms,0.5ms,1ms的四级变速、灯的闪烁个数为1,2,3,4等功能。
使用KEIL C51设计单片机程序,生成HEX文件,将程序烧录到AT89C51芯片中。
然后在实验电路中运行,调试。
2元器件清单及简介3设计原理及分析3.1主要设计要求1.灯的循环左右移动。
2.灯循环闪烁的个数可由1变到4。
3.灯循环闪烁的速度可变,分别是现0.1ms,0.25ms,0.5ms,和1ms的循环转变。
4.能在仿真图和面包板上进行实物运行并实现以上功能。
并能尽量节省器材。
3.2实验总流程图图1实验流程图3.3实验总图及说明图2 实验总图1.右边与P0口相连的8个灯采用上拉电阻方式,采用此方式是因为P0口驱动能力较大,且内部无上拉电阻,因此采用低电平驱动时,需加上拉电阻;且防止因电流过大而烧毁二极管。
2.左边依次与P1.0-P1.5的开关K0、K1、K2、K3、K4、K5,右边与P2.0-P2.3依次相连开关为K6、K7、K8、K9。
3.K0、K1控制灯的闪烁方向;K2、K3、K4、K5控制跑马灯闪烁的速度;K6、K7、K8、K9控制跑马灯灯闪烁的个数。
4.当有开关按下时相应的P口被置0,定时器中扫描P口程序扫描到相应P口为低电平,从而转到相应子程序执行,从而达到1所说功能。
基于单片机的跑马灯控制系统设计__课程设计__学士学位论文
江西环境工程职业学院大专毕业生毕业论文(毕业设计)题目: 基于单片机的可控制跑马灯的设计摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
而51单片机是各单片机中最为典型和最有代表性的一种。
本课程设计是基于MCS51系列单片机所设计的,用AT89S52芯片控制跑马灯(流水灯),整个系统有8种跑马灯模式可以选择,K1是选择模式键,并将相应的模式在LED七段数码管中显示出来,K2可以对跑马灯的速度进行加速,K3可以对跑马灯的速度进行减速。
整个系统可以实现对跑马灯模式的多层控制,还可以进行加减速。
关键词:MCS51、跑马灯、加减速、七段数码管目录摘要 (2)绪论 (4)第一章本设计意义和主要任务、内容概述 (5)1.1设计内容概述 (5)1.2设计的主要任务 (5)1.3设计要求 (5)第二章系统总体方案及硬件电路设计 (6)2.1 AT89C51的硬件结构 (6)2.2 AT89C51的工作模式 (9)2.3 AT89C51程序存储器的加密 (10)2.4 数码管显示原理 (10)2.5 单片机控制原理 (12)2.6 硬件电路设计 (13)第三章系统的软件设计 (14)3.1 程序流程图 (14)3.2 定时/计数器 (15)3.3 程序代码 (15)第四章总结 (16)致谢 (17)附录 (18)参考文献 (22)绪论在生活和生产的各领域中,凡是有制动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面带地下,凡是能想象到的地方几乎都有使用单片机的需求。
现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而没有实现的项目,因此,单片机的应用大有想象和拓展空间。
单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保真安全等。
但是单片机应用的意义绝不仅限于它的广阔范围以及所带来俄经济效益上,更重要的意义还在于:单片机的应用正从根本上改变者传统的控制系统设计思想和设计方法。
单片机跑马灯课程设计ppt课件
关资料,但怎么也没找到,感觉很是沮丧。
•
•
第二天我们又到了图书馆,把几乎所有关于单片机的
书都翻遍了,最后终于找到了三本有关闪烁灯和终端方面
的资料,但却没有和课程设计要求一模一样的。
•
17
•
刚开始我们试着用汇编语言编程,但发现汇编的指令
太多,本题目的8个LED灯都接在单片机的P2口,共有三
种花样和两个中断系统,用汇编实在不好把所有的程序编
• ① RST(Reset)功能:复位信号输入端。
• ② VPD功能:在Vcc掉电情况下,接备用电源。
• ⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
• ① EA功能:内外ROM选择端。
• ② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源 Vpp。
• ⒋ I/O线
1.设计硬件电路,画出电路原理图; 2.画出程序流程图; 3.编制程序,写出源程序代码; 4.写出5000字的详细说明书,要求字迹工整,原理叙 述正确,会计算主要元器件的一些参数,并选择元器件; 5.个人总结。
3
前言
•
随着单片机的问世和飞速发展,掀起了计算
机工程应用的一场新革命,使计算机控制技术广
• 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还
具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
6
51单片机的中断系统
• 中断系统: • 8051单片机的中断系统简单实用,其基本特点是:有5个
固定的可屏蔽中断源,3个在片内,2个在片外,它们在程 序存储器中各有固定的中断入口地址,由此进入中断服务 程序;5个中断源有两级中断优先级,可形成中断嵌套;2 个特殊功能寄存器用于中断控制和条件设置的 编程。 • 中断系统的结构: 5个中断源的符号、名称及产生的条件如下。 INT0:外部中断0,由P3.2端口线引入,低电平或下跳 沿引起。 INT1:外部中断1,由P3.3端口线引入,低电平或下跳 沿引起。 T0:定时器/计数器0中断,由T0计满回零引起。 T1:定时器/计数器l中断,由T1计满回零引起。 TI/RI:串行I/O中断,串行端口完成一帧字符发送/接 收后引起。 整个中断系统的结构框图见下图一所示。
闪烁式跑马灯课程设计
闪烁式跑马灯课程设计一、课程目标知识目标:1. 学生能理解跑马灯的基本原理,掌握闪烁式跑马灯电路的设计与搭建。
2. 学生能够运用所学的电子元件知识,正确选择并使用所需的元器件。
3. 学生理解并掌握跑马灯程序设计的基本思路,能够编写简单的跑马灯程序。
技能目标:1. 学生通过动手实践,培养电路搭建和调试的能力。
2. 学生通过编程实践,提高逻辑思维能力和问题解决能力。
3. 学生能够运用团队协作,共同完成跑马灯项目的制作。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习科学技术的热情。
2. 学生在学习过程中,树立正确的价值观,认识到科技进步对生活的影响。
3. 学生通过团队协作,培养沟通与合作的意识,增强团队荣誉感。
课程性质:本课程为电子技术实践课,以项目式教学为主,注重学生的动手实践能力和创新思维能力的培养。
学生特点:本课程针对的是初中年级学生,他们对电子技术有一定的好奇心,喜欢动手实践,但理论知识相对薄弱。
教学要求:结合学生特点,教师应以引导为主,让学生在实践中学习,注重培养学生的创新意识和实际操作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 理论知识:- 介绍跑马灯的基本原理,包括电路工作原理和程序设计思路。
- 讲解并认识所需的电子元器件,如LED灯、电阻、微控制器等。
- 概述编程基础知识,如循环结构、条件语句等。
2. 实践操作:- 搭建闪烁式跑马灯电路,学习电路连接和调试方法。
- 编写跑马灯程序,掌握程序设计的基本步骤和技巧。
- 实践团队协作,共同完成跑马灯项目制作。
3. 教学大纲:- 第一阶段(1课时):介绍跑马灯原理和电子元器件,明确学习目标。
- 第二阶段(2课时):指导学生搭建电路,讲解编程基础知识。
- 第三阶段(3课时):编写程序,调试电路,完成跑马灯制作。
- 第四阶段(1课时):成果展示,总结评价,交流经验。
4. 教材关联:- 本教学内容与教材中关于电子技术基础、编程入门等章节相关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
闪烁灯跑马灯控制系统河南工院第1 章概述1.1设计的目的及意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..31.2单片机的概述与应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..3第2 章设计原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.. ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42.1设计要求与基本思路⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42.2设计方案选择⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.3设计框图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯. ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5第3 章硬件电路设计⋯⋯⋯⋯⋯⋯⋯.. ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯73.1时钟电路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯.73.2扩展电路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..8第4 章程序设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯94.1程序设计思路与流程图⋯⋯..⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ (9)4.2程序清单与代码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯..⋯114.3程序调试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯.⋯12第 5 章原件明细表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13 总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14 参考文献15第1 章概论1.1设计的目的与意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。
作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。
闪烁灯控制系统是利用8051单片机的P1控制的8 个发光二极管。
可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1 秒,如此循环,紧急情况下,控制P3.1 进行报警2S停止。
闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础1.2单片机概述与应用单片机是将CPU、存储器、定时/计数器以及I/O 接口等主要部件集成在一块芯片上的微型计算机。
单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。
目前国外已经普遍称之为微控制器。
鉴于他完全作嵌入式应用,故又称为嵌入式微控制器单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。
自从20世纪70 年代推出单片机以来,作为微型计算机的一个分支,单片机经过30 多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。
(2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。
(3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。
(4)商用产品:如自动售货机、电子收款机、电子秤。
第2 章设计原理2.1设计要求与基本思路这次单片机课程设计,选择了闪烁灯控制设计,通过查阅各种文献资料,再加上自己以前所学单片机课程的基础,大概的设计思路可概括为以下8 个步骤:⑴通过累加器A给P1口送二进制数,驱动八个发光二极管,低电平发光,高电平熄灭。
⑵编写延时一秒的子程序DELAY,可通过软件定时,也可通过与定时器中断配合来实现。
⑶调用DELAY延时程序。
⑷送0FFH给P1 口,使发光二极管熄灭,再调用DELAY延时程序。
使发光二极管闪烁。
⑸送闪烁次数10 给寄存器R0,通过DJNZ指令,配合DELAY延时程序,实现发关二极管闪烁,当闪烁十次后结束循环。
⑹执行RR(循环右移)指令,指向下一个二极管,重复第5 步。
⑺当8 个发光二极管从左至右依次闪烁完毕后,执行RL(循环左移)指令,重复第5 步,使二极管从右至左一次循环闪烁。
⑻当从右至左循环结束后,重复第6 步,循环闪烁。
由于在起初的硬件中选择了共阳的二极管接法,所以通过给P1 口输送低电平0 ,就可以使二极管发光,输送高电平1 可使二极管熄灭。
单片机中的定时器有四种工作方式,由于工作方式0 和工作方式1 计数溢出后,计数器都全为0,因此,循环定时或循环计数应用时就存在反复设置计数初值的问题。
这不但影响精度,而且也给程序设计带来了不便。
于是,选择工作方式2,它具有自动更新重新加载功能,即自动加载计数初值。
在这种方式下,把16 位计数器分为两部分,即TL 作计数器,TH 作预置寄存器,初始化时把初值分别装入TL和TH中。
为了能够清晰的看见二极管闪烁,选择定时器定时500us, 再通过配合DJNZ指令来实现延时1s的定时。
由于,DJNZ中操作数的范围不能达到2000,所以选择两条DJNZ 指令,一次置200,一次置10,依次循环就可达到要求。
2.2设计方案选择在做本次课程设计时,用到了8051 单片机,由于其程序存储器是掩膜ROM,其编程是由半导体制造厂家完成的,即在生产过程中进行编程,当掩膜ROM制造完成后,用户不能更改其内容。
因此,选择了型号为27256(32KB)的EPROM作为它的程序存储扩展。
同时EA引脚必须有效,方可访问外扩程序存储器。
在引脚的连接时,8051单片机的PSEN引脚须接EPROM 的OE 端,当PESN有效时,允许读出EPROM 中的指令码。
同时,ALE 接74LS373译码器的G引脚,当CPU 访问片外存储器时,ALE 输出信号作为锁存低8 位地址的控制信号,以实现低位地址和数据的隔离。
因此,其程序存储器扩展图如图2 所示。
单片机的复位操作有上电自动复位和按键自动复位两种方式。
上电复位是通过外部复位电路的电容充电来实现的。
电容C1选择10uf,电阻选择10K,这样,只要电源VCC 的上升时间不超过1ms,就可实现上电复位,即接通电源就完成了系统的复位初始化。
时钟电路用于产生单片机工作所需的时钟信号。
在MCS-51 系列单片机芯片外部,X1 和X2 之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。
电容器C2 和C 通常3取30pf,对振荡频率有微调作用,选择振荡频率为12MHZ 的石英晶体。
2.3设计框图VCC图1 闪烁灯控制设计硬件接GNDP0.7P2.7VCC 线图第3 章硬件电路设计3.1 时钟电路图2 8051 内部时钟电路图3 8051 外部时钟电路扩展电路外扩程序存储器的空间地址,是由P2 口提供高八位地址,P0 口分时提供低8 位地址和用作8位双向数据总线。
在设计硬件接线时,使27256 芯片的片选信号CE 始终保持有效,低八位A0~A7 通过74LS373 译码器连接P1 口,高七位A8~A14 连接P2.0~P2.6,具体连接如图2 所示。
因此其地址范围位0000H~7FFFH 其程序存储扩展图如图所示。
图 4 8051 程序存储扩展图第四章程序设计4.1 程序设计思路与流程图闪烁灯分8 个发光二极管,从左到右闪烁,或者从右到左闪烁,均呈现一个亮,而其余全灭的现象,8 个灯有8051统一控制,其亮灯条件说明表如下表1 闪烁灯灯亮的条件说明表流程图的绘制为编程提供了便利,通过对控制要求的理解而绘制的流程图可以让我们对控制过程更加熟悉并且编程的进行也变得有据可寻。
流水灯控制设计的流程图如图所示。
图 5 闪烁灯流程图4.2 程序清单与代码 ORG 0000H;程序存放的起始地址AJMP MAIN;上电,转向主程序ORG 0003H;外部中断 0 入口地址AJMP LOOP;转向中断服务程序ORG 0030H;主程序MAIN: SETB EX0;允许外部中断 0 中断SETB IT0;选择边沿触发方式SETB EA;CPU 开中断MOV R0,#10;将闪烁次数 10 送入 R0MOV R2,#8;将灯的数量 8 送入 R2MOV A,#07FHLOOP: MOV P1,A;使最左边的一个二极管发光LCALL DELAY;调用延时 1s 的子程序MOV P1,#0FFH;使最左边的一个二极管熄灭LCALL DELAY;调用延时 1s 的子程序DJNZ R0,LOOP;循环闪烁十次RR A;指向下一个二极管MOV R0,#10;再次将闪烁次数 10 次送入 R0DJNZ R2,LOOP;8 个灯从左到右依次闪烁完毕MOV R2,#8LOOP1: MOV P1,A;使最右边的一个二极管发光LCALL DELAY;调用延时 1s 的子程序MOV P1,#0FFH;使最右边的一个二极管熄灭LCALL DELAY;调用延时 1s 的子程序DJNZ R0,LOOP;循环闪烁十次RL A;指向下一个二极管MOV R0,#10;再次将闪烁次数 10 次送入 R0DJNZ R2,LOOP1 ;8 个灯从右到左依次闪烁完毕LJMP MAIN;转向主程序DELAY: MOV R5,#200MOV R7,#10;定时器 1 工作于方式 2 ;送初值;允许定时器 1 中断 ;P2.0 输出置 1 ;启动定时器 1;定时 500us 到, 转向 LOOP4执行;停止定时器 1 ;P2.0 输出取反;循环 2000 次定时程序,延时 1s ;返回 ;程序结束4.3 程序调试将编好的程序写入,单片机外部电源等调试完成后按下 P1,可以看到发光二极管从左到右一次点亮,并且每个二极管再点亮到熄灭的时间维持在 1 秒;延时 1s 的 DELAY 子程序LOOP2: MOV TMOD,#20HMOV TH1,#06H MOV TL1,#06H SETB ET1 SETB P2.0 SETB TR1LOOP3: JBC TF1,LOOP4SJMP LOOP3LOOP4: CLR TR1CLR P2.0 DJNZ R7,$ DJNZ R5,LOOP2 RET END左右。