3、此次课程设计采用分级评分,具体操作如下: 评分等级 所含硬件模块及功能要求 硬件模块:及格,中 a,b,c. 功能要求:(1),(2) 硬件模块:a,b,c,d或a,b,c,e. 中,良好 功能要求:(1)(2)(3)(4) 或(1)(2)(3)(5) 硬件模块:a,b,c,d,e. 优 功能要求:(1)(2)(3)(4) (5) 完成所要求电路设计、软件设计,正确为优秀 完成所要求电路设计、软件设计,仍须修改为良好 所要求电路设计仍有多于六处错误,软件逻辑流程错误为不及格 发现为抄袭,设计与任务定义表不匹配的一律不及格 完成所要求电路设计、软件设计,正确为良好 完成所要求电路设计、软件设计,仍须修改为中 所要求电路设计仍有多于五处错误,软件逻辑流程错误为不及格 发现为抄袭,设计与任务定义表不匹配的一律不及格 评价细则 完成所要求电路设计、软件设计,正确为中 完成所要求电路设计、软件设计,仍须修改为及格 所要求电路设计仍有多于三处错误,软件逻辑流程错误为不及格 发现为抄袭,设计与任务定义表不匹配的一律不及格 同学可以按照自己的兴趣和能力选择适合自己评分等级的课设任务。不需要在课程设计开始阶段确定自己选择何种评分等级,只是在最后提交的时候在资料袋封面标明即可。
.. ..
《2011级<微机原理与接口技术课程设计>任务定义表》说明: ※ 表中“键盘口线”定义详见附录。 ※ 表中键盘中断接口详见附录。 ※ 约定键键值排列见附录。
※ 按哪个约定键进入到哪种功能见附录。
※ A/D采集使用A/D的哪个通道进行采集见附录。
※ 表中“显示方式”是指在编制个人学号的后六位显示程序时,实现缓慢从左右上下逐步在数码管显示,显示速度由同学自主定义。
※ A/D中断入口见附录。
※ 表中“频率”是规定D/A输出时所采用的频率见附录。
※ 表中“波形”是规定D/A输出时所采用的波形见附录。 二、课程设计图纸内容及张数
1、单片机系统硬件电路原理图
1张(2号图纸)
要求布局合理,阅读方便,元器件绘制符合规范。每条信号线均采用直接连接方式,不准采用总线方式画法,每个元器件必须标注型号、参数或引脚号。
三、课程设计实物内容及要求
1、源程序清单
1份
要求在WAVE软件下汇编通过(提交的程序清单中包括程序机器码),并对程序进行功能和含义进行详细注解,对自己任务的要点予以标记,使用规范格式打印。 2、课程设计说明书
1份
要求针对所设计的软硬件内容进行说明(必须手写),具体内容包括:芯片地址的确定、分频电路的实现、定时/计数初值的求取、软件模块的流程图、设计心得等。
四、建议课程设计进度表(含周六、日)
1、第1天:
教师布置设计任务,学生理解设计任务,并准备资料; 系统硬件电路原理图设计;
2、第2-4天:
.. ..
3、第5-7天: 4、第8天:
编制系统程序,并进行汇编调试;
提交设计资料,并进行考核。
五、主要参考资料
ORG 0000H ;主程序入口 LJMP MAIN
ORG 0003H ;外部中断0入口 LJMP ZHAN2
ORG 0013H ;外部中断1入口 LJMP A2D
MAIN:SETB EA ;打开中断总允许
SETB EX0 ;打开外部中断0允许 MOV P1,#0F9H ;设置键盘初值 MOV R4,#30
XUEHAO: MOV DPTR,#XTAB ;学号显示子程程序 MOV R2,#3 ;从下到上滚动分三次
XUEHAO2:MOV R3,#5 ;每次发送5个显示码进数码管 XUEHAO1:MOV A,#0 ;A清零
MOVC A,@A+DPTR ;查表,给A赋值
MOV SBUF,A ;将A中数据发送到串行口 JNB TI,$ ;判断串行口发送是否完毕
CLR TI ;清除中断标志位,准备进行下一次发送 INC DPTR ;DPTR加1,指向下一个字型码地址 DJNZ R3,XUEHAO1 ;判断是否到了5个 LCALL DELAY1S ;延迟1s,进行显示
DJNZ R2,XUEHAO2 ;判断从下滚动三次是否完毕 LJMP XUEHAO ;新一轮显示
ZHAN2: MOV 70H,A ;响应中断,保存原数据 MOV 71H,DPL MOV 72H,DPH MOV 73H,R3 MOV 74H,R2
.. ..
MOV 75H,R5 MOV 76H,R6 MOV 77H,R7
LCALL DELAY10MS ;延时10MS判断按键是否按下,没按下则返回 JB P3.2,ZHAN1
MOV DPTR,#STAB ;键值显示表地址送给DPTR LCALL JIANZHI ;调用判断键值的程序 MOV 7AH,A ;将键值保存到7AH中
MOVC A,@A+DPTR ;查表给A赋值 MOV R7,#5 ;发送5次键值 ZHAN:MOV SBUF,A JNB TI,$ CLR TI
DJNZ R7,ZHAN ;判断是否发送完毕
SELECT: MOV P1,#0F9H ;长按键判断开始, 给键盘赋初值
JB P3.2,SELECTOUT ;判断按键是否按下,没有则跳出中断 LCALL DELAY50MS ;延时50ms
MOV P1,#0F9H ;给键盘赋初值
JB P3.2,SELECTOUT ; 判断按键是否按下,没有跳出中断
DJNZ R4,SELECT ;判断按键是否按了1.5s,没有则跳出中断 ZHAN4: MOV P1,#0F9H ;按键超1.5s后,等待按键弹起 JB P3.2 ,ZHAN4
MOV P1,#0F9H ;给键盘赋初值
MOV A,7AH ;取出7AH中的键值
CJNE A,#0,SELECT1 ;判断是不是按了按键0,不是的话继续判断 LCALL D2A ;确定是按键0,调用DA功能子程序 LJMP SELECTOUT1 ; 完成功能,跳到中断返回程序
SELECT1: CJNE A,#1,SELECT2 ;判断是否是按键1,不是的话继续判断 LCALL XUEHAOZHAN ;确定是按键1,调用学号显示功能 LJMP SELECTOUT1 ;完成功能,跳到中断返回程序
SELECT2: CJNE A,#3,SELECTOUT1 ;判断是否是按键3,不是跳中断返回程序 LCALL ATOD ;确定是按键3,调用AD功能子程序 LJMP SELECTOUT1 ;完成功能,跳到中断返回程序
ZHAN1:MOV A,70H ;按键没按下返回程序,取出中断前的数据 MOV DPL,71H MOV DPH,72H MOV R3,73H MOV 74H,R2 MOV 75H,R5
.. ..