微机原理课程设计_第1页
微机原理课程设计_第2页
微机原理课程设计_第3页
微机原理课程设计_第4页
微机原理课程设计_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录TOC\o"1-5"\h\z课程设计要求2L1电路接线方案21.2定时问题2L3功能要求2\o"CurrentDocument"设计思路与功能描述22.1设计思路22.2功能描述3流程图3电路图44.1电路原理图44.2实物图运行结果5问题和解决办法7源程序清单8收获感悟11参考文献11一、课程设计要求设计任务中的A道代表东西方向,B道代表南北方向。1、电路接线方案:交通信号灯由实验仪的LED发光二极管模拟,由8255-PA输出控制:见下表。带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表(供参考)8255-PB输出方式PCH输入方式8255-PA输出方式PCL输出方式引脚输出信号引脚输入信号引脚输出信号引脚输出信号PB7驱动数码管字型PC7K7PA7紧急车辆闪光PB6PC6K6PA6东西红灯PB5PC5K5PA5东西黄灯PB4PC48253-OUT2PA4东西绿灯PB3PA3PC3PB2PA2南北红灯PC2PB1PA1南北黄灯PC1PB0PA0南北绿灯PC0数码管的位码选择注:1)、8255-PA输出方式可根据实验设备红绿黄灯具体位置改变2)、采用软件延时,则8255的PC4不用接8253-OUT2。数码管的位码选择2、定时问题:用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GATE2接高电平,OUT2接8255-PC4。主程序通过查询8255-PC4的状态,获知准确的定时信息。也可以采用软件延时,500ms延时子程序参见实验一。3、根据设计任务功能要求,依K5、K6、K7的状态分为四种工作状态:状态0:K5、K6、K7均断开(1电平),A、B道交替通行;状态1:仅K5闭合,A道有车、B道无车;状态2:仅K6闭合,A道无车,B道有车;K5和K6均闭合,A、B道都有车,A、B道交替通行;状态3:K7闭合,有紧急车辆通行。二、设计思路与功能描述(1)设计思路8255交通信号灯的灯光变化和数码显示通过8255实现控制。8255是一种具有多种功能的可编程并行通信接口电路芯片。芯片包括A、B、C三个数据端口、A组控制部件、B组控制部件、读写逻辑控制电路、数据总线缓冲器。8255有三种工作方式,其中方式0是基本输入/输出方式,适用于无条件传送和查询方式的接口电路。本设计中,PA口用于输出信号控制灯光的变化(D6D5=00,D4=0),PB口用于输出信号控制数码管的显示(D2=0,D1=0),PC0用于输入K8的控制开关信号,PC1用于输入用于硬件延时的方波信号(D0=1)。PC7用于输出控制数码管工作/不工作的信号(D3=0)。故写入方式控制字为10000001B=81H。8255A输入/输出信号接线方案如下表所示:8255-PB输出方式PCH输出方式8255-PA输出方式PCL输入方式引脚输出信号引脚输出信号引脚输出信号引脚输入信号PB7驱动数码管字形PC7K7PA7紧急车辆闪光PB6PC6K6PA6东西红灯PB5PC5K5PA5东西黄灯PB4PC48253-OUT2PA4东西绿灯PB3PA3PC3PB2PA2南北红灯PC2PB1PA1南北黄灯PC1PB0PA0南北绿灯PC0数码管的位置选择a.灯光显示:送低电平则灯亮,送高电平则灯灭。东西绿灯,南北红灯:PA0〜PA7应输出01111101B=7DH东西闪灯,南北红灯:黄灯亮,红灯亮PA0〜PA7应输出10111101B=0BDH黄灯灭,红灯亮PA0〜PA7应输出11111101B=0FDH东西红灯,南北绿灯:PA0〜PA7应输出11010111B=0D7H东西红灯,南北黄闪:红灯亮,黄灯亮PA0〜PA7应输出11011011B=0DBH红灯亮,黄灯灭PA0〜PA7应输出11011111B=0DFH两个路口都黄灯闪烁:两个黄灯亮:PA0〜PA7应输出10111011B=0BBH两个黄灯灭:PA0〜PA7应输出11111111B=0FFHb.LED数码显示:数码管采用共阴极接法,位选信号为0则数码管工作。a〜dp段发亮条件:对应位输入1,见下表所示:显示数字0123456789PB输出3FH06H5BH4FH66H6DH7DH07H7FH6FH②8253交通信号灯亮、灭的时间及数码管的倒计时间隔都通过8253控制。8253可编程定时/计数器是Intel公司生产的通用外围接口芯片,它有三个独立的16位计数器,计数范围为0〜2MHz。8253有6种工作方式,其中方式三是方波发生器方式。本设计中选用通道0,CLK0接1953HZ的时钟信号,GATE0接高电平VCC,OUT0接8255的PC1。因为需要产生周期为0.5s的方波,即产生2Hz的方波而固有频率为1953Hz,故分频系数N=1953/2=976。由于选用了通道0(SC1SC0=00),工作在方式3(M2M1M0=011),对计数器进行读写/操作时,先送低8位,再送高8位(RW1RW0=11),计数器的数值采用10进制(BCD=1),故初始化时命令字为00110111B=37H。(2)功能描述开关K5,K6,K7拨到1,实现状态0:东西方向放行7秒,南北方向放行5秒。开关K5拨到0,实现状态1:东西方向有车,南北方向无车。开关K6拨到0,实现状态2:东西方向无车,南北方向有车。开关K7拨到0,实现状态3:有紧急车通行。除了状态0,其他状态下数码管没有数字显示。三、流程图

流程图1四、电路图(1)电路原理图说明:5255:PA口,输出,控制LED灯PB口,输出,控制数码管显示数字PC0,输入,反映开关状态PC1,输入,送入8253产生的2Hz方波PC7,输出,控制数码管工作与否

8253:OUT0,输出,输出方波给8255CLK0,输入,送入固有频率3906HzC5区:8253电路CSD0—D1—-^3—D2—-^2—D3—-^1-D4—-^0—D5—-^9—C5区:8253电路CSD0—D1—-^3—D2—-^2—D3—-^1-D4—-^0—D5—-^9—D6—-2S—D7—27RD——5—WR—-^6—r9】8RST\—35oU36D0PA0,D1PA1D2PA2,D3PA3,D4PA4,D5PA5D6PA6D7PA7RD-PB0,WRPB1,A0PB2A1PB3,RESETPB4CSPB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC78255―4PA03PA1—2—PA2—1—-^A340PA439-^A538PA637PA718PB01920PB221PB322PB423PB524PB61415161713121110TC0-TC^■PC2-TC3-TC^TC5-TC6-'TC7-1123456781234567812345678JP56JP53JP528253A0、A1:地址信号。CS:片选信号,低电平有效;JP52:PC口;JP53:PB口;JP56:PA口。(2)实物图CS:片选信号,低电平有效;A0、A1:地址信号;TitleSizeNumberADate:2006-4-11File:Sheet1.SchDoc3五、运行结果(1)状态0:K5、K6、K7均断开(1电平),A、B道交替通行A绿灯B红灯B->A交替时B黄灯1s⑵状态1:仅K5闭合,A道有车、B道无车⑶状态2:仅K6闭合,A道无车,B道有车⑷状态3:K7闭合,有紧急车辆通行六、问题和解决办法1.1s延时程序不精确,最大存在0.5s的误差。起先讲程序运行后出现AB交错的现象,用JZ指令代相对应的JNZ修改成功。程序跳转时黄灯亮的次序出错对指令的顺序进行修改。文件名保存为xinhaodeng.asm发生错误,原因是命名单词不能超过6个。

七、源程序清单.MODELTINYCOM_ADDEQU0F003H;8255A片选地址PA_ADDEQU0F000HPB_ADDEQU0F001HPC_ADDEQU0F002HCOM_ADDREQU0B003HT0_ADDREQU0B000HT1_ADDREQU0B001HT2_ADDREQU0B002H.STACK200.DATASHU_DATADB01111111B0DB00000110B1DB01011011B2DB01001111B3DB01100110B4DB01101101B5DB01111101B6DB00000111B7CNT0DB?CNT3DB?.CODESTART:MOVDX,COM_ADD8255初始化MOVAL,88HPA、PB、PCL输出方式0,PCH输入OUTDX,ALMOVDX,PA_ADDMOVAL,0FFHOUTDX,ALMOVDX,PC_ADDINAL,DXANDAL,0F0H;保留高位,低位为0ORAL,01H;保留高位,低位全部为1OUTDX,ALMOVDX,COM_ADDR;8253初始化MOVAL,0B0H;10110000BOUTDX,ALMOVCNT0,0;状态0:A,B交替MOVCNT3,0;状态3:紧急时LEABX,SHU_DATALP:CALLDL500MSMOVDX,PC_ADDINAL,DXTESTAL,80H;ALAND10000000B,检测K7JZK7;如果PC7=0,结果为0,ZF=1,不执行K7。如果PC7=1,ZF=1,执行K7,为特殊情况TESTAL,20H;00100000B,检测PC5JZK51;如果PC5=0,结果为0,ZF=1,不执行K51。如果相反,

则执行K51TESTAL,40H;01000000B,检测PC6JZK61MOVCNT3,0MOVCH,CNT0SHRCH,1;CNT3=0,CH右移1位相当于CH/2JZRY;CH/2=0时,ZF=1,则转RYCMPCH,8;比较CH/2和8JSGR;CH/2〈8,标志SF=1,转GRJZYR;CH/2=8,转YRMOVDX,PA_ADDMOVAL,0D7H;11010111BOUTDX,AL;A红B绿MOVDX,PB_ADDMOVAL,14;启动数码管SUBAL,CH;AL-CH/2XLAT;AL=AL+BXOUTDX,AL;显示倒计时。LAST:INCCNT0;CNT0=CNT0+1CMPCNT0,28;CNT0-28JNZLPMOVCNT0,0JMPLPRY:MOVDX,PA_ADDMOVAL,0DBH;11011011BOUTDX,AL;A红B黄MOVDX,PB_ADD;关数码管MOVAL,00HOUTDX,ALJMPLASTK51:JMPK5K61:JMPK6GR:MOVDX,PA_ADDMOVAL,7DH;01111101OUTDX,AL;A绿B红MOVDX,PB_ADD;输出倒计时数字MOVAL,8SUBAL,CH;AL=AL-CH/2=8-CH/2XLAT;AL=AL+BXOUTDX,ALJMPLASTYR:MOVDX,PA_ADDMOVAL,0BDHOUTDX,AL;A黄B红MOVDX,PB_ADD;关数码管MOVAL,00HOUTDX,ALJMPLASTK7:MOVCH,CNT3;CNT3=0,CH=0

CMPCH,0JZK71MOVDX,PA_ADDMOVAL,0DDHK72:MOVDX,PB_ADDMOVAL,00HOUTDX,ALNEGCH;CH=1MOVCNT3,CH;CNT3=1,K7灭MOVCNT0,0JMPLPK71:MOVDX,PA_ADDMOVAL,0DCH;11011100B,K8亮0.5sOUTDX,ALCALLDL200MSMOVDX,PA_ADDMOVAL,0DDH;11011101B,K8灭0.5sOUTDX,ALJMPK72K5:MOVDX,PA_ADDMOVAL,7DH;AL=01111101BOUTDX,AL;亮A绿B红JMPK56K6:MOVDX,PA_ADDMOVAL,0D7H;11010111BOUTDX,AL;亮A红B绿K56:MOVDX,PB_ADDMOVAL,00HOUTDX,ALMOVCNT0,0MOVCNT3,0JMPLPDL500MSPROCNEARMOVDX,T2_ADDRMOVAX,62500;频率125KHz,62500*(1/125)=0.5sOUTDX,ALMOVAL,AHOUTDX,ALDELAY1:MOVDX,PC_ADDINAL,DXTESTAL,10H;设置"准备就绪-(ready)信息在D4位到PC4,TEST为ALAND10HJEDELAY1;AND后PC4为0时,JE=1,执行DELAY。AND后为1,JE=0,不执行DELAYRETDL500MSENDPDL200MSPROCNEARMOVDX,T2_ADDRMOVAX,25000;频率125KHz,25000*(1/125)=0.2sOUTDX,ALMOVAL,AHOUTDX,ALDELAY2:MOVDX,PC_ADDINAL,DXTESTAL,10HJEDELAY2RETDL200MSENDPENDSTART八、收获体会万事开头难,在最初设计时,对电路怎么画都不了解,更别说动手操作接线及编程了,在翻阅书籍和上网查资料后,一点点对实验的要求有了明解,才开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论