信号检测与显示功能设计_第1页
信号检测与显示功能设计_第2页
信号检测与显示功能设计_第3页
信号检测与显示功能设计_第4页
信号检测与显示功能设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理及接口技术课程设计报告班 级:自动化0800班学 号: 0000000000 姓 名: 无名氏 指导老师: 李志民 中南大学目录一、 设计要求2二、 实验环境2三、 实验原理2四、 硬件接线图8五、 程序流程图10六、 源程序清单17七、 调试问题及心得体会29八、 参考文献30信号检测与显示功能设计一、设计要求:(1)、分别用C语言和汇编语言编程完成硬件接口功能设计;(2)、硬件电路基于80x86微机接口电路的采样接口电路;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示,完成对数字开关量和模拟量的采样和显示;(4)、具备本地及远程(串行方式)功能。二、实验环境汇编语言编译器,唐

2、都试验箱三、实验原理设计要求是小键盘给定、数码管(屏幕)显示,完成对数字开关量和模拟量的采样和显示,基本思路是:通过小键盘选择所需操作,即本地还是远程,数字还是模拟。若选定本地数字,则进入数字采样子程序,通过读取开关量来确定输出值并通过数码管显示,若选定本地模拟,则进入模拟量采样子程序,通过A/D转换器读取数值,调用数码管显示程序,在本地显示。若选择远程显示,则将采样后的值进行发送,在接受端接收后再显示。本次设计采用子程序调用的方式进行,在主程序中,主要是一个字幕显示程序,通过9号功能调用显示欢迎字幕,提示小键盘各按键的功能选择。然后进入scan函数,并设置由scan函数返回后的循环,判断是否

3、退出主程序,否则再次显示字幕,选择需要的循环。.键盘扫描 实验系统中的键盘及数码管显示单元提供了4×4的16个按键。四个数码管也接成了扫描电路,公用电位控制信号ADp,各自的公共端及列选通信号X1X4,扫描信号为Y1Y4。电路如图一所示:并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向

4、选通工作方式。8255的引脚如图二所示,8255工作方式控制字和C口按位置位/复位控制字格式如图三所示。在程序中,初始化8255,方式0,A口、B口输出,C口低4位输入。键盘扫描模块中,首先进行扫描,即A口全部送零,读出C口状态,若全为高电平,则说明没有键按下,继续扫描。若有的位为低电平,判断是否为抖动,即延时20ms后再重新扫描,若为抖动则重新扫描,若却有键按下则判断是哪一行有键按下,若为0EH(1110B)则为第一行有键按下,转入本地数字量处理程序,若为0DH(1101B)则为第二行有键按下,转入本地模拟量处理程序,若为0BH(1011)则为第三行有键按下,转入远程数字量处理程序,若为07

5、H(0111)则为第一行有键按下,转入远程模拟量处理程序。数码管输出模块中,首先将采集到的8位数字量存储起来,先取高八位,查表转化成为共阴极码。然后选通第一个数码管即8255A口输出0FEH(A口只用到了第四位)。然后将转换成的共阴极码通过B口输出。延时。然后将低四位数据通过同样方式输出到第二个数码管上(8255A口输出0FDH)。需要注意的是第一个数码管对应的是最低位,并以此类推。II.数字开关量采样输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。74LS245是一种8通道双向的三态缓冲器,其管脚结构如图四所示。DIR引脚控制缓冲器数据方向,DIR为

6、1表示数据由A7:0至B7:0,DIR为0表示数据由B7:0至A7:0。G引脚为缓冲器的片选信号,低电平有效。在本地和远程的数字量采样子程序中,采样的方法是一样的。即每隔一段时间从基本输入单元读一次数据,再转入输出子程序或远程发送子程序,转换成相应的共阴极码或ASC码后发送。III.模拟量采样ADC0809完成模拟信号到数字信号的转换。输入模拟信号由A/D转换单元可调电位器提供的05V。 ADC0809包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。用它可直接输入8个单端的模拟信号,分时进行A/D转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。ADC

7、0809的主要技术指标为:· 分辨率:8位 · 单电源:5V· 转换时间:取决于时钟频率· 模拟输入范围:单极性 05V · 时钟频率范围:10KHz1280KHzADC0809的外部管脚如图五所示 模拟量通过ADC0809读入,通过OUT指令启动A/D转换,然后经数据线读入。每隔一段时间采样一次,采样后的数据经OUT程序输出,或经SEND程序发送。循环操作和数字量相同。IV串行通信16550是一种连接任何类型虚拟串行接口的可编程通信接口,与Intel微处理器完全兼容的使用非常广泛的异步接收器/发送器(UART)。它内置了16字节的FIFO缓冲

8、,最大通讯速率可达115Kb/s,是现代基于微处理器设备包括PC机和许多调制解调器的最普遍的通信接口。16550的引脚如图六所示。串行通讯分发送端和接收端两部分。发送端将数字量装换成2个ASC码表示的十六进制数,然后将转化成的十六进制数发送,即写到16550的0号端口。在输出端调用中断服务子程序,从0号端口读出数据。需要注意的是,在屏幕输出时要设置光标回零,使其在屏幕的同一位置显示数据,不然将出现满屏的现象。 四、硬件接线图、键盘扫描及显示电路、数字量采样电路、模拟量采样电路、串行通讯实验电路五、程序流程图、主程序MAIN、键盘扫描子程序SCAN、数字量本地显示子程序 、模拟量本地显示子程序、

9、数字量采样远程发送子程序 、模拟量采样远程发送子程序、本地输出子程序OUT1、远程发送子程序SEND、中断接收显示子程序六、程序清单I、本地采样显示,远程发送端;#根据CHECK配置#IOY0 EQU 0C400HIOY1 EQU 0C440HIOY2 EQU 0C480HIOY3 EQU 0C4C0H;#M8255_A EQU IOY0M8255_B EQU IOY0+01H*4M8255_C EQU IOY0+02H*4M8255_CTL EQU IOY0+03H*4IO_B EQU IOY1AD0809 EQU IOY2M16550_0 EQU IOY3M16550_1 EQU IOY3

10、+01H*4M16550_3 EQU IOY3+03H*4M16550_4 EQU IOY3+04H*4M16550_5 EQU IOY3+05H*4DATA SEGMENT TTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HW1 DB '=',0DH,0AH,'$' W2 DB 'Please have a choice: 1.Local & Digital 2.Local & Analog 3.Remote & Digital 4.

11、Remote & Analog',0DH,0AH,'$' W3 DB '1.Local & Digital',0DH,0AH,'$' W4 DB '2.Local & Analog',0DH,0AH,'$' W5 DB '3.Remote & Digital',0DH,0AH,'$' W6 DB '4.Remote & Analog',0DH,0AH,'$'DATA ENDSSTACK1 SEGMENT

12、STACK 'STACK'STT DB 200 DUP(?)TOP EQU LENGTH STTSTACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1MAIN PROC FARSTART: MOV AX,STACK1 MOV SS,AX MOV SP,TOP MOV AX,DATA MOV DS,AX MOV DX,M8255_CTL ;初始化8255,方式0,A口、B口输出,C口低4位输入 MOV AL,81H OUT DX,AL CALL DALLY MOV DX,MY16550_3 ;设置16550线路控制寄存器 M

13、OV AL,80H OUT DX,AL CALL DALLY MOV DX,MY16550_0 ;设置除数寄存器低字节0CH MOV AL,0CH OUT DX,AL CALL DALLY MOV DX,MY16550_1 ;设置除数寄存器高字节00H MOV AL,00H OUT DX,AL CALL DALLY MOV DX,MY16550_3 ;设置线路控制寄存器,初始化数据格式 MOV AL,1BH OUT DX,AL CALL DALLY MOV DX,MY16550_4 ;设置MODEM控制寄存器 MOV AL,03H OUT DX,AL CALL DALLY MOV DX,MY1

14、6550_1 ;设置中断允许寄存器 MOV AL,00H ;中断不打开 OUT DX,AL CALL DALLY M1: MOV DX,OFFSET W1 MOV AH,9 INT 21H MOV DX,OFFSET W2 MOV AH,9 INT 21H MOV DX,OFFSET W1 MOV AH,9 INT 21H CALL SCAN CALL DALLY CALL DALLY MOV AH,1 INT 16H JZ M1QUIT: MOV AH,4CH INT 21H RETMAIN ENDP SCAN PROC NEAR ;键盘扫描子程序 PUSH AX PUSH DX PUSH

15、CX S1: MOV AL,00H MOV DX,M8255_A OUT DX,AL MOV DX,M8255_C IN AL,DX AND AL,0FH CMP AL,0FH JE S1 MOV CX,16EAH S2: LOOP S2 IN AL,DX AND AL,0FH CMP AL,0FH JZ S1 MOV AL,0 ;MOV CL,0 S3: MOV DX,M8255_A OUT DX,AL MOV DX,M8255_C IN AL,DX AND AL,0FH ; CALL OUT1 CMP AL,0EH JE S4 CMP AL,0DH JE S5 CMP AL,0BH JE

16、S6 CMP AL,07H JE S7 S4: MOV AL,01H MOV DX,OFFSET W3 CALL out1 CALL DALLY CALL LD JMP Q1 S5: MOV AL,02H MOV DX,OFFSET W4 CALL out1 CALL DALLY CALL LA JMP Q1 S6: MOV AL,03H MOV DX,OFFSET W5 CALL out1 CALL DALLY CALL RD JMP Q1 S7: MOV AL,04H MOV DX,OFFSET W6 CALL out1 CALL DALLY CALL RA Q1: POP CX POP

17、DX POP AX RET SCAN ENDPOUT0 PROC NEAR MOV AH,9 INT 21H RETOUT0 ENDPLD PROC NEAR ;本地数字采样子程序 PUSH DX PUSH CX PUSH BX PUSH AX L1: CALL DALLY MOV DX,IO_B IN AL,DX CALL OUT1 MOV AH,1 INT 16H JZ L1 POP AX POP BX POP CX POP DX RET LD ENDP LA PROC NEAR ;本地模拟采样子程序 PUSH AX PUSH BX PUSH CX PUSH DX L2: MOV DX,A

18、D0809 ;启动A/D转换 OUT DX,AL CALL DALLY MOV DX,AD0809 IN AL,DX CALL OUT1 MOV AH,1 INT 16H JZ L2 POP DX POP CX POP BX POP AX RETLA ENDPRD PROC NEAR ;远程数字采样子程序 PUSH DX PUSH CX PUSH BX PUSH AX L1: CALL DALLY MOV DX,IO_B IN AL,DX CALL SEND MOV AH,1 INT 16H JZ L1 POP AX POP BX POP CX POP DX RET RD ENDP RA PR

19、OC NEAR ;远程模拟采样子程序 PUSH AX PUSH BX PUSH CX PUSH DX L2: MOV DX,AD0809 ;启动A/D转换 OUT DX,AL CALL DALLY MOV DX,AD0809 IN AL,DX CALL SEND MOV AH,1 INT 16H JZ L2 POP DX POP CX POP BX POP AX RETRA ENDPOUT1 PROC NEAR ;本地数码管显示子程序 MOV CH,AL ;AND AL,0F0H MOV CL,4 SHR AL,CL MOV BX,OFFSET TTABLE AND AX,000FH ADD

20、BX,AX MOV AL,BX PUSH AX MOV DX,M8255_A MOV AL,0FEH ;LED低电平选通 OUT DX,AL POP AX MOV DX,M8255_B OUT DX,AL CALL DALLY MOV AL,CH MOV BX,OFFSET TTABLE AND AX,000FH ADD BX,AX MOV AL,BX PUSH AX ;PUSH DX MOV DX,M8255_A MOV AL,0FDH OUT DX,AL ;POP DX POP AX MOV DX,M8255_B OUT DX,AL CALL DALLY RETOUT1 ENDP SEND

21、 PROC NEARMOV CH,AL AND AL,0F0H MOV CL,04H SHR AL,CL CMP AL,09H JG A1 ADD AL,30H JMP A2A1: ADD AL,37H A2: MOV DX,MY16550_0 MOV AL,AA OUT DX,AL CALL DALLY MOV AL,CH AND AL,0FH CMP AL,09H JG A3 ADD AL,30H JMP A4A3: ADD AL,37H A4: MOV DX,MY16550_0 MOV AL,AA OUT DX,AL CALL DALLYRETSEND ENDP DALLY PROC N

22、EAR ;延时子程序 PUSH CX PUSH AX MOV CX,0300HD1: MOV AX,3000HD2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RETDALLY ENDPCODE ENDS END STARTII、远程接收端;#根据CHECK配置#INTR_IVADD EQU 01CCH INTR_OCW1 EQU 0A1H INTR_OCW2 EQU 0A0H INTR_IM EQU 0F7H PCI_INTCSR EQU 9438H IOY0 EQU 9C00H ;#MY16550_0 EQU IOY0+00H*4 MY16550_1 EQU

23、IOY0+01H*4 MY16550_3 EQU IOY0+03H*4 MY16550_4 EQU IOY0+04H*4 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENT CS_BAK DW ? IP_BAK DW ? IM_BAK DB ? DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLI MOV DX,PCI_INTCSR SUB DX,19H IN AL,DX MOV DX,PCI_INTCSR ;初始化PCI卡中断控制

24、寄存器 MOV AX,1F00H OUT DX,AX ADD DX,2 MOV AX,003FH OUT DX,AX MOV AX,0000H ;替换INTR的中断矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,ES:DI MOV IP_BAK,AX MOV AX,OFFSET MYISR MOV ES:DI,AX ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX MOV AX,SEG MYISR MOV ES:DI,AX MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开INTR的屏蔽位 IN AL,DX MOV IM_BAK,AL

25、 AND AL,INTR_IM OUT DX,AL MOV DX,MY16550_3 ;设置16550线路控制寄存器 MOV AL,80H OUT DX,AL CALL DALLY MOV DX,MY16550_0 MOV AL,0CH OUT DX,AL CALL DALLY MOV DX,MY16550_1 MOV AL,00H OUT DX,AL CALL DALLY MOV DX,MY16550_3 ;设置线路控制寄存器,初始化数据格式 MOV AL,1BH OUT DX,AL CALL DALLY MOV DX,MY16550_4 ;设置MODEM控制寄存器 MOV AL,03H O

26、UT DX,AL CALL DALLY MOV DX,MY16550_1 ;设置中断允许寄存器 MOV AL,01H OUT DX,AL CALL DALLY STIWAIT1: MOV AH,1 INT 16H JZ WAIT1 QUIT: CLI MOV DX,PCI_INTCSR MOV AX,0000H OUT DX,AX MOV AX,0000H MOV ES,AX MOV DI,INTR_IVADD MOV AX,IP_BAK MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK MOV ES:DI,AX MOV DX,INTR_OCW1 MOV AL,IM_BAK OUT DX,AL STI MOV AX,4C00H INT 21HMYISR PROC NEAR ;中断子程序 MOV DX,MY16550_0 IN AL,DX MOV DL,AL MOV AH,02H INT 21H MOV DX,MY16550_0 IN AL,DX MOV DL,AL MOV AH,02H INT 21H MOV DL,0DH ;回车,置光标到行首 MOV AH,02H INT 21HOVER: MOV DX,PCI_INTCSR SUB DX,19H IN AL,DX MOV DX,PCI_INTCSR ADD DX,2 MOV AX,003F

温馨提示

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

评论

0/150

提交评论