




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机技术课程设计指导教师: 白凯 赵立辉 学生班级: 计科11003 学生姓名: 唐阿彪 学 号: 201003711 班内序号: 19 课设日期:2012年12月17日2012年12月28日 目录一.课设任务1二.课设目的1三.设计内容1四.设计思路2五.设计步骤2六.试验流程3七.源代码4八.实验结果10九.实验总结12一、课程设计任务:模拟电压采集电路及程序设计利用汇编语言与微型计算机技术课程中所学的主要可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A(从保留的IRQ2或IRQ10端引入)设计一个模拟电压采集电路及程序。二、设计目的1. 通过本设计,使学生综合运用汇编语言与微型计算机技术课程以及其它电子类课程的内容,为以后从事计算机硬件开发工作奠定一定的基础。2. 主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A等可编程器件的使用,掌握译码器74LS138的使用。3. 学会用汇编语言编写一个较完整的实用程序。4. 掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。三、设计内容1功能要求 采用ADC0809设计一个单通道模拟电压采集电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量一路送至发光二极管显示,一路送至计算机显示到屏幕上,每行显示5个数据,采集完100个数据后停止采集过程,采集过程中按下ESC键也可中断采集过程。2. 设计所需器材与工具 一块实验面包板(内含时钟电路)。 可编程芯片8253、8255A 、ADC0809和译码器芯片74LS138、74LS245各一片。74LS06两片,发光二极管8个。 可调电位器4.7K一个。 导线若干。 示波器、万用表、常用工具等共用(从实验室现借现还)。8255的自检测这部分要求我们初始化8255,为了能够正确的看出8255已经初始化,当8255初始化后向B口送数据0FH到发光二管上显示,如果能够正确显示就说明8255已经被初始化。8253的自检测这部分要求我们初始化8253,8253初始化后可以通过示波器观察输出的波形是否满足要求。进行A/D转换。这部分是本次课设的关键部分,在做此之前,必须保证8255和8253都被正确的初始化,通过8255的C口控制ADC0809对模拟数据的采集,然后从A口读取转换后的数据,一路送发光二极管显示,一路送显示器上显示,这里模拟量由电位器得到。退出系统想结束程序的时候,从菜单上选择Esc键就可以退出程序。四、设计思路 1. 4.7K电位器一端接+5V,一端接地,调节电位器得到变化的模拟电压,该电压接至ADC0809的某一通道输入端(如IN0),ADC0809的时钟为500KHz,由8253对面包板上时钟1MHz或2MHz分频后得到,8253的端口地址:300H303H。2. 编程启动ADC0809转换(ADC0809完成一次转换的时间大约为120s),将ADC0809的EOC引脚信号作为中断信号,若转换结束则进入中断服务程序。在中断服务程序中读入模数转换结果,一路送至发光二极管显示,一路送至计算机显示到屏幕上。3. 8255A用做CPU和ADC0809间的接口芯片,ADC0809的控制信号(如OE、ALE、START等)可由8255A的PC口提供,模数转换后的数字量可经8255A的PA口读入,经8255A的PB口输出到发光二极管。8255A端口地址:304H307H。4. 译码电路由74LS138提供。74LS245用于总线和8255A之间的双向传输和隔离。5. 硬件珠城际工作原理五、设计步骤1. 设计出正确的接口电路原理图,要求用专业绘图软件绘制电路图,并注明器件的名称和管脚。2. 根据要求用74LS138设计出正确的I/O译码电路。3. 正确运用所给器件布线,搭接硬件电路。4. 选用汇编语言编写主程序以及各芯片调试子程序,要求: 具有操作界面、使用方便; 实现功能要求; 功能模块应有详细注释。5. 调试并排错,包括硬件电路和软件编程部分的错误。6. 按照下图连接电路六、实验流程1、ADC主程序编写2、ADC中断服务程序的编写七、源代码DATA SEGMENTMESG1 DB 1s invoke interrupt one time,and to light one of LEDs,0ah,0dh DB Exit with Esc,0ah,0dh,$INT0A_OFF DW(?)INT0A_SEG DW(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATADELAY PROC PUSH CX PUSH BX MOV BX,0FFFHLOOP2:MOV CX,0FFFFHLOOP1:LOOP LOOP1 DEC BX JNZ LOOP2 POP BX POP CX RET DELAY ENDPDISP PROC push ax show: and al,0f0h ;显示高4位 shr al,4 cmp al,9 ja hex add al,30h jmp nexthex: add al,37hnext: mov dl,al mov ah,2 int 21H pop ax and al,0fh ;显示低4位 cmp al,9 ja hex1 add al,30h jmp next1hex1: add al,37hnext1: mov dl,al mov ah,2 int 21h mov dl,13 ;向屏幕送回车符 mov ah,2 int 21h mov dl,10 ;向屏幕送换行符 mov ah,2 int 21h RETDISP ENDPSTART: MOV AX,DATA MOV DS,AX MOV AH,09H MOV DX,OFFSET MESG1 INT 21h ;显示提示信息 MOV DX,303H ;初始化8255 MOV AL,80H OUT DX,AL MOV AX,3572H ;获取原中断向量 INT 21H MOV INT0A_OFF,BX ;保存原中断向量 MOV BX,ES MOV INT0A_SEG,BX CLI ;关中断 MOV AX,2572H MOV DX,SEG LEDLIGHT ;设置新的中断向量 PUSH DS MOV DS,DX MOV DX,OFFSET LEDLIGHT INT 21H POP DS STI ;开中断 IN AL,0A1H ;打开IRQ10 AND AL,0FBH OUT 0A1H,AL IN AL,21H ;打开IRQ2 AND AL,0FBH OUT 21H,AL MOV DX,307H ;8253定时1S MOV AL,01110110B OUT DX,AL MOV DX,305H MOV AL,0E8H OUT DX,AL MOV AL,03H OUT DX,AL MOV DX,307H MOV AL,10110110B OUT DX,AL MOV DX,306H MOV AL,0E8H OUT DX,AL MOV AL,03H OUT DX,ALL1: MOV AH,0BH ;检查是否有Esc键按下 INT 21H INC AL JNZ NEXT0 ; 若无键按下,则程序往下执行 MOV AH,08H ;如有Esc键按下,则程序退出 INT 21H CMP AL,27 JZ EXIT NEXT0: CALL DELAY JMP L1 LEDLIGHT PROC FAR ;中断服务程序 PUSH SI PUSH AX PUSH DX CLI ;关中断 mov dx,303h ;初始化8255状态字,A口输出 mov al,80h out dx,al mov dx,300h;送通道号至A口 mov al,0 out dx,al mov dx,303h mov al,3h;00000011,使PC1为1 out dx,al;PC1置1进行地址锁存; mov dx,303h; mov al,90h; out dx,al;重写8255方式字,A口输入,B口输出,C口低四位输出 mov dx,303h ;使PC0置高发启动信号 mov al,1h;00000001,先使PC0为1 out dx,al mov cx,0f00h ;delay;lop1:loop lop1 mov dx,303h mov al,0h;00000000,延时后使PC0为0发启动信号 out dx,al nopnopmov dx,303h mov al,5h;00000101,使PC2为高,发出OE out dx,al mov dx,300h;从A口读数据 in al,dx MOV DX,301H;从B口向LED输出数据 OUT DX,AL CALL DISP ;向屏幕输出数据 MOV AL,62H ;发中断结束命令 MOV DX,0A0H OUT DX,AL ;向从片8259发EOI命令 OUT 020H,AL ;向主片8259发EOI命令 STI ;开中断 POP DX POP AX POP SI IRETLEDLIGHT ENDPEXIT: MOV AX,2572H ;恢复中断向量 MOV DX,INT0A_SEG PUSH DS MOV DS,DX MOV DX,INT0A_OFF INT 21H POP DS IN AL,0A1H ;屏蔽IRQ10 OR AL,04H OUT 0A1H,AL IN AL,21H ;屏蔽IRQ2 OR AL,04H OUT 21H,AL MOV AX,4C00H ;程序退出 INT 21H CODE ENDS END START八、实验结果(如下图)1、键入单选项“1”进入主菜单后选择1进行8255的初始化自检,这时候会发现在实验板上的一半灯亮,一半灭。界面和实验箱效果如下图所示:2、键入菜单项“2” 8255初始化完成后键入“2”,程序将采集数据,一路送往电脑显示,一路送往二极管显示,调节电位器,采集不同的数据八、实验总结 个人觉得这次实验主要考验的是学习态度和细心。实验用到的芯片基本都学习过,实验原理、程序代码及电路图老师都有讲解,就是看平时学习时认真与否。做实验时得细心和有耐心才能事半功倍。对于我来说,这次实验由于之前上机做单个芯片测试的实验时不是很认真,加上对汇编语言不能熟练使用导致实验完成起来比较吃力,但得到老师和同学点拨后编程还是比较顺利的。由于线路较多,实验在连线上耗费了过多的时间,连接线路时没有考虑到走线的合理性和美观性,线路接地毫无条理,导致实验出现问题时检查线路非常困难
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何编写高效的培训策划书
- 音乐三年级上册在祖国的怀抱里教案
- 急性中毒及一氧化碳培训
- 农机合作社规范化管理
- 物流配送员服务合同书
- 会计师事务所保密合同
- 2025年度人力资源猎头服务合同模板
- 护工心肺复苏培训
- 服务采购居间合同示范
- 照明灯具的餐厅照明设计考核试卷
- 2025年江苏省徐州市铜山区中考一模道德与法治试题(原卷版+解析版)
- 《人工智能的进展》课件
- 风湿免疫病患者结核病诊治及预防实践指南(2025版)解读课件
- 大建安-大连市建筑工程安全档案编制指南
- 上海2024-2025学年五年级数学第二学期期末联考模拟试题含答案
- 2025-2030中国律师事务所行业深度分析及发展前景与发展战略研究报告
- GB/T 45421-2025城市公共设施非物流用智能储物柜服务规范
- 代生孩子合同标准文本
- 2025年小学时事知识试题及答案
- 2025年湖南韶旅集团招聘笔试参考题库含答案解析
- 中华人民共和国保守国家秘密法实施条例培训课件
评论
0/150
提交评论