河北工业大学计算机硬件技术基础(MCS-51)20##年课程设计报告
一、题目:
广告灯的数字显示(1)
二、问题的提出
简述提出你确定的题目的目的。
(1) 培养学生综合运用所学单片机知识来解决常见的问题的能力。
(2) 熟悉和掌握单片机的内部结构及工作原理。
(3) 掌握单片机的接口技术及相关外围芯片的外特性和控制方法。
(4) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
(5) 通过编写程序,培养学生严密的逻辑思维能力和修改创新的能力。
三、总体设计
1、分析问题的功能
运用单片机原理知识解决生活中常见的用LED广告灯显示循序,可以有一次点亮,循环闪亮以及共同闪亮等功能。
2、系统总体结构设计
1)硬件设计:
选用8031单片机和TKSMonitor仿真器,通过P1口输出连接八个LED发光二极管由T/CO定时器控制定时。
2)软件设计:程序分为三个部分,分别控制八个LED灯的依次点亮、轮流点亮和全部点亮闪烁五次。
四、详细设计:
1、硬件详细设计:
1)画出电路图;
2)进行硬件资源分配(包括I/O口地址、所用各存储单元的用途)。
P1.0到P1.7依次连接八个LED发光二极管
2、软件详细设计:
功能一,依次点亮,实现方法就是通过逻辑“与”操作改变累加器A的值然后从P1口输出控制灯的点亮。功能二,轮流点亮,通过给再次给累加器A 赋值使其输出只亮一个灯,然后让累加器A的值自身错位循环输出,来控制灯的轮流点亮。功能三,共同闪亮,依旧是改变累加器A中的值,通过取反操作实现灯的共同亮灭。
3、设计中的主要困难及解决方案
1)困难1:对每个功能进行计时。
解决方案:采用定时器0,方式1,定时50MS中断,软件计数器采用R2,计数10 次。
2)困难2:实现功能模块之间的连接和循环。
解决方案:采用R3计数,功能一需要八次计数,功能二需要八次计数,功能三五次亮灭需要十次计数,之后将R3赋0,将这些程序放入T/C0中断程序中实现循环调用,通过对人R3值的范围划分实现模块的跳转。
三、程序清单
列出.ASM或.LST文件清单。
ORG 8000H
AJMP MAIN
ORG 800BH
AJMP T0S
MAIN: MOV A,#0FEH
MOV SP,#60H
MOV R4,0FFH
MOV TMOD,#01H;采用定时器0,方式1
MOV TH0,#4CH
MOV TL0,#00H;赋定时初值
MOV R2,#00H
MOV R3,#00H
MOV IE,#10000010B;开中断
SETB TR0;开始计时
SJMP $
T0S: MOV TH0,#4CH
MOV TL0,#00H;重新赋初值
INC R2
CJNE R2,#10,NEXT1;计数不足十次跳转NEXT1,实现0.5秒延时
INC R3
CLR C
CJNE R3,#09H,LOOP1;R3不等于9跳转LOOP1
AJMP LOOP2
LOOP1: JNC LOOP2;R3小于9继续进行实现依次点亮
XCH A,R4;保护A中初值
ANL A,R4;由低位向高位依次变0
MOV P1,A
XCH A,R4;换回初值
RL A
AJMP NEXT2
LOOP2: CLR C
CJNE R3,#11H,LOOP3;R3不等于17跳转
MOV A,#00H
AJMP LOOP4
LOOP3: JNC LOOP4;R3小于17继续向下进行轮流点亮
MOV P1,A
RL A;由低位向高位循环
AJMP NEXT2
LOOP4: CLR C
CJNE R3,#1BH,LOOP5
AJMP LOOP6
LOOP5: JNC LOOP6;R3小于27继续向下进行共同点亮
MOV P1,A
CPL A
AJMP NEXT2
LOOP6: MOV R3,#00H;重新赋初值循环
MOV R4,#0FFH
MOV A,#0FEH
NEXT2: MOV R2,#00H
NEXT1: RETI
END
四、调试程序的方法
1)硬件调试方法(确定硬件工作是否正常)
首先从从书中寻找例题连接硬件运行,看硬件工作是否正常。在运行本次实验程序(汇编无错误),看结果是否正确。
2)软件调试方法(如何调试程序的方法)
将所编写的实验程序在Keil 软件中进行编译,看是否有错误出现,根据编译结果,如果出现错误,则根据错误提示修改。修改后再进行编译,如果还不能达到要求的结果,继续进行修改,直到所编写的程序无误。
五、你所设计的程序最终完成的功能
1)说明你编制的程序能完成的功能;
程序运行后,每隔0.5s接在P1 口的8个发光二极管依次点亮0,1,2,3,4,5,6,7,接着8个二极管轮流点亮0,1,2,3,4,5,6,7,然后8个发光二极管全部点亮,闪烁5 次,之后全灭;如此反复循环。
六、对该设计题目有何更完善的方案
1、对自己完成程序进行自我评价。
所有程序语言都是我自己运用课本所学知识编制的,可能存在程序语句繁琐的地方,当然涉及到定时时也没有进行校正,语句标号用的过于一致,功能划分不明显。
2、对课题提出更完善的方案。
(1)实现的功能过于单一,也就是说可以增加LED灯闪亮的不同方式.
(2)对时间控制也可以变化。
(3)可以通过对LED灯的控制实现图案的拼接。
五、收获及心得体会
1、,首先是分析问题、解决问题能力的提高,其次逻辑思维能力的提高,再次还有动手能力、学习能力的提高。
2、通过本次课程设计,我最大收获和心得体会就是自信心的增加,不怕问题有多难,只要敢想敢做就一定会实现。另外培养了学习兴趣,使自己枯燥的理论学习跟现实生活中的现象联系起来,反而激发了学习的积极性,最后就是初步熟练掌握单片机原理结构知识,为以后的深入学习奠定基础。
日期: 20##年12月 15日
河北工业大学计算机硬件技术基础(MCS-51单片机原理及应用)
课程设计任务书
学院 班级 设计人 成绩
一、题目:液晶显示+广告灯的数字显示
二、目的与要求:
1.目的:
(1) 培养学生综合运用所学单片机知识来解决常见的问题的能力。
(2) 熟悉和掌握单片机的内部结构及工作原理。
(3) 掌握单片机的接口技术及相关外围芯片的外特性和控制方法。
(4) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
2.基本要求:
(1) 利用汇编语言编制出实现其功能的程序;
(2) 利用现有的实验设备将程序调试通过。
3.创新要求:
在基本要求达到后,进行创新设计,如改变的小灯显示方式、LED显示器显示的数字随着小灯的显示方式变化等等。
三、设计方法和基本原理:
1.问题描述:
? 接线要求:
断开电源,将P1 口的8个引脚分别接8位发光二极管0,1,2,3,4,5,6,7, ? 程序要求:
(1)程序运行后,每隔0.5s接在P1 口的8个发光二极管依次点亮0,1,2,3,4,5,6,7,接着8个二极管轮流点亮0,1,2,3,4,5,6,7,然后8个发光二极管全部点亮,闪烁5 次,之后全灭;如此反复循环。
(2)在发光二极管点亮的同时,要求用4块LED显示器将点亮灯的位置显示出来,全部点亮时。
2.问题的解决方案:
(1)按接线要求连线
(2)8个发光二极管依次点亮及轮流点亮通过将A中的内容带进位的循环移位(在移位时注意进位标志位Cy的变化),然后送入P1口来实现。
(3)时间间隔可以采用软件延时的方法。
四、主要技术问题的描述:
? 时间间隔可采用软件延时或定时器定时,软件延时:
8031时钟频率11.0592MHz,延时0.5S
2-1
五、书写设计报告的要求:
设计报告中包含以下几个方面:
1、 设计题目
2、 总体设计
1)
2) 所实现的功能描述。 设计方案的描述。
3、 硬件系统设计,包括所需设备,接线方式,以及资源分配。
4、 软件系统的设计,包括划分功能模块,写出各个功能模块实现的功能。画出程序流程图
5、 列出程序清单,并加以必要的注释
6、 写出调试程序的方法
7、 指出所设计问题的不足和改进方案
8、 自评分和收获体会
六、课程设计的考核方式及评分方法
1.考核方式
课程设计结束时,在机房当场验收。
(1) 学生演示,老师检查运行结果是否正确。
(2) 回答教师提出的问题。
(3) 学生提交课程设计报告(A4纸打印),并将电子文档和源程序发至知道教师信箱。
2.评分方法
(1) 出勤率
(2) 课程设计准备工作
(3) 课程设计期间纪律
(4) 课程设计运行结果
(5) 课程设计报告 (6)答辩情况
2-2
陕西理工学院单片机课程设计陕西理工学院课程设计实验报告课程单片机原理及应用题目交通灯院系电气工程系班级自控学号姓名指导老师时间20…
计算机控制技术课程设计二阶环节电压跟踪控制系统的设计采用PC机JK实验装置on二阶环节电压跟踪控制系统的设计采用PC机JK实验装置…
计算机控制系统课程设计报告题目化工厂车间反应模型班级dj姓名学号1计算机控制系统课程设计一组态王软件简介组态王是完全基于网络的概念…
指导教师评定成绩计算机控制技术课程设计报告设计题目最少拍无波纹控制器的设计与仿真学生姓名专业班级指导教师一课程设计题目最少拍无波纹…
分数:华南理工大学广州学院课程设计报告题目:反应炉液位控制系统设计方案课程:计算机控制技术课程设计专业:自动化班级:20##级1班…
计算机硬件的组装实验时间:3月x日晚6:00-9:00学号:姓名:一、实验目的1.加深对理论知识的理解,提高实际动手能力;2.了解…
实验名称实验4寻址方式和指令系统姓名袁鹏学号20xx011780实验班号33机器号42一实验目的1了解MSP430G2xxx汇编格…
实验一图灵机模型与计算机硬件系统虚拟拆装五实验报告实验名称学号姓名实验报告表11图灵机模型中的主要组成部分及作用班级实验时间年月日…
计算机硬件技术实验报告第二次和第三次实验姓名李新基学号20xx010630实验班号23机器号39实验二单片机C语言程序结构一实验目…
实验一图灵机模型与计算机硬件系统虚拟拆装五实验报告实验名称学号1120xx10120姓名实验报告表11图灵机模型中的主要组成部分及…
课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力;实习又是对每一位大…