南昌大学单片机课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
课程名称: 微机原理与接口技术
题目: B5901112154型单片机系统的设计
学院: 机电工程学院系: 机电工程系
专业: 机械设计制造及其自动化
班级: 机制124班
学号: 5901112154
学生姓名:
起讫日期: 6、16---6、23 指导教师: 胡瑢华
系分管主任:
审核日期:
说明
BEIYON1 - 副本.DSN
打开上面的protus软件可以瞧到完整的电路图
1、课程设计任务书由指导教师填写,并经学院审定后下达给学生。
2、进度表就是课程设计工作检查的主要依据。
3、学生根据指导教师下达的任务书,独立完成课程设计。
4、本任务书在课程设计完成后,与说明书、电路原理图与程序清单等
资料一并上交指导教师,作为课程设计的主要档案资料。
一、课程设计的要求与内容(包括原始数据、技术要求、工作要求)
1、工作要求
单片机系统在各行各业自动控制领域的应用越来越广泛。《微机原理与接口技术》课程设计实践教学环节要求同学们针对实际需求,灵活应用所学知识,独立进行系统综合设计,以达到巩固单片机基础知识、掌握单片机系统开发过程与提高动手实践能力的目的。
2、技术要求
每位学生应独立完整地设计一套单片机系统。该系统CPU采用AT89S51芯片,晶振为12MHz。硬件模块可包括:a)显示模块,采用串行口串接74HC164芯片控制5个7段数码管;b)键盘模块,采用2X2行列键盘;c)声音控制模块,采用蜂鸣器发声;d)A/D采集模块,采用ADC0809采集电位计的电压值;e)D/A输出模块,采用DAC0832输出某种波形。
要求实现以下功能:
(1)系统上电后,按照从下进入,在数码管上显示学号的后五位12154。
(2)查询键盘,当用户按1至4号键时在数码管上显示相应数值(例如按1键数码管显示5个1,以此类推),同时伴随蜂鸣器响(只要按键处于按下的状态蜂鸣器就响,按多久就响多久,按键弹起后终止)。需编制键盘去抖动程序(按键中断接INT0,行线接P1、1,P1、2,列线接P1、5,P1、6)。
(3)按键长按(超过1、5秒)则按键可进行功能选择(1号键显示学号,3号键A/D 采集,0号键D/A转换功能运行)。
(4)采用译码方式,通过D/A输出频率为500Hz梯形波
(5)采用译码方式,启动通道0的A/D转换,进行采样,A/D转换结束后(通过INT1中断),将采集到的值转换为BCD码,并予以显示(使用三个七段数码管显示例如显示3、75)。
3、此次课程设计采用分级评分,具体操作如下:
课程设计开始阶段确定自己选择何种评分等级,只就是在最后提交的时候在资料袋封面标明即可。
《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 ;调用判断键值的程序