基于单片机的跑马灯课程设计(1)

合集下载

单片机原理与应用课程设计-基于单片机的音乐跑马灯设计

单片机原理与应用课程设计-基于单片机的音乐跑马灯设计

单片机原理与应用课程设计设计课题:音乐跑马灯班级:小组成员:时间:2013年1月6日音乐跑马灯的设计一、实验内容:1.使用8个发光管作跑马灯,其中有3种亮灭模式。

2.有专门的开关K1~K3用来切换跑马灯的模式。

3.每一种跑马灯模式用LED数码管进行显示1、2、3。

4.当跑马灯处于某种模式时,有对应的音乐响起。

有三首曲子可以选着。

提示:亮灭模式自己设计,可以从速度或者点亮方法上设计。

响音乐的程序可以参考实验手册上《电子音响》部分。

二、实验原理:用三个开关控制音乐跑马灯的三种模式,每一种模式都是在LED数码管显示模式的号码的同时先响音乐后闪灯。

跑马灯采用P3口作为输入口,外接三个开关用来控制跑马灯的亮灭模式。

P1口做输出口,P1口接的8个发光二极管L1~L8按16进制方式点亮发光二极管,即8个发光管相当于8位的二进制位。

当数值为1时,L1点亮;数值为2=00000010B时,L2点亮;数值为4=00000100时,L3点亮,依次类推。

不同的音符对应不同的频率,所以只要用不同频率的信号驱动喇叭,就能发出不同的音符了,所以转换为使用定时器在P1.7引脚输出某一频率的方波脉冲即可。

单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,因此单片机奏乐只需弄清楚两个概念,也就是“音调”和“节拍”。

音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间,乐谱中每一个音符都与某一个特定的频率相对应,所以只需要产生不同频率的方波信号(产生不同音调),并且延时不同的时间(产生不同节拍),即可完成音乐的播放。

三、硬件原理:1.跑马灯亮灭模式原理图,如图(1)所示。

图(1) 跑马灯亮灭模式原理图2.让喇叭响音乐的原理图,如图(2)所示。

图(2) 电子音响原理图3.使第三个LED数码管显示1、2、3、4、5,如图(3)和(4)所示。

图(3) LED共阳极连接原理图图(4) LED数据显示示意图用三个开关(K1~K3)控制音乐跑马灯的三种模式,每一种模式都是在LED 数码管显示模式的号码的同时先响音乐后闪灯。

单片机闪烁灯跑马灯控制课程设计

单片机闪烁灯跑马灯控制课程设计

单片机闪烁灯跑马灯控制课程设计单片机闪烁灯跑马灯控制课程设计报告一、引言本课程设计旨在通过学习和实践单片机(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; // 标记按键状态已经改变}}}。

《微型计算机系统》课程设计基于单片机的跑马灯设计大学论文

《微型计算机系统》课程设计基于单片机的跑马灯设计大学论文

《微型计算机系统》课程设计任务书题目名称:基于单片机的跑马灯设计专业自动化班自本132 姓名刘鑫伟学号201328201 学校:青岛理工大学自动化学院指导教师:史贺男2015年11月30日青岛理工大学自动化工程学院课程设计任务书课程名称:微型计算机系统设计题目:基于单片机的跑马灯设计系统硬件要求:根据实际要求,以MCS-51单片机为核心,设计3个按键,每个按键对应一个花样,可手动显示,即按一个按键,显示一种花样,也可以再设计一个按键用于连续显示每个花样,每个花样显示的时间和花样设计者自己规定,并在论文中给定。

设计控制系统硬件电路,编写C语言或汇编语言程序,并用PROTEUS软件进行实时仿真。

要求:(1)扩展接口(8255或8155),设计至少4个按键(2)设计至少32个LED(3)LED显示至少有3种花样,可单独显示也可自动循环显示软件设计:1)主程序设计2)各功能子程序设计其他要求:1、每位同学独立完成本设计。

2、依据题目要求,提出系统设计方案。

3、设计系统电路原理图。

1、调试系统硬件电路、功能程序。

2、编制课程设计报告书并装订成册,报告书内容(按顺序)(1)报告书封面(2)课程设计任务书(3)系统设计方案的提出、分析(4)系统中典型电路的分析(5)系统软件结构框图(6)系统电路原理图(7)源程序(8)课设字数不少于3000字目录第一节AT89C51芯片分析 (I)第二节设计概述 (3)第三节算法 (5)第四节编程技巧 (7)第五节电路设计及功能说明,硬件原理框图及电路图(包括接口芯片简介).8 第六节调试过程中的主要难点(自己遇到的)及解决思路和办法; (8)课设结果及分析、收获、体会和建议; (9)参考文献 (10)附录1 (11)附录2 (12)第一节AT89C51芯片分析ATMEL的AT89S51是一种高效微控制器,将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

单片机课程设计报告跑马灯

单片机课程设计报告跑马灯

单片机课程设计报告跑马灯武汉纺织大学单片机课程设计报告设计课题:跑马灯指导教师:刘丰姓名:颜珊曹坤班级:应电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)为第二数据通道。

基于msp430g2553单片机跑马灯设计(DOC)

基于msp430g2553单片机跑马灯设计(DOC)

单片机的出现时计算机发展史上的一个重要里程碑,它开辟了计算机技术的另一个领域——嵌入式(Embedded)计算机领域。

所谓单片机就是把中央处理器、存储器、定时器、I/0接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。

单片机把微型计算机的各主要部分集成在一块芯片上,大大缩短了系统内信号传送距离,从而提高了系统的可靠性及运行速度。

所以单片机是典型的嵌入式系统,是嵌入式系统低端应用的最佳选择。

自20世纪70年代以来,单片机在工业测控、仪器仪表、航空航天、军事武器、家用电器等领域的应用越来越广泛,功能也越来越完善。

由单片机及各种微处理器、DSP所构成的嵌入式系统设计已成为电子技术产业发展的一项重要内容。

单片机技术也成为电子技术及自动化专业必须掌握的技术之一。

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本设计主要以msp430g2553单片机为基础应用I/O口,复位电路,晶振电路并写好底层程序,做出能应用于跑马灯的最小系统。

关键词:最小系统,嵌入式,msp430g2553,跑马灯1. 绪论 (3)2. 设计方案及分析 (5)2.1 设计目的 (5)2.2 设计要求 (5)2.3 LED灯管 (5)2.3.1 LED灯简介 (5)2.3.2 LED原理 (6)2.4 系统框图 (7)2.5 系统的软件设计 (7)2.5.1 程序编写部分 (7)2.5.2 延时的计算 (8)2.5.3 程序流程图 (8)2.5.4 跑马灯的效果描述 (9)2.6 系统调试及结果分析 (10)3. 总结和体会及遇到的问题 (12)4. 致谢 (13)附录 (14)参考文献 (20)1.绪论由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。

单片机花样走马灯课程设计

单片机花样走马灯课程设计

花样走马灯一设计目的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。

基于AT89S52单片机的多模式带音乐跑马灯设计实训报告

基于AT89S52单片机的多模式带音乐跑马灯设计实训报告

基于AT89S52单片机的多模式带音乐跑马灯设计实训报告一、实训目的和要求本次实训的目的是通过设计一个基于AT89S52单片机的多模式带音乐跑马灯,加深对单片机、音乐、跑马灯等知识的理解,提高实际动手能力和创新能力。

要求通过实训设计实现以下功能:1.实现多种跑马灯效果,包括顺序、逆序、左移、右移等;2.实现音乐播放功能,增加趣味性;3.设计合理的电路布局和编程结构,提高系统的稳定性和可靠性。

二、实训内容和方案设计1.系统硬件设计:(1)主控单板:采用AT89S52单片机作为主控制器;(2)驱动器:使用ULN2003芯片驱动数码管和LED灯;(3)时钟电路:使用晶振频率为11.0592MHz的电路;(4)音频输出电路:使用LM386音频放大器作为音频输出电路。

2.程序设计:(1)主程序框架设计:主程序采用无限循环方式,根据按键输入选择跑马灯模式;(2)跑马灯模式设计:根据不同模式选择,使用对应的跑马灯效果函数进行控制;(3)音乐播放设计:通过PWM脉冲宽度调制方式,实现音乐播放功能。

三、实训步骤和实施过程1.硬件部分:(1)按照设计方案进行电路布线和焊接;(3)连接数码管、LED灯和音频输出电路,进行功能测试。

2.软件部分:(1) 在Keil C中建立项目并编写主程序的框架;(2)编写跑马灯效果函数,实现不同的跑马灯模式;(3)编写音乐播放函数,通过PWM方式产生不同频率的方波实现音乐播放;(4)完善主程序框架,添加按键输入和模式选择功能。

四、实训结果和实验分析经过实际测试,多模式带音乐跑马灯设计实现了预期的功能,能够根据用户的选择进行不同的跑马灯模式和音乐播放。

实训过程中,需要注意以下问题:1.硬件部分需要精确连接,尤其是音频输出电路的设计,需要注意电路布线,以防止杂音和干扰。

2.在软件编程过程中,需要合理利用中断和定时器等功能,确保跑马灯的流畅切换和音乐的正常播放。

3.在调试过程中,可以逐步调试并测试每个模块的功能,确保整个系统的稳定性和可靠性。

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

电气及自动化课程设计报告题目:基于单片机的跑马灯课程设计课程:单片机原理及其应用****:***学生学号: ********** 年级: 2014级专业:电气工程及其自动化班级: 3班****:***机械与电气工程学院制2016年11月目录1 设计的任务与要求 (1)1.1 课程设计的任务 (1)1.2 课程设计的要求 (1)2 芯片分析和设计概述 (2)2.1 AT89C51芯片分析 (2)3 设计概述 (5)4 硬件电路设计 (6)5 程序部分设计 (7)6 实验总结 (12)7 参考文献 (12)基于单片机的跑马灯课程设计学生:刘昊杰指导教师:缪玉桂机械与电气工程学院电气工程及其自动化专业1 设计的任务与要求1.1 课程设计的任务(1)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。

(2)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。

(3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

(4)与模拟电子技术,数字电子技术等课程相结合,进一步熟悉和掌握单片机的结构及工作原理,为以后所学的后续课程打下良好的基础。

(5)通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

1.2 课程设计的要求该设计使用AT89C51芯片作为控制芯片,利用P1口连接8个发光二极管,通过I/O 的值控制“跑马灯”的亮灭,以达到显示效果。

开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并要求有多种亮暗组合。

2 芯片分析和设计概述2.1 AT89C51芯片分析ATMEL的AT89S51是一种高效微控制器,将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51的芯片引脚图如下:图2.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门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态(4-2-2)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC 指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE 禁止,置位无效。

PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3 设计概述本程序设计意在展示跑马灯的色彩样式及“跑马”变换效果,如果将跑马灯做大,会有很高的观赏价值。

通过对一些相关书籍资料的查阅及网上各种作品和代码的浏览,对各种实现代码的比较和优化,总结出本程序,以较优秀的代码实现各种可控的“跑马灯”功能。

硬件系统部分包括显示部分、按键控制部分和控制芯片。

系统框图如下图3.1 系统框图本设计使用89C2051芯片作为控制芯片,利用P1口连接8个发光二极管,通过P3接口连接按键S作控制开关的输入,控制开关连接INTO中断,通关按键触发中断响应控制“跑马灯”的亮灭,以达到显示效果。

开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并设计多种亮暗组合。

硬件电路连接图如下:图4.1 硬件电路连接图程序设计思路:开始时跑马灯全亮,接着读取按键状态,当按键没有闭合时,一直在此查询按键状态;当有按键真正闭合后,开始读程序存储器,调出I/O值送给P1口,实习一次LED状态改变。

然后再检查按键状态,若无闭合,继续读程序存储器;否则,在此循环,直到按键再次按下才读程序存储器。

主程序的流程图如下:图5.1 主程序流程图主程序源代码如下:S EQU P3.2ORG 0000HLJMP STARTORG 0030HSTART:MOV P1,#00H ;初始化P1口,LED全亮CLR 00H ;清标志位00HX2:JB S,X1LCALL DEL10 ;延时10MS的消抖X1:JB S,X2JNB S,$ ;等待按键松开MOV A,#00HLOOP:JB 00H,X3 ;判断00H位MOV R2,AMOV DPTR,#TABMOVC A,@A+DPTRINC R2MOV P1,ALCALL DELAY ;延时125MSMOV A,R2CJNE R2,#85,X3 ;判断读程存是否为最后一列MOV P1,#00H ;初始化P1口MOV A,#00HX3:JB S,LOOP ;查询按键状态LCALL DEL10JB S,X3JNB S,$CPL 00HLJMP LOOP;****************************** ; 延时125ms;****************************** DELAY:MOV R5,#5DL:MOV R4,#50DL2:MOV R3,#250DL1:DJNZ R3,DL1DJNZ R4,DL2DJNZ R5,DLNOPRET;****************************** ; 延时10ms;****************************** DEL10:MOV 7FH,#42DEL10MS:MOV 7EH,#119DJNZ 7EH,$DJNZ 7FH,DEL10MSRETTAB:DB 00000000bDB 11111111bDB 00000000bDB 00000000bDB 00000000bDB 11111111b DB 00000000b DB 11111111b DB 11111110B DB 11111101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111BDB 10111111B DB 11011111B DB 11101111B DB 11110111B DB 11111011B DB 11111101B DB 11111110B DB 11111111BDB 11111100B DB 11110011B DB 11001111B DB 00111111B DB 11001111B DB 11110011B DB 11111100B DB 11111111BDB 00001111B DB 00001111B DB 11110000B DB 00001111B DB 00001111B DB 11110000B DB 00000000B DB 11100000B DB 01110000B DB 00111000B DB 00011100B DB 00001110B DB 00000111B DB 01111110B DB 10111101B DB 11011011B DB 11100111B DB 11011011B DB 10111101B DB 01111110B DB 11111110B DB 11111100B DB 11111000B DB 11110000B DB 11100000B DB 11000000B DB 10000000B DB 00000000B DB 10000000BDB 11100000BDB 11110000BDB 11111000BDB 11111100BDB 11111110BDB 11111111BEND6 实验总结单片机是一门应用性和实践性非常强的学科,必须要多动手,多做实验。

相关文档
最新文档