北京工业大学电子工程设计--二阶实验报告
虚实结合仿真实训平台的建设与实践

2023年1月第2期Jan. 2023No.2教育教学论坛EDUCATION AND TEACHING FORUM虚实结合仿真实训平台的建设与实践张乃龙(北京工业大学 材料与制造学部,北京 100124)[摘 要] 为适应新工科建设的要求,加强学生综合工程能力培养,解决实践资源不足的问题,结合智能制造专业建设要求,搭建了虚实结合仿真实训平台应用于专业课程群的实践教学。
基于机械工程系统基本设计流程,构建课程群综合设计能力实训平台,把机械原理、机械设计、机械控制和创新方法实践等课程实践相贯通进行方案设计、结构设计和控制系统设计,建立虚拟设备模型、实物样机和控制系统相结合进行控制仿真验证的虚实仿真训练模式。
实践表明,虚实结合使实训内容多样化,机械系统设计的一线式实训更接近于实际,提高了学生的参与积极性,有助于提升学生的创新能力和解决复杂工程问题的能力。
[关键词] 虚拟仿真;实践训练;虚实结合;能力培养[基金项目] 2019年度北京工业大学教育教学研究课题(K2019ID003)[作者简介] 张乃龙(1976—),男,山东临沂人,博士,北京工业大学材料与制造学部高级实验师,主要从事数字化设计研究。
[中图分类号] G642.0 [文献标识码] A [文章编号] 1674-9324(2023)02-0109-04 [收稿日期] 2022-03-18近年来,随着工程教育中新工科建设的快速开展和工程教育专业认证工作的不断推进,国内各高校在机械工程专业的教学中越来越强调对学生创新能力和解决复杂工程问题能力的培养[1]。
创新能力和工程能力的培养离不开科学的实践教学体系和完善的校内外实验基地建设[2]。
面对场地限制和设备安全问题,各类仿真软件的使用为解决课程实践问题提供了可选的手段。
当前虚拟仿真平台在各类课程中已得到广泛应用,虚拟样机及计算分析软件在机械原理类课程[3]、三维建模软件在机械设计类课程中都已普遍开展应用训练[4-5],电工电子和PLC课程也通过仿真软件实现了实训多样化[6-7]。
基于Web的智能变电站SCD文件管控系统

电子设计工程Electronic Design Engineering第28卷Vol.28第24期No.242020年12月Dec.2020收稿日期:2020-02-14稿件编号:202002057基金项目:国家自然基金青年基金(21406135)作者简介:张永伍(1980—),男,河北唐山人,硕士,高级工程师。
研究方向:电力系统自动化、继电保护。
随着智能变电站系统的优化和升级,SCD 电力文件配置与管理模式得到了快速推广,基于SCD 文件管理控制方式,能够实现对电能传输监控、电气拓扑设计、电网调试等过程的数字化描述和控制,还可以更精确、更合理地实现对电力文件的配置管理,提高变电站和整个电网的智能化水平。
对于保证电力系统的安全、稳定运行具有重要的现实意义[1-3]。
但现有的变电站SCD 文件管理系统的智能化水平及网络化水平不高,多基于局域网和以太网进行模块和软件控制流程的设计[4-5],无法实现跨区域、长距离的远程监控和调整,给变电站的维护和电网数据监控带来困难。
针对现有智能变电站SCD 文件管理系统存在的不足,基于Web 服务器设计开发了一种新型SCD 文件管控系统,旨在提高电力系统文件管理的网络化水平和智能化水平,并实现对变电站运转状况的远程监控,提高智能变电站和电网系统的稳定性。
1SCD 文件管控系统框架设计随着全球互联网的发展及网络协议、软件系统的迭代升级,Web 服务器的应用场景越来越多[6]。
Web 服务器能够拓展XML 系统,具有嵌入式和结构基于Web 的智能变电站SCD 文件管控系统张永伍1,马红祥1,王洋1,韩辉2,孙玉杨2(1.国网天津市电力公司,天津300010;2.山东容弗新信息科技有限公司,山东济南250100)摘要:针对现有智能变电站SCD 文件管控系统在文件上传、下载、存储、共享时存在的耗时长、故障高等问题,该文利用Web 服务器设计了一种管控系统。
该系统主要包括嵌入式Web 文件管理模块、可视化交互模块、SCD 文件同步处理模块和资源整合模块。
十进制加法计数器

十进制加法器设计1课程设计的任务与要求 课程设计的任务1、综合应用数字电路知识设计一个十进制加法器。
了解各种元器件的原理及其应用。
2、了解十进制加法器的工作原理。
3、掌握multisim 软件的操作并对设计进行仿真。
4、锻炼自己的动手能力和实际解决问题的能力。
5、通过本设计熟悉中规模集成电路进行时序电路和组合电路设计的方法,掌握十进制加法器的设计方法。
课程设计的要求1、设计一个十进制并运行加法运算的电路。
2、0-9十个字符用于数据输入。
3、要求在数码显示管上显示结果。
2十进制加法器设计方案制定 加法电路设计原理图1加法运算原理框图如图1所示第一步置入两个四位二进制数。
例如(1001)2,(0011)2和(0101)2,(1000),同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。
2第二步将置入的数运用加法电路进行加法运算。
第三步前面所得结果通过另外两个七段译码器显示。
即:加法运算方式,则(1000)2+(0110)2=(1110)2 十进制8+6=14 并在七段译码显示出14。
运算方案通过开关S1——S8接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U8和U9分别显示所置入的两个数。
数A直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。
四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S5——S8,通过开关S5——S8控制数B的输入,通过加法器74LS283完成两个数A和B的相加。
由于译码显示器只能显示0——9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)2时加上3(0011)2,产生的进位信号送入译码器U10来显示结果的十位,U11显示结果的个位。
3十进制加法器电路设计加法电路的实现用两片4位全加器74LS283和门电路设计一位8421BCD码加法器。
北京工业大学教务处

北京工业大学教务处
工大教发[2007] 007号关于发布《北京工业大学认定的本科生科技竞赛项目名单》的通知
为配合《北京工业大学本科生科技竞赛管理办法》(工大发…2007‟11号)、《北京工业大学本科生创新学分实施办法》(工大教发 [2007] 005号)、《北京工业大学推荐优秀应届本科毕业生免试攻读硕士学位研究生的实施办法》(工大教发 [2007] 006号)等文件的实施,现发布北京工业大学认定的本科生科技竞赛项目名单。
北京工业大学认定的本科生科技竞赛项目名单
本文解释权在教务处。
教务处、校团委、学生处、研究生部、党委研究生工作部
2007年5月25日。
电气和电子工程用材料科学

余费用两大部分。
从效费分析的角度考虑了可靠性费用的建模与优化问题,提出了一种可靠性费用建模与优化的综合方法。
图2表0参10TB114.32006050036基于偏最小二乘回归的可靠性增长费用分析/黎放,费奇,胡涛(海军工程大学管理工程系)//系统工程与电子技术.―2005,27(8).―1432~1434,1451.为消除武器装备可靠性增长费用建模中自变量之间的多重相关性,引入了偏最小二乘回归分析,并针对某型现役装备使用阶段可靠性增长费用数据进行了建模与分析。
结果表明,与一般的多元回归分析相比,偏最小二乘回归分析避免了自变量之间多重相关性带来的问题,能够得到与实际经验相符合的模型。
图0表3参7TB114.32006050037空空导弹综合环境可靠性试验剖面研究/陈万创,李爱国(上海机电工程研究所)//上海航天.―2005,22(4).―41~44.为有效地进行空空导弹综合环境可靠性试验,根据试验剖面真实性、合理性和典型性的要求,确定导弹挂飞为主要试验阶段。
研究了地面和空中两种试验环境中温度应力、振动应力、电应力和湿度等环境参数的确定,并给出了相应的原则或计算公式。
最后讨论了试验剖面设计中循环及小周期确定、采用多个试验剖面等其他问题。
图3表0参4TB1152006050038脉冲固体饵激光治疗睑黄瘤/郭晖,高建,宋保难(重庆市第八人民医院雷纳医学整形激光关容科)//激光杂志.―2005,26(4).―91~91.探讨固体饵激光治疗睑黄瘤的效果。
采用ER:Y AG激光系统(型号:MCL29)由Asclepion Laser Technologies公司制造,该设备波长2.94μm、脉宽350μs。
治疗48例眼睑黄瘤患者。
临床应用48例眼睑黄瘤患者,其中双眼32例,共计80只眼,治愈率100%。
所有患者均经1~3次治疗。
睑黄瘤面积大小5mm~10mm×15mm×20mm。
术后伤口愈合极佳,无色素沉着,无明显疤痕。
北京工业大学电子实验报告 压控阶梯波发生器(数字类)

北京工业大学课程设计报告学院电子信息与控制工程专业班级组号题目1、压控阶梯波发生器2、基于运放的信号发生器设计姓名学号指导老师成绩年月日压控阶梯波发生器(数字类)(一)设计任务在规定时间内设计并调试一个由电压控制的阶梯波发生器。
(二)设计要求1、输出阶梯波的频率能被输入直流电压所控制,频率控制范围为600Hz至1000Hz。
2、输出阶梯波的台阶级数为10级,且比例相等。
3、输出阶梯波的电压为1V/级。
4、输入控制电压的范围0.5V至0.6V。
5、电路结构简单,所用元器件尽量少,成本低。
(三)调试要求利用实验室设备和指定器件进行设计、组装和调试,达到设计要求,写出总结报告。
(四)方案选择在压频转换部分存在两种方案。
1、Lm358组成压频转换电路;2、NE555构成压频转换电路。
方案论证数字电路精确度较高、有较强的稳定性、可靠性和抗干扰能力强,数字系统的特性不易随使用条件变化而变化,尤其使用了大规模的继承芯片,使设备简化,进一步提高了系统的稳定性和可靠性,在计算精度方面,模拟系统是不能和数字系统相比拟的。
数字系统有算术运算能力和逻辑运算能力,电路结构简单,便于制造和大规模集成,可进行逻辑推理和逻辑判断;具有高度的规范性,对电路参数要求不严,功能强大。
为了得到更精彩的波形采用数模混合方案。
(五)实验元器件和芯片运算放大器Lm358,TTL电路74LS20、74LS161、74LS175,CMOS缓冲器CD4010,稳压管,二极管1N4148,电位器,电容,电阻。
(六)设计方案整体设计思路:压频转换→计数器→权电阻→运放=>阶梯波利用Lm358组成压频转换电路;使用CD4010缓冲,形成可被数字电路识别的矩形波信号;74LS161与74LS20组合构成十进制计数器;利用74LS175提高负载、整流信号,并组成权电阻网络;最后利用运放放大信号,并输出。
仿真电路图:详细设计: 压频转换部分:V1 2 V C11uFR1100kΩR25kΩR31kΩR4100kΩR5100kΩU174LS161NQA 14QB 13QC 12QD 11RCO 15A 3B 4C 5D 6ENP 7ENT 10~LOAD 9~CLR 1CLK2U274LS175D1D 4CLK 91Q 2~CLR 12D 53D 124D 13~1Q 3~2Q 63Q 10~3Q 112Q 74Q 15~4Q14U3A74LS20D5U4ALM358D32481U5ALM358D 32481U6ALM358D3248134U7A40106BD_5V6R6100kΩKey=A 50%GNDVDD 15V VDD 15V VEE-15VVEE -15VVEE -15VVDD15V VEE VEEVDDVDDR71kΩVCC 5V R81kΩR92kΩR104kΩR118kΩR122kΩKey=A 50%R132kΩKey=A 50%R142kΩKey=A 50%R152kΩKey=A50%1718192021222324VEE VDDR161kΩ0R17680Ω27R182kΩ26XSC1ABExt Trig++__+_1211D11N4148109830729VCCGND D21N575815251228压频转换将一定的输入电压按线性的比例关系转化成频率信号,当输入电压变化时,输出频率也相应变化。
2022年北工大数据结构第二次上机中缀转后缀实验报告

北京工业大学- 第学期信息学部计算机学院3月31日报告题目:输入中缀体现式,输出后缀体现式,并对体现式求值A.分析中缀体现式旳运算顺序受运算符优先级和括号旳影响。
因此,将中缀体现式转换成等价旳后缀体现式旳核心在于如何恰当旳去掉中缀体现式中旳括号,然后在必要时按照先乘除后加减旳优先规则调换运算符旳先后顺序。
在去括号旳过程中用栈来储存有关旳元素。
基本思路:从左至右顺序扫描中缀体现式,用栈来寄存体现式中旳操作数,开括号,以及在这个开括号背面旳其她临时不能拟定计算顺序旳内容。
(1)当输入旳是操作数时,直接输出到后缀体现式(2)当遇到开括号时,将其入栈(3)当输入遇到闭括号时,先判断栈与否为空,若为空,则表达括号不匹配,应作为错误异常解决,清栈退出。
若非空,则把栈中元素依次弹出,直到遇到第一种开括号为止,将弹出旳元素输出到后缀体现式序列中。
由于后缀体现式不需要括号,因此弹出旳括号不放到输出序列中,若没有遇到开括号,阐明括号不匹配,做异常解决,清栈退出。
(4)当输入为运算符时(四则运算+ - * / 之一)时:a.循环,当(栈非空&&栈顶不是开括号&&栈顶运算符旳优先级不低于输入旳运算符旳优先级)时,反复操作将栈顶元素弹出,放到后缀体现式中。
b.将输入旳运算符压入栈中。
(5)最后,当中缀体现式旳符号所有扫描完毕时,若栈内仍有元素,则将其所有依次弹出,放在后缀体现式序列旳尾部。
若在弹出旳元素中遇到开括号,则阐明括号不匹配,做异常解决,清栈退出。
B.实现#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stack>using namespace std;#define N 1000char infix[N]; //中缀体现式(未分离,都在一种字符串里)char expression[N][10]; //保存预解决过旳体现式,也就是每个元素都分离过旳体现式char suffix[N][10]; //保存后缀体现式旳操作数int count;//体现式中元素旳个数(一种完整到数字(也许不止一位数)或者符号)int suffixLength;//后缀体现式旳长度int level(char a){switch(a){case '#':return 0;case '+':case '-':return 1;case '*':case '/':return 2;case '^':return 3;default:break;}return -1;}int isDigital(char x){if( (x>='0'&&x<='9') || (x>='A'&&x<='Z') || (x>='a'&&x<='z') || (x=='.') )return 1;return 0;}int isNumber(char *str){int i;for(i=0;str[i];i++){if(isDigital(str[i])==0)return 0;}return 1;}/*************************************预解决中缀体现式,把持续旳字符分离成不同旳元素,用字符串数组(expression[][])保存,以便背面旳计算,由于这里考虑了运算数也许不全是个位数例如:(12+3)在解决成后缀体现式时,是123+,容易产生歧义(1+23 ? 12+3)*************************************/void pretreatment(char *str){int i,j,numberFlag;char temp[3];char number[10];count=0;numberFlag=0;for(j=0,i=0;str[i];i++){if(isDigital(str[i])==0){if(numberFlag==1){number[j]=0;strcpy(expression[count++],number); j=0;numberFlag=0;}if(str[i]!=' '){temp[0]=str[i];temp[1]=0;strcpy(expression[count++],temp); }}else {numberFlag=1;number[j++]=str[i];}}puts("分离后旳体现式为");for(i=0;i<count;i++){printf("%s ",expression[i]);}puts("");puts("");}/*****************************************中缀体现式转后缀体现式遍历字符串,对于str[i]str[i]是运算数(或者是字母替代旳运算变量)输出;str[i]是符号,有两种状况(1),是右括号,栈顶元素输出,直到与str[i]匹配旳左括号出栈(左括号不用输出打印)(2),是运算符,判断str[i]与栈顶元素旳优先级,str[i]优先级不高于栈顶符号,则栈顶元素输出,直到栈空或者栈顶符号优先级低于str[i]*****************************************/void infix_to_suffix(char str[N][10]){memset(suffix,0,sizeof(suffix));suffixLength=0;stack <char*> st;int i=0;char Mark[2]="#";st.push(Mark);do{if(isNumber(str[i])==1)//运算数直接保存到后缀体现式中strcpy(suffix[suffixLength++],str[i]);else if(str[i][0]=='(') //是左括号,直接入栈st.push(str[i]);else if(str[i][0]==')'){ //是右括号,栈顶出栈,直到与其匹配旳左括号出栈while( strcmp(st.top(),"(")!=0 ){char temp[10];strcpy(temp,st.top());strcpy(suffix[suffixLength++],temp);st.pop();}st.pop();}else if( strcmp(st.top(),"(")==0 )//是运算符,且栈顶是左括号,则该运算符直接入栈st.push(str[i]);else { //是运算符,且栈顶元素优先级不不不小于运算符,则栈顶元素始终//出栈,直到栈空或者遇到一种优先级低于该运算符旳元素while( !st.empty() ){char temp[10];strcpy(temp,st.top());if( level(str[i][0]) > level(temp[0]) )break;strcpy(suffix[suffixLength++],temp);st.pop();}st.push(str[i]);}i++;}while(str[i][0]!=0);while( strcmp(st.top(),"#")!=0 ){ //将栈取空结束char temp[10];strcpy(temp,st.top());strcpy(suffix[suffixLength++],temp);st.pop();}puts("后缀体现式为:");for(i=0;i<suffixLength;i++){printf("%s",suffix[i]);}puts("");puts("");}/**************************************计算后缀体现式旳值**************************************/char kt[N][10];int stackTop;void getResult(char str[N][10]){stackTop=0;/*这里要注意,内存旳分派方案导致 i 旳位置就在temp[9]旁边,然后strcpy()函数直接拷贝内存旳话,在temp越界状况下会覆盖 i 旳值*/int i;char temp[10];for(i=0;i<suffixLength;i++){if(isNumber(str[i])==1){strcpy(kt[stackTop++],str[i]);}else {char a[10],b[10];double na,nb,nc;strcpy(a,kt[stackTop-1]);na = atof(a);stackTop--;strcpy(b,kt[stackTop-1]);nb = atof(b);stackTop--;if(str[i][0]=='+')nc=nb+na;else if(str[i][0]=='-')nc=nb-na;else if(str[i][0]=='*')nc=nb*na;else if(str[i][0]=='/')nc=nb/na;sprintf(temp,"%lf",nc);strcpy(kt[stackTop++],temp);}}puts("\nThe result is : %f\n");printf("%s\n",kt[stackTop-1]);}int main(){printf("Please input calculate Expression :\n"); char temp[N];while(gets(infix)){strcpy(temp,infix);pretreatment( strcat(temp," ") );infix_to_suffix(expression);getResult(suffix);}return 0;}C.总结实验需要细心细心再细心。
大唐实习报告

篇一:大唐实习报告认识实习实习报告学生姓名:学院:专业:班级:指导教师:2012年 9月 9日1、实习目的实习的目的主要在于通过教师和工程技术人员的当堂授课以及工人师傅门的现场现身说法全面而详细的了解相关材料工艺过程。
实习的过程中,学会从技术人员和工人们那里获得直接的和间接地生产实践经验,积累相关的生产知识。
通过实习,学习本专业方面的生产实践知识,为专业课学习打下坚实的基础,同时也能够为毕业后走向工作岗位积累有用的经验。
实习还能早些了解自己专业方面的知识和专业以外的知识,早些认识到将面临的工作问题,明白以后读大学是要很认真的读,要有好的专业知识,才能为好的实际动手能力打下坚实的基础,更让你明白了以后要有一技之长,才能迎接以后的挑战,也让你知道了大学是为你们顺应科学发展的垫脚石和自身发展的机会。
2、实习企业介绍2.1 内蒙古方圆科技有限公司内蒙古方圆科技有限公司主营铝合金。
铝合金是工业中应用最广泛的一类有色金属结构材料,在航空、航天、汽车、机械制造、船舶及化学工业中已大量应用。
随着近年来科学技术以及工业经济的飞速发展,对铝合金焊接结构件的需求日益增多,使铝合金的焊接性研究也随之深入。
铝合金的广泛应用促进了铝合金焊接技术的发展,同时焊接技术的发展又拓展了铝合金的应用领域,因此铝合金的焊接技术正成为研究的热点之一。
纯铝的密度小(ρ=2.7g/cm3),大约是铁的 1/3,熔点低(660℃),铝是面心立方结构,故具有很高的塑性(δ:32~40%,ψ:70~90%),易于加工,可制成各种型材、板材。
抗腐蚀性能好;但是纯铝的强度很低,退火状态σb 值约为8kgf/mm2,故不宜作结构材料。
通过长期的生产实践和科学实验,人们逐渐以加入合金元素及运用热处理等方法来强化铝,这就得到了一系列的铝合金。
添加一定元素形成的合金在保持纯铝质轻等优点的同时还能具有较高的强度,σb 值分别可达 24~60kgf/mm2。
这样使得其“比强度”(强度与比重的比值σb/ρ)胜过很多合金钢,成为理想的结构材料,广泛用于机械制造、运输机械、动力机械及航空工业等方面,飞机的机身、蒙皮、压气机等常以铝合金制造,以减轻自重。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子工程设计第二阶段报告小型温度测量与控制系统专业:通信工程小组: 10组成员:刘志斌 12024228 高培元 12024215指导教师:**完成日期:2014.12.20摘要:第一阶段我们已经完成了电源板和变送器。
本学期的第二阶段要求是完成这个系统中单片机,A/D,D/A转换电路和显示与键盘控制电路部分。
温度控制系统总体概述(一)、总述电子工程设计训练是一门综合理论知识,实践操作,电子电路系统的设计、实现、调试、故障排查等方面的综合性训练。
第一阶段只完成了电源以及变送器部分。
本阶段工作量非常大,需要完成单片机,数模,模数转换电路和显示与键盘控制电路部分,并且完成测温系统的测试。
(二)设计任务与要求一、设计任务设计、制作并调试单片机,数模,模数转换电路和显示电路共四个模块。
二、设计要求1.单片机:具有独立电路板结构。
片选信号:6个,地址信号:4个,数据总线:AD0~AD7,I/O口线:P3口,P1口。
2.数/模(D/A)转换电路:具有独立电路板结构。
输入范围:00H ~ 0FFH,对应输出:-10V~+10V,电源供电:+5V,±12V。
3.模/数(A/D)转换电路: 独立电路板结构输入信号范围:0V~+5V分辨率:8bit精度:1LSB转换时间:< 1ms4.显示与键盘控制电路:4 位7 段数码显示,前 3 位含小数点独立电路板安装结构0 ~ 9数字输入键及若干功能设置按键控制(三)单片机应用电路一、电路设计方案1.芯片介绍MCS-51系列单片机有众多性能优异的兼容产品、成熟的开发环境、世界上最大的单片机客户群、高性价比、畅通的供货渠道,是初学者的首选机型。
8051是MCS-51系列单片机早期产品之一,内建一次性可编程只读存储器 ( PROM ) ,只需要很少的外围元件即可组成最小系统。
所以我们选择8051作为我们的单片机2.安装结构3.电路方案的确定通过比较,我们最后选定相对容易实现的部分地址译码,无总线驱动的方案,因为这样可以简化电路。
电路图如下:二、电路的调试$include (C8051F020.inc)LOOP: LCALL Init_DeviceMOVX A , @DPTRMOV DPTR, #0000HMOVX A , @DPTRMOV DPTR, #2000H MOVX A , @DPTRMOV DPTR, #4000H MOVX A , @DPTRMOV DPTR, #6000H MOVX A , @DPTRSJMP LOOP$include (Init_Device.inc)END正确输出波形如图所示:用示波器观察C1~ C4引脚,应有图示的波形输出。
如果没有输出或者彼此关系错乱,都表明电路中存在故障。
3.原理及功能分析(1)电路工作原理①C8051的P3口为数据/地址复用端口,为了得到低8位地址,需要数据/地址分离电路。
C8051通过A13、A14、A15三口输出信号给74LS138 译码器,经过芯片译码后输出6个片选信号,当输出相应地址时输出相应片选。
译码器的E1、E2口接低,E3口接高,7、9两口制空。
②C8051接收信号后需要数据/地址分离电路,而74LS373锁存器便充当了这一功能。
373从8051的D0~D7口接收到信号后将信号分离,数据信号从锁存器的Q0~Q3口输出,地址信号从锁存器的D0~D7口输出。
(四) 数/模(D/A)转换电路一、电路设计方案1、DAC8032芯片介绍数模转换器是整个控制系统将计算机输出的数字信号转化成模拟信号的重要部件,它的特性直接影响温度转换的精度。
其转换的精度主要由数模转换器的位数和V ref结合电子工程设计的实际要求,结合高性价比的原则我们选择了8位2、安装结构3、电路的选择输出方式:与数字量成比例的电流输出/与数字量成比例的电压输出/数字量和参考电压的相乘输出。
二、电路主要参数计算D/A 转换器用于将数字量转换成模拟量,他的输入粮食数字量D ,输出量为模拟量V O ,要求输出的模拟量与输入的数字量成正比,即:O R V D V =⨯其中V R 为基准电压。
11212002222n n n i n n i i D d d d d -----==+++=∑将D 带入O R V D V =⨯得到:12n i O i Ri V d V-==∑。
三、电路调试运行D/A 测试程序数/模数据显示窗口将有相应,数据显示,数据为从00—FF 顺序递增并不断循环。
另外输出管脚会有锯齿波。
测试程序如下:$include (C8051F020.inc) LCALL Init_Device MOV DPTR,#4000H ABC: MOVX @DPTR,AINC A CALL DELAY JMP ABC DELAY: MOV R7,#01HJJJ: MOV R6,#20H DJNZ R6,$ DJNZ R7,JJJ RET$include (Init_Device.inc) END输出波形如图:(五) 模/数(A/D)转换电路一.ADC0804芯片介绍芯片参数:工作电压:+5V,即VCC=+5V。
模拟输入电压范围:0~+5V,即0≤Vin≤+5V。
分辨率:8位,即分辨率为1/2=1/256,转换值介于0~255之间。
转换时间:100us(fCK=640KHz时)。
转换误差:±1LSB。
参考电压:2.5V,即Vref=2.5V。
二.安装结构原理说明:模数转换器,是将模拟电信号转变成计算机能识别的数字信号。
在模数转换中,应根据测量精度要求,考虑转换电路的精度和分辨率,并力求降低成本。
模数转换有多种方法可以实现,如采用电压/频率变换器,以频率或脉宽来计算温度,也可以采用A/D变换器或其它方法。
如采用A/D变换器,应考虑转换器输入阻抗和变送器输出阻抗对信号的衰减可能引起的测试误差,并尽量降低这一误差。
板间连接应注意保护。
根据课设要求,温度0~100 C的变化是用电压0~5V表示的,转成数字表示,即0~FFH。
3.电路的选择、二、电路主要参数计算(1)8位数模转换电路主要技术指标:分辨率--- 8位:表示能够分辨的最小电压变化DATA 为1 时的Vi 表示最小电压变化误差 --- ±1LSB转换时间--- 100微秒三、电路调试调试程序如图:$include (C8051F020.inc)LCALL Init_DeviceABC: MOV DPTR,#2000HMOVX @DPTR,ACALL DELAYMOV DPTR,#2000HMOVX A,@DPTRCALL DELAYJMP ABCDELAY: MOV R7,#02HJPP: MOV R6,#0HDJNZ R6,$DJNZ R7,JPPRET$include (Init_Device.inc)8 2 refiVDataVV⨯=≈∑END结果在示波器上显示锯齿波,波形在-10V~+10V上即可。
(六)显示与键盘控制电路一、电路设计方案基本显示控制方式有静态和动态两种,我们选择了静态电路显示控制方式与矩阵键盘电路方案。
静态显示电路方案:使用的元件多,成本相对较高。
但每位独立控制,程序设计比较简单,适用于显示位数较少的场合。
矩阵键盘电路方案:按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。
2.安装结构3.电路的选择静态显示电路方案:使用的元件多,成本相对较高。
每位独立控制,程序设计比较简单,适用于显示位数较少的场合。
使用74LS273,采用此方案。
键盘接口方法矩阵键盘电路方案:按键较多时,成本低,控制程序较直读电路复杂,适用于显示位数较多的场合。
采用此方案。
原理图如下:二.电路调试(1)显示电路模块调试按照图进行电源板焊接完毕,而后再次认真查线一遍然后再开始测试。
测试时,将电源板,单片机,显示电路正确连接。
按正确加电顺序供电,如果一切正常可以开始进一步的测试。
运行显示模块测试程序,如果电路工作正常,在4个数码管上应有数字 0-9 滚动显示。
否则,说明电路存在故障。
调试程序如图:#include "C8051F020.h"#include "absacc.h"#include "data_define.c"#define DP1 XBYTE[0x0000]#define DP2 XBYTE[0x0001]#define DP3 XBYTE[0x0002]#define DP4 XBYTE[0x0003]#define TIMER 0x8000#include "Init_Device.c"unsigned char table[ ]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};void delay(void);void display(unsigned char x,y);void main(void){unsigned char i,num=0;Init_Device();DP1=DP2= DP3=DP4=0xff;while(1){for(num=0;num<10;++num){i++;if(i<=4) display(i,num);else { i=1; display(i,num);}delay( );}}}void display(unsigned char x,y){ if (x=1) DP1=table[y];else if(x=2) DP2=table[y];else if(x=3) DP3=table[y];else DP4=table[y];}void delay(void){ unsigned int i;for(i=0;i<TIMER;++i);}(1)键盘控制模块调试:运行键盘控制电路的测试程序,如果电路工作正常,在键盘上每按 1 个键,都会通过 2 位数码显示管,显示相应的行编码和列编码。
否则,说明电路存在故障。
调试程序如图:#include "C8051F020.h"#include "absacc.h"#include "data_define.c"#define DP1 XBYTE[0x0000]#define DP2 XBYTE[0x0001]#define KEY_WR XBYTE[0x0002]#define KEY_RD XBYTE[0x0003]#define linescan1 0xfe#define linescan2 0xfd#define linescan3 0xfb#define linescan4 0xf7#define TIMER 0x8000#include "Init_Device.c"unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void display(unsigned char x,y);void main(void){unsigned char l_val,r_val,r_state,temp,conter;DP1 = DP2 = 0xff;Init_Device();while(1){for( l_val = 1;l_val < 5;++l_val ){switch( l_val ){case 1: KEY_WR = linescan1; break;case 2: KEY_WR = linescan2; break;case 3: KEY_WR = linescan3; break; case 4 : KEY_WR = linescan4;}if(r_state=~KEY_RD&0x1f)for(r_val=1,temp=1; r_val<6;++r_val,temp=temp<<1)if((r_state&temp)!=0) display(l_val,r_val); }}}void display(unsigned char x,y){DP1=table[x];DP2=table[y];}(七)温度测量1.内容与原理2.实验程序如下:#include "C8051F020.h"#include "absacc.h"#include "data_define.c"#include "Init_Device.c"#define DP1 XBYTE[0x2000]#define DP2 XBYTE[0x2001]#define DP3 XBYTE[0x2002]#define DP4 XBYTE[0x2003]#define KEY_WR XBYTE[0x2004]#define KEY_RD XBYTE[0x2005]#define ADC XBYTE[0x0000]#define DAC XBYTE[0x4000]#define linescan1 0xfe#define linescan2 0xfd#define linescan3 0xfb#define linescan4 0xf7#define TIMER 0x8000unsigned char data table []={0xC0,0xF9,0XA4,0XB0,0x99,0x92,0x82,0Xf8,0x80,0x90}; unsigned char key[4][4]={0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f'};void delay(void);void main(void){unsigned char l_val,r_val,r_state,temp,conter;unsigned char b=0,key_test;unsigned char x=0,target,now;int y=0,z=0; //wenduint shiwei,gewei; //jianpanint diff1=128;DP1=DP2=DP3=DP4=0xff;Init_Device();while(1){ADC=x;delay();x=ADC;x=(x*100)/256;y=x%10;DP4=table[y];z=(x/10);DP3=table[z];for(l_val=1;l_val<5;++l_val){switch(l_val){case 1: KEY_WR=linescan1; break;case 2: KEY_WR=linescan2; break;case 3: KEY_WR=linescan3; break;default: KEY_WR=linescan4;}if(r_state=~KEY_RD&0x0f)for(conter=1,r_val=1,temp=1;conter<5;++conter,++r_val,temp=temp<<1) if((r_state&temp)!=0){key_test=key[r_val-1][l_val-1];switch(key_test){case 'd': b=0;break; //十位case 'a': b=1;break; //个位case 'b': b=2;break; //开始}if(b==0){if(r_val==1&&l_val==1){shiwei=0;DP1=table[0];}if(r_val==1&&l_val==2){shiwei=1;DP1=table[1];}if(r_val==1&&l_val==3){shiwei=2;DP1=table[2];}if(r_val==1&&l_val==4){shiwei=3;DP1=table[3];}if(r_val==2&&l_val==1){shiwei=4;DP1=table[4];}if(r_val==2&&l_val==2){shiwei=5;DP1=table[5];}if(r_val==2&&l_val==3){shiwei=6;DP1=table[6];}if(r_val==2&&l_val==4){shiwei=7;DP1=table[7];}if(r_val==3&&l_val==1){shiwei=8;DP1=table[8];}if(r_val==3&&l_val==2){shiwei=9;DP1=table[9];}}if(b==1){if(r_val==1&&l_val==1){gewei=0;DP2=table[0];}if(r_val==1&&l_val==2){gewei=1;DP2=table[1];}if(r_val==1&&l_val==3){gewei=2;DP2=table[2];}if(r_val==1&&l_val==4){gewei=3;DP2=table[3];}if(r_val==2&&l_val==1){gewei=4;DP2=table[4];}if(r_val==2&&l_val==2){gewei=5;DP2=table[5];}if(r_val==2&&l_val==3){gewei=6;DP2=table[6];}if(r_val==2&&l_val==4){gewei=7;DP2=table[7];}if(r_val==3&&l_val==1){gewei=8;DP2=table[8];}if(r_val==3&&l_val==2){gewei=9;DP2=table[9];}}}target=shiwei*10+gewei;now=z*10+y;if(b==2){if(target>now)diff1=255;else if(target<now)diff1=0;elsediff1=128;}DAC=diff1;delay();}}}void delay(void){unsigned int i;for(i=0;i<TIMER;++i);}3.调试过程:连接电路并运行程序。