下载此文档

广告灯程序设计.doc


文档分类:通信/电子 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
一.【设计题目】:采用外部中断方式控制广告灯
:
采用外部中断方式控制广告灯,首先用8个彩灯显示作先左移8次,再往右移8次,然后按以上规律往返执行,但是每来一个外部触发,上述规律就要暂停运行,将目前彩灯的状态闪烁5次,之后再继续按上述规律运行。
二.【设计步骤】

单片机在我们日常生活中有着重要的做用,这次课程设计我就选了一个在生活中随处可见的广告灯来进行程序的编写及设计。
在这次设计中我主要用到1片80C51的芯片,8个发光二极管,8个电阻,2个电容,1个按键sw等
80C51的四个端口都可以作为通用的输入/输出(I/O)口,P0口作为输出口能驱动8个LSTTL输入,P1、P2、P3口输出缓冲器能驱动4个LSTTL。

(1)中断系统原理:
①与中断有关的几个特殊功能寄存器
中断允许寄存器IE。中断允许寄存器IE是一个SFR寄存器,用户通过对其中一个或某些位进行设置来控制中断的开放或禁止,控制CPU中断的开放或禁止,控制某个或某些中断的开放和禁止。
中断优先级控制寄存器IP。中断优先级控制寄存器IP是用于控制中断响应优先级别的SFR,用户可以根据需要对它的某些位进行控制,从而设置某个或某些中断源响应优先级别的高低。
定时控制寄存器TCON。对TCON中的位IT0和IT1进行设置,可以设置外部中断的触发方式,将IT0(或IT1)设置为1表示外部中断0(或外部中断1)为负跳变触发,设置为0表示外部中断0(或外部中断1)为低电平触发。
②初始化编程。初始化编程的目的是为了设置中断系统的工作情况,通过以下指令实现:
MOV IE,#data ;设置中断允许
MOV IP,#data ;设置中断优先级别
③.外部中断方式控制广告灯的实验线路连接图如下图(1)所示:
Vcc
8051
P1
图(1)广告灯的实验线路连接图
470Ω
(2)硬件电路
硬件电路如下图(2)所示,P1口接8个发光二极管,按键sw为触发开关,按键sw每按下就从80C51的INT0引脚输入一个低电平。
图(2)硬件电路
(3)流程图
广告灯的流程图如图(3)所示,主程序首先进行中断的初始化编程,然后设置好彩灯左右移位的运行规律,利用中断INT0工作在电平触发方式,按键sw每按下就从80C51的INT0引脚输入一个低电平,每来一个低电平,暂时中断主程序,中断服务程序控制P1的8个LED闪烁5次。
初始化编程
彩灯右移
彩灯左移
中断程序服务
彩灯闪烁
数据压线
Y
数据出栈
N
图(3)广告灯流程图
中断返回
主程序开始
闪烁5次吗
(4)程序设计,编写程序如下:
ORG 0000H ;起始地址
JMP START ;跳到主程序START
ORG 0003H ;INT0中断子程序起始地址
JMP EXT0 ;中断子程序
START: MOV IE,#10000001B ;INT0中断使能
MOV IP,#0000001B ;INT0中断优先
MOV TCON,#00000000B ;INT0为电平触发
MOV SP,#70 ;设定堆栈指针
LOOP: MOV A,#0FFH ;左移初值
CLR C ;C=0
MOV R2,#08 ;设定左移8次
LO

广告灯程序设计 来自淘豆网www.taodocs.com转载请标明出处.