显示和键盘流程图及程序
直流伺服电机控制系统设计

电子信息与电气工程系课程设计报告设计题目:直流伺服电机控制系统设计系别:电子信息与电气工程系年级专业:学号:学生姓名: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来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
06 12864LCD显示计算器键盘按键实验

目录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.设计框图框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。
C语言程序设计教程第2章程序流程

流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
从键盘输入数据并显示实验报告

从键盘输入数据并显示实验报告一、实验目的与内容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的晶振。
流程图范例

11
流程图绘制的一般规则(c.1)
•确实了解系统
–透过访谈或问卷调查系统的使用者, 系统开发 人员, 审计人员及管理阶层,
–详细阅读系统的文字叙述或 –实际观察系统的运作, 以了解系统.
图的名称, 绘制日期, 绘制者的名称及版本
17
二厂生管订单排程周期
一.范围:因月份人员及机台等状况影响,平均月份产能如下:
射出厂
丝印/烫印
成型厂
研磨厂
220~250万 零件量
50万次/50万PCS
80万PCS
90万PCS
美耐皿(盤碗)類 (合共35天)
美耐皿(杯、TOOL)類 (合共40天)
塑膠(素色)類 (合共30天)
• 各个图块用箭头连接起来,图块的形状表 示执行工作的种类,箭头的方向则代表执 行的顺序。
• 箭头:流程线。
3
Start 輸入 a、b、c
使 c 成為最大值
True
a2+b2=c2
False
輸出"是直 角三角形"
輸出"不是 直角三角形
"
End
4
流程图的符号
•流程图符号可分为四类:
–输出入பைடு நூலகம்nput/Output符号:
塑膠(絲印)類 (合共40天)
訂單評審 (2天)
工單維護 (2天)
原材料備料 (20天)
生產單位領料 (1天)
生產排程時程 (10天)
訂單評審 (2天)
工單維護 (2天)
原材料備料 (20天)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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时,有键按下。