多路彩灯设计

上传人:206****923 文档编号:41809182 上传时间:2018-05-31 格式:DOC 页数:9 大小:211KB
返回 下载 相关 举报
多路彩灯设计_第1页
第1页 / 共9页
多路彩灯设计_第2页
第2页 / 共9页
多路彩灯设计_第3页
第3页 / 共9页
多路彩灯设计_第4页
第4页 / 共9页
多路彩灯设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《多路彩灯设计》由会员分享,可在线阅读,更多相关《多路彩灯设计(9页珍藏版)》请在金锄头文库上搜索。

1、T1T0TMOD89HGATEC/TM1M0GATEC/TM1M031 控制原理控制原理矩阵输出方式的彩灯控制器电路原理图所示。单片机 ICI 的控制输出信号由两个 I/O 口完成。由 Pl 口输出 8 个行驱动信号与由 P3 口输出 8 个列驱动信号进行矩阵连接,可以对 64 组彩灯实施多花样变化的控制。若在 Pl 口线上输出高电平信号,在 P3 口线上也输出高电平信号,P3 口上的高电平信号经 IC2反相后会变为低电平,这时被 PI、P3 口控制的固态继电器就会被触而导通,所有组的彩灯都会被点亮。在通常情况下,Pl,P3 口多半都不同时输出高电平,因此,各组彩灯也多半不会同时都点亮,哪组彩

2、灯被点亮要看 Pl 与 P3 口的输出状态,当 Pl 口输出 00 时,SSR1-SSR64 都不会导通,彩灯也全部熄灭。当PI 口输出 0lH,P3 口输出 0lH 时,由继电器控制的彩灯(L1)被点亮 l 当 Pl 口输出 O2H,P3 仍然输出 01H,P11 口线上处于高电平的 SSR2 导通,由 SSR2控制的彩灯(L2)被点亮。因此通过编制软件,改变 Pl 口和 P3 口的输出状态,从而达到彩灯的不同显示效果。32 编程设计编程设计现在对 L1L8进行编程举例以示说明,控制要求为:彩灯全亮1秒全灭 1秒L1亮1秒L1、L2亮1秒L1L3亮1秒L1L4亮1秒全亮1秒,并实现对该过程的

3、循环控制。3 32 2. .1 1 定定时时/ /计计数数器器的的方方式式和和控控制制寄寄存存器器的的设设置置3 32 2. .1 1. .1 1 定定时时器器工工作作方方式式寄寄存存器器 T TM MO OD D定时器的工作方式寄存器 TMOD用于选择定时器的工作方式,它的高4位控制定时器 T1,低4位控制定时器 T0。TMOD中各位的定义如下:其中,GATE:门控制位,用于控制定时器的启动是否受外部中断源信号的影响。GATE=0 时,与外部中断无关,由TCON 寄存器中的 TRx 位控制启动。GATE=1 时,由控制位 TRx 和引脚 INTx(见表 1)共同控制启动,只有TCON88HT

4、F1 TR1TF0TR0IE1 IT1IE0IT0D7D6D5D4D3D2D1D0在没有外部中断请求信号的情况下(即外部中断引脚INTx=1 时) ,才允许定时器启动。C/T:T/C 功能选择位,当C/T=1 时为计数方式;当C/T=0 时为定时方式。M1M0:T/C 工作方式定义位,具体定义见表3。M1工作方式0011010113位定时/计数器16位定时/计数器可自动装入的8位定时/计数器T0分为2个8位定时器,T1无此方式表3 定时/计数器工作方式M0方式说明0123在此设计中无外部中断,门控制位应清零;且利用T0 的定时功能,即T0 的 C/T 位亦该清零;为达到1s 的定时而无需在软件

5、计数时进行嵌套循环,选择了工作方式1,16 位的定时器,因此TMOD=01H。3 3. .2 2. .1 1. .2 2 定定时时器器控控制制寄寄存存器器 T TC CO ON N以上便是定时器控制寄存器TCON 各位的定义,其中:TF0(TF1)为 T0(T1)定时器溢出中断请求标志,在T0(T1)启动计数后, T0(T1)即从初值开始加1 计数,当计数值计满后从最高位溢出时,由硬件置位,并在允许中断的情况下,发出中断请求信号;当CPU 响应中断转向中断服务程序时,由硬件自动将该位清零。TR0(TR1)为 T0(T1)运行控制位,当TR0(TR1)=1 时启动T0(T1) ; TR0(TR1

6、)=0 时关闭 T0(T1) ,由软件进行设置。IE 和 IT 是关于外部中断的设置,在此不作介绍。3 3. .2 2. .2 2计计数数初初值值的的计计算算计数初值X=2n - Tc(n为计数器的位数) (3-1)时间常数Tc=T / Tp(T为定时时间, Tp为机器周期) (3-2)1. 该单片机的晶振频率为 6MHz,所以机器周期为:Tp =12 / 晶振频率 =12 / 6MHz=2s。2. 而 n 由定时 /计数器的工作方式决定,由上述对定时器工作方式寄存器 TMOD的设置可知选用的是方式1,构成的是 16位定时 /计数器,即n=16。3. 最小定时时间为:Tmin= TcTp=20

7、2s=2s最大定时时间为:Tmax= TcTp=2162s=131072s=131.072ms现欲要求定时 1s,故只能采用定时器定时和软件计数相结合的方法来扩展定时时间。要获得1s定时,可将定时器的定时值设为100ms,另设一个软件计数器,初值设为10,以使 T0进行10次的循环计时。每100ms定时时间一到,产生定时溢出中断,在中断服务程序中首先使软件计数器减 1,若不为 0,则立即退出中断;若已经减为0,说明 1s定时时间已到,可进入中断处理。当中断处理完后,再重新设置软件计数器的初值。故时间常数为:Tc= T / Tp=100ms / 2s=5104计数初值为:X=216 - Tc=2

8、16 - 5104 =6553650000 = 15536 = 3CB0H3 3. .2 2. .3 3 流流程程图图开始彩灯控制主程序置计数初值开中断、允许T0中断 启动定时器T0初始化P1、P3口传送数据, 使L1L8全亮00H位是否置位, 即是否延时1s?将判别位00H清零YNP1、P3口传送数据, 使L1L8全灭00H位是否置位, 即是否延时1s?N等待定时器溢出中断等待定时器溢出中断Y将判别位00H清零调用子程序n=1将数据送入P1 P3口, 使灯Ln变亮00H位是否为零, 即是否延时1s?将判别位00H清零YN开始等待定时器溢出中断结束L1-L7全部变亮否?YNn=n+1定时中断服

9、务程序开始R0-1=0 否?重设软件计数初值R0YN将00H位置位重置定时器T0计数初值中断返回3.2.4 程序清单 ORG 0000H ;主程序入口地址LJMP MAIN ;主程序转至 MAIN处ORG 000BH ;定时器 TO中断入口地址LJMP INT ;中断服务程序转至 INT处ORG 4000HMAIN: MOV SP, 60H ;设置堆栈指针MOV P3, 0MOV P1, 0MOV 20H, 0MOV R0,10MOV TMOD,01H ;置定时器 T0为方式 1MOV THO, 3CH ;设置计数初值 MOV TL0, 0B0HSETB EA ;CPU开中断SETB ETO

10、;允许 T0中断SETB TRO ;启动 T0定时M: MOV P3,01H ;控制 L1L8全亮 1sMOV P1, 0FFHJNB 00H,$ ;暂停,以等待延时 1sCLR 00HMOV P3, 00H ;控制 L1L8全灭 1sMOV P1, 00HJNB 00H,$CLR 00HACALL SUB1AJMP M ;循环 MINT: DJNZ R0, NEXT MOV R0,#10SETB 00HNEXT: MOV THO, 3CH ;重新装入计数初值 MOV TL0,0B0HRETISUB1: MOV P3,01H ;控制 L1L8的渐亮 MOV A,01HLOOP MOV P1,AJNB 00H,$CLR 00HMOV R1, RL AORL A,R1CJNE A, 0FFH,LOOPRETEND附录附录:1、参考文献参考文献:1、 单片微型计算机原理及应用张毅坤 西安电子科技大学出版社, 1998 2、 单片机原理与应用王效华 ,张咏梅 北京交通大学出版社 2007.53、 微机原理与接口技术雷丽文 M.北京电子工业出版社,1997.24、 单片机原理及接口技术余锡存,曹国华 M.陕西西安电子科技大学出版社,2000.75、汇编语言程序设计实验指导蔡启先,王智文,黄晓璐 清华大学出版社 2008.08.23

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号