单片机人机接口设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.课程设计目的 (1)
2.课程设计要求 (1)
3.KEIL基本介绍 (1)
4.人机接口设计 (2)
4.1实验设计流程 (2)
4.2实验原理图 (3)
4.3实验源代码 (3)
5 结果分析 (5)
6 实验总结 (6)
7、参考文献 (6)
单片机人机接口设计
1.课程设计目的
(1)对大学所学课程进行汇总。
(2)通过设计单片机来实现人机接口。
(3)掌握基本keil的运用。
2.课程设计要求
1. 熟悉人机接口基本原理。
2. 设计人机接口电路。
3. 焊接电路板。
4. 调试程序并进行结果验证及分析
3.keil基本介绍
Keil C51 µVision2集成开发环境是Keil Software,Inc/Keil Elektronik GmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
C51工具包的整体结构,其中uVision与Ishell分别是C51 for Windows
和for Dos的继承开发环境(IDE),可以完成编辑,编译,连接,调试,方针等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编辑器编译生成木匾文件(OBJ)。Keil C51集成开发环境的主要功能有以下几点:
1.µVision2 for Windows:是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;
2.C51国际际准化C交叉编译器:从C源代码产生可重定位的目标模块;
3.A51宏汇编器:从80C51汇编源代码产生可重定位的目标模块;
4.BL51链接器/定位器:组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块;
5.LIB51库管理器:从目标模块生成连接器可以使用的库文件;
6.OH51目标文件至HEX格式的转换器,从绝对目标模块生成Intel Hex文件;
7.RTX-51实时操作系统:简化了复杂的实时应用软件项目的设计。
这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。
4.人机接口设计
4.1 实验设计流程
1.按照原理图焊接电路板
2.设计程序实现的功能
3.根据功能编写程序
4.上机调试实验程序
5.将程序拷到板子中
6.运行查看结果
4.2 实验原理图
图4.1 实验原理图
4.3 实验源代码
#include
#define uchar unsigned char
#define uint unsigned int
/*延时子程序*/
void delay(uint time)
{
while(--time); //当time的值为非0时,执行空语句。当time为0时,跳出while语句。
}
void main(void)
{
//扫描第一行
P2=0xFE;
if((P2&0xFC)!=0xFC)
{
delay(10);
if((P2&0xFC)!=0xFC)//去抖{
if((P2&0x04)!=0x04)
{
P1=0xFC;
delay(57550);
}
else{
if((P2&0x08)!=0x08)
{
P1=0xF3;
delay(57550);
}
}
}
}
//扫描第二行
P2=0xFD;
if((P2&0xFC)!=0xFC)
{
if((P2&0xFC)!=0xFC)//去抖
{
if((P2&0x04)!=0x04)
{
P1=0x3F;
delay(57550);
}
else
{
if((P2&0x08)!=0x08)
{
P1=0xCF;
delay(57550);
}
}
}
}
}
5 结果分析
将程序拷到板子中后,运行程序得出。在通电情况下,依次按动开关,8个灯按照顺序每次亮两个灯,实现人机接口功能。
6 实验总结
这次为期2个礼拜的创新实践周告一段落。对于大学学习的单片机和c语言有了更深的了解,运用了综合知识,对于所编的程序有了所能看到的结果。以前考试成绩还是不错的,但是实践起来发现自己真是一塌糊涂,看来是之间的理论知识学习的不到位,知识囫囵吞枣似的应付个考试,在卷子上,大体知道是个怎么样的这道题就差不多能做出来,但是到了实践中,只要差一点点,就会导致单片机配置不正确,或者显示不一样。
这些理论学的东西在实践过程中一步一步的实现,让我感到以前所学的真是太皮毛了,这次课设通过指导老师细心的教导让我受益匪浅,让我在以后的学习和工作的过程中认真对待每一件事,切不可囫囵吞枣不可以看待事物只停留书本停留表面,终究那些不清楚的东西还是要学的,表面的东西要更深入要把理论和实践联系起来。
7、参考文献
[1] 何宏主编. 单片机原理与接口技术. 北京:国防工业出版社. 2006.07
[2] 杨西明, 朱骐主编 . 单片机编程与应用入门. 北京:机械工业出版社 .2004.06
[3] 江力. 单片机原理与应用技术清华大学出版社.2007.10
[4] 马秀丽.c语言程序设计清华大学出版社.2009.08
[5] 樊昌信,曹丽娜.通信原理[M],北京:国防工业出版社,2007