单片机课程设计公交车报站器课程设计.doc
《单片机课程设计公交车报站器课程设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计公交车报站器课程设计.doc(34页珍藏版)》请在三一办公上搜索。
1、目 录模块一 基础部件实验项目1 P1口实验一项目2 P1口实验二项目3 简单I/O口扩展实验一项目4 简单I/O口扩展实验二项目5中断实验项目6定时器实验项目7码显示实验项目8 8279显示接口实验一项目9 D/A转换实验项目10 A/D转换实验项目11 P1口扩展LCD实验模块二 综合模拟设计一 设计要求二 总体方案三 硬件设计四 软件设计五 系统调试与脱机运行结束语参考文献模块一 基础部件实验项目1 P1口实验一一、实验目的:1 学习P1口的使用方法。2 学习延时子程序的编写和使用。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:1 P1口做输出口,接八只发光二极管,编写程序,
2、使发光二极管循环点亮。2 P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。四、实验原理: P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。可以用第二个实验做一下实验。先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。再来看一下延时程序的实现。现常用的有两种方法,一是用定时器中断来实现,一是用指令循
3、环来实现。在系统时间允许的情况下可以采用后一种方法。本实验系统晶振为6.144MHZ,则一个机器周期为126.144us即10.512us。现要写一个延时0.1s的程序,可大致写出如下: MOV R7,#X (1) DEL1:MOV R6,#200 (2) DEL2:DJNZ R6,DEL2 (3) DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要10.256us,现求出X值:10.256+X(10.256+20010.256+10.256)=0.110指令(1) 指令(2) 指令(3) 指令(4)所需时间 所需时间 所需时间 所需时间X=(0.
4、110-10.256)/(10.256+20010.256+10.256)=127D=7FH经计算得X=127。代入上式可知实际延时时间约为0.100215s,已经很精确了。五、实验原理图:P1口输出实验 P1口输入实验六、实验步骤:执行程序1(T1_1.ASM)时:P1.0P1.7接发光二极管L1L8。执行程序2(T1_1.ASM)时:P1.0P1.7接平推开关K1K8;74LS273的O0O7接发光二极管L1L8;74LS273的片选端CS273接CS0(由程序所选择的入口地址而定,与CSOCS7相应的片选地址请查看第一部分系统资源,以后不赘述)。七、实验结果:执行程序一的时候,发光二极管
5、循环点亮。执行程序二的时候,拨动开关K1-K8,相应的发光二极管点亮。八、程序框图: 循环点亮发光二极管通过发光二极管将P1口的状态显示九、实验问题: 项目2 P1口实验二 一、实验目的:1 学习P1口既做输入又做为输出的使用方法。2 学习数据输入、输出程序的设计方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容: 使用P1口,按位设置为输入输出,模拟汽车转向灯。四、实验原理:P1口的使用方法这里不讲了。有兴趣者不妨将实验例程中的“SETB P1.0, SETB P1.1”中的“SETB”改为“CLR”看看会有什么结果。另外,例程中给出了一种N路转移的常用设计方法,该方法利用了JM
6、P A+DPTR的计算功能,实现转移。该方法的优点是设计简单,转移表短,但转移表大小加上各个程序长度必须小于256字节。五、实验原理图:P1口输入、输出实验六、实验步骤:平推开关的输出K1接P1.0;K2接P1.1;发光二极管的输入L1接P1.2;L2接P1.3;L5接P1.4;L6接P1.5。运行实验程序T2.ASM,K1做为左转弯开关,K2做为右转弯开关。L5、L6做为右转弯灯,L1、L2做为左转弯灯。七、实验结果: 结果显示:1:K1接高电平K2接低电平时,右转弯灯(L5、L6)灭,左转弯灯(L1、L2)以一定频率闪烁;2:K2接高电平K1接低电平时,左转弯灯(L1、L2)灭,右转弯灯(
7、L5、L6)以一定频率闪烁;3:K1、K2同时接低电平时,发光二极管全灭;4:K1、K2同时接高电平时,发光二极管全亮。八、程序框图: 九、实验问题:项目3 简单I/O口扩展实验一交通灯控制实验一、实验目的:1 学习在单片机系统中扩展简单I/O接口的方法。2 学习数据输出程序的设计方法。3 学习模拟交通灯控制的实现方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:扩展实验箱上的74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。四、实验原理:要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红
8、)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。而交通灯的亮灭规律为:各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。74LS273作为输出锁存器,映射在CPU的0CFA0H地址处,用来锁存I/O口的信号。74LS273是一个扩展输出口,同时也是一个单向驱动器,以减轻总线口的负担。五、实验原理图六、实验步骤:74LS273的输出O0O7接发光二极管L1L8,74LS273的片选CS273接片选信号CSO.运行实验程序T3.ASM,观察LED显示情况是否与实验内容相符。七、实验结果:
9、 初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。八、程序框图:九、实验问题:项目4 简单I/O口扩展实验二一、实验目的:1 学习在单片机系统中扩展简单I/O口的方法。2 学习数据输入,输出程序的编制方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:利用74LS244做为输入口,读取开关状态,并将此状态通过发光二极管显示出来。四、实
10、验原理:MCS-51外部扩展空间很大,但数据总线口和控制信号线的负载能力是有限的。若需要扩展的芯片较多,则MCS-51总线口的负载过重,74LS244是一个扩展输入口,同时也是一个单向驱动器,以减轻总线口的负担。程序中加了一段延时程序,以减少总线口读写的频繁程度。延时时间约为0.01秒,不会影响显示的稳定。五、实验原理图:简单I/O实验2六、实验步骤:1 74LS244的IN0IN7接开关的K1K8,片选信号CS244接CS1。2 74LS273的O0O7接发光二极管的L1L8,片选信号CS273接CS2。3 全速执行T4.ASM。4 拨动开关K1K8,观察发光二极管状态的变化。七、实验结果:
11、 拨动开关K1K8,开关拨到L端时,相应的发光二极管点亮;拨到H端时,相应发光二极管变灭。八、程序框图:九、实验问题:项目5 中断实验有急救车的交通灯控制实验一、实验目的:1 学习外部中断技术的基本使用方法。2 学习中断处理程序的编程方法。二、实验设备:CPU挂箱、8031CPU模块三、实验内容:在实验三的内容的基础上增加允许急救车优先通过的要求。当有急救车到达时,两个方向上的红灯亮,以便让急救车通过,假定急救车通过路口的时间为10秒,急救车通过后,交通灯恢复中断前的状态。本实验以单脉冲为中断申请,表示有急救车通过。四、实验原理:当按下PULSE键时,产生一个中断信号,CPU保存当前交通灯的状
12、态,进入中断服务子程序,中断服务子程序结束后,返回到中断前的状态。本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意:一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验给出的程序中,主程序延时用的是R5、R6、R7,中断延时用的是R3、R4和新的R5。第二,主程序中每执行一步经74LS273的端口输出数据的操作时,应先将所输出的数据保存到一个单元中。因为进入中断程序后也要执行往74LS273端口输出数据的操作,中断返回时如果没有恢复中断前74LS273端口锁
13、存器的数据,则显示往往出错,回不到中断前的状态。还要注意一点,主程序中往端口输出数据操作要先保存再输出,例如有如下操作: MOV A,#0F0H (0) MOVX R1,A (1) MOV SAVE,A (2)程序如果正好执行到(1)时发生中断,则转入中断程序,假设中断程序返回主程序前需要执行一句MOV A,SAVE指令,由于主程序中没有执行(2),故SAVE中的内容实际上是前一次放入的而不是(0)语句中给出的0F0H,显示出错,将(1)、(2)两句顺序颠倒一下则没有问题。发生中断时两方向的红灯一起亮10秒,然后返回中断前的状态。五、实验原理图:(同实验三)六、实验步骤:74LS273的输出O
14、0O7接发光二极管L1L8,74LS273的片选CS273接片选信号CS2,此时74LS273的片选地址为CFB0HCFB7H之间任选。单脉冲输出端P-接CPU板上的INT0。运行实验程序T5.ASM,观察发光二极管的亮灭变化。然后,按PULSE键,再观察发光二极管的状态。七、实验结果: 不按PULSE按键的时候,现象如同实验三。当按下PULSE 时,东西南北的红灯同时点亮10秒,之后恢复到按键前的状态。八、程序框图: 主程序框图 中断程序框图九、实验问题:项目6 定时器实验循环彩灯实验一、实验目的:1 学习8031内部计数器的使用和编程方法。2 进一步掌握中断处理程序的编写方法。二、实验设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 公交车 报站
链接地址:https://www.31ppt.com/p-3429193.html