上位机下位机串口通信分析.docx
《上位机下位机串口通信分析.docx》由会员分享,可在线阅读,更多相关《上位机下位机串口通信分析.docx(21页珍藏版)》请在冰豆网上搜索。
![上位机下位机串口通信分析.docx](https://file1.bdocx.com/fileroot1/2023-1/22/52941edd-f5d5-4abc-817a-c68b135bf987/52941edd-f5d5-4abc-817a-c68b135bf9871.gif)
上位机下位机串口通信分析
大连海事大学课程设计报告
课程名称:
计算机微机原理课程设计员:
成
员1:
2220133293范凯锋成
2220132642:
唐绍波成员2
:
成员32220130079曹晓露
日日至月年设计时间:
2016373月18
微机原理课程设计报告
考核记录及成绩评定
题目
双机数据采集系统设计
完成的主要工作显示。
(或液晶屏)双机通信和基本形式的数据显示。
基本功能:
实现数据采集,其中下位机用数码管显示具体实现要求:
上位机发送一个启动命令(自己定义命令的格式和内容)给下位机;
(1)
路开关量数据,路模拟量数据(用电位器模拟实现)和下位机接收到启动命令后开始采集11
(2)
并将模拟量转换成数字量在数码管(或液晶屏)上实时显示,然后把模拟量数据和开关量数据发送给上位机;上位机接收到数据后在显示器上显示。
(3)
成员分工
成员曹晓露进行资料的搜集,下位机的连线和程序的调试,成员范凯锋负责实验代码的编写以及相应流程图,成员唐绍波进行实验报告的撰写及相关画图。
综合评语(设计方案、实践环节、问题解答、设计报告)
成绩
2220133293
范凯锋2220132642
唐绍波
2220130079
曹晓露
微机原理课程设计报告
目录1.设计任务与要求…………………………………11……………………………………课程设计题目1.11…………………………………1.2课程设计的背景…………………………………11.3课程设计的目的…………………………………11.4课程设计的意义………………………………………11.5设计任务2.设计方案…………………………………………2
………………………………2参数采集和传输设计2.1……………………………………22.2参数显示设计
…………………………………22.3模拟信号采样设计……………………………………2硬件研制过程2.43.详细设计…………………………………………3
………………………………3硬件系统框图与说明3.1………………………………………43.2硬件设计…………………………7软件主要模块流程图与说明3.34.设计结果及分析…………………………………8
5.成员分工及工作情况……………………………9
………………………………………9成员分工5.1
………………………………………9工作情况5.2………………………………………9实验总结5.3
6.参考文献………………………………………97.附录……………………………………………10
微机原理课程设计报告
一、设计任务与要求1.1课程设计题目双机数据采集系统设计1.2课程设计的背景产业的信息化离不开微型计算机的支二十一世纪是信息化高速发展的世纪,因此在二十一世纪掌握微型计持。
微型计算机的进步是推动全球信息化的动力。
这次课题旨算机接口技术是十分有必要的。
本次课题是双机参数采集系统设计,在通过自己对所需功能芯片的设计与实现来巩固以前所学的微机原理课程知识,同时也提高动手实践的能力,还有为将来进行更大规模更复杂的开发积累经验。
随着软件规模的增长,以及随之而来的对软件开发进度和效率的要求,高级语言逐渐取代了汇编语言。
但即便如此,高级语言也不可能完全替代汇编语言的作用。
1.3课程设计的目的
《微机原理与汇编语言》是一门实践性和实用性都很强的课程,本次课程设计是在课程学习结束后,为使学生进一步巩固课堂和书本上所学知识,加强综合能力,充分理解和运用所学到的知识,通过简单的应用系统的设计,提高系统设计水平,启发创新思想。
通过本课程设计希望达到以下目地:
?
培养资料搜集和汇总的能力;
?
培养总体设计和方案论证的意识;
?
提高硬件,软件设计与开发的综合能力;
?
提高软件和硬件联合调试的能力;
?
熟练掌握相关测量仪器的使用方法;
?
掌握相关开发软件,仿真软件的使用方法。
1.4课程设计的意义
通过课程设计加深理解课堂教学内容,培养了我们资料搜集和汇总的在能力以及总体设计和方案论证的意识,锻炼了我们硬件、软件设计与开发的综合能力,提高了我们软件和硬件联合调试的能力,使我们掌握了相关测量仪器和相关开发软件以及仿真软件的使用方法,掌握计算机接口技术的基本应用方法。
也掌握了常用接口电路的设计,掌握8255A、8253、8259A、8250A、ADC0809、DAC0832等接口芯片的应用和编程方法,进一步熟悉汇编语言的语法和编程技巧,以及双机通讯所用到的理论基础。
1.5设计任务
双机数据采集系统设计,制定适当的通信协议包括命令编码,数据编码格式,通信速率、采样周期、校验方式等;
模拟信号输入:
可用实验箱上的电位器模拟。
每路模拟量/开关量信号的采样时间为0.5s,即每秒采样2次。
通信接口:
自选(推荐串口)
1
微机原理课程设计报告
二、设计方案
2.1参数采集和传输设计
下位机通过74LS244采集1路开关量,模拟量由电位器产生,从ADIN0输发送给上位机入,通过串口82502.2参数显示设计
模拟信号通过A/D转换器转换成数字信号下位机的数码管上显示,发送到
PC机的数据通过串口工具显示
2.3模拟信号采样设计
秒采样一次。
中断,以达到定时采样的目的,0.58253定时触发8259通过2.4硬件研制过程
(1)整个硬件系统划分为7个功能单元电路,包括:
定时采样(8253),查询功能(244),模数转换(0809),数据传输(8255,8250),数字显示(数码管),模拟量显示(示波器)
(2)系统所选用各芯片的工作方式如下:
?
8255的工作方式:
B口方式0,输入
?
8253的工作方式:
计数器1,方式3(方波发生器),计数初值3750,其时钟接clk3;计数器2,方式3,计数初值100,其时钟接out1
?
8250的工作方式:
无奇偶校验,8个数据位,一个停止位
?
8259的工作方式:
上升沿触发,一般嵌套,自动结束中断
(3)系统逻辑电路图如下:
图2-1系统逻辑电路图
2
微机原理课程设计报告
三、详细设计
3.1硬件系统框图与说明
图3-1硬件系统框
下位机:
8255:
PB口,都选用方式0。
下位机的采集转换的数据通过8250传到上位机,上位机接收到数据经过处理后通过8250回送到下位机。
8253:
完成定时采样的功能,采样周期为0.5s。
8259A:
用于0.5s触发中断。
0809:
完成模数转换的功能。
8255B口:
查询EOC状态,判断是否转换完毕。
3
微机原理课程设计报告
3.2硬件设计
3.2.1A/D转换的基本原理
A/D转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。
A/D转换器是用来通过一定的电路将模拟量转变为数字量。
模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。
但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。
A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。
A/D转换器的工作原理主要有以下三种方法:
逐次逼近法、双积分法、电压频率转换法。
A/D转具有如下几个技术指标:
1)分辩率指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2^n的比值。
分辩率又称精度,通常以数字信号的位数来表示。
2)转换速率是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。
积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。
采样时间则是另外一个概念,是指两次转换的间隔。
为了保证转换的正确完成,采样速率必须小于或等于转换速率。
因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。
常用单位是ksps和Msps,表示每秒采样千/百万次。
3)量化误差由于AD的有限分辩率而引起的误差,即有限分辩率AD的阶梯状转移特性曲线与无限分辩率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。
通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。
4)偏移误差输入信号为零时输出信号不为零的值,可外接电位器调至最小。
5)满刻度误差满度输出时对应的输入信号与理想输入信号值之差。
6)线性度实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。
3.2.28253定时器/计数器电路
(1)电路原理
该电路由1片8253组成,8253的片选输入端插孔CS8253,数据口,地址,读写线均已接好,T0、T1、T2时钟输入分别为8253CLK0、8253CLK1、8253CLK2。
定时器输出,GATE控制孔对应如下:
OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。
原理图如下:
注:
GATE信号无输入时为高电平
4
微机原理课程设计报告
/计数器电路原理图图3-28253定时器串口接口电路3.2.382501)电路原理(
组成,该电路所有信号线均已接好。
原理图MAX2328250该电路由一片,一片如下:
串行接口电路原理图图3-38250中断控制电路3.2.48259A1)电路原理(DDBUS的中断申请输入插孔。
IR0~IR7是82598259CS8259是芯片的片选插孔,8086INTA的中断申请线,是8086CPU8259INT8是系统位数据总线。
插孔是向的中断应答信号。
5
微机原理课程设计报告
3-48259中断控制器电路原理图图3.2.5硬件系统地址分配说明下位机:
CS0:
0809
CS1:
CS244
:
CS273CS2CS4:
8253
8259
CS5:
6
微机原理课程设计报告
3.3软件主要模块流程图与说明
下位机工作流程图:
7
微机原理课程设计报告
四、设计结果及分析
8
微机原理课程设计报告
五、成员分工及工作情况
5.1成员分工
1人进行资料的搜集,下位机的连线和程序的调试,1人负责实验代码的编写以及相应流程图,1人进行实验报告的撰写及相关画图。
5.2工作情况
(1)模拟信号输入:
1路模拟信号
(2)每路模拟信号的采样时间为0.5s,每秒采样2次。
(3)通信接口:
上位机与下位机间用串行通信接口
(4)编程语言:
汇编语言
(5)遇到的问题和解决的方法;
问题1:
对实验台各部件之间的关系以及各部件的功能和编程不熟悉
解决方法:
查看以前做过的实验和教科书,熟悉各部件的功能及编程
问题2:
发送一次启动命令,显示一次数据
解决方法:
通过画流程图,把接受启动命令的程序放到开中断之前
5.3实验总结
本次微机原理课程设计给我们了充分的时间再一次巩固微机原理及接口技术的相关知识。
设计的过程即使将书本理论知识运用到实践中,让我们对各个芯片如8259A、8255A、8253,ADC0809,DAC0832,cs244等有了更全面的认识。
我们首先对整个系统进行大致的分析,画出程序流程图,依照思路将试验台的硬件连接完毕后,对软件部分进行了详细的编写及调试,最终达到理想的效果。
在学习设计的过程中,逐步消解了我们学习上的盲点,受益匪浅,收获颇多,从中也发现了自己许多的不足和需要改进的地方。
通过近两周的努力,我们完成了本学期微机原理的课程设计。
在设计的过程中遇到了不少的困难,通过相互讨论、查看书籍、搜索网络、请教同学和老师,最终所遇到的问题都得到了圆满的解决方案。
课程设计的任务提高了我们发现问题,解决问题的能力。
理论与实践之间永远是存在着一定差距的,要把理论知识充分灵活地运用于实践是需要实践经验和牢固的理论基础的。
六、参考文献
[1].钱晓捷,陈涛.16/32位微机原理,汇编语言及接口技术(第2版).北京:
机械工业出版社,2005
[2].微机原理实验指导
[3].EL-MUT-III单片机/微机实验系统Techshine使用说明及实验指导书北京精仪达盛科技有限公司2015
七、附录
附录一:
下位机程序
9
微机原理课程设计报告
con8279equ0492h
dat8279equ0490h
assumecs:
code
codesegmentpublic
org100h
start:
jmpstart1
segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h
start1:
cli;中断系统未初始化,先关中断
movdx,04f0h
moval,00010011B;边沿触发,单片,写ICW4
outdx,al
movdx,04f2h
moval,80h;中断类型号80h-87h
outdx,al
moval,00000011B;一般嵌套,自动结束中断,无缓冲
outdx,al
moval,0
outdx,al;OCW1,开放中断
movax,0
movds,ax;中断向量表位于内存最开始的1KB,段地址为0
movsi,200h;初始化中断向量表,80H*4=200H
movax,offsetint0
movds:
[si],ax
addsi,2
movds:
[si],100h;代码段短地址100h
movbx,0480h;初始化8250
movdx,bx
adddx,06h
moval,80h
outdx,al
movdx,bx
movax,0ch;000ch---9600,clk=4.77MHZ/4
outdx,ax;AL=4770000/16/9600/4=8
adddx,2
movax,0h
outdx,ax
adddx,4;LCRagain
movax,03h;nope,8bit,1stop
outdx,ax
movdx,bx
10
微机原理课程设计报告
adddx,2;InterruptEnableregister
movax,0
outdx,ax
movdx,04d6h;初始化8353,CS3
moval,01110110B;写控制字,计数器1,先写低字节再写高字节,二进制,方式3
outdx,al
movax,3750
movdx,04d2h
outdx,al
moval,ah
outdx,al
movdx,04d6h
moval,10010110B
outdx,al
movdx,04d4h
moval,100
outdx,al
movdx,04b6h;初始化8255,CS1
moval,10000010B;B口方式0,输入
outdx,al
one:
callrecv
cmpal,'s'
jnzone
moval,0
four:
sti
waiting:
cmpal,1;dest-src
jnzwaiting
movdx,04e0h;74LS244,CS4
inal,dx
andal,01h
movah,0
callsend
movdx,04a0h
outdx,al
wait1:
movdx,04b2h;8255B口
inax,dx;读EOC
11
微机原理课程设计报告
andax,1
cmpax,1
jnewait1;如果EOC=0,waiting....
movdx,04a0h
inax,dx;读转换结果
andax,0ffh
movbx,ax
nop
calldisp
callsend
moval,0
jmpfour
int0:
moval,1;中断服务子程序
iret
disp:
pushax
movdi,offsetsegcod
movax,08h;工作方式,16位,左入
movdx,con8279
outdx,ax
movax,90h
movdx,con8279
outdx,ax;写显示RAM命令,地址自增
movdx,dat8279
pushbx
andbx,0f0h;取高4位
movcl,4
shrbx,cl
adddi,bx
moval,cs:
[di]
movah,0
outdx,ax;写RAM0
nop
nop
movdi,offsetsegcod
popbx
andbx,0fh;取低4位
adddi,bx
moval,cs:
[di]
movah,0
outdx,ax;写RAM1
popax
ret
12
微机原理课程设计报告
send:
pushax;入口参数ax
movbx,0480h
movdx,bx
adddx,0ah
inal,dx
testal,20h;逻辑与
jnzrecv2
popax
jmpsend
recv2:
popax
movdx,bx
outdx,al
ret
recv:
movbx,0480h;出口参数al
movdx,bx
adddx,0ah
inal,dx
testal,01h
jnzrecv1
jmprecv;查询
recv1:
movdx,bx
inal,dx
ret
codeends
endstart
附录二:
元器件
序号
器件名称
作用
1
机PC
显示及写入程序
2
8259
转换A/D产生中断启动
13
微机原理课程设计报告
3
8253
定时触发中断按0.5s
4
ADC0809
转换A/D
5
CS273
LED按阈值控制灯
6
8250
PC机与上位机间数据传送
7
CS244
查询是否转换结束EOC
14