《微机原理课程设计大纲.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计大纲.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理及应用课程设计大纲一、课程设计目的与要求本课程设计要求完成一个微型计算机应用系统的设计。通过设计简单实用的微型计算机应用系统,使学生加深对微型计算机硬件原理的理解及提高汇编语言程序设计的能力,使学生掌握控制系统设计的一般步骤,使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入/输出(I/O)接口技术,应用程序设计技术。通过本课程设计,同时使学生在电路设计、电路图的绘制上有较大的提高,掌握系统总体控制方案的设计方法,提高学生的综合设计能力和创新能力,为以后的毕业设计打下良好基础。二、课程设计任务1、参考题目(1)可调时电子钟的设计设计一个可调时电子钟,要求:1)给出系统设计方案;
2、画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能: 6位七段LED数码管可显示时、分、秒,并按正常时间显示方法工作; 通过定义键盘的字母键,可对计时器进行调整。(2)空调温度控制系统的设计设计一个空调温度控制系统,要求:1)给出系统设计方案;画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能: 能采集并显示当前温度值; 能用键盘设定恒温温度; 当外界温度高于或低于设定温度2时,就要启动加热或致冷装置。(3)点阵显示屏系统的设计设计一个点阵显示屏系统,要求:1)给出系统设计方案;画出硬件连线图,并说明工作原理;2)完成1616LED点阵显示器系统设计,画
3、出程序框图并编写程序显示英文、汉字字符等。(4)模拟电子琴的设计设计一个模拟电子琴,要求:1)给出系统设计方案;画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能: 使用键盘的数字键1、2、3、4、5、6、7模拟电子琴的琴键,按下某按键电子琴发出相应音调;用8253计数器发出音频脉冲,驱动喇叭。(5)模拟交通信号灯控制系统的设计设计一个模拟交通信号灯控制系统,要求:1)给出系统设计方案;画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能:开始南北红灯、东西绿灯亮8s,然后南北红、东西黄灯亮2s,然后南北绿灯、东西红灯亮8s,然后南北黄灯、东西红灯亮2s,
4、返回开始。(6)模拟计算器的设计设计一个模拟计算器,要求:1)画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能: 6位七段LED数码管可显示6位十进制数。要求利用键盘可进行5位十进制数以内的加减法运算。要求利用键盘可进行2位十进制数以内的乘除法运算。(7)自拟题目学生可根据本课程设计的目的与要求自选题目,题目必须为一微机应用系统的设计,经过指导教师鉴定、允许后可将自选题目作为本课程设计的题目。2、课程设计任务及工作量的要求每一学生在教师指导下,独立完成一个微机应用系统的设计。工作量如下:(1)进行系统方案总体设计。(2)硬件部分设计。将整个硬件系统划分为若干功能单元电路,
5、画出每个单元电路原理图,绘出整个系统电路原理图。(3)软件部分设计。画出程序流程图,编写系统源程序(有必要的注释)并调试;(4)软硬件联调,完成系统工作调试;在以上工作基础上完成课程设计报告,包括设计任务与要求,总体方案说明,电路原理图与说明,软件流程图和源程序清单,问题分析与解决方案,结论与体会,参考资料等。三、课程设计时间安排序号任务所需时间备注1布置任务、准备参考资料0.5 工作日教师授课2硬件部分设计1工作日在计算机实验室完成3软件部分设计1工作日在计算机实验室完成4系统调试1工作日在计算机实验室完成5撰写课程设计报告1 工作日学生课外完成6答辩0.5 工作日集中答辩四、课程设计主要参
6、考文献1许立梓.微型计算机原理及应用M.北京:机械工业出版社,2003.2本书编辑委员会.微型计算机及外部设备常用芯片手册M.北京:清华大学出版社,1999.3何希才.常用集成电路简明速查手册M.北京:国防工业出版社,2006.五、课程设计成绩评定课程设计成绩分四个部分评定:方案设计、软硬件调试过程、设计报告和答辩。评分标准如下:1、方案设计在能够体现题目功能、硬件原理图正确、程序流程合理的前提下,教师对学生的设计水平、难易程度、实现方法进行评价。本部分占总成绩20。2、软硬件调试过程中教师巡回检查辅导,了解每个学生的工作情况。每组调试结束后经指导教师检查,对其实验方法、结果、元器件及设备的完
7、好情况综合评价。本部分占总成绩30。3、设计报告按规定格式书写,要求材料齐全,叙述清楚。本部分占总成绩30。4、答辩占总成绩20;考核成绩分为优、良、中、及格和不及格。六、课程设计报告例模拟计算器的设计正文:一、设计任务与要求设计一个模拟计算器,要求:1)画出硬件连线图,并说明工作原理;2)画出程序框图并编写程序完成如下功能 6位七段LED数码管可显示6位十进制数。要求利用键盘可进行5位十进制数以内的加减法运算。要求利用键盘可进行2位十进制数以内的乘除法运算。二、总体设计方案说明设计的计算器采用8088CPU芯片为主控芯片。键盘输入及LED数码管通过8255A接口与系统总线连接,键盘的16个按
8、键组成8*2矩阵,其中8根矩阵线作为8255A的输出线与PB7PB0连接,2根矩阵线作为8255A的输入线与PC7、PC6连接。键盘采用逐次扫描原理,16个按键中09座位数字健,+、-、*、/、=作为加、减、乘、除和等号功能键,C为清零键。6位LED数码管用于显示数据,LED数码管采用动态显示方式工作,PC3、PC2、PC1给出位码经74LS38译码之后选中6个数码管中的一个,PA7-PA0提供段码。系统框图如图1所示。8088CPU8255ALED数码管键盘存储器图1模拟计算器系统框图三、硬件部分设计1、8088微处理器 8088微处理器是Intel公司1979年推出的准16位的微处理器。有
9、40引脚,其中20位的地址总线AD0AD7,A8A19(双向,三态)和复用8位数据总线AD0AD7;最小工作模式下ALE是地址锁存,DEN是数据允许信号,DT/R是数据 收发信号M/IO是存储器/IO控制信号,WR是写信号,RD是读信号等。8088CPU引脚信号图如图2所示。图2 8088CPU引脚信号图2、8255A可编程并行接口芯片图3 8255A引脚信号图8255A是Intel公司生产的一种可编程并行输入/输出接口芯片。它的通用性强,可以方便地和微机连接,用来扩展输入/输出口。8255A有3个8位并行端口,根据不同的初始化编程,可以分别定义为输入或输出方式,以完成CPU与外设的数据传送。
10、8255A采用40脚双列直插式封装,引脚信号图如图3所示。与外设连接的引脚为PA7PA0、PB7PB0和PC7PC0,与CPU连接的引脚为:数据引脚:D7D0 ;复位输入:RESET;片选信号:CS;端口选择的地址信号:A1和A0;读信号:RD;写信号:WR。8255A内部结构如图4所示。图4 .8255A内部结构(1)并行输入/输出端口A,B,C8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7PA0、PB7PB0、PC7PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端
11、口A和端口B的状态和控制信息的传送端口。(2)A组和B组控制部件端口A和端口C的高4位(PC7PC4)构成A组;由A组控制部件实现控制功能。端口B和端口C的低4位(PC3PC0)构成B组;由B组控制部件实现控制功能。A组和B组利用各自的控制单元来接收读写控制部件的命令和CPU通过数据总线(D0D7)送来的控制字,并根据他们来定义各个端口的操作方式。8255A方式选择控制字格式如图5所示。(3)数据总线缓冲存储器三态双向8位缓冲器,是8255A与8086CPU之间的数据接口。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(4)读/写控制部件8255A完成读/写控制功能的部件。
12、能接收CPU的控制命令,并根据控制命令向各个功能部件发出操作指令。CS片选信号:由CPU输入,有效时表示该8255A被选中。 RD, WR 读、写控制信号:由CPU输入。RD有效表示CPU读8255A,WR有效表示CPU写8255A。RESET 复位信号:由CPU输入。RESET信号有效,清除8255A中所有控制字寄存器内容,并将各个端口置成输入方式。图5 .8255A方式选择控制字格式3、8282地址锁存器图6 8282内部结构与引脚信号图8282是带三态输出的8位锁存器,内部结构与引脚信号图如图6所示,共有8个输入端D1D8及8个输出端Q1Q8。当三态端OE为有效低电平,8282的G/EN
13、ABLE端为输人选通端,使能端G为有效高电平时,输出跟随输入变化;当G1时,锁存器处于透明工作状态,即锁存器的输出状态随数据端的变化而变化,即脚1=Di(I=1,2,8)。当G端由1变0时,数据被锁存起来,此时输出端Qi不再随输入端的变化而变化,而一直保持锁存前的值不变。G端(或STB端)可直接与CPU的锁存控制信号端ALE相连,在ALE的下降沿进行地址锁存。OUTPUT CONTROL或OE是使能引脚低电平时8282工作,高电平时不工作。4、时钟电路图7 时钟电路时钟电路如图7所示。CPU的工作是依赖于时钟节拍的,如果没有时钟信号,CPU将停止工作。8284就是一个为8088CPU提供时钟信
14、号的时钟发生器。8284有两种产生时钟信号的方法,选择外部输入信号或接晶体振荡器。在PC机中8284的F/C脚接地,由X1和X2两个脚外接晶体振荡器来形成8088的时钟脉冲。晶体振荡器的工作频率是14.31818MHz。8284将这个频率3分频在8284的CLK引脚输出4.77MHz的8088系统时钟,其占空比是1/3,也就是在一个时钟周期中,高电平占1/3,低电平占2/3。8284除了为8088提供时钟信号以外,还提供8088的复位逻辑。在PC机中,电源将PWRGOOD(电源好)信号接到8284的RES#引脚,该信号有效后,经过8284内部的一个斯密特触发器整形,在始终脉冲下降沿进入到一个同
15、步触发器,最终产生符合8088要求的系统复位信号RESET。 另外,8284还向8088提供READY信号。5、键盘82的键盘是一种行列式键盘,如图8所示。图中有8行2列,8根行线与PA口相连,;、两根列线与PC口的PC7、PC6相连。按键设置在行、列交点处(数字或字符为其键号),行、列线分别连接到按键开关的两端。当列线通过上拉电阻接到+5V时,就被钳位在高电平状态。键盘中有无键按下是由行线送入全扫描字、列线读入行线状态来判断的。键盘中哪一个键按下是由行线逐行置低电平后,检查列线输入状态予以确定的。键盘的工作方式采用编程扫描工作方式,即通过调用键盘子程序来响应键输入的要求,在键盘扫描子程序中完
16、成下述功能:a.判断键盘上有无键按下b.去除按键的机械抖动影响c.求按下键的键值及键号。为保证键闭合一次CPU仅进行一次键功能操作,程序中需要等待键释放以后再将键号送累加器AH。 图8 82的键盘电路原理图 图9 LED显示器电路原理图6、LED显示器LED显示器有静态和动态两种工作方式。LED显示器工作在静态显示方式下,,B共阴极或共阳极连接在一起,然后接地或+5V,每位的段选线(A,B,G,H)与一个8位并行口相连。这样只要在每一位的段选线上保持段选码电平,该位就能就能保持相应的显示字符。在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位的I/O口控制,即控
17、制段选码而共阴极点或共阳极点分别由相应的I/O线控制即控制位选码,这就是动态显示。LED显示器电路原理图如图9所示。7、系统原理图(1)键盘、8255A与数码管模块键盘、8255与数码管模块如图10所示。用8255A的A口输出驱动LED数码管,并串联330欧的电阻作为限流作用;C口低三位作为输出口,输入到74LS138的输入端,经过译码选通6位数码管依次导通;B口作为输出口,C口高两位为输入口,通过键盘的查询扫描判断哪一个键按下。图10 键盘、8255与数码管模块图(2)CPU、存储器模块CPU、存储器模块图如图11所示。CPU输出地址时由8282锁存(ALE锁存信号)后给2764存储器和82
18、55并行接口;其读/写数据则通过74LS245接收或发送缓冲。8255与存储器2764则通过M/IO进行选通;其中8255的低两位地址A0、A1连接对应CPU的低两位,其他高位则通过3个74LS138进行选通(图中因为画面大小原因未画出)。74LS245的收发(T/R)和使能引脚OE由8088的DR/t和DEN提供信号。CPU使用最小系统模式故其33引脚接高电平。图11 CPU、存储器模块图四、软件部分设计1、软件流程图根据系统控制任务与要求,系统软件流程图如图12所示。其中判断按键是否按下通过软件延时来确定;对于存储数据和标志则是通过源变址寄存器来转移。显示程序通过动态扫描来完成。8255初
19、始化有无压键显示扫描NOYES是否数字YESNO存入数据段YES放键YESNO显示扫描是否为加、减、乘、除NO是否清零NOYES清零显示器是否等于NOYES进行加减乘除运算,存储开始存储标志图12 模拟计算器系统程序流程图2、系统源程序NUM_0 EQU01H ;PB0NUM_1 EQU02H ;PB1NUM_2 EQU04H ;PB2NUM_3 EQU08H ;PB3NUM_4 EQU10H ;PB4NUM_5 EQU20H ;PB5NUM_6 EQU40H ;PB6NUM_7 EQU80H ;PB7NUM_8 EQU01HNUM_9 EQU02HNUM_A EQU 04HNUM_B EQU
20、 08HNUM_C EQU 10HNUM_D EQU 20HNUM_E EQU 40HNUM_F EQU 80HTOP EQU 64PORT_A EQU 60PORT_B EQU 61PORT_C EQU 62PORT_D EQU 63STACK SEGMENT STACKDB TOP DUP(?)STACK ENDSDATA SEGMENT VALUE1 DB00H,00H,00H,00H,00H,00HORG1000HFLAGDB00HORG2000HVALUE2DB00H,00H,00H,00H,00H,00HORG3000HRESULTDB00H,00H,00H,00H,00H,00H
21、ORG4000HTABLE DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDATAENDSCODESEGMENTASSUMECS:CODE, DS:DATA, SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,TOPMOVSI,OFFSETVALUE1XORAX,AX ;清零XORBX,BXXORCX,CXXORDX,DXMOVAL,82H ;8255控制字初始化OUTPORT_D,ALKEY:MOVAL,F0H ; 写C口OUTPORT_C,ALINAL,PORT_B;读B口CMPAL,0FF
22、HJZDIS CALLTIME_DELAY ;时间延时子程序INAL,PORT_BCMPAL,0FFHJZDISCALLKEY_TEST;按键检测子程序JMPKEYKEY_TEST PROCNEARINAL,PORT_CORAL,40HOUTPORT_C,AL;保存C口地位INAL,PORT_B;键0TESTAL,NUM_0JZNEXT_1MOVAL,00HMOVSI,ALJMPSURE;跳转到确认按键程序 NEXT_1:TESTAL,NUM_1 ;键1JZNEXT_2MOVAL,01HMOVSI,ALJMPSURE NEXT_2:TESTAL,NUM_2 ;键2JZNEXT_3MOVAL,0
23、2HMOVSI,ALJMPSURE NEXT_3:TESTAL,NUM_3 ;键3JZNEXT_4MOVAL,03HMOVSI,ALJMPSURE NEXT_4:TESTAL,NUM_4 ;键4JZNEXT_5MOVAL,04HMOVSI,ALJMPSURE NEXT_5:TESTAL,NUM_5 ;键5JZNEXT_6MOVAL,05HMOVSI,ALJMPSURE NEXT_6:TESTAL,NUM_6 ;键6JZNEXT_7MOVAL,06HMOVSI,ALJMPSURE NEXT_7:TESTAL,NUM_7 ;键7JZNEXT_8MOVAL,07HMOVSI,ALJMPSURE NE
24、XT_8:TESTAL,NUM_8 ;键8JZNEXT_9MOVAL,08HMOVSI,ALJMPSURE NEXT_9:TESTAL,NUM_9 ;键9JZNEXT_AMOVAL,09HMOVSI,ALJMPSURE NEXT_A:TESTAL,NUM_A ;键A(+)JZNEXT_BMOVAL,0AHMOVFLAG,ALMOVSI,OFFSETVALUE2JMPSURE NEXT_B:TESTAL,NUM_B ;键B(-)JZNEXT_CMOVAL,0BHMOVFLAG,ALMOVSI,OFFSETVALUE2JMPSURE NEXT_C:TESTAL,NUM_C ;键C(*)JZNEXT
25、_DMOVAL,0CHMOVFLAG,ALMOVSI,OFFSETVALUE2JMPSURE NEXT_D:TESTAL,NUM_D ;键D(/)JZNEXT_EMOVAL,0DHMOVFLAG,ALMOVSI,OFFSETVALUE2JMPSURE NEXT_E:TESTAL,NUM_E ;键E(=)JZNEXT_FCALLCALCULATE;调用计算子程序JMPBACK NEXT_F:TESTAL,NUM_F ;键F(C)JZSURECALLCLEAR;调用清屏子程序JMPKEY SURE:CALLTIME_DELAY INAL,PORT_B CMPAL,SI JZSURE INCSICA
26、LLDIS BACK:RETKEY_TESTENDPADD_BCDMACROREG1,REG2,REG3;定义加法子程序 宏INCREG1INCREG2MOVAL,REG1ADCAL,REG2AAAMOVREG3,ALENDMSUB_BCDMACROREG1,REG2,REG3;定义减法子程序 宏INCREG1INCREG2MOVAL,REG1SBBAL,REG2AASMOVREG3,ALENDMSEND_RESMACRO;定义传送结果到数据段宏MOVSI,OFFSETRESULTMOVSI,BXINCSIINCSIMOVSI,CXINCSIINCSIMOVSI,DXMOVSI,OFFSETR
27、ESULTENDMCALCULATEPROCNEAR;计算子程序MOVAL,FLAGMOVSI,OFFSETVALUE1MOVDI,OFFSETVALUE2TESTAL,0AHJNZADD_ADD ;判断加、减、乘、除TESTAL,0BHJNZSUB_SUBTESTAL,0CHJNZMUL_MULTESTAL,0DHJNZDIV_DIVADD_ADD:MOVAL,SIADD AL,DIAAAMOVBL,ALADD_BCDSI,DI,BHADD_BCDSI,DI,BLADD_BCDSI,DI,CHADD_BCDSI,DI,CLADD_BCDSI,DI,DHSEND_RESJMPCAL_BACKS
28、UB_SUB:MOVAL,SISUB AL,DIDASMOVBL,ALSUB_BCDSI,DI,BHSUB_BCDSI,DI,CLSUB_BCDSI,DI,CHSUB_BCDSI,DI,DLSUB_BCDSI,DI,DHJMPCAL_BACKMUL_MUL:MOVAL,DIMOVCL,SIMULCLAAMMOVDI+5,AXMOVAL,DI+1MULCLAAMADDAL,DI+6AAAMOVDI+6,AXMOVAL,DIMOVCL,SI+1MULCLAAMMOVSI+5,AXMOVAL,DI+1MULCLAAMADDAL,SI+6AAAMOVSI+6,AXMOVAL,DI+5MOVDI,ALM
29、OVAL,DI+6ADDAL,SI+5AAAMOVDI+1,ALMOVAL,DI+7ADCAL,SI+6AAAMOVDI+2,ALMOVAL,00HADCAL,SI+7AAAMOVDI+3,ALDIV_DIV:MOVAX,SICWDAADDIVWORDPTRDIMOVWORD PTR RESULT,AXCAL_BACK:RETCALCULATEENDPDISPROCNEAR ;显示子程序PUSHCXPUSHAXPUSHFMOVBX,OFFSETTABLEMOVAL,SI+5TESTAL,00HJZBIT_4XLATTABLEOUTPORT_A,ALINAL,PORT_CORAL,05HOUTP
30、ORT_C,AL BIT_4:MOVAL,SI+4TESTAL,00HJZBIT_3XLATTABLEOUTPORT_A,ALINAL,PORT_CORAL,04HOUTPORT_C,AL BIT_3:MOVAL,SI+3TESTAL,00HJZBIT_2XLATTABLEOUTPORT_A,ALINAL,PORT_CORAL,03HOUTPORT_C,AL BIT_2:MOVAL,SI+2TESTAL,00HJZBIT_1XLATTABLEOUTPORT_A,ALINAL,PORT_CORAL,02HOUTPORT_C,AL BIT_1:MOVAL,SI+1TESTAL,00HJZBIT_1
31、XLATTABLEOUTPORT_A,ALINAL,PORT_CORAL,01HOUTPORT_C,ALMOVAL,SIXLATTABLEOUTPORT_A,ALINAL,PORT_CORAL,00HOUTPORT_C,ALPOPFPOPAXPOPCXRETDISENDPCLEAR_SETMACROVAL,LOOP_NUMMOVCX,03HMOVSI,OFFSETVALMOVAX,0000HLOOP_NUM:MOVSI,AXINCSIINCSILOOPLOOP_NUMENDMCLEARPROCNEARCLEAR_SETVALUE1,LOOP1CLEAR_SETVALUE2,LOOP2CLEAR
32、_SETRESULT,LOOP3MOVSI,OFFSETVALUE1RETCLEARENDPTIME_DELAYPROCNEARPUSHAXPUSHCXMOVCX,0040HA1:MOVAX,0300HA2:DECAXJNZA2LOOPA1POPCXPOPAXRETTIME_DELAYENDPCODE ENDSENDSTART五、总结(包括系统调试、问题分析与解决方案、结论、心得与体会等)六、参考资料(略)附:课程设计报告模板(学生上交)设计报告封面(采用金陵科技学院统一课程设计报告封面)摘要与关键词小标题五号字体,加粗目录课程设计报告正文:正文字体5号,行距18磅,首行缩进2个字符一、设计任
33、务与要求(此处叙述对本次实习的目的认识)二、总体设计方案与说明(此处说明系统总体设计方案,并给出系统工作框图)三、系统硬件部分设计(设计系统每个功能单元电路和系统电路原理图,并说明工作原理)四、系统软件部分设计(设计系统软件流程图,并给出源程序)五、总结(系统调试、问题分析与解决方案、结论、心得与体会等,其中心得与体会字数在300-400之间)六、参考文献参考文献具体格式如下: 期刊类序号 作者1,作者2,作者3,等.题名J.刊名,出版年,卷号(期号):起止页码 图书序号 作者.书名M.版次(第一版不注).出版地:出版者,出版年. 学位论文序号 作者.题名D.保存地点:保存单位,年限 论文集序号 作者.题名A.主编者.论文集名C. 出版地:出版者,出版年.起止页码例:1许立梓.微型计算机原理及应用M.北京:机械工业出版社,2003.2本书编辑委员会.微型计算机及外部设备常用芯片手册M.北京:清华大学出版社,1999.3何希才.常用集成电路简明速查手册M.北京:国防工业出版社,2006.