资源描述
单片机原理及应用课程设计
教学指导方案
设计题目: 模拟时序控制装置
电气信息学院
一、设计题目
1、题目:《模拟时序控制装置》
2、简介:利用单片机的定时器,设计一个模拟时序控制装置。由单片机内部定时器1,工作于方式1,即作为16位定时器使用,每0.05秒钟T1产生溢出中断一次。
二、课题要求
1、设计的目的与要求:
本课程的目的在于培养学生以下的能力:具有单片机汇编语言编程的能力、具有检查并修改程序错误的能力、熟练掌握单片机定时器、中断、LED显示等基本原理。
2、课程设计的内容:
1)设计一个单片机模拟时序控制装置系统。
2)画出该系统的protel原理图、PCB图。
3)掌握ULN2003、7805等专用芯片的特性及应用。
4)检测系统中的汇编程序基本原理设计及调试方法。
三、设计任务
本设计以单片机系统为核心,由单片机内部定时器T1,工作于方式1,即作为16位定时器使用,每0.05秒钟T1产生溢出中断一次。
P0口的P0.0~P0.7分别接八个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L3,L5亮,第四秒钟L4,L6亮,第五秒L5,L7亮,第六秒钟L1,L3,L5,L7亮,第七秒钟L2,L4,L6,L8亮,第八秒钟全亮,第九秒全灭,以后又从头开始,L1,L3亮,然后L2,L4亮......一直循环下去,每一次循环完毕让蜂鸣器响三声、声长1s,间隔1s。
并设计开关K1和K2,K1作为启动开关,K2作为停止开关,K1和K2分别接到外部中断0和外部中断1上。
同时设计一个电源指示灯,要求画出该系统的原理图及PCB图。
四、MCS-51单片机基本知识
(一)中断基本知识
1、外部中断INT0、INT1
输入/输出设备的中断请求,系统故障的中断请求等都可以作为外部中断源,从引脚INT0或INT1输入。
外部中断请求INT0、INT1的两种触发方式:
电平触发及跳沿触发,由TCON的ITO位及IT1位选择。
ITO(IT1)= “ 0 ” 时,为 INT0、INT1电平触发方式,CPU响应中断后要采取措施撤消中断请求信号,使INT0或INT1恢复高电平。
ITO(IT1)= “ 1 ” 时为跳沿触发方式,当 INT0或INT1引脚上出现负跳变时,该负跳变经边沿检测器使IEO(TCON.1)或IE1(TCON.3)置1,向CPU申请中断。CPU响应中断转入中断服务程序时,由硬件自动清除IEO或IE1。
2、定时器/计数器0、l溢出中断
定时器/计数器计数溢出时,由硬件分别置TF0 = “ 1 ” 或 TF1 = “ 1 ” ,向 CPU申请中断。CPU响应中断转入中断服务程序时,由硬件自动清除TFO或TF1。
3、中断服务程序入口地址:
五个中断源: 入口地址
外部中断0(/INT0) 0003H
T0溢出中断 000BH
外部中断1(/INT1) 0013H
T1溢出中断 001BH
串口中断 0023H
4、MCS-51 单片机定时/计数器的工作原理:
归根结底是计数器。每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从 0 开始继续计数。
(1) 定时功能 (设置 TMOD 中位 C/T=0)
对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加 1 。
(2) 计数功能 (设置 TMOD 中位 C/T=1)
对片外从 T0 (P3.4)、 T1 (P3.5)引脚输入的外部脉冲信号进行计数,下降沿计数加 1 。
(3)定时器/计数器的控制
与定时/计数器有关的控制寄存器有 2 个
定时器控制寄存器 TCON (字节地址 88H )
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TR0 (TR1) -定时计数器 T0 (T1) 运行控制位。
该位由软件置 1 或清 0 。
TR0 (TR1)= 1 启动定时计数=0停止定时计数
TCON 除字节寻址外,各位还可以位寻址。
例如 启动 T0 开始计数工作,可运行指令
MOV TCON , #00010000B 或者 SETB TR0 与定时 / 计数器有关的控制寄存器有 2 个
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
位符号
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF0 (TF1)-计数溢出标志位
当 T0/T1 计数溢出时,该位由硬件自动置 “1” 。
查询方式下,此位作计数溢出状态位供查询,注意溢出后应以软件方法及时清 0 ;
中断方式下,此位会当 T0 溢出时,由硬件自动置 1 ,并向 CPU 申请中断, 当 CPU 响应中断进入中断服务程序后,它又被硬件自动清 0
定时器工作方式寄存器 TMOD (89H)
用于 2 个定时器 T0、T1 的工作方式设定 , TMOD 不能位寻址,只能用字节指令设置定时器工作方式。
M1 M0 设置定时工作方式
(二)按键基本知识
对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器A,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。
(三)LED显示电路
1、LED基本原理及特点
LED发光二级管是电流驱动器件,种类繁多,可承受驱动电流也不一样,在MCS-51单片机设计中一般采用5V作为输入电压,但多数单片机使用的LED发光二级管不能单独承受5V条件下的驱动电流,可采用增加电阻的方式达到目的。
LED发光二级管实物图
五、设计原理图
六、程序设计流程图
单片机模拟时序控制装置汇编流程图:
汇编程序设计流程图
七.程序(汇编程序设计方法可以不同,但要求达到课程设计要求的效果)
ORG 0000H ;定位0000H
CONT: MOV R2,#5 ;将5装入R2
MOV A,#0F5H ;将F5装入A
NEXT: MOV P1,A ;将A装入P1
ACALL DELAY ;延时1s
RL A ;循环左移
DJNZ R2,NEXT ;R2=5减1不等于0则跳转
NEXT1:MOV A,#55H ;将55H放入A
MOV P1,A ;将A装入P1
ACALL DELAY ;延1s时
MOV A,#0AAH ;将AA放入A
MOV P1,A ;将A中内容放到P1
ACALL DELAY ;延时1s
MOV A,#00H ;将00H放入A
MOV P1,A ;将A中内容放入P1
ACALL DELAY ;延时1s
MOV A,#0FFH ;将FF放入A
MOV P1,A ;将A中内容放入P1
ACALL DELAY ;延时1s
SJMP CONT ;短跳转到CONT
DELAY: MOV R3,#14H ;置50ms计数循环初值
MOV TMOD,#10H ;设定时器1为方式1
MOV TH1,#3CH ;置定时器初值
MOV TL1,#0B0H
SETB TR1 ;启动T1
LP1: JBC TF1,LP2 ;查询计数溢出
SJMP LP1 ;未到50ms继续计数
LP2: MOV TH1,#3CH ;重新置定时器初值
MOV TL1,#0B0H
DJNZ R3,LP1 ;未到1s继续循环
RET ;返回主程序
END
八.写出心得体会及对本设计的建议
7
展开阅读全文