ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:229.78KB ,
资源ID:12663138      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12663138.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(某某工学院微机原理课程设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

某某工学院微机原理课程设计.docx

1、某某工学院微机原理课程设计1 引言随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便。2 课题的意义及系统的主要功能2.1课题的意义本课程设计是基于微机原理与接口技术的简单应用。运用所学的微机原理和接口技术知识完成交通灯系统。通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了现代城市交通控制与管

2、理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的交通灯控制系统的硬件、软件电路设计方案。2.2系统的主要功能根据实验箱现有的实验电路,设计电路并编写程序使6个灯按交通变化规律亮、灭或闪烁,且将时间显示在数码管上。十字路口交通灯变化规律要求:1南北路口的绿灯、东西路口的红灯同时亮30秒。2南北路口的黄灯闪烁3次,同时东西路口的红灯继续亮。3南北路口的红灯、东西路口的绿灯同时亮30秒。4南北路口的红灯继续亮,同时东西路口的黄灯闪烁3次。5转1重复。3 硬件部分3.1设计思想利用定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED数码管显示倒计时时间。3.2

3、红、黄、绿灯的表示仪器上有8个发光二级管,从高到低依次为:D7D6D5D4D3D2D1D0。设计过程中我们用了六个灯,但我们连了8根线,所以我们做了如下规定:R为红灯,G为绿灯,Y为黄灯,E为方向东,W为方向西,S为方向南,N为方向北。设计中又采用以下原则:A7-A5分别为东西方向红黄绿灯,A0-A0为代表南北方向红黄绿灯,A3和A4无意义。图1红黄绿灯的表示3.3 8255部分8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其内部与引脚图如图:图2 8255的引线和逻辑框图8255有三个端口A、B、C端

4、口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。3.4 8253部分intel8253是NMOS工艺制成的可编程计数器/定时器,其内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同,如图所示:图3 8253引脚图和内部结构图每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立,采用减1计数方式。控制字如图所示:图4 8253控制字图在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。在

5、这里我们主要采用方式0:计数结束产生中断 (由低电平变为高电平)。a. 写CW后:OUT=0,直到计数到0b. 写N后:下1个CLK脉冲下降沿开始计数c. 计数过程中,可重写N,重写N后,同b.d. GATE的作用:GATE=1计数、=0暂停计数e. 计数到0:OUT=1,直到再写CW或N3.5 8255与8253连接方式8255连接说明如下:数据端口连接系统总线数据段D0D7,RD 连接系统IOR,WD连接系统IOW,CS 连接IOY3,寄存器地址输入信号A0A1连接系统总线A0A1,PA端连接外设二极管(PA端A7A2对应二极管D7D2),作为输出,A7A5分别代表东西方向;红黄绿灯,A4

6、A2分别代表南北方向红黄绿灯,A1A0无意义。且全部为低有效),PB端连接外设LED(PB端B0B7对应LEDabcdefgh),作为输出,PC端,低位输入、高位输出C0连接8254OUT端作为输入;C4C5连接X1X2作为输出,控制LED显示十位个位8253 连接说明如下:数据端口连接系统总线数据段D0D7,RD 连接系统IOR,WD连接系统IOW,CS 连接IOY2,寄存器地址输入信号A0A1连接系统总线A0A1,CLK0 连接1KHZ,GATE0 连接 +5V,OUT0 连接 8255C0端图5 8255与8253连线图3.6 8255A与CPU连接方式8255A的A1、A0:与8088

7、CPU的A1、A0相连。图6 8088与8255A相连3.7 数码管动态显示在实际的单片机系统中,往往需要多位显示。动态显示是一种最常见的多位显示方法,应用非常广泛。 用数码管显示信息时,由于每个数码管至少需要8 个I/O 口,如果需要多个数码管,则需要太多I/O 口,而单片机的I/O 口是有限的。在实际应用中,一般采用动所有数码管的段选全部连接在一起,如何能显示不同的内容呢?动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。态显示的方式解决此问题。在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间

8、后,再选中另一个数码管,再输出对应的段码,高速交替。例如需要显示数字“12”时,先输出位选信号,选中第一个数码管,输出1 的段码,延时一段时间后选中第二个数码管,出2 的段码。把上面的流程以一定的速度循环执行就可以显示出“12”,由于交替的速度非常快,人眼看到的就是连续的“12”。在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。4 软件部分 4.1框图描述设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟30秒后

9、,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁3次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁3次后,再切换到1、3路口方向。之后,重复上述过程。通过8253计数,每1ms刷新一次,CX计数不为零,计数值减1,刷新1000次,持续一秒钟(其中,输入始终脉冲为1KHZ)。使用8255实现了PA7PA0控制二极管的亮灭,PB7PA0控制数码管的显示。通过设置控制字,使8255的C口高四位输出,低四位输入,PC4和PC5对数码管进行位控,让两位十进制数同时显示。4.2设计框图5 源代码及注释P

10、ORT_A EQU 2A0H ;8255 PORT A ADDRESSPORT_B EQU 2A1H ;8255 PORT B ADDRESSPORT_C EQU 2A2H ;8255 PORT C ADDRESSCMD_PORT EQU 2A3HPORT_CS EQU 2A3HTIM_CTL EQU 43H ;8253 TIMER CONTROL PORT ADDRESSTIMER EQU 40H ;8253 ADDRESSTIMER0 EQU 40H ;8253 TIMER/CNTER 0 PORT ADDRESSTIMER1 EQU 41H ;8253 TIMER/CNTER 1 POR

11、T ADDRESSTIMER2 EQU 42H ;8253 TIMER/CNTER 2 PORT ADDRESSMY8254_COUNT0 EQU 2A4H MY8254_MODE EQU 2A5H DATA SEGMENTLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;数码管七段代码表(09)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,10000011B BITS:OUTPUT,PORT_CLOW 4 BITS:INPUT,MODE

12、0 MOV DX,PORT_CS OUT DX,AL SHOW: MOV DX,PORT_A MOV AL,00100100B OUT DX,ALMOV CX,300HUANG4: CALL TIMING LOOP HUANG4CALL TIMINGMOV CX,3HUANG: MOV AL,01000100B OUT DX,AL CALL TIMINGMOV DX,PORT_A MOV AL,00000100B OUT DX,AL CALL TIMING LOOP HUANG MOV AL,10000001B OUT DX,AL CALL TIMINGMOV CX,300HUANG2: CA

13、LL TIMING LOOP HUANG2MOV CX,3HUANG3: MOV AL,10000010B OUT DX,AL CALL TIMING MOV DX,PORT_A MOV AL,10000000B OUT DX,AL CALL TIMING LOOP HUANG3 JMP SHOWTIMING PROC NEAR CALL DELAY RETTIMING ENDPDELAY PROC NEAR PUSH CX PUSH BX MOV BX,0FFHDELAY_: MOV CX,0FFHDELAY_AGAIN: LOOP DELAY_AGAIN DEC BX JNZ DELAY_

14、 POP BX POP CX RETDELAY ENDP INITIAL_8254 PROC ;8254初始化,1sPUSH AXPUSH DXMOV DX,MY8254_MODE ;先写低8位,再写8位,BCD方式计数MOV AL,00110001BOUT DX,ALMOV DX,MY8254_COUNT0 MOV AL,00H ;写低8位OUT DX,ALMOV AL,10H ;写高8位OUT DX,ALPOP DXPOP AXRETINITIAL_8254 ENDP DISP PROC ;数码管显示PUSH AXPUSH BXPUSH DXPUSH CXDEC CXMOV DX,MY82

15、55_C ;将CL中二进制数转化为十进制数MOV AL,11101111BOUT DX,ALMOV AX,CX MOV CL,0AH ;将十位数放在高位数码管,将个位数放在低位数码管DIV CL PUSH AXMOV BX,OFFSET LEDXLAT ;显示十位码MOV DX,MY8255_B ;将AL中8位码输出到B口,给LED显示器OUT DX,AL MOV CX,0FFFFH ;延时DELAY:NOPLOOP DELAY MOV DX,MY8255_CMOV AL,11011111BOUT DX,ALPOP AX MOV AL,AH MOV BX,OFFSET LEDXLAT ;显示个

16、位码MOV DX,MY8255_B ;将AL中8位码输出到B口,给LED显示器OUT DX,AL POP CXPOP DXPOP BXPOP AXRETDISP ENDP CODE ENDSEND START结 论本次课程设计我接到的题目是“含倒计时功能的交通灯控制系统的设计”。交通灯对于我们来说并不陌生,并且在之前其它科目的课程设计中,我们也碰到过类似的题目。我们的设计分两部分,最终的设计结果是第一部分红绿黄三种灯的亮,暗,闪烁功能得以实现,但第二部分倒计时部分未能完成。此外在课程设计期间我们也遇到过各种难题。例如在设计中途曾尝试过用555定时器来做定时功能,但因为知识量缺乏而无功而返。还有

17、就是在程序中,用到了汇编的宏,有些地方查了资料还是不能完全理解。这些都很明显地体现出我们基础知识的不扎实,更不能学以致用。当然,在本次课程设计中,我们也能体会设计中存在的乐趣。死板的课本知识变得生动,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识也更加深刻。最终我们组本次课程设计并没有全部完成,希望下一届同学在做同一个设计题目时能够在我们的基础上让加以改进,最终让设计更完美,更人性化。最后,感谢指导老师段老师的悉心指导,同时感谢本小组*同学的帮助。参 考 文 献1 彭虎,周佩玲,傅忠谦. 微机原理里与接口技术:电子工业出版社,20082 蔡启先,王智文,黄晓璐. 汇编语言程序设计实验指导:清华大学出版社,20083 张晓明,白凤凤,李雅红. 汇编语言程序设计:国防工业出版社,20094 张坤. 汇编语言实验教程:清华大学出版社,20085 卜艳萍,周伟. 汇编语言程序设计教程.第2版,清华大学出版社,2007

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1