题目带数码管显示的交通灯模拟控制系统设计
课程名称微机原理及应用a
院系物理与电气工程学院
专业自动化。
班级 08级(2)班
学生姓名杨世红
学号 080308083
指导教师丁文祥
课题名称带数码管显示的交通灯模拟控制系统设计。
一、概述。在star es598pci实验系统的基础上,应用可编程并行接口8255、定时/计数器8253、可编程中断控制器8259等i/o接口芯片,设计一个十字路**通信号灯模拟控制系统。
二、设计目的。
通过设计一个十字路**通灯系统掌握等接口芯片的编程和应用方法,做到理论联系实际。
三、设计要求。
要求绘制流程图、编写源程序,并在实验系统上调试通过程序。
四、设计内容。
1、十字路**通信号灯设置。
某十字路**通信号灯系统在4个路口均装设红、绿2个灯,并装设数码管显示倒计时。
图1 交通信号灯设置。
实验时用led(发光二极管)代替十字路口的红绿灯。
2、交通信号灯亮灭规律。
交通信号灯系统初始状态为所有红灯闪烁n1秒钟(不必在数码管显示);之后东西向车行道绿灯亮,车辆放行n秒钟,此时南北向车行道红灯亮,之后转为南北向车行道放行n秒钟,如此循环重复。要求数码管能够显示倒计时。
参数选择:n=20s/25s…85s/90s(每隔5s取一个秒数)
n1≤10s,闪烁次数为3~8次。
每组自行选择n、n1(及闪烁次数)。
3、参考方案。
采用组成系统,采用8253产生定时,运用8259采用中断法编写程序。
如果加入紧急车辆通过功能或其他任何先进功能,可根据具体情况加创新分。
五、设计报告要求。
要求在报告中详细叙述所选方案的原理、特点及评价,给出硬件原理图、程序流程、源程序、调试结果描述(需安排实验系统运行**)。
报告采用电力工程学院统一的标准格式书写。
最终上交的报告内容包括:1、任务书、2设计内容(正文、心得体会。
一、设计说明。
硬件方面:8253产生1hz的方波,脉冲到8259的ir1端,产生中断,调中断服务子程序。在加入紧急车道后,单脉冲()连到8259的iro端,产生一个高级的中断请求信号。
软件方面:主程序先对各个硬件初始化,在开cpu中断,然后空操作,等待中断。执行低级中断(ir1)时,8255的pa口负责选数码管,pb口负责显示数字,用查表法可查到0~9的数码管编码。
采用循环扫描方法,人眼即可看到连续的二位数。当倒计时减到零时,对红绿灯取反。若手动上下拨动单脉冲()一次,则产生一个高级中断(ir0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(ir1)。
1、硬件设计。
1.1、硬件接线图。
2.源程序清单。
io8259_0 equ 0e000h8259地址偶地址端。
io8259_1 equ 0e001h8259地址奇地址端。
k8255a equ 0f000h8255的a口、b口、c口地址。
k8255b equ 0f001h
k8255c equ 0f002h
k8255k equ 0f003h
add8253_0 equ 0d000h8253计数通道1##、3#和控制口地址。
add8253_1 equ 0d001h
add8253_2 equ 0d002h
add8253_c equ 0d003h
counter equ 60h倒计时数。
red_on equ 0cch红灯亮。
red_off equ 0ffh红灯灭。
e_w equ 0c3h东西方向通行。
data segment
tab db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
count db ?
scan dw 485扫描次数。
data ends
stck segment stack
dw 64 dup(?)
stck ends
code segment
assume cs:code , ds:data,ss:stck
start:mov ax,data
mov ds,ax
mov es,ax
nopmov dx,k8255k写8255控制字,a,b,c均为输出,方式0
mov al,80h
out dx,al
start1: mov dx,k8255cc口输出,控制灯。
mov cx,4
flash: mov al,red_on红灯亮。
out dx,al
call delay调延时。
mov al,red_off红灯灭。
out dx,al
call delay
loop flash
start2: mov dx,add8253_c ;写8253控制字。
mov al,37h0#计数器,读写16位低高字节,方式三,bcd码。
out dx,al
mov ax,1000h写0#的计数初值1000h,根据输入设定2m=1000h*2000
mov dx,add8253_0
out dx,al
mov al,ah
out dx,al
mov dx,add8253_c写8253控制字。
mov al,77h1#计数器,读写16位低高字节,方式三,bcd码。
out dx,al
mov ax,2000h写1#计数初值2000h,根据输入设定,方波频率1hz
mov dx,add8253_1
out dx,al
mov al,ah
out dx,al
mov count,counter写计数值(红绿灯变换的间隔时间)
call init8259调8259初始化子程序。
call wriintver_8调写中断向量表子程序。
call wriintver_9调写中断向量表子程序。
mov cl,e_w
mov al,cl
mov dx,k8255c
out dx,al
stinop
start3: jmp给出中断以外cpu的工作。
init8259 proc near8259初始化子程序。
mov dx,io8259_0写icw1,边沿触发,单片,需写icw4
mov al,13h
out dx,al
mov dx,io8259_1写icw2,确定中断类型号。
mov al,08h
out dx,al
mov al,09h写icw4
out dx,al
mov al,0fch写ocw1,除ir0、ir1全屏蔽。
out dx,al
retinit8259 endp
wriintver_9 proc near写中断向量表子程序。
push es
mov ax,0
mov es,ax
mov di,24h中断类型号9,对应24h,25h,26h,27h四个单元。
lea ax,int_9取中断服务程序ip
stoswmov ax,cs取中段服务程序cs
stoswpop es
微机原理课程设计封面
时间安排 本周开始,下周一前将选题统计表以邮件的方式发给苏老师和张老师。本学期十月末交 课程设计说明书和程序及汇编生成的文件 每个同学以学号姓名建一个文件夹。同时安排答辩。迟交的一律不予接收。选题规则 1 8班同学顺次排号,第一个同学从第一题开始选,到第121个同学轮回再选第一题。每一个班选硬件题目...
微机原理课程设计要求
1 时间安排 16 17周,12月15日 12月25日,完成课程设计任务,包括撰写设计报告。12月26日,答辩 地点由答辩小组老师确定 没在规定时间答辩,以缺考处理,成绩0分。2 编程要求 在pc机上使用汇编语言编写程序。使用dos功能调用或bios调用实现要求的功能3 报告要求 题目分析和设计思路...
微机原理课程设计题目
课程设计题目。一 题目一。字符串动画显示。设计内容要求 1 菜单。内容包括 输入字符串 字符串动画显示 退出。2 输入字符串。选择该项后,可以输入一个字符串。该字符串即为动画显示时所显示的字符串。3 字符串动画显示。所显示字符串在一矩形框内从无到有,从右至左移动,完全从框内移出后,又从右至左移动,直...