版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程名称,项目一 xxxxxx,任务一 交通灯控制系统设计,思维导图,任务一,完成交通灯控制系统的设计,学会单片机定时器的用法, 理解中断系统的原理与设置,情境导入,十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有 条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信 号灯的自动指挥系统。交通信号灯控制方式很多。本次实训 利用单片机ATSC51来设计交通灯控制器,实现红绿黄灯的转换。,任务描述,本控制系统以生活中的红绿灯为设计蓝本,要求实现以下控制效果:,知识准备,中断系统的原理与应用,1. 中断系统的基本概念,PU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CP
2、U暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。,2. 中断源,引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。,知识准备,MCS-51单片机提供了5个中断源,其中两个为外部中断请求源 (P3.2)和(P3.3),两个片内定时器/计数器T0和T1的溢出请求中断源TF0(TCON的第5位)和TF1(TCON的
3、第7位),1个片内串口发送或接收中断请求源TI(SCON的第1位)和RI(SCON的第0位)。,3. 中断的书写格式,函数类型 函数名(形式参数列表)interrupt n using m,其中,interrupt后面的n是中断编号,取值范围04,0代表外部中断0;1代表定时器中断0;2代表外部中断1;3代表定时器中断1;4代表串口中断。using中的m表示使用的工作寄存器组号(如不声明,则默认用第0组)。,知识准备,4. 中断系统的控制,定时器/计数器控制寄存器TCON,TCON的功能是接收外部中断源(INT0 、INT1)和定时器(T0、T1)送来的中断请求信号。字节地址为88H,可以进行
4、位操作。,表4-1列出了TCON的格式。,IT0和IT1分别为外部中断 和 的触发方式控制位,可以进行置位和复位。 TF0和TF1分别为定时器/计数器T0和T1的中断请求标志。 TR0和TR1分别为定时器/计数器T0和T1的启动/停止位。,IE0和IE1分别为外部中断 和 的中断请求标志位。,知识准备,中断允许控制寄存器IE,CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制。,。, EX0(IE.0),外部中断0允许位;,ET0(IE.1),定时/计数器T0中断允许位;, EX1(IE.2),外部中断0允许位;,ET1(IE.3),定时/计数器T1中断允许位;,ES
5、(IE.4),串行口中断允许位;,EA (IE.7), CPU中断允许(总允许)位,知识准备,中断优先级控制寄存器IP,MCS-51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。,PX0(IP.0),外部中断0优先级设定位; PT0(IP.1),定时/计数器T0优先级设定位; PX1(IP.2),外部中断0优先级设定位; PT1(IP.3),定时/计数器T1优先级设定位; PS (IP.4),串行口优先级设定位; PT2 (IP.5) , 定时/计数器T2优先级设定位。,串行通信控制寄存器SCON,SCON的功能主要
6、是接收串行通信口送到的中断请求信号,知识准备,MCS-51单片机的中断优先级有三条原则:,CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断请求所中断。,为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。,知识准备,定时器的原理与设置,定时器T0由两个8位计数器TH0和TL0构成,定时器T1也由两个8 位计数器
7、TH1和TL1构成,TMOD寄存器控制定时器的工作方式,TCON寄存器控制定时器的启动和停止以及定时器的状态。,在作定时器使用时,输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的。实际上,定时器就是单片机机器周期的计数器。因为每个机器周期包含晶体振荡器的12个振荡周期,而每一个机器周期定时器加1,故其频率为晶振频率的1/12。如果晶振频率为12MHz,则定时器每接收一个输入脉冲的时间为1s。选择计数器工作方式时,计数脉冲来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。在这种情况下,当检测到输入引脚上的电平由高跳变到低时,计数器就加1。,知识准备,在单片机中有两个特殊功能寄存器与定
8、时/计数有关,这就是TMOD和TCON。TMOD和TCON是名称,我们在写程序时就可以直接用这个名称来指定它们,也可以直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,编译软件帮你翻译一下而已)。,从图2中我们可以看出,TCON也被分成两部份,高4位用于定时/计数器,低4位则用于中断(我们暂不管)。而TF1(0)我们上面已提到了,当计数溢出后TF1(0)就由0变为1。,知识准备,:定时器/计数器功能选择位,,0时,设置为定时功能;,从图中我们可以看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0。,GATE:门控位,当GATE1时,只有INT0或INT1引脚为高
9、电平,且TR0或TR1置1时,定时器/计数器才工作。当GATE0时,定时器/计数器仅受TR0或TR1的控制,而不管INT0或INT1引脚的电平是高还是低。,M1M0:工作方式选择位。由M1M0共2位形成4种编码,对应以下4种工作方式。 M1M000:工作方式0(13位方式)。 M1M001:工作方式1(16位方式)。 M1M010:工作方式2(8位自动装入时间常数方式)。 MlM011:工作方式3(2个8位方式仅对T0)。 定时器/计数器的定时/计数范围 工作方式0:13位定时/计数方式,因此,最多可以计到2的13次方,也就是8192次。 工作方式1:16位定时/计数方式,因此,最多可以计到2
10、的16次方,也就是65536次。 工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多可以计到2的8次方,也说是256次,1时,设置为计数功能。,知识准备,电路原理图,任务处理,1. 使用十字路口交通灯控制模块。,2.打开Keil uVision2仿真软件,首先建立本实验的项目文件,根据项目要求编写项目源程序,进行编译,直到编译无误。,3.进行软件设置,生成HEX文件。,4.利用下载器将程序下载到单片机中,并上电观察程序结果是否正确,任务处理,参考程序: /*/ /* 交通灯*/ /*/ /-库函数声明,管脚定义- #include #define uchar unsigned cha
11、r sbit LED_G1=P21 ; / 东西绿灯 sbit LED_Y1=P22 ; / 东西黄灯 sbit LED_R1=P23 ; / 东西红灯 sbit LED_G2=P24 ; / 南北绿灯 sbit LED_Y2=P25 ; / 南北黄灯 sbit LED_R2=P26 ; / 南北红灯 uchar sec,js,ms;,任务处理,/*主程序*/ void main() P2=0 x00;/熄灭所有灯 EA=1;/开总中断 ET0=1;/开定时器中断0允许位 TMOD=0 x01;/设置定时器0工作方式1 TH0=(65536-50000)/256;/赋初值,定时时长为50ms
12、TL0=(65536-50000)%256; js=0;/初始化寄存器 sec=0; ms=0; TR0=1;/开定时器0 while(1) switch(ms) case 0:LED_G1=1;LED_Y1=0;LED_R1=0;/东西向绿灯亮 LED_G2=0;LED_Y2=0;LED_R2=1;/南北向红灯亮,任务处理,if(sec=30)/持续30s,sec=0;ms=1;break;,case 1: LED_G1=0;LED_R1=0;/东西向黄灯闪烁,if(js/2)LED_Y1=0;,else LED_Y1=1;,LED_G2=0;LED_Y2=0;LED_R2=1; /南北向红
13、灯亮,if(sec=3)/持续3s,sec=0;ms=2;break;,case 2: LED_G1=0;LED_Y1=0;LED_R1=1;/东西向红灯亮,LED_G2=1;LED_Y2=0;LED_R2=0; /南北向绿灯亮,任务处理,if(sec=40)/持续40s,sec=0;ms=3;break;,case 3: LED_G2=0;LED_R2=0;/南北向黄灯闪烁,if(js/2)LED_Y2=0;,elseLED_Y2=1;,LED_G1=0;LED_Y1=0;LED_R1=1; /东西向红灯亮,if(sec=3),sec=0;ms=0;break;,default: sec=0;ms=0;break; /出现故障回到初始状态,void time_0() interrupt 1/定时器0服务子程序,任务处理,TH0=(65536-50000)/256;/重装初值,TL0=(65536-50000)%256;,js+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新教材)2026人教版三年级下册数学 1.1 轴对称图形 教学课件
- 2026年离退休人员返聘合同(1篇)
- 2025 网络基础之毫米波通信与高速列车网络的连接方案课件
- 空气污染治理项目可行性研究报告
- 行政程序的要求和违反后果
- 2026年及未来5年市场数据中国钼酸行业市场竞争格局及发展趋势预测报告
- 2025 高中信息技术数据与计算之算法的狼群优化算法课件
- 2026年及未来5年市场数据中国竹材采运行业发展监测及市场发展潜力预测报告
- 2025 高中信息技术数据与计算之数据在智能医疗康复方案个性化设计中的应用课件
- 2026年新型农机推广应用项目验收材料第三方检测报告实地验证要求
- 中小学教师绩效工资分配激励研究-基于 2024 年中小学教师绩效工资实施办法
- 2026春统编版一年级下册语文第二单元测试卷及答案
- 智能驾驶专题之四:2026智驾展望:向上升阶与向下平权的双轨渗透
- 2026年淮南职业技术学院单招职业适应性测试题库带答案详解
- 2026年汕头市普通高考第一次模拟考试 英语+答案
- 初中语文中考主旨探究与表达题知识清单
- 2026年宝山区国有(集体)企业招聘笔试参考题库附带答案详解
- 2026复工复产安全培训第9版
- 储能工程项目验收标准
- 2026年微机电系统(MEMS)设计原理
- 人教版2026春季新版八年级下册英语全册教案(单元整体教学设计)
评论
0/150
提交评论