最新北京理工大学.docx

上传人:小飞机 文档编号:5334110 上传时间:2023-06-27 格式:DOCX 页数:9 大小:226.88KB
返回 下载 相关 举报
最新北京理工大学.docx_第1页
第1页 / 共9页
最新北京理工大学.docx_第2页
第2页 / 共9页
最新北京理工大学.docx_第3页
第3页 / 共9页
最新北京理工大学.docx_第4页
第4页 / 共9页
最新北京理工大学.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《最新北京理工大学.docx》由会员分享,可在线阅读,更多相关《最新北京理工大学.docx(9页珍藏版)》请在三一办公上搜索。

1、妣京理工大学微机原理与接口技木实验报告实验内容:微机原理综合设计实验数字电压表A组别:31姓名:12届黄大师班级: xxxxxxxxx学号:xxxxxxxxxx一、实验目的1、掌握8255的使用及编程原理。2、掌握8253定时/计数器的编程原理。3、掌握ADC0809的使用方法。4、掌握共阴极七段数码管的工作原理。5、加强多芯片的综合运用。6、加强汇编语言程序设计。二、实验内容利用ADC0809采集电位器的电压值,将采集的电压值通过8255显示在七段数码管上,显示数据保留 小数点后2位,利用8253定时数据更新,每隔0.5秒数据更新一次。扩展要求:具有设置报警阈值功能, 当超过阈值时,点亮一个

2、LED灯。三、实验方法1、设计思路先利用ADC0809采集电位器的电压值,此时的电压值在AL中,但其真正的值应该为5/255*AL伏。根据要求保留小数点后2位,利用程序先将AL乘以500/255,约为196,即将电压值扩大100倍,先除 以100,得到最高位,再依次除以10,得到小数点后第一,二位,分别存在连续的三个存储单元中。定 义0-9共阴极七段数码管的显示码数据段,再通过8255依次选通3个数码管,通过8255依次送入刚才 所得的三个值的显示码。利用8253工作在方式二,每隔0.5秒产生一低脉冲送到8255,利用程序检验, 每隔0.5秒才调用电压采集程序。对于扩展要求可利用74LS273

3、实现。实验简单主要原理图如下:将可变电位器AN0与ADC0809的ADIN0相连,将CS2与ADC0809的片选CS0809端相连,将ADC0809的 EOC 与 8255 的 PC0 相连,CS0 与 8253 的片选 CS8253 相连,CLK3 (750KHz)与 8253CLK0 相连,8253 的 OUT0 与 8253CLK2 相连,OUT2 与 8255 的 PA0 相连,CS1 与 8255 的片选 CS8255 相连,PC4-PC6 与 LED1-LED3 依次相连,PB0-PB7依次与LED-ALED-DP相连。2、程序流程图四、实验源程序CODE SEGMENT PUBL

4、IC ASSUME CS:CODEORG 100HSTART:MOV AX,0HMOV DS,AXMOV SI,2000H;定义从0:2000H开始的存储单元MOV DX,04B6HMOV AX,91HOUT DX,AX;初始化8255,使B 口输出,A 口输入,C 口低四位输入,高四位输出MOV DX,04A6HMOV AX,36H;计数器0,方式3-方波,低八位,后高八位,二进制OUT DX,AXMOV DX,04A0H精品文档MOV AX,720OUT DX,ALMOV AH,ALOUT DX,ALMOV DX,04A6HMOV AX,0B5H;计数器2,方式2-频率发生器,低八位,后高

5、八位,二进制OUT DX,AXMOV DX,04A4HMOV AX,501OUT DX,ALMOV AH,ALOUT DX,AL;OUT2每0.5秒输出一个低电平到PA0L2: MOV SI,2000HMOV DX,4C0H;指向通道0CALL GETAD;调用A/D转换子程序,取得A/D值L1:MOV SI,2000HMOV BL,DS:SI+2MOV BH,0;取出电压值小数点后第二位LEA SI,TABLEADD SI,BXMOV BL,CS:SI;得到电压值小数点后第二位的数码管显示码MOV DX,04B4HMOV AL,0E0HOUT DX,AL;选通LED1数码管MOV DX,04

6、B2HMOV AL,BLOUT DX,AL;通过B 口送入显示码CALL DELAYMOV SI,2000HMOV BL,DS:SI+1MOV BH,0;取出电压值小数点后第一位LEA SI,TABLEADD SI,BXMOV BL,CS:SI;得到电压值小数点后第一位的数码管显示码MOV AL,0D0HMOV DX,04B4HOUT DX,AL;选通LED2数码管MOV DX,04B2HMOV AL,BLOUT DX,AL;通过B 口送入显示码CALL DELAY精品文档MOV SI,2000HMOV BL,DS:SIMOV BH,0LEA SI,TABLE1ADD SI,BXMOV BL,

7、CS:SI;取出电压值个位值;得到电压值个位值的数码管显示码MOV AL,0B0HMOV DX,04B4HOUT DX,ALMOV DX,04B2HMOV AL,BLOUT DX,ALCALL DELAY;选通LED3数码管;通过B 口送入显示码MOV DX,04B0HIN AL,DXAND AL,00000001CMP AL,0JNZ L1JMP L2DELAY:MOV BP,100HDELAY1:DEC BPCMP BP,0JNE DELAY1RETGETAD:PUSH DXMOV AX,34HOUT DX,AXCALL DELAYMOV DX,04B4HWAIT1:IN AX,DXTES

8、T AX,1JZ WAIT1POP DXIN AX,DXMOV AH,0MOV CX,AXMOV AL,51MOV BL, 4;PA0是否接收到一低电平;PA0没有接收到低电平,跳到数码管显示程序;PA0接收到低电平,跳到电压采集程序;延时程序;启动A/D;指向8255C 口地址;读进EOC状态;读A/D值;电压阈值在此修改精品文档MUL BLCMP AX,CXJC L3MOV AL,01H;指向 74LS273;若小于阈值则灯灭;若大于阈值则灯亮MOV DX,4D0HOUT DX,ALL3:MOV AL,0MOV DX,4D0HOUT DX,ALMOVAX,CXMOVBL,0C4HMULBL

9、MOVBX,0001HMULBXMOVBL,64HMOVBH,0DIVBXDIVBLMOVDS:SI,AL;得到个位值存入0:2000HMOVAL,AHMOVAH,00HMOVBL,0AHDIVBLMOVDS:SI+1,AL;得到小数点后第一位值存入0:2001HMOVDS:SI+2,AH;得到小数点后第一位值存入0:2002HRETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; 0-9 的八段数码管显示码TABLE1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH ; 0-9 的 DP

10、点亮八段数码管显示码CODEENDSENDSTART五、实验结果实验结果如下图:扩展要求结果如下图:从图中可以看出实现了电压值的保留两位小数显示,最大值为4.99,最小值为0。并且当其值超过 阈值4伏时,点亮了 LED灯,实现扩展要求。六、实验中遇到的问题及解决方法1、在没使用8253实现定时更新时,数码管的显示不是很清楚,不该亮的地方会微亮,在每个数码 管显示后调用延时函数得到了解决。2、在利用8253实现定时更新时,一开始的想法是利用方式3产生周期为一秒的方波,接到ADC0809 的START管脚,后来一接触实验箱发现其已内接了。在利用8253方式2频率发生器每隔0.5秒产生一个 负脉冲,接到8255的A 口检验,若为0,则进行电压采集再显示,否则一直显示上一次的电压值。七、心得体会与建议通过这次微机原理综合设计实验,加强理论到实际应用,加深8255,8253等芯片的编程及使用,以 及多芯片综合使用实现一定功能,有一定难度,但锻炼了我们各方面能力。这一实验十分具有意义,应 该让每届学生都进行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号