显示和键盘流程图及程序
- 格式:doc
- 大小:55.50 KB
- 文档页数:4
电子信息与电气工程系课程设计报告设计题目:直流伺服电机控制系统设计系别:电子信息与电气工程系年级专业:学号:学生姓名:2006级自动化专业《计算机控制技术》课程设计任务书摘要随着集成电路技术的飞速发展,微控制器在伺服控制系统普遍应用,这种数字伺服系统的性能可以大大超过模拟伺服系统。
数字伺服系统可以实现高精度的位置控制、速度跟踪,可以随意地改变控制方式。
单片机和DSP在伺服电机控制中得到了广泛地应用,用单片机作为控制器的数字伺服控制系统,有体积小、可靠性高、经济性好等明显优点。
本设计研究的直流伺服电机控制系统即以单片机作为核心部件,主要是单片机为控制核心通过软硬件结合的方式对直流伺服电机转速实现开环控制。
对于伺服电机的闭环控制,采用PID控制,利用MATLAB软件对单位阶跃输入响应的PID 校正动态模拟仿真,研究PID控制作用以及PID各参数值对控制系统的影响,通过试凑法得到最佳PID参数。
同时能更深度地掌握在自动控制领域应用极为广泛的MATLAB软件。
关键词:单片机直流伺服电机 PID MATLAB目录1.引言 ...................................................... 错误!未定义书签。
2.单片机控制系统硬件组成.................................... 错误!未定义书签。
微控制器................................................ 错误!未定义书签。
DAC0808转换器.......................................... 错误!未定义书签。
运算放大器............................................... 错误!未定义书签。
按键输入和显示模块....................................... 错误!未定义书签。
《单片机技术》课程设计说明书数字式秒表院、部:电气与信息工程学院学生姓名:刘贝贝指导教师:肖冬瑞职称讲师专业:电气工程及其自动化班级:电气本1305班学号:1330120504完成时间:2016年6月湖南工学院《单片机技术》课程设计课题任务书学院:电气与信息工程学院专业:电气工程及其自动化指导教师肖冬瑞学生姓名刘贝贝课题名称数字式秒表内内容及任务一、设计任务设计一个具有特定功能的数字式秒表。
二、设计内容1、秒表的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块2、秒表的软件系统(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块三、设计要求该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该数字式秒表应具有开始、暂停、连续、清零和停止功能。
主主要参考资料[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.6.[2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12.[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:北京航空航天大学出版社,2003.6.[4]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003.01.[5]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.9.教教研室意见见教研室主任:(签字)年月日摘要本次课程设计的数字电子秒表系统采用AT89S52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计。
将软、硬件有机地结合起来,使得系统能够实现LED显示,0~99.99秒,计时精度为0.01秒,能正确地进行计时。
其中软件系统采用汇编语言编写程序,包括主程序,显示程序,中断服务程序,延时程序,按键程序等,并在KEIL中调试运行,硬件系统利用PROTEUS来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
目录1 课程设计概述和要求 (1)1.1 课程设计要求与任务 (2)1.2 课程设计思路 (2)1.3 课程设计需要配置的环境 (3)2 系统设计 (3)2.1 设计框图 (3)2.2 元件解析 (3)2.2.1 LCD12864芯片……………………………………………………………42.2.2 AT89C51芯片 (5)2.2.3 其他部件 (6)2.2.4 电路分析 (7)3 软件设计 (12)3.1 程序流程图 (12)3.2 程序代码 (12)4 系统的仿真与调试 (13)4.1 硬件调试 (13)4.2 软件调试 (14)4.3 软硬件调试 (14)5 总结 (14)附录1:程序代码附录2:12864LCD显示计算器键盘按键实验Proteus仿真图1 课程设计概述和要求1.1 课程设计任务与要求设计任务:利用AT89C51单片机结合12864LCD显示器设计计算器键盘按键。
设计要求1:本设计实现一个12864LCD显示12864LCD显示器设计计算器键盘按键2.利用AT89C51控制整个电路来实现. 显示12864LCD显示器设计计算器键盘按键,系统主要包括硬件和软件两部分。
重点就是各部分硬件的连接设计以及程序的编写。
本章讲述的就是系统硬件的设计,其中包括各模块的器件选择和电路设计。
将计算器按键上的信息传送至AT89C51主芯片之中,利用P2端口使之显示于12864LCD液晶显示屏上。
1.2 课程设计目的思路1、先把与题目有关的芯片资料找到,熟悉一下芯片资料2、把此程序的电路图看懂,了解一下它的实现原理,以及实现的功能。
3、分析一下此程序的各部分的功能,各零件的工作原理。
4、对程序进行调试,分析调试结果,观察并得出结论。
1.3 课程设计需要配置的环境1、一台主机,一台显示器2、Keil uVision3/Keil uVision4 应用程序软件3、ISIS 7 Professional 仿真软件4、老师交给的仿真电路图,及案例5、纸张,以及一些参考资料2 系统设计2.1.设计框图框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。
从键盘输入数据并显示实验报告一、实验目的与内容1、实验目的掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理,并在程序中设置错误出口。
2、实验内容编写程序,将键盘接收到的四位十六进制数按“Enter”回车键转化为二进制数,再显示在屏幕上, 按“空格键”结束!。
若输入的不是0-F间的数字,则显示出错信息,并要求重新输入。
二、实验设备(环境)1、实验设备(含芯片名称、功能简介)微型计算机一台2、实验环境TPC-ZK-II集成环境3、使用语言汇编语言三、实验原理(实验所用到的知识点及相关内容)1.在TPC-ZK-II集成环境下输入汇编程序,编译、连接,生成.exe文件。
2.按提示输入数据,在屏幕显示的运行结果中查看结果是否正确。
3.输入不同的数据,可得到不同的结果。
4、参考流程图四、实验步骤(包括步骤、代码、实验截图及其必要说明)编写程序,将键盘接收到的 4 位 16 进制数转换为等值的二进制数,再显示在荧光屏上。
分析:整个程序分为 3 个部分:键盘输入、转换、显示,可以分别用子程序来完成。
1. 输入。
输入可以利用字符串输入。
这时需要在主程序中先开辟一段输入缓冲区。
字符串输入 ( 0AH 功能 ),入口参数 DS : DX = 缓冲区的首地址,( DS :DX ) = 限制最多输入的字符数,功能号 AH = 0AH,类型号 21H。
出口参数 ( DS : DX+1 ) =实际键入的字符 ( 不含回车符 ),从( DS : DX+2 ) 开始顺序存放键入的字符串,回车符 0DH为串尾最后一字符。
实现功能:等待从键盘输入字符串,并存入设定的缓冲区内,同时回显字符串,光标随着移动,回车符使光标回到行首。
注意事项:应按要求先定义缓冲区,再调用。
数据缓冲区的设置如下:DATA SEGMENT ; 定义缓冲区MARK DB ?MESS DB 'input:$' ;输入字符串提示ERROR DB 0DH,0AH,'input error!',0DH,0AH,'$' ;输入错误提示DATA ENDS从键盘输入‘ ABCD ’, 回车,内存的存放结果 :子程序如下:INPUT PROCLEA DX, striMOV AH, 09H ; 调显示功能INT 21HLEA DX , maxMOV AH , 0AHINT 21H ; 调 0A输入功能RETINPUT ENDP2. 转换。
单片机实验报告信息处理实验实验二矩阵键盘专业:电气工程及其自动化指导老师:***组员:明洪开张鸿伟张谦赵智奇学号:152703117 \152703115\152703118\152703114室温:18 ℃日期:2017 年10 月25日矩阵键盘一、实验内容1、编写程序,做到在键盘上每按一个键(0-F)用数码管将该建对应的名字显示出来。
按其它键没有结果。
二、实验目的1、学习独立式按键的查询识别方法。
2、非编码矩阵键盘的行反转法识别方法。
3、掌握键盘接口的基本特点,了解独立键盘和矩阵键盘的应用方法。
4、掌握键盘接口的硬件设计方法,软件程序设计和贴士排错能力。
5、掌握利用Keil51软件对程序进行编译。
6、会根据实际功能,正确选择单片机功能接线,编制正确程序。
对实验结果能做出分析和解释,能写出符合规格的实验报告。
三、实验原理1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。
2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。
3、识别键的闭合,通常采用行扫描法和行反转法。
行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。
行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。
然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。
这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。
由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。
单片机原理与应用实验指导书九江学院电子工程学院2007年9月第一章单片机实验的基本要求与方法一、实验目的学习并掌握单片机的基本结构及接口设计方法,学习汇编语言程序设计的基本方法和技能。
二、实验要求1、上机前要做好充分准备,明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。
做好实验前预习和必要的准备,如画好程序流程图,编好程序,做到准备充分。
2. 进入实验室后,熟悉所用的单片机实验开发系统及仪器设备,了解其外观、性能。
接线要正确、简单明了,接线完成后检查一遍,经老师复查允许后才可通电。
通电瞬间,应注意仪器和实验装置是否正常工作,如有不正常现象,应立即断电查找原因,直至故障排除后,实验方可继续进行。
3. 实验进行时,按规定步骤进行,经过反复修改调试,达到设计功能后,读取数据,并及时纪录。
4. 实验完成后,经老师验收合格,并把仪器、导线、工具整理完毕后,学生方可离开实验室。
三、实验方法本课程所用的实验板采用在系统可编程方式下载程序,具体操作过程参考第三章。
四、实验报告内容和要求1. 实验报告要用学校统一印发的实验报告纸。
2. 实验报告内容应包括:实验名称、器材、目的、原理、步骤、结果及分析、流程图、程序清单。
3. 实验报告中实验原理图(含电路图和时序图)要准确无误。
4. 实验报告中程序清单要求调试并运行正确无误,要有中文注释。
5.每个实验后的实验结果分析和心得体会必须独立完成,对实验中发现的问题应加以讨论,并提出自己的改进意见和要求。
6.实验报告写完后统一交到学习委员处,按学号排列装订成册,然后交到老师处。
第二章 V6实验板简介本课程所用单片机实验板,可用于MCS-51系列单片机的仿真开发和《单片机原理与应用》课程的教学实验,具有电路简单,小巧便携,支持在系统可编程技术,简便易用等特点。
适合单片机初学者使用。
图2-1一、可开设实验1、wave仿真软件的应用2、用isplay实现在系统可编程3、流水灯4、动态显示程序5、中断响应程序设计6、定时/计数器的应用:测量脉冲宽度、倒计时器、带闪动的动态显示7、键盘接口程序设计:计时系统、抢答器设计、模拟汽车转向灯设计*8、红外按键识别程序设计*9、基于红外按键输入的四则混合运算计算器设计10、电子音乐盒设计*11、基于红外按键输入的电子琴设计12、基于DS1302的精密时钟设计13、基于DS18B20的数字温度计设计14、串行程序存储器扩展*15、数据采集电路设计:单片机与A/D 转换器接口 *16、信号发生器设计:单片机与D/A 转换器接口 *17、直流电机调速 *18、步进电机控制*19、基于MAX7219的数码管静态显示程序设计 *20、字符型液晶显示程序设计 *21、点阵型液晶显示程序设计注:带“*”实验项目需外接扩展电路二、V6实验板的原理和组成1、总体电路图上电复位....图2-22、微处理器V6实验板采用DIP 封装的AT89s52单片机作为微处理器,引脚配置如图2-3所示,为实现在系统可编程功能,选用11.0592MHz的晶振。
弹球游戏实验报告由独垂心湖完成指导老师:孟宪元老师首先要说一下,这是我的EDA的答辩报告,里面有源程序和一些基础知识。
希望对大家有帮助。
共用到PS/2键盘和VGA显示和板子上的3个按键。
桌面弹球游戏为两关,当第一关时间到后就进入第二关,如果没有接住弹球则会显示383 (本人宿舍号码呵呵)第二关为无尽版,不限时间。
其中还是有一部分bug,并且声明,部分程序来源与网络,经过自己的学习和整合后,做出来的。
本人我FPGA 的小菜鸟,只是刚接触。
希望这个程序对大家学习有帮助。
板子用的是xilinx的spaden3e 250e 的。
一、实验目的:1、进一步熟悉FPGA嵌入式系统设计;2、熟练运用VHDL语言进行系统设计;3、熟悉PS2键盘原理并应用;4、熟悉VGA显示原理并应用。
二、实验要求:1、设计题目自定;2、设计中必须应用PS2键盘控制、VGA显示。
三、实验原理:1、PS2键盘控制原理:PS/2 设备接口用于许多现代的鼠标和键盘它是由IBM 开发并且最初出现在IBM 技术参考手册里,物理上的PS/2 端口是两类连接器中的一种5 脚的DIN 或6 脚的mini-DIN 。
这两种连接器在电气特性上是十分类似的实际上两者只有一点不同那就是管脚的排列这就意味着这两类连接器可以很容易用一种简单的硬件连线的适配器来转换。
PC 键盘可以有6 脚的mini-DIN 或5 脚的DIN 连接器如果你的键盘是6 脚的mini-DIN 而你的计算机是5 脚的DIN 或者相反这两类连接器可以用上面提到的适配器来兼容具有6 脚mini-DIN 的键盘通常被叫做PS/2 键盘而那些有5 脚DIN 叫做AT 设备XT 键盘也使用5 脚DIN 但它们非常古老并且多年前就不生产了所有现代的为PC 建造的键盘不是PS/2,AT 就是USB 的。
每种连接器的引脚定义如下所示:连接器上有四个有趣的管脚电源地5V 数据和时钟host 计算机提供5V 并且键盘/鼠标的地连接到host 的电源地上数据和时钟都是集电极开路的这就意味着它们通常保持高电平而且很容易下拉到地逻辑0 任何你连接到PS/2 鼠标键盘或host 的设备在时钟和数据线上要有一个大的上拉电阻置0 就把线拉低置1 就让线上浮成高电平。
课程设计报告课程设计名称:微机原理与接口技术系别:三系学生姓名:缪广东班级:10计本(1)学号:20100303130成绩:指导教师:巫宗宾开课时间:2012—2013 学年 1 学期一.设计题目LED显示系统设计二.主要内容课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。
它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。
教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。
学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。
学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。
学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O 口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。
(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。
(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。
当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。
(2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。
(3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
目录一、原理图设计说明 (1)1.1数码管硬件电路设计 (1)1.2矩阵键盘电路设计: (2)二、程序设计说明 (3)2.1键盘扫描程序设计 (3)2.2算术运算程序设计 (4)2.3显示程序设计 (5)三、工作原理图及程序流程图 (6)四、程序清单 (9)五、参考文献 (15)一、原理图设计说明1.1数码管硬件电路设计数码管数据显示的硬件电路由单片机、4 位共阳极数码管、位驱动电路、限流电阻等组成。
实验板中用杜邦线将P7 与单片机IO 口相连(这里以P0 口为例)。
用跳线将P8 与单片机P2 低四位相连,P0 口送出数码管段选码,P2 送出位选码。
图1-1 数码管硬件电路原理图1.2矩阵键盘电路设计:4*4 矩阵键盘行输入接单片机P1.0-P1.3,列输入接单片机P1.4-P1.7,通过扫描方式检测是否有键按下,并确定键值,使用矩阵键盘时注意给P10 矩阵键盘选择端使能。
对键盘进行编号,S3-S18,按下相应按键,在数码管上显示相应键值(0-F)。
例如按下S10 键,显示A,按下S0 键,显示0。
图1-2 矩阵键盘电路原理图二、程序设计说明2.1键盘扫描程序设计键盘扫描程序的过程为:开始时,先判断是否有键闭合,无键闭合时,返回继续判断,有键闭合时,先去抖动,然后确定是否有键按下,若无键按下,则返回继续判断是否有键闭合,若有键按下,则判断键号,然后释放,若释放按键完毕,则返回,若没有释放按键,则返回继续释放。
其流程图如图2-1所示。
图2-1 键盘扫描程序流程图算术运算程序的过程为:先判断输入的运算符是+、-、*、/ 中的哪一个,若是+或-,则要判断运算结果是否溢出,溢出则显示错误信息,没溢出就显示运算结果,若是/,则要先判断除数是否为零,为零就显示错误信息,不为零则显示运算结果,若是-,则直接显示运算结果。
其流程图如图2.2所示。
图2-2 算术运算程序设计流程图先是程序的过程为:显示开始时,先进行LED的初始化,判断是否显示,若不显示,则返回,若显示,则进行相应功能的设置,然后送地址和数据,再判断是否显示完,显示完则返回,没有显示完则继续送地址。
目录摘要 (1)Abstract (2)1设计原理 (3)1.1 MCS-51单片机的结构及编程方法 (3)1.2 16*16点阵LED原理 (5)1.3 3-8译码器原理 (6)2.设计方案介绍 (7)2.1 设计总体思路 (7)2.2 与题目相关的具体设计 (7)2.3程序设计流程图 (8)3.源程序,原理图和仿真图 (9)3.1程序清单(见附录) (9)3.2电路图 (9)3.2.1电路原理图 (9)3.2.2电路图分析 (9)3.3仿真图 (10)4性能分析 (11)5.总结和心得 (12)6.参考文献 (13)附录:程序代码 (14)摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:MCS-51;LED;单片机AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This paper introduces a kind of simple 16x16 LED display screen design process based on MCS-51 single chip minicomputer . The detail hardware scheme, software flow and assemble language programmer design and so on is followed. The display part can be cascaded to meet the need. The practice proves the design is low-cost and effective.Key words: MCS-51;LED;MCU1设计原理1.1 MCS-51单片机的结构及编程方法MCS-51单片机的组成: CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。
电子计算器的设计主要分为键盘的编码、七段LED 数码管的显示及四则运算法则的编写三部分。
设计中我们用可编程外围接口芯片8255A 连接键盘和七段LED 数码管,用七段LED 数码管显示键盘输入信号及运算结果,利用简单的汇编语言编写相应程序进行四位自然数的有效四则运算。
由于本次实验中,实验箱是HUSYE3-MIT-16/32微机接口实验仪采用模块化、积木式的结构,各实验模块互不影响。
但可通过连线将各实验模块有机组合起来,进行微机外围接口实验。
实验箱中8279已经集成了键盘和LED数码管显示的功能。
因此,本次实验是采用了硬件设计更为简单而功能强大的8279辅助完成实验。
关键词:8279;七段LED 数码管;汇编语言;四则运算目录1选题与需求分析 (1)1.1选题 (1)1.2需求分析 (1)1.2.1课题的功能需求 (1)2总体设计 (2)2.1硬件方案 (2)2.2软件方案 (2)3详细设计 (5)3.1硬件实现 (5)3.2软件实现 (5)4设计结果 (10)5收获与体会 (15)6参考文献 (16)7附录....................................................................................... 错误!未定义书签。
1 选题与需求分析1.1 选题我选的题目是电子计算器。
电子计算器的设计主要分为键盘的编码、七段LED 数码管的显示及四则运算法则的编写三部分。
设计中我们用可编程外围接口芯片8255A 连接键盘和七段LED 数码管,用七段LED 数码管显示键盘输入信号及运算结果,利用简单的汇编语言编写相应程序进行四位自然数的有效四则运算。
由于本次实验中,实验箱是HUSYE3-MIT-16/32微机接口实验仪采用模块化、积木式的结构,各实验模块互不影响。
但可通过连线将各实验模块有机组合起来,进行微机外围接口实验。
实验箱中8279已经集成了键盘和LED数码管显示的功能。
基于MSP430单片机的数控直流电流源的设计摘要本系统是一个基于单片机的数控直流电流源系统。
采用单片机作为核心,辅以带反馈自稳定的串调恒压源,可以连续设定电流值。
由D/A转换器TLC5615、ZLG7289、中文字库液晶显示块、放大电路和大功率调整电路组成。
通过独立键盘输入给定值,由D/A转换器将数字信号转换成模拟信号,经D/A输出电压作为恒流源的参考电压,利用晶体管平坦的输出特性得到恒定的电流输出,最后用中文液晶显示输出。
其中单片机选用美国TI公司的MSP430F2274作为控制核心,利用闭环控制原理,加上反馈电路,使整个电路构成一个闭环。
软件方面主要利用PID算法来实现对输出电流的精确控制。
系统可靠性高,体积小,操作简单方便,人机界面友好。
关键字:数控 MSP430 PID算法反馈电路单片机Digital Controlled DC Current Source Design BasedOn MSP430 MCUABSTRACTThis system is a based on SCM numerical control dc current source system. Using single chip microcomputer as the core, with the strings with feedback from stability constant pressure source, can tone set by continuous. By D/A converter ZLG7289, Chinese word stock TLC5615, liquid crystal display (LCD) block, amplifying circuit and high-power regulating circuit component. The given value through independent keyboard input by D/A converter, converts digital signals into analog signals, the D/A constant current source voltage output as A reference voltage, using the plain output characteristic get the transistor constant current output, finallyuse Chinese LCD display output. One of the American TI company microcontroller choose MSP430F2274 as control core, using the closed-loop control principle, plus feedback circuit, make whole circuit constitute a closed-loop. Mainly using PID algorithm software to achieve output current the precise control. The system reliability high, small volume, easy to operate, friendly man-machine interface.Key Words:Numerical Control MSP430 PID Algorithm Feedback Circuit SCM目录前言 (1)第一章绪论 (2)1.1 课题背景 (2)1.2数控直流电流源概述 (2)1.2.1 电流源简介 (2)1.2.2 数控直流电流源的必要性 (2)1.2.3 数控直流电流源简介 (3)1.3课题进展 (3)1.4后话 (3)第二章芯片简介 (4)2.1单片机芯片MSP430F2274 (4)2.2D/A芯片TLC5615 (5)2.2.1 TLC5615功能简介 (6)2.2.2 TLC5615工作原理 (7)2.3ZLG7289A芯片介绍 (8)2.3.1 芯片简介 (8)2.3.2 引脚说明 (8)第三章系统硬件设计 (10)3.1 总体方案设计与比较 (10)3.2 单元电路设计 (11)3.2.1 电源电路 (11)3.2.2 D/A电路 (12)3.2.3 恒流源电路 (12)3.2.4 数码管显示电路 (14)3.3 PROTEL 99SE介绍 (15)第四章系统软件设计 (17)4.1程序语言介绍 (17)4.1.1机器语言 (17)4.1.2汇编语言 (17)4.1.3高级语言 (17)4.2PID算法介绍 (18)4.2.1 PID增量式算法 (18)4.2.2 PID位置算法 (19)4.2.3 微分先行PID算法 (20)4.3C语言程序设计流程 (20)4.4MSP430F2274编程基础简介 (21)4.4.1数据存储器和程序存储器地址空间 (21)4.4.2 MSP430F2274寄存器介绍 (21)4.4.3单片机的工作模式 (23)4.5程序流程图 (23)4.5.1 主程序流程图 (24)4.5.2 中文液晶显示 (24)4.5.3 键盘程序流程图 (25)4.5.4 A/D转换流程图 (26)4.5.5 D/A转换流程图 (26)4.6本章小结 (27)第五章系统仿真调试 (28)5.1仿真软件介绍 (28)5.1.1 功能特点 (28)5.1.2 功能模块 (28)5.2仿真步骤 (30)结论 (31)参考文献 (32)致谢 (33)前言直流电流源是电子技术常用的设备之一,广泛应用于教学、科研等领域。
3.2 部分软件设计
3.2.3显示子程序
动态显示程序框图如图所示。
显示程序的要点有两个:一是代码转换。
因为直接驱动LED显示器的是字形码,而人们习惯的是0、1、2、…、F等字符,因此,必须将待显示的字符转换成字形码。
转换用查表的方法进行。
二是通过软件实现逐位轮流点亮每个LED。
为了实现代码转换,首先开辟一个显示缓冲区,将待显示的字符预先存放在缓冲区中。
由于有4位LED显示器,故不妨假设显示缓冲区长度为4个字节。
显
示缓冲区地址为DIS
0~DIS
3
,DIS
单元与最左边一位LED相对应,DIS
3
单元与最
右边一位LED相对应。
程序清单如下:
DIS: ORG 0500H
MOV A,#00000011B
MOV DPTR,#7F00H
MOVX @DPTR,A
MOV R0,#78H
MOV R3,#7FH
MOV A,R3
LD: MOV DPTR,#7F01H
MOVX @DPTR,A
INC DPTR
MOV A,@R0
ADD A,#0DH
MOVC A,@ DPTR
ACALL DLY
MOV A ,R3
JNB A,R0
RR A,LD1
MOV R3,A
INC R0
AJMP LD0
LD1: SJMP LD1
DSEG:DB 3FH,06H,5BH,4FH,66H,6DH 7DH,07H,7FH,6FH DLY: MOV R7,#02H
DL: MOV R6,#0FFH
DL1: DJNZ R6,DL1
DJNZ R7,DL
RET
3.2.4键盘子程序
键盘扫描子程序框图如图
图3-4 键盘扫描子程序框图
键盘扫描子程序如下:
KEY: ORG 0440H ;
ACALL KS ;调用KS判别是否有键按下
JNZ K1 ;有键按下转移
ACALL DIR ;无键按下,调延时子程序AJMP KEY ;
K1: ACALL DIR ;加长延时时间,消除键抖动ACALL DIR ;
ACALL KS ;调用KS子程序,再次判别
有无键按下
JNZ K2 ;有键按下,转逐列扫描
AJMP KEY ;误读键,返回
K2: MOV R2,#0FEH ;首列扫描字送R2
MOV R4,#00H ;首列号送R4
K3: MOV DPTR,#PA ;A口地址送DRTR
MOV A,R2 ;
MOVX @DPTR,A ;列扫描字送8155A口
INC DPTR ;指向8155C口
INC DPTR ;
MOVX A,@ DPTR ;读取行扫描值
JB ACC.0,L1 ;第0行无键按下,转查第1行
MOV A,#00H ;第0行有键按下,该行的行首键号#00H 送
A
AJMP LK ;转求键号
L1: JB ACC .1,L2 ;第1行无键按下,转查第2行MOV A,#08H ;第1行无键按下,该行的行首键号 #08H送A
AJMP LK ;转求键号
L2: JB ACC .2,L3 ;第2行无键按下,转查第3行MOV A,#10H ;第2行有键按下,该行的行首键号#10H 送
A
AJMP LK ;转查键号
L3: JB ACC.3,NEXT ;第3行无键按下,转查下一列MOV A,#18H ;第3行有键按下,该行的行首键号#18H 送
A
LK: ADD A,R4 ;形成键释放
PUSH ACC ;未释放,等待
K4: ACALL DIR ;键释放,弹出堆栈送ACC ACALL KS ;键扫描结束,返回
JNZ K4 ;修改列号
POP ACC ;
RET
NEXT:INC R4 ;
MOV A,R2 ;
JNB ACC.7,KEY ;8列扫描完返回KEY
RL A ;未扫描完,扫描字左移一位,
变为下列扫描字MOV R2,A ;扫描字暂存R2
AJMP K3 ;
KS: MOV DPTR,#PA ;A口地址送DPTR
MOV A,#00H ;
MOVX @DPTR,A ;令扫描字00H送A口
INC DPTR ;指向C口
INC DPTR ;
MOVX A,@ DPTR ;读入C口行线状态
CPL A ;变正逻辑,以高电平表示
有键按下
ANL A,#0FH ;屏蔽高4位
RET ;出口状态:A≠0时,有键按下。