文档详情

实验四交通灯控制设计.doc

发布:2016-08-26约1.69千字共5页下载文档
文本预览下载声明
实验四 交通灯控制设计(设计型) 一、实验目的与要求 1.了解单片机外围芯片8255的工作原理、初始化编程以及输入、输出程序设计方法; 2、熟悉 8255 内部结构和与单片机的接口逻辑,掌握8255 芯片的 3 种工作方式以及控制字格式; 3.学会使用 8255并行接口芯片实现各种控制功能。 二、实验仪器 1、DJ-598KC单片机开发系统 1台 2、仿真器(EASYPROBE) 1只 3、PC机 1台 三、实验内容 (2学时) 用8255做输出口,控制十二个发光二极管燃灭,模拟十字路口交通灯管理。 (1)实验电路及接线图: (2)实验程序框图: (3)实验步骤: 8255 PA7~PA0接发光二极管L5~L12,PB3~PB0接发光二极管L1~L4。 执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。 (4)实验参考程序 ① 汇编代码程序:(E:\DJ51\598K5ASM\HWO7.ASM) ② C代码程序: #includereg51.h #includeabsacc.h #define uchar unsigned char #define com8255 XBYTE[0xff2b] #define pa8255 XBYTE[0xff28] #define pb8255 XBYTE[0xff29] void delay(unsigned int i) { unsigned int j,k; for(k=0;ki;k++) for(j=0;j1000;j++); } void main(void) { com8255=0x88; pa8255=0xb6; pb8255=0x0d; delay(400); //all red lamp light while(1) { uchar d1=5,d2=5; pa8255=0x75; //west and east green lamp light pb8255=0x0d; //south and north red lamp light delay(400); while(d1--) { pa8255=0xf3; //yellow lamp flare pb8255=0x0c; delay(20); pa8255=0xf7; pb8255=0x0d; delay(20); } pa8255=0xae; pb8255=0x0b; delay(400); while(d2--) { pa8255=0x9e; pb8255=0x07; delay(20); pa8255=0xbe; pb8255=0x0f; delay(20); } } } 四.实验报告要求 1.画出实验的硬件电路图及设计程序流程图; 2.整理实验程序清单,并给程序加详细注释; 3.总结实验中出现的问题并进行解决的方法; 4.给出实验结果及对实验的改进意见。
显示全部
相似文档