还剩4页未读,继续阅读
文本内容:
课程设计说明书指导教师陈鸿学生吕鹏飞,康镭,程志斌,邹明学号08050344X39-42题目__发生器的软硬件设计设计题目__发生器的软硬件设计
(1)设计内容以8088CPU为核心设计一个__发生器,系统采用DAC0832输出__波形系统中有两个按键(A,B)选择输出正弦波或三角波__
(2)设计要求画出电路图,说明工作原理,编写一个当A键按下后输出正弦波(0~5V,频率100Hz),当B键按下后输出三角波(0~5V,频率200Hz)的程序
(3)工作原理硬件组成CPU8088一片,锁存器芯片8282二片,DAC0832一片,可编程并行通信接口8255一片,译码器74LS138一片,运放(CF107)一个,EPROM2764(8K*8)一片设计原理图见附图18255端口地址分配A口2000HB口2001HC口2002H控制端口2003H设计原理说明用2片8282锁存地址并构成8088CPU的地址总线一片EPROM2764与地址总线、数据总线、CPU相连构成存储单元用来存放程序和数据,一片可编程并行通信接口8255与DAC0832构成了__发生器的输出通道首先,通过对8255控制端口设置控制字,使8255的A口工作在方式0输入状态下,B口设置工作在方式0输出状态下(A口的PA0,PA1分别与A,B相连,B口的PB0~PB7与DAC0832数据线D0~D7相连)CPU8088通过读取8255A口数据,判断是否有键被按下,如果A键被按下,则CPU转移执行产生正弦波子程序,并从内存数据段DAT中读取数据,并将数据发送到8255,8255通过B口将数据发送到DAC0832芯片,0832通过运算放大器输出一个周期正弦波(幅值0~5V,频率100Hz).如果判断B键被按下,则CPU转移执行三角波子程序,8088通过8255B口向DAC0832输出数据产生一个周期的三角波(幅值0~5V,频率200Hz)当产生一个周期正弦波(三角波)完成后,CPU返回继续读取8255A口数据,并判断是否有键被按下若没有键被按下或A,B键同时被按下,CPU返回重新读取8255A口数据
(4)流程图
(5)汇编程序DSGSEGMENTDATDB80H,8CH,95H,0A5H,0B0H,0BCH,0C7H,0D1HDB0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFHDB0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0PAHDB0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH,2EHDB7FH,73H,67H,5AH,4FH,43H,38H,2EHDB25H,1DH,15H,0FH,09H,05H,02H,00HDB00H,02H,05H,09H,0FH,15H,1DH,25HDB2EH,38H,43H,4FH,5AH,67H,73H,7FHDSGENDSSSGSEGMENTSTDB100DUP(?)SSGENDSCSGSEGMENTASSUMEDS SSG,CS CSGSTARTMOVAX,DSGMOVDS,AXMOVAX,SSGMOVSS,AXMOVIP,LENGTHSTMOVSI,OFFSETDATMOVCX,64MOVAL,90HMOVDX,2003H/通过方式选择控制字使A口工作OUTBX,AL在方式0输入,B口工作在方式0CHECK MOVBX,2000H输出/INAL,BX/读入8255A口数据/ANDAL,03HCMPAL,02H/检验是否A键被按下/JZSINCMPAL,01H/检验是否B键被按下/JZTHREEJMPCHECKSIN MOVAL,[SI]MOVBX,2001HOUTBX,AL/把数据输出到B口/PUSHCXMOVCX,55/产生时间延迟/NEXTLOOPNEXTPOPCXINCSIDECCXJNZSIN/产生一个周期正弦波/JMPCHECK/返回读取A口数据/SINENDPTHREEMOVAL,00HMOVBX,2001HA1OUTBX,AL/把数据输出到B口/INCALMOVCX,9/产生三角波的上升沿/NEXT LOOPNEXTCMPAL,0FFHJNZA1A2OUTBX,ALDECALMOVCX,9/产生三角波的下降沿/NEXT LOOPNEXTCMPAL,00HJNZA2/产生一个周期三角波/JMPCHECK/返回读取A口数据/THREEENDPCSGENDSEND
(6)总结两周课程设计时间里,我们基本上完成了《微机原理及接口技术》课程设计现总结如下在前期的准备过程中,经过查找资料,我们掌握了8088CPU、8255A、DAC
0832、ROM等芯片的相关内容,了解了总线的形成复习了以前学过的内容在汇编程序的设计过程中,我们复习并掌握了汇编程序的编写结构和要求,加强了对课堂内容的理解通过课程设计,我们将理论知识应用到实践中,去解决课程设计中遇到的各种问题,做到学以致用加深了我们对《微机原理及接口技术》这门课的主要知识的理解和掌握课程设计锻炼了我们团队协作能力和精神,为以后的学习和工作做准备经过讨论分工协作在大家的共同努力下我们顺利完成了设计,大家尽已所能,体现了团队合作和互助的精神在课程设计中也发现了我们学习过程中的一些问题,如对基本概念学习不细致,掌握不全面,对《微机原理及接口技术》缺乏整体的系统的认识,以致于在设计之初不知如何着手去做,脑中没有一个整体的框架和构思由于我们掌握的知识不够全面,又是首次做课程设计,所以课程设计出现纰漏在所难免,望老师加以指正谢谢!8255初始化是否只有A键被按下通过B口送至DAC08328255从数据总线取出数据CPU从ROM读取数据被发送到数据总线输出一个周期正弦波是否有键被按下读取A口数据输出一个周期三角波通过B口送至DAC08328255从数据总线取出数据CPU从ROM读取数据被发送到数据总线是否只有A键被按下。