可中断LED流水灯课程设计
led点阵花流水灯课程设计

led点阵花流水灯课程设计一、课程目标知识目标:1. 让学生理解LED点阵的基本原理和电路组成;2. 掌握流水灯的设计方法,包括编程和电路连接;3. 了解点阵花流水灯在实际应用中的功能与作用。
技能目标:1. 学会使用相关软件进行电路设计和编程;2. 能够独立完成LED点阵花流水灯的制作与调试;3. 提高学生动手操作能力和问题解决能力。
情感态度价值观目标:1. 培养学生对电子制作的兴趣和热情,激发创新意识;2. 培养学生团队合作精神,学会互相交流、分享经验;3. 增强学生对科技改变生活的认识,提高社会责任感。
课程性质:本课程为实践性较强的课程,结合理论知识,锻炼学生动手能力和创新思维。
学生特点:针对中学生,具备一定的物理知识和电子制作基础,对新鲜事物充满好奇心。
教学要求:教师需引导学生掌握基本原理,注重实践操作,鼓励学生思考、创新,提高课堂互动性。
将课程目标分解为具体的学习成果,便于教学设计和评估。
1. 理论知识:- 介绍LED点阵的原理、结构和应用;- 讲解点阵花流水灯电路的组成和功能;- 概述编程控制LED点阵的基本方法。
2. 实践操作:- 使用相关软件(如Arduino)进行电路设计和编程;- 学习如何将LED点阵与微控制器连接,实现流水灯效果;- 动手制作LED点阵花流水灯,进行调试与优化。
3. 教学大纲:- 第一章:LED点阵原理及电路组成(1课时)- 第二章:流水灯设计方法与编程(2课时)- 第三章:LED点阵花流水灯制作与调试(2课时)4. 教材关联:- 《电子技术基础》第四章:数字电路基础;- 《Arduino编程与实践》第三章:数字输出与LED控制。
教学内容安排和进度:- 第一周:理论学习,了解LED点阵原理及电路组成;- 第二周:实践操作,学习流水灯设计方法与编程;- 第三周:实践操作,制作LED点阵花流水灯并进行调试与优化。
教学内容旨在确保学生掌握科学性和系统性的知识,结合教材章节,使学生在实践中提高技能,达到课程目标。
实验五 广告流水灯中断控制

实验五广告流水灯中断控制实验五广告流水灯中断控制一、实训目的1、用外部中断源的中断控制方法控制发光二极管亮灭。
2、学习外部中断技术的基本使用方法。
3、学习中断处理程序的编写方法。
二、实训预备知识1、单片机中断系统包括5个中断请求源,4个中断控制寄存器IE、IP、TCON、SCON用来控制中断的请求、中断的开关和各种中断源优先级的确定。
2、编写中断处理程序需要注意的问题是:(1)保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
(2)必须在中断处理程序中设定是否允许中断重入,即设置EX0或EX1位。
一般进入中断处理程序时应保护现场,在退出前恢复现场。
另外中断处理程序中涉及到关键数据的设置时应关闭中断,即设置时不允许中断重入。
三、实训设备:微机一台、实训箱、THKL-C51仿真器、扁平数据线和一条串行数据通信线。
四、实训内容(2)从PROTEUS库中选取元器件单击“P”按钮,在其左上角“Keywords”(关键字)一栏中输入以下元器件的关键字,将以下元器件添加到对象选择器中。
①AT89C51:单片机②RES:电阻③LED-GREEN:绿色发光二极管④CAP、CAP-ELEC:电容、电解电容⑤CRYSTAL:晶振⑥74LS04:反相器⑦BUTTON:按钮⑧SOUNDER:喇叭图4-2 单击“P”按钮(3)放置元器件:按照原理图合理放置元器件。
(4)放置电源和地(终端)单击工具栏中的终端按钮,在对象选择器中选取电源(POWER)、地(GROUND),用上述放置元器件方法分别放置于编辑区中。
(5)电路图连线系统默认自动扑捉和自动布线有效。
只要在两端点相继单击,便可画线。
画折线,在拐弯处单击;若中途想取消,可右双击或按“Esc”;若终点在空白初,左双击即可结束。
(6)设置、修改元器件的属性先右击后左击各器件,在弹出的属性编辑框中设置、修改它的属性。
(7)电气检测选择【Tools】/【Electrical Rule Check】菜单项,出现电气检查报告单,无错误,则用户可执行下一步。
l流水灯课程设计

l流水灯课程设计一、教学目标本课程旨在通过流水灯的制作,让学生了解和掌握基础的电子电路知识,培养学生动手实践能力和团队协作能力。
知识目标:使学生了解流水灯的原理,掌握基本的电子元件使用方法,了解简单的电路图阅读和绘制。
技能目标:培养学生使用电子工具的能力,如切割、焊接、组装等,训练学生解决实际问题的能力,提高学生的创新思维。
情感态度价值观目标:培养学生对科学探究的兴趣,激发学生对工程技术领域的热情,强化学生的环保意识。
二、教学内容本课程的教学内容主要包括流水灯的原理、电子元件的使用、电路图的阅读和绘制、流水灯的制作等。
1.流水灯的原理:介绍流水灯的工作原理,使学生了解电路的基本构成。
2.电子元件的使用:详细讲解各种电子元件的功能和用途,如电阻、电容、二极管、晶体管等。
3.电路图的阅读和绘制:教授学生如何阅读电路图,如何根据需求绘制电路图。
4.流水灯的制作:指导学生动手制作流水灯,培养学生的实践操作能力。
三、教学方法本课程将采用讲授法、实践法、小组讨论法等教学方法。
1.讲授法:用于讲解流水灯的原理、电子元件的使用和电路图的阅读和绘制。
2.实践法:用于流水灯的制作环节,让学生动手实践,提高操作能力。
3.小组讨论法:用于解决制作过程中遇到的问题,培养学生的团队协作能力和解决问题的能力。
四、教学资源教学资源包括教材、参考书、多媒体资料、实验设备等。
1.教材:提供基础的理论知识,指导学生学习。
2.参考书:丰富学生的知识视野,帮助学生更深入地理解电子电路知识。
3.多媒体资料:通过视频、图片等形式,生动形象地展示流水灯的原理和制作过程。
4.实验设备:包括电子元件、电路板、焊锡丝等,用于学生的实践操作。
五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面、客观、公正地评价学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等,评估学生的学习态度和理解程度。
2.作业:布置相关的电路设计、实验报告等作业,评估学生的掌握程度和应用能力。
流水灯led毕业设计

流水灯led毕业设计流水灯(LED)毕业设计引言:在现代科技发展的背景下,LED(Light Emitting Diode,发光二极管)作为一种新型照明技术,被广泛应用于各个领域。
在本文中,将介绍一个基于流水灯(LED)的毕业设计项目,探讨其设计思路、实现方法以及应用前景。
一、设计思路1.1 设计目标流水灯作为一种常见的照明装饰,常用于舞台灯光、建筑物照明等场合。
本设计旨在通过使用LED灯珠,实现一个具有良好视觉效果的流水灯,同时考虑到节能环保的特点。
1.2 设计原理流水灯的工作原理是通过控制LED灯珠的亮灭顺序和时间间隔,使得灯珠在空间上形成流动的效果。
为了实现这个目标,需要使用微控制器、电路板和LED 灯珠等元件。
二、实现方法2.1 硬件设计在硬件设计方面,需要考虑以下几个关键点:(1)LED灯珠的选择:选择高亮度、低功耗的LED灯珠,以确保流水灯的亮度和节能性。
(2)电路板设计:设计合理的电路板,将LED灯珠与微控制器相连,以实现流水灯的控制和调节。
(3)电源供应:选择适当的电源供应方式,确保流水灯的正常工作。
2.2 软件设计在软件设计方面,需要编写程序控制LED灯珠的亮灭顺序和时间间隔。
可以使用C语言或者其他编程语言,通过控制微控制器的输出口,实现流水灯的效果。
三、应用前景流水灯作为一种照明装饰,具有广泛的应用前景。
随着人们对照明环境的要求越来越高,流水灯的市场需求也在不断增加。
在舞台演出、商业广告、城市景观等领域,流水灯都有着广泛的应用。
而且,由于LED灯珠具有节能环保的特点,流水灯的使用也符合现代社会对绿色环保的追求。
结论:通过对流水灯(LED)毕业设计的介绍,我们可以看到LED照明技术在流水灯领域的应用前景十分广阔。
通过合理的硬件设计和软件编程,可以实现一个具有良好视觉效果的流水灯。
同时,流水灯的使用还能够满足节能环保的需求,具有广泛的市场潜力。
相信在未来的发展中,LED流水灯将会在照明装饰领域发挥更加重要的作用。
中断实现流水灯程序编写

;启动T1
MOV R3,#0AH
;置0.5s定时的循环初值为10
DISP: MOV A, #0FEH
;P1端口输出低电平点亮发光二极管
MOV P1,A
;P1端口初始化亮灯状态
SJMP $
;主程序完成初始化,等待中断
;**********中断服务子程序 ************* ;中断服务子程序名:CONT ;程序功能:定时器50ms定时时间到时进入中断服务程序:重置计数初值, 判断0.5s到则移位流水灯
程序结构包括主程序(定时器的初始化和中断初始化设 置)和中断服务子程序。
;*********** 0.5s移位流水灯中3_2.asm
;程序功能:采用定时器1的中断方式实现0.5s移位的流水灯功能
ORG 0000H
;程序入口
AJMP MAIN
;指向主程序
CONT: EXIT:
MOV MOV DJNZ MOV RL MOV RETI END
TH1,#3CH TL1,#0B0H R3,EXIT R3,#0AH A P1,A
;重置50ms定时初值
;判断0.5s定时到否 ;重置0.5s循环初值 ;流水灯左移一位输出显示
;中断返回
中断实现流水灯程序编写
【例3.2】 中断方式实现的0.5s定时。采用本项目任务 1中的硬件电路,用中断方式
实现每隔0.5s向左移位一次的流水灯控制。 (1)题意分析
本实例是用定时器作为中断源,每隔50ms的定时时间产 生一个定时器中断请求,在中断服务子程序中判断是否到 0.5s(统计50ms的次数为10次时),时间到则实现信号灯的 一次左移操作。
ORG 001BH
;声明定时器1中断入口地址
AJMP CONT
最新单片机课程设计 外部中断控制流水灯变化

单片机课程设计报告设计题目:外部中断控制流水灯变化姓名一.设计目的通过学习单片机工作原理和各种工作方式及各管脚的功能,想通过P3口的俩管脚P3.2和P3.3第二功能,即外部中断来使CPU响应,达到控制流水灯的目的。
二.设计要求主程序实现8个灯从P2.0到P2.7依次亮灭,灯与灯之间间歇约0.5秒.当P3.3口是低电平时,灯从P2.7到P2.0依次亮灭,灯与灯之之间间歇约0.5秒.循环3次返回主程序.当P3.2口是低电平时,灯全灭,当P3.2口是高电平时,返回主程序.当同时使P3.2和P3.3为低电平时,灯全灭,因为外部中断0的优先级高于外部中断1的优先级. 三.MCS-51的硬件结构:四.P3口的状态P3口是双功能口,默认为第一功能(通用I/O口),通过编程可设置第二功能。
五.中断传送方式:中断方式则是在外设为数据传送做好准备之后,就向CPU发出中断请求信号(相当于通知CPU)。
CPU接收到中断请求信号之后立即作出响应,暂停正在执行的原程序(主程序),而转去外设的数据输入输出服务,待服务完之后,程序返回。
CPU再继续执行被中断的原程序。
六.外部中断外部中断是指从单片机外部引脚输入请求信号。
输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚INT0、INT1输入。
外部中断请求、有两种触发方式:电平触发及跳变(边沿)触发。
这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。
七.电路原理逻辑图如下:P3.3 P3.2 灯亮情况0 0 全灭0 1 全灭1 0 从P2.0到P2.7依次亮灭1 1 从P2.7到P2.0依次亮灭八.实验硬件电路图如下九.程序流程图如下十.程序清单ORG 0000HAJMP STARTORG 0003HAJMP SERORG 0013HAJMP SER1ORG 0030HSTART: MOV I E,#85H ;外部中断0和1都开MOV I P,#01H ;外部中断0级优先高MOV TCON,#00H ;低电平出发MAIN: MOV A,#0FEH ;P2.0口亮MOV P2,AACALL TIMO ;延时RL A ;循环左移SJMP RESSER1: MOV R2,#18H ;循环3次MOV A,#0EFH ;P2.7口亮SER2: MOV P2,AACALL TIMO ;延时RR A ;循环右移DJNZ R2,SER2RETITIMO: MOV R5,#50 ;延时子程序LOOP1: MOV R6,#100LOOP2: MOV R7,#50LOOP3: DJNZ R7,LOOP3DJNZ R6,LOOP2DJNZ R5,LOOP1RETSER: MOV P2,#0FFH ;灯全灭RETIEND十一.课程设计总结:通过本次课程设计,发现了学习中一些不足的地方,及时进行了补充学习。
单片机课程设计外部中断控制流水灯变化

单片机课程设计外部中断控制流水灯变化-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN单片机课程设计报告设计题目:外部中断控制流水灯变化姓名一.设计目的通过学习单片机工作原理和各种工作方式及各管脚的功能,想通过P3口的俩管脚和第二功能,即外部中断来使CPU响应,达到控制流水灯的目的。
二.设计要求主程序实现8个灯从到依次亮灭,灯与灯之间间歇约秒.当口是低电平时,灯从到依次亮灭,灯与灯之之间间歇约秒.循环3次返回主程序.当口是低电平时,灯全灭,当口是高电平时,返回主程序.当同时使和为低电平时,灯全灭,因为外部中断0的优先级高于外部中断1的优先级.三.MCS-51的硬件结构:四.P3口的状态P3口是双功能口,默认为第一功能(通用I/O口),通过编程可设置第二功能。
五.中断传送方式:中断方式则是在外设为数据传送做好准备之后,就向CPU发出中断请求信号(相当于通知CPU)。
CPU接收到中断请求信号之后立即作出响应,暂停正在执行的原程序(主程序),而转去外设的数据输入输出服务,待服务完之后,程序返回。
CPU再继续执行被中断的原程序。
六.外部中断外部中断是指从单片机外部引脚输入请求信号。
输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚INT0、INT1输入。
外部中断请求、有两种触发方式:电平触发及跳变(边沿)触发。
这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。
七.电路原理逻辑图如下:灯亮情况00全灭01全灭10从到依次亮灭11从到依次亮灭八.实验硬件电路图如下九.程序流程图如下十.程序清单ORG 0000HAJMP STARTORG 0003HAJMP SERORG 0013HAJMP SER1ORG 0030HSTART: MOV IE,#85H ;外部中断0和1都开MOV IP,#01H ;外部中断0级优先高MOV TCON,#00H ;低电平出发MAIN: MOV A,#0FEH ;口亮MOV P2,AACALL TIMO ;延时RL A ;循环左移SJMP RESSER1: MOV R2,#18H ;循环3次MOV A,#0EFH ;口亮SER2: MOV P2,AACALL TIMO ;延时RR A ;循环右移DJNZ R2,SER2RETITIMO: MOV R5,#50 ;延时子程序LOOP1: MOV R6,#100LOOP2: MOV R7,#50LOOP3: DJNZ R7,LOOP3DJNZ R6,LOOP2DJNZ R5,LOOP1RETSER: MOV P2,#0FFH ;灯全灭RETIEND十一.课程设计总结:通过本次课程设计,发现了学习中一些不足的地方,及时进行了补充学习。
中断方式流水灯设计

void InitInt0(void);
void delay02s(void) //延时0.2秒子程序
{
unsigned char i,j,k; //定义3个无符号字符型数据。
for(i=20;i>0;i--) //作循环延时
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
void InitInt0(void)
{
IT0 = 1;//设置中断0为跳变触发方式
IT1 = 1;//设置中断1为跳变触发方式
IE = 0x85;//CPU开放中断,允许INT0、INT1中断
IP = 0x04;
}
void Int0Interrupt(void) interrupt 0 // 实现要求子程序(key1按下时实现逐盏点亮,逐盏灭掉)
temp=0xfe;
P0=temp; P2=temp;P3=temp;delay02s();
for(y=1;y<8;y++)
{
u=temp<<y;
v=temp>>(8-y);
P0=u|v;
P2=u|v;
P3=u|v;
delay02s();
}
for(y=1;y<8;y++)
{
u=temp>>y;
v=temp<<(8-ykey2=P1^2;
sbit key3=P1^4;
sbit W1=P1^5;
sbit W3=P1^7;
unsigned char i,j,k,m,n,temp,y,v,u;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要本设计是可中断LED流水灯的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED灯的动态设计和开发过程。
通过该芯片控制一个行LED灯按一定顺序亮,文中详细介绍了LED显示的设计思路。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
当然流水灯一般只是在用芯片做控制时起修饰作用,不能很好体现单片机的强大功能。
这里的流水灯只是单片机应用中的最基础的一方面。
LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。
经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键词:汇编语言;AT89C51单片机; LED;中断程序1绪论单片机的发展大致可分为四个阶段:第一阶段:单片机探索阶段。
以Intel公司MCS-48,Motorola公司6801为代表,属低档型8位机。
第二阶段:单片机完善阶段。
以Intel公司MCS-51,Motorola公司68HC05为代表,属高档型8位机。
此阶段,8位单片机体系进一步完善,特别是MCS-51系列单片机在世界和我国得到了广泛的应用,奠定了它在单片机领域的经典地位,形成了事实上的8位单片机标准结构。
第三阶段:8位机和16位机争艳阶段,也是单片机向微控制器发展的阶段。
此阶段Intel公司推出了16位的MCS-96系列单片机,世界其他芯片制造商也纷纷推出了性能优异的16位单片机,但由于价格不菲,其应用面受到一定的限制。
相反MCS-51系列单片机,由于其性能价格比高,却得到了广泛的应用,并吸引了世界许多知名制造厂商,竟相使用以80C51为内核,扩展部分测控系统中使用的电路技术、接口技术、A/D、D/A和看门狗等功能部件,推出了许多与80C51兼容的8位单片机。
强化了微控制器的特征,进一步巩固和发展了8位单片机的主流地位。
第四阶段:微控制器全面发展阶段。
随着单片机在各个领域全面深入地发展和应用,世界各大电气、半导体厂商普遍投入,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机以及小型廉价的专用型单片机,百花齐放,全面发展,单片机已进入一个可广泛选择和全面发展的应用时代。
2 整体程序设计概述2.1需要体现的功能与特点利用51芯片和LED灯设计一个流水灯电路,要求流水灯工作稳定,有较好的视觉效果。
要求用不同方案,实现同样的功能,由浅入深,使这个系统既能实现单纯的流水灯效果,又能实现稍微复杂的流水灯效果。
虽然变化是无穷的,但要利用这个方案让人们了解它所用到的各个部分工作原理。
2.2设计方案论证由于用51芯片控制一组LED等,还有多余的i/o口空余,LED功率不大,不需要用驱动电路,只需要单的排布就可以。
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O 口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。
因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
其具体硬件组成如图所示。
3 电路的硬件设计3.1 电源设计稳压电源的功能是把来自电网的220V交流电压转变为所需的、稳定的直流电压。
它由电源变压器、整流电路、滤波电路和稳压电路四个部分组成,如图3-1所示:3.2 单片机系统及外围电路3.2.1单片机的选择单片机采用89C51或其兼容系列的芯片进行控制,它负责控制整个电路以及相应的程序的运行、以及给屏体电路部分发送命令。
这里我们选择了内含4K字节Flash的AT89C51,因为我们只需要显示特定的图形和文字,无需庞大的字库,因此4K Flash已经可以满足字库储存的需求,不需要扩展外存储器。
3.2.2AT89C51芯片介绍AT89C51是美国ATMEL公司生产的8位Flash ROM单片机。
其最突出的优点是片内ROM为Flash ROM,可擦写1000次以上,应用并不复杂的通用ROM写入器就能方便的擦写,读取也很方便,价格低廉,具有在片程序ROM二级保密系统。
因此可灵活应用于各种控制领域。
AT89C51包含以下一些功能部件:(1)一个8位CPU ;(2)一个片内振荡器和时钟电路;(3)4KB Flash ROM ;(4)128B 内RAM;(5)可寻址64KB的外ROM和外RAM控制电路;(6)两个16位定时/计数器;(7)21个特殊功能寄存器;(8)4个8位并行I/O口;(9)一个可编程全双工串行口;(10)5个中断源,可设置成2个优先级。
AT89C51单片机一般采用双列直插DIP封装,共40个引脚,图3-3为其引脚排列图。
40个引脚大致可分为4类:电源、时钟、控制各I/O引脚。
一.电源Vcc——芯片电源,接+5V;GND——接地端。
二.时钟XTAL1、XTAL2——晶体振荡电路反相输入端和输出端。
如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
我们知道,目前所有的计算机只能执行二进制代码,即高低电平的信号“语言”,不可能识别其他我们熟知的语言,计算机的CPU在设计时就将其所有“功能”都定义有特定的一串二进制代码,这些代码的集合就是该计算机的“语言”,这种语言在早期计算机开发中无可替代的被人们使用。
由于一串串的“01”代码不但难记,也极易出错。
后来人们将这种一串串特定的代码一一的用人们可以理解并好记忆的字母助记符给予命名,这样,在开发计算机程序时先用助记符将其逻辑功能写出来,当逻辑无问题时,再将助记符逐句“翻译”成对应的一串串二进制代码交计算机运行。
这种用助记符临时替代二进制代码的助记符集合,就是我们现在的“汇编语言”。
4.1可中断流水灯逻辑框图4.2用汇编语言设计源程序ORG 00HJMP MAIN ORG 03HJMP EXT0 ORG 13HJMP EXT1 MAIN: SETB EA SETB EX0 SETB EX1 MOV IP,#4h clr TCON.2clr TCON.0 MOV SP,#70H MOV A,#0FEH LOOP:MOV P0,A ACALL DELAY RL AJMP LOOP EXT0:MOV R0,#3 LOOP1:MOV P0,#0 ACALL DELAY MOV P0,#0FFH ACALL DELAY djnz r0,loop1 RETIEXT1:MOV R1,#3LOOP2:MOV P0,#0ACALL DELAYDJNZ R1,LOOP2RETIDELAY:MOV R2,#200D1:MOV R3,#250D2:MOV R4,#10DJNZ R4,$DJNZ R3,D2DJNZ R2,D1RETEND当上述程序编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到AT89C51单片机中,最后连接好电路通电,我们就看到LED1~LED8的“流水”效果了。
4.3基于proteus仿真图5.软件调试软件调试采用脱机调试的方法,即完全用仿真器软件在PC机上对目标电路原理图和程序进行检测和调试。
调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、端口状态等都可以在CRT指定的窗口区域显示出来,以确定程序运行有无错误。
调试可按下列步骤进行:一.目标程序纠错该阶段工作通常在目标程序编辑时就完成。
一般来说,仿真器软件能给用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误。
二.子程序功能调试程序设计通常采用模块程序设计,调试时可对一个个子程序分别进行调试,设置好入口条件,然后采用单步运行或断点运行方式,检查系统CPU现场、RAM 和I/O口状态,看程序执行结果是否符合设计要求。
三.整体程序综合调试即把各子程序整体连起来进入到综合电路调试,看是否能实现预计的功能显示。
在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。
用软件模拟器调试不需任何在线仿真器,也不需要用户样机,直接就可以在PC机上开发和调试。
调试和修改完毕后,对于实时性要求不高的应用系统可以直接使用编程器将软件固化在目标系统ROM中,然后独立投入运行。
6 工作性能分析当接通电路后,单片机开始流水灯的工作,每隔一秒变化一次。
当按下INT1后,流水灯长亮3s。
当按下INT0后,流水灯闪烁3s。
当按下INT1后,在响应期间按下INT0无效。
当按下INT0后,在响应期间按下INT1,则优先执行,然后继续INT0的响应。
最后返回主程序。