单片机实训报告.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV P1,#00001010B MOV R0,#4
L3:ACALL DELAY DJNZ R0,L3
MOV P1,# 00100001B MOV R0,#10
L11: ACALL DELAY DJNZ R0,L11
MOV R0,#6 L21: CPL P1.5
ACALL DELAY DJNZ R0,L21
T1溢出中断标志(TCON.7):
T1启动计数后,计满溢出由硬件置位TF1=1,向 CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件 自动清0。也可用软件查询该标志,并由软件清0。
外部中断INT1中断标志位(TCON.3) :
IE1=1,外部中断1向CPU申请中断
外部中断INT1触发方式控制位(TCON.2): IT1=0,电平触发方式
ACALL DELAY LOOP2: MOV P1,A CLR EA
POP TL1 POP TH1 POP 03H POP P1 SETB EA
RETI
DELAY:MOV R1,#5
LOW2:MOV R2,#100
LOW3:MOV R3,#200
LOW1:NOP
NOP
NOP
DJNZ R3,LOW1
DJNZFra Baidu bibliotekR2,LOW3
虽然这次的课程设计算起来在实验室的时间只有五天,不过因为 我们都有自己的实验板,所以在宿舍里做实验的时间一定不止五天。
硬件的设计跟电路接连都要我们自己动手去做,软件的编程也要 我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高 兴它能按着设计的思想与要求运动起来。
当然,这其中也有很多问题,第一、不够细心比如由于编写程序 不够细心,由于对课本理论的不熟悉导致编程出现错误。第二,是在 学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片 机综合课程实习,我的第一大心得体会就是作为一名工程技术人员, 要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问
处理随机事件的程序称为中断服务子程序。 分时操作
——CPU可以同多个外设“同时”工作 • 实时处理 ——CPU及时处理随机事件 • 故障处理
——电源掉电、存储出错、运算溢出 IP寄存器——中断优先级寄存器
51单片机有两个中断优先级——高级和低级
专用寄存器IP为中断优先级寄存器,用户可用软件设定
相应位为1,对应的中断源被设置为高优先级,相应位为0, 对应的中断源被设置为低优先级 系统复位时,均为低优先级 (3) TF0: 定时器T0溢出中断请求。 (4) TF1: 定时器T1溢出中断请求。 (5) RI或TI:串行中断请求。
(3)有紧急车辆通过时,采用外部中断0方式进入相应的中断服务程 序,并设置该中断为最优先级中断,实现中断嵌套。
2硬件设计过程
用6支发光二极管模拟交通灯信号,以单片机的p1口控制这6支发光二 极管。在p1口与发光二极管之间采用74LS07作电源驱动电路,口线输 出高电平则“信号灯”熄,口线输出低电平则“信号灯”亮。各口线 控制功能级相应控制码
五、实训总结 1.心得与体会
一、实训准备
1.任务描述
正文部分。(小四号宋体)用单片机设计以交通灯信号模拟控制系 统,晶振采用,12MHZ,具体要求以下:
(1) 在正常情况下,A道、B道(A、B道交叉组成十字路 口,A是主道,B是支道)轮流放行60s(其中5S用于 警告),B道放行30s(其中5s用于警告)。
课程设计报告
题 目 交通灯模拟控制系统设计 学生姓名 学 号 200000000001 专 业 应用电子 班级 指导教师
完成日期 2012 年11 月 20 日
一、实训准备
1.实训要求 2. 整体设计分析 二、实训程序编写
目录
1.交通灯流程图 2. 交通灯程序 三、中断系统 1.详细了解中断电路的用处和原理 2. 中断系统程序编写 四、交通灯电路图 1.交通灯电路 2. 中断系统程序编写 五、用仿真连接电路 1.了解AT89C52及其他重要元件 2. 连接电路并运行仿真 一、实训准备 1.实训要求 2. 整体设计分析 二、实训程序编写 1.交通灯流程图 2. 交通灯程序 三、中断系统 1.详细了解中断电路和的用处和原理 2.中断系统程序编写
MOV P1,#00010001B MOV R0,#4
L31:ACALL DELAY DJNZ R0,L31 AJMP LOOP
AA0:PUSH 90H PUSH 03H PUSH TH1 PUSH TL1
MOV A,P1 MOV P1,#00001001B
MOV R0,#10 L:ACALL DELAY
题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做 什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困 难的勇气,就没有什么办不到的。
需 要 硬 件 的 知
识。我买了一个单片机在实践中就是一个活生生的例子,没有相应的 硬件知识,我连单片机怎么和电脑相连都不知道,我为我当初的想法 感到羞愧。单片机是一门很好的学问,需要我去钻研它。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程 设计也在一周内完成了。
俗话说“好的开始是成功的一半”。说起课程设计,我认为最重 要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有 兴趣的题目。其次,老师对实验的讲解,因为只有都明白了,做起设 计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到 头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也 要注重程序的调试,掌握其方法。
(1)
:外部中断0中断请求,由P3.2脚输入。
(2)
:外部中断1中断请求,由P3.3脚输入。
表 89S51中断源的矢量地址 中断源
请求标志位 入口地址 优先级 外部中断0
IE0 0003H 最高级
最低级 定时器T0
TF0 000BH 外部中断1
IE1 0013H 定时器T1
TF1 001BH 串行口 RI/TI 0023H
该寄存器可以位寻址
INTT0: PUSH ACC
PUSH DPH
PUSH DPL
PUSH PSW
中断源服务
POP
PSW
POP
DPL
POP
DPH
POP
ACC
RETI
单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者 优先权高于后者(在程序中设置,相应位=1,为高优先级);
同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形 成,无法改变)。
串行数据接收 串行数据发送 外部中断0请求 外部中断1请求 定时器/计数器0计数输
入 定时器/计数器1计数输
入 外部RAM写选通 外部RAM读选通
三、中断电路
1.了解中断电路和用处和工作原理
中断是指由于某种随机事件的发生,计算机暂停现行程序的 运行,转去执行另一程序,以处理发生的事件,处理完毕后 又自动返回原来的程序继续运行。 将能引起中断的事件称为中断源。 CPU现行运行的程序称为主程序。
END
Image
Image
Image
下面是数码管的原理图以及引脚接法:
图1 引脚定义(图标题为五号字体中加粗)
引脚
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
表1 P3口的备选功能(表标题为五号字体加粗)
第二功能
信号名称
RXD TXD INT0 INT1 T0 T1 WR RD
DJNZ R1,LOW2
RET
// //0.5延时子程序
// DELAY:MOV R3,#OAH
//
MOV TH1,#3CH
//
MOV TL1,#0B0H
//
SETB TR1
//LP1: JBC TF1,LP2
//
SJMP LP1
//LP2:MOV TH1,#3CH
// MOV TL1,#0B0H
四、实训总结
一、心得与体会 单片机实训心得体会 最近自己对单片机特别的感兴趣,因为看到它能控制交通灯的闪烁, 自己觉得很神奇。就想弄清楚它到底是怎么做到的?
我看到书上讲:单片机可以用两种语言编写,一种是C语言,另外 一种是汇编语言。汇编语言是一种机器语言,且代码繁琐,不易记 忆。
不过在学习中,我才发现学习单片机不仅仅需要软件的知识,还
(2) 一道 有车而另一道无车(用键开关so模拟)时, A,B道均为红灯。
(3) 有紧急车辆通过(用按键开关so模拟)时,A,B道均 为红灯。
二、交通灯程序编写
1.整体设计分析
(1)正常情况下运行主程序,采用0.5s延时子程序的反复调用来实现 各种定时时间。
(2)一道有车而另一道无车时,采用外部中断方式进入与其他服务, 并设置中断为最高优先级中断。
保护断点地址;
中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为 止,这个过程称为中断处理(或中断服务)。 中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处 理中断源的请求。
CPU响应某中断请求后,在中断返回前,应该撤除该中断请 求,否则会引起另一次中断。
定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中 断请求标志TFO或TF1,即中断请求是自动撤除的。
IT1=1, 下降沿触发方式 51单片机有两个中断优先级——高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设定
相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中 断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址
中断响应:在满足CPU的中断响应条件之后,CPU对中断源中 断请求予以处理。 中断响应过程:
3软件程序过程
主程序采用查询方式定时,由R2寄存器确定调用0.5s延时子程序的次 数,从而获取交通灯的各种时间。子程序采用定时器方式,查询定时 5ms0循环十次获取0.5秒延时时间。
一道有车,一道无车时中断程序服务:首先要保护现场,因需要用 到延时子程序和P1口,做需保护的寄存器有R3、P1、TH1和TL1、保护 现场还需关中断,以防止高优先级中断出现导致程序混乱,然后开中 断,由软件查询P3.0和P3.1口,判断哪一道有车,再根据井底情况执 行相应的服务。待交通灯信号出现后,保持5s的延时,然后关中断, 恢复现场,再开中断,返回主程序。
二、画出交通灯流程图
开始 置零
B道黄灯闪烁2 S A道红灯亮 B道绿灯闪烁3S A道红灯亮25 S B道绿灯亮25 S A道黄灯闪烁2 S
B道红灯亮
A道绿灯闪烁3 S A道绿灯亮55 S B道红灯亮55 S
二、通过流程图编写出交通灯的程序 ORG 0000H AJMP MAIN ORG 0003H AJMP AA0 ORG 0013H AJMP AA1 ORG 0100H MAIN:SETB EA MOV IP,#01H MOV TCON,#00H MOV IE,#85H MOV P1,# 00001100B LOOP: MOV R0,#20 L1: ACALL DELAY DJNZ R0,L1 MOV R0,#6 L2: CPL P1.2 ACALL DELAY DJNZ R0,L2
串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故 这些中断不能自动撤除,而要靠软件来清除相应的标志。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动 清除有关的中断请求标志IE0或IE1 低电平触发外部中断撤除方法较复杂。
因为在电平触发方式中,CPU响应中断时不会自动 清除IE1或IE0标志,所以在响应中断后应立即撤除信号。
DJNZ R0,L MOV P1,A POP TL1 POP TH1 POP 03H POP 90H
RETI
AA1:CLR EA PUSH P1
PUSH 03H PUSH TH1 PUSH TL1 SETB EA MOV A,P1 JNB P3.0,BP MOV P1,#00001100B ACALL DELAY BP:JNB P3.1,LOOP2 MOV P1,#00100001B