单片机的控制系统课程设计.doc_第1页
单片机的控制系统课程设计.doc_第2页
单片机的控制系统课程设计.doc_第3页
单片机的控制系统课程设计.doc_第4页
单片机的控制系统课程设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机的控制系统课程设计目录第1章 背景介绍及设计目的11.1背景介绍:11.2设计目的2第2章 设计方案及基本原理32.1系统设计方案32.2实验原理:32.3系统连接7第3章 程序设计93.1主函数流程如图所示93.2程序代码9第4章 程序运行及结果分析10参考文献11附 录12第1章 背景介绍及设计目的1.1背景介绍:一预备知识: 1.熟悉凌阳单片机的工作原理。 (1)i/o口的原理和使用设置; (2)时基中断的原理和使用设置; 2.熟悉 nsp ide 环境及在该环境下用汇编和 c 语言编写的应用程序。 3.以a口和b口为例,学会使用 spce061a单片机 i/o口的基本输出和输入功能。 二实验设备: 1.装有windows系统和nsp ide仿真环境的pc机一台。 2.61板一套,led键盘模组一套,10针排线两根。三实验说明:1.61板的i/o输出实验主要以ioa07接led键盘模组上的8个发光二极管,ioa8ioa15 接键盘k1k8的输入。因61板核心芯片spce061a已内置上下拉电阻,所以端口直接连接发光二极管的驱动端。2.实验结果是按键后相应发光二极管点亮。3.代码编写上,主要涉及spce061a的端口寄存器ioa和iob。四实验要求: 1编程要求:主程序由c语言编写。2实现功能:通过nsp ide 环境及在该环境下用汇编语言和 c语言编写的应用程序,实现仿真功能,从而完成用按键控制二极管的发光与关闭功能。3. 实验现象:通过 ioa口输出的数据控制8个发光二极管的点亮与熄灭。8个发光二极管动态点亮和熄灭,点亮与熄灭状态顺序如下表 1-1所示。其中,“”表示二极管是点亮状态,“”表示二极管是熄灭状态。表中d4d11为实验箱上发光二极管电路模块中从左到右的 8 个发光二极管。表 1-1 8个发光二极管状态1.2设计目的:随着单片机应用的日益广泛,在校学生加强对单片机的认识和动手能力,已经是非常重要的一项锻炼。课程设计就是为加强实践机会、培养学生动手能力的一个重要环节,将理论知识与实际联系起来的一个关键机会。 本课程设计的基本要求是: 1.熟悉编程环境及在该环境下用汇编和 c 语言编写的应用程序。2. 熟悉简单的汇编语言指令。 3. 以 a口和 b 口为例,学会使用 spce061a单片机 i/o口的基本输出和输入功能。第2章 设计方案及基本原理 2.1系统设计方案 键盘输入61版i0b0-i0b7i0a0-ioa777根据设计要求给出系统框图如图2-1:图2-1 系统框图2.2实验原理:2.2.1 数码管工作原理实验箱的 6 位 8 段数码管电路采用“共阴”连接,阴极公共端(com)由晶体管推动。实验箱上的数码管共有两种,如图 2-2。 agdpcdefagdpcdefd2d1图2-2 两种数码管图首先介绍两个基本概念:段码和位码,段码即段选信号 seg,它负责数码管显示的内容,图 2-3中 ag、dp组成的数据(a 为最低位,dp 为最高位)就是段码。比如 1的段码“0x06”(b=1,c=1,其他都为 0,即段码为 00000110b),8 的段码为“0x7f” ;位码即位选信号 dig,它决定哪个数码管工作,哪个数码管不工作,比如仅使能 dig4,那么 6 个 led 只有 led4 工作,而其它的五个都不工作。当需要某一位数码管显示数字时,只需要先选中这位数码管的位信号,再给显示数字的段码。比如当在第一个数码管上显示一个“6”时,如图 ,先选中第一位数码管的位信号(实验箱上标号是“1” ) ,即先给和“1”相连接的 i/o 口送 1;再把段码设置为 0x007d,即在 a、c、d、e、f、g各段引出的端口检测到高电平,就可以显示一个“6”出来。 agdpcdef图2-3数码管显示“6”2.2.2实验箱上 spce061a控制数码管的显示 实验箱在6位8段数码管的上面有 16 对排针,其中有 7 个“abcdefg”是控制此位 8 段数码管的段码选择的,另有 6 个“123456”是控制6位8 段数码管位选择的,“dd”控制“点”或“分隔符号”,“dp”控制小数点。把实验箱上jp4和jp5 的引针用跳线全部短接。框图如图 2-4。 ioa0ioa1ioa2ioa3ioa4ioa5ioa6ioa7iob15iob14iob13iob12iob3iob2iob1abcdefgdp123456dd6位led显示电路模块spce061add图2-4实验箱上spce061a和6位led显示电路模块的连接按照上面数码管的显示原理,当要在第四个数码管上显示一个“e”时,先要通过 iob12 端口给“4”端口送一个 1,选中第四个数码管;由图 4-1 可以看出,显示“e”时,需要 a、d、e、f、g段被点亮,所以给 ioa0、ioa3、ioa4、ioa5、ioa6 端口各送一个 1,则在 a、d、e、f、g 端口各能检测到一个高电平,就可以点亮 a、d、e、f、g 段,显示一个“e” 。2.2.3 nsp ide指令系统nsp的指令系统算术逻辑操作符与 ansi-c 算符大同小异,如表 1-1。表 2-1 nsp指令的算术逻辑操作符算术逻辑操作符作用+、-、*、/、%加、减、乘、除、求余运算&、|逻辑与、或&、|、按位与、或、异或、左移、右移、=、 8; *p_ioa_data = key; #define p_ioa_data (volatile unsigned int *)0x7000 #define p_ioa_buffer (volatile unsigned int *)0x7001 #define p_ioa_dir (volatile unsigned int *)0x7002 #define p_ioa_attrib (volatile unsigned int *)0x7003 #define p_watchdog_clear (volatile unsigned int *)0x7012 #define key_all 0xff00 / 使用ioa8ioa15作为键盘输入口 unsigned getkey(void) unsigned keyvalue = 0x0000; *p_ioa_dir&=key_all; *p_ioa_attrib&=key_all; *p_ioa_buffer|=key_all; while(keyvalue=0) keyvalue=(*p_ioa_data & key_all

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论