武科大微机原理课程设计
微机原理课设报告

中南大学微机原理课程设计报告一、课程设计目的通过本次课程设计要掌握8088,8255,0809,0832,8279 等多种芯片使用的方法,灵活运用课本知识,加深所学的知识,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。
二、课程设计任务本次课设选题为“模拟电压采集,直流电机控制”。
根据我自己对这个课题的理解,我认为这个课题应该实现以下的要求:基本要求:1、对模拟电压进行采集转换为数字信号,并实时显示。
2、用转换的到的数字信号再经数模转换,对直流电机进行控制。
拓展要求:1、通过发光二极管作为信号指示灯,实时的指示直流电机的工作状态是否正常。
2、建立报警电路,对电机非正常工作情况以及反转工作情况下进行报警。
三、设计思想与原理1、设计思想本次课设选题为“模拟电压采集,直流电机控制”,基本分为两大部分:模拟量采集的模数转换部分,以及电机控制中的数模转换部分。
而为了让模拟量的采集结果更加明显可察,将加入数码管显示模块,实时显示模拟量采集的大小情况。
与此同时,在选题基础上添加了直流电机工作状态指示灯电路和报警电路。
2、设计原理根据试验箱相关配置,取电位器0~5V 可调电压为模拟量输出模块,可线性调节输出。
取芯片ADC 0809 对采集到的模拟信号进行模数转换,将0~5V 的电压信号转为00~FF 的数字信号,并通过8279 键盘扫描输出模块进行相应的显示输出。
得到转换后的数字量之后,使用DAC0832 数模转换芯片进行数模转换,并将所得模拟量输出到直流电机控制端,进行电机驱动。
对于添加的模块,主要通过8255 芯片来实现,取8255 的PA0 口作为输出端口,连接试验箱上的开关量输入显示区的发光二极管。
对A口分别赋值01H (直流电机正向非正常工作)、02H(直流电机正常工作)、04H(直流电机反向非正常工作)并输入给开关量输入显示区的发光二极管,驱动前三个二极管在电机的三种工作状态下分别发光,从而实现指示灯电路。
微机原理及应用课程设计-武汉科技大学-铁路与公路交叉路口的自动交通管理系统-Proteus-微机原理与接口技术

二○一三~二○一四学年第一学期信息科学与工程学院自动化系课程设计计划书姓名:学号:班级:课程名称:微机原理及应用课程设计学时学分: 1 周 1 学分指导教师:二○一三年12 月25 日(一)课程设计的任务(目的和要求)题目三铁路与公路交叉路口的自动交通管理系统某路口是由铁路和公路交叉行程,为保证交通的正常,需要设计一个铁道与公路交叉路口的自动交通管理系统。
设计要求:(1)当检测到铁轨振动(火车将到)时,自动发出警报信号,并控制关闭栅栏,同时公路方向红灯亮。
(2)火车将到时(关闭栅栏后),当检测到铁路上有物体时,自动发出紧急刹车信号,并以急促的声音报警,同时红灯闪烁。
(3)当铁轨震动信号由大到小达到一定程度(火车已过)时,自动解除报警,同时打开栅栏门,公路方向绿灯亮。
提示:铁轨振动信号可由振动传感器检测,这里用模拟电压代替,输出的报警信号可参考题目二,指示灯由发光二极管代替,关栅栏门信号由输出开关信号表示,输出的紧急刹车信号由DAC0832的输出模拟信号代替。
(二)总体方案铁轨振动信号可由振动传感器检测,这里用模拟电压(5V)代替,经ADC0808采集来的数字量由8086比较判断是否高于2.5V(若是高于2.5V,表示震动大,火车来了);输出的报警信号由喇叭给出,由三极管来驱动,通过控制通断的时间来调节音量,指示灯由发光二极管代替;铁轨上是否有物体通过数字电平信号来模拟(高电平表示有物体);关栅栏门信号由输出开关信号表示(高电平表示栅栏开),输出的紧急刹车信号(直接将ADC0808采集的数字量作为刹车信号)由DAC0832输出模拟信号,模拟信号由电压表显示出来。
(三)系统原理框图及其电路原理图8086最小系统(74LS373锁存地址)138译码器地址译码控制两片8255138译码器地址译码控制第一片8255,控制第片8255第一片8255的地址:60-62-64-66H 第一片8255的地址:70-72-74-76H(四)程序流程图 (五)设计总结ADC0808将震动信号(0-5V电压模拟)转换为数字量(查询法判断是否转换完毕),由第一片8255的PA0-PA2选通IN0,PA7启动转换,PC0查询EOC来判断是否转换完毕,PC7 控制OE是否允许输出。
武科大微机原理课程设计

一、设计题目键控数据采集及数值显示电路设计二、设计任务按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。
设定输入模拟量在0—5V范围内,显示值在0—255范围内。
三、设计要求1.画出连接线路图或功能模块引脚连接图。
2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。
3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。
四、设计思想及需要用的主要芯片1、设计思想首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。
2.主要芯片及其功能ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。
当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。
随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。
其芯片引脚图如下8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送数据。
8255A共有三个I/O端口,其中A口和B口J均为8位,而C口既可以作为8位端口,又可以分成两个4位端口。
武汉科技大学微机原理课程设计

课程设计报告学号:姓名:学院:信息科学与工程学院专业:电子信息工程班级:电信班指导教师:***用汇编语言实现电话本功能一、目的:运用所学汇编语言知识,编写一个具有电话本功能的程序,达到提高动手能力以及检验对微机原理课程学习和掌握的程度。
二、内容及要求:1)能够储存50个电话号码,其中包括人名(20个字符),电话号码(11个字符)。
2)系统可以随时接收新的人名及电话号码。
3)系统具有随时查询号码的功能,输入人名后,在屏幕上显示其相应的电话号码。
4)运行此系统后,显示菜单选项进行功能选择。
三、数据存储方案:对于电话薄的每一位联系人,姓名占20个字符,加上结束标志$共21字符;电话占11个字符,加上结束标志$共12个字符。
所以每一位联系人共占据33个单元,这样我们可以在存储区开辟33*50=1650字节的地址空间。
四、流程图:(1)程序框图:在主菜单界面下有三大模块,分别是:添加联系人信息,搜索联系人信息,退出系统。
(2)汇编流程图:有错误有错误有错误建立、修改asm 文件 汇编生成obj 文件正确? 链接、生成exe 可执行文件正确? Debug 调试 正确? 结束 开始五、汇编运行效果:(1)在win7命令窗口下使用MASM对源程序进行编译,生成目标文件weiji.obj;(2)对生成的weiji.obj文件使用link命令进行链接生成weiji.exe可执行文件;(3)在win7继续执行debug weiji.exe,会出现如下结果,这是由于版本不兼容造成的。
我之后的实验步骤均是在DOSBox软件下完成的。
(4)打开DOSBox,找到汇编路径。
执行命令debug.exe,然后使用U命令进行反汇编。
(5)继续使用G命令运行程序,得到如下界面菜单显示。
按“1”键后显示添加联系人信息,添加完毕后显示菜单。
(6)按“2”键后显示搜索联系人姓名,回车后显示对应联系人电话号码,同时显示菜单界。
(7)按“3”键后显示程序终止正常,退出系统。
武汉科技大学微机原理课程设计

课程设计报告学号:姓名:学院:信息科学与工程学院专业:电子信息工程班级:电信班指导教师:熊庆国用汇编语言实现电话本功能一、目的:运用所学汇编语言知识,编写一个具有电话本功能的程序,达到提高动手能力以及检验对微机原理课程学习和掌握的程度。
二、内容及要求:1)能够储存50个电话号码,其中包括人名(20个字符),电话号码(11个字符)。
2)系统可以随时接收新的人名及电话号码。
3)系统具有随时查询号码的功能,输入人名后,在屏幕上显示其相应的电话号码。
4)运行此系统后,显示菜单选项进行功能选择。
三、数据存储方案:对于电话薄的每一位联系人,姓名占20个字符,加上结束标志$共21字符;电话占11个字符,加上结束标志$共12个字符。
所以每一位联系人共占据33个单元,这样我们可以在存储区开辟33*50=1650字节的地址空间。
四、流程图:(1)程序框图:在主菜单界面下有三大模块,分别是:添加联系人信息,搜索联系人信息,退出系统。
(2)汇编流程图:有错误有错误有错误建立、修改asm 文件 汇编生成obj 文件正确? 链接、生成exe 可执行文件正确? Debug 调试 正确? 结束 开始五、汇编运行效果:(1)在win7命令窗口下使用MASM对源程序进行编译,生成目标文件weiji.obj;(2)对生成的weiji.obj文件使用link命令进行链接生成weiji.exe可执行文件;(3)在win7继续执行debug weiji.exe,会出现如下结果,这是由于版本不兼容造成的。
我之后的实验步骤均是在DOSBox软件下完成的。
(4)打开DOSBox,找到汇编路径。
执行命令debug.exe,然后使用U命令进行反汇编。
(5)继续使用G命令运行程序,得到如下界面菜单显示。
按“1”键后显示添加联系人信息,添加完毕后显示菜单。
(6)按“2”键后显示搜索联系人姓名,回车后显示对应联系人电话号码,同时显示菜单界。
(7)按“3”键后显示程序终止正常,退出系统。
微机原理课程设计报告文库

微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
微机原理课程设计武科大

二○一三~二○一四学年第一学期电子技术学院电子信息工程系课程设计计划书班级:DB1001~04课程名称:微机原理及应用课程设计学时学分: 1 周 1 学分指导教师:杨君杨贤昭二○一三年十二月三十一日1、课程设计目的:综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
2、课程设计时间安排:第一天:教师布置设计任务,讲解设计要求,提示设计要点。
第二~三天:查阅资料(在图书馆或上网),提出设计方案。
第三~七天:画出详细设计图(电路图),编写程序,调试程序,得出实验结果并写出设计报告。
3、课程设计内容及要求:题目一电梯仿真程序在读懂指导书给出的几个子程序的基础上,学习运用计算机动画技术等手段自己独立编制出一个完整的电梯运行计算机仿真程序。
通过编制仿真程序的实践,加强同学们对计算机顺序控制的了解与认识,以达到掌握计算机顺序控制规律和计算机顺序控制技术所需的编程技巧以及相关的硬件基础知识的目的。
设计要求:(1). 在1-- 8楼之间一次可输入多个任意楼层号连续控制电梯按指定楼层号顺序上升与下降.以上过程完成后可重新输入任意楼层号连续控制电梯按指定楼层号顺序上升与下降.只有按ESC键才退出程序返回DOS状态。
例如: 1-3-5-7-6-4-2-1 (可观察教十楼电梯的实际运行情况).(2). 在1 -- 7 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼. (上箭头的ASCII码19H , 下箭头的ASCII码1AH . )(3). 在电梯上升与下降过程中,要显示出1--7 楼之间所要到达的楼层数,同时还要用箭头显示电梯是上升状态还是下降状态.(4). 电梯运行到指定楼层后,打开电梯门,然后关门继续运行.(5). 电梯运行时, 在任意时刻遇到紧急情况时应能实时中断电梯运行.也可以在任意时刻恢复电梯运行.(按A/a 键模拟中断发生,电梯停止运行.按B/b 键恢复电梯运行)(6). 在计算机屏幕上将电梯的平面模型改成三维立体模型.(7). 在电梯旁画一个小方块.这个小方块随电梯上升而上升,下降而下降.以增加电梯运行时的动感.(8). 电梯仿真软件运行时,应在计算机屏幕上详细说明其使用方法,以及本软件作者姓名和日期.报告要求:(1). 在报告中应对电梯仿真软件的设计思想,设计方法用文字详细说明.(2). 在报告中应有完整的程序清单(必需加注释).(3). 在报告中应有完整的程序框图.(4). 谈谈自己通过这次设计实践的收获和体会.参考文献:[1] 朱定华,微机原理、汇编与接口技术,清华大学出版社,2005[2] 徐士良,PC机C图形编程手册,清华大学出版社,1994模拟电梯运行部分程序框图:题目二电子秒表的设计一、设计目的:掌握定时/计数器8253和中断的使用。
微机原理课程设计

微机原理 课程设计一、课程目标知识目标:1. 让学生理解微机的基本原理和结构,掌握微处理器的工作机制。
2. 使学生掌握汇编语言的基本指令,能够阅读和编写简单的汇编程序。
3. 帮助学生了解微机系统中内存、I/O设备的基本原理及其与CPU的交互方式。
技能目标:1. 培养学生运用汇编语言进行程序设计的能力,能够实现基本的输入输出、逻辑判断和循环等操作。
2. 培养学生分析和解决微机系统常见问题的能力,如调试程序、处理硬件故障等。
3. 提高学生动手实践能力,通过课程设计项目,使学生能够独立完成一个简单的微机系统设计与实现。
情感态度价值观目标:1. 培养学生对微机原理及计算机科学的兴趣,激发他们探索精神和技术创新意识。
2. 培养学生团队协作精神,学会与他人共同分析问题、解决问题,提高沟通能力。
3. 引导学生认识到微机技术在国家经济发展和国防建设中的重要作用,增强学生的社会责任感和使命感。
课程性质:本课程为理论与实践相结合的课程,注重培养学生的实际操作能力和实际应用能力。
学生特点:学生已具备一定的电子技术和计算机基础知识,对微机原理有一定了解,但缺乏实践经验。
教学要求:教师需结合课程性质、学生特点,采用案例教学、项目驱动等教学方法,引导学生主动学习,提高学生的实践能力和综合素质。
在教学过程中,注重分解课程目标,确保学生能够达到预定的学习成果。
二、教学内容1. 微机原理概述:介绍微机的发展历程、基本结构及工作原理,重点讲解CPU、内存、I/O设备等核心组件的作用和相互关系。
相关教材章节:第一章 微机原理概述2. 汇编语言基础:讲解汇编语言的基本概念、语法和指令系统,使学生掌握汇编程序的编写和调试方法。
相关教材章节:第二章 汇编语言基础3. 微机系统编程:学习微机系统中的程序设计方法,包括顺序程序设计、分支程序设计、循环程序设计等。
相关教材章节:第三章 微机系统编程4. 内存与I/O设备:介绍内存管理、I/O设备控制原理,分析微机系统中内存、I/O设备的访问方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计题目
键控数据采集及数值显示电路设计
二、设计任务
按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。
设定输入模拟量在0—5V范围内,显示值在0—255范围内。
三、设计要求
1.画出连接线路图或功能模块引脚连接图。
2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。
3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。
四、设计思想及需要用的主要芯片
1、设计思想
首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。
2.主要芯片及其功能
ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。
当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。
随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。
其芯片引脚图如下
8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送
数据。
8255A共有三个I/O端口,其中A口和B口J均为8位,而C口既可以作为8位端口,又可以分成两个4位端口。
8255共有3种不不同的工作方式,方式0为基本的I/O方式,方式1为选通I/O方式,方式二为双向I/O方式。
端口A可以选择方式0、1、2,端口B、C可以选择方式0、1,而端口C首先要按照端口A和B的工作方式提供相应的联络线,剩余部分则只能按照方式0工作。
A口和B口的输入输出都具有数据锁存的功能,C 口输出有锁存能力,而输入没有锁存能力。
元件引脚如下
74LS244是数据输入三态缓冲器。
外设输入的数据和状态信号,通过数据输入三态缓冲器井经过数据总线传递给微处理器。
8个数据输入端与外设相连,8个数据输出端与微型计算机的数据总线相连。
其引脚图如下
74LS273是数据输出寄存器。
8个输入端微型计算机的数据总线相连,8个数据输出端与外设相连,由时终端控制数据的写入。
其引脚图如下
五.电路设计
1)ADC0809及其8255对应数模转换功能的分析,原理连接图如下:
首先对8255进行操作,选中其地址端口,设置方式选择字,将EOC信号置为低电平,选择PA端口号,将其所有的位置零,然后再将PA7端置1,这样就产生一个上升沿在ADC0809的START引脚,将寄存器清零。
这时候通过键盘输入选择通道,将其对应的二进制数送到ADDA-ADDC,选通模拟通道,改变滑动变阻器的值,可以改变输入模拟量的值。
然后读EOC的值,如果是零继续等待,如果是1,则说明转换完毕,通过PC端口写OE让其有效,这时候数据就可以从D0-D0读取转换后的数据。
2)译码显示器的设计(原理图如下)
通过第一片74LS273进行段选,其中反相器的设计是为了增大驱动电流。
要使七段发光二极管显示器的某一段亮,就应该使该段相连的段选寄存器的Q端输出为0,同时使其他段选寄存器的Q端输出为1.例如要显示数字6,应该使得段选寄存器输出为0000 0010,若用一个字节表示该字形的代码,则为02H,10个十进制数的字形代码分别是
40H,79H,24H,30H,19H,12H,02H,78H,00H,18H。
同时要使得三位中的某一位亮,其他的灭,应该与该位相连的位选寄存器的Q端输出为1,其他的为0。
六.程序流程图
七.实验原理及结果分析
通过键盘输入,可以选通IN0-IN7八个通道,进而通过滑动变阻器调节输入端的电压信号,在0-5V之间变化。
读取模拟信号,通过ADC0809模数转换器转换后的数字在0-255之间变化,当数据转换完成后,通过使OE有效,数据传送到8255,然后通过74LS273寄存器的段选和片选信号将相应的数值在七段共阴极显示器上显示出来。
八.实验小结
通过本次课程设计,我通过查阅资料,参考我们的《微机原理、汇编与接口技术》课本,分析一个个学过的芯片,看它能够实现什么功能,分析芯片的引脚应该怎样连接。
如何利用proteus软件进行仿真。
完成实验后,我不仅复习巩固课堂所学的理论知识,还提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
实验程序:
;390H是8255PA端口地址,391H是PB口地址,392H是PC口地址
DATAS SEGMENT
SEGCH DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H ;段选,10进制数的字形代码IBUF DB 4,0,4 DUP(0) ;分配空间,为存储数字做准备
DATAS ENDS
STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START PROC FAR
MOV AX,DATAS
MOV DS,AX
MOV DX,393H ;8255控制字寄存器的端口地址
MOV AL,83H ;方式选择字
OUT DX,AL
LOP:
MOV AL,00H ;PC0的控制字
MOV DX,390H ;PA端口地址
OUT DX,AL ;产生上升沿,使得寄存器清零
MOV AL,80H
OUT DX,AL
PRESS:
MOV AH,1 ;PRESS按键设置 INT 21H
CMP AL,37H ;检测输入的数据是不是在0~7之间 JA PRESS CMP AL,30H JB PRESS MOV BL,AL ;把ASCII码转换成BCD AND BL,0FH
MOV AL,BL ;启动AD转换,并选择通道
OUT DX,AL MOV DX,392H ;PC端口地址 LOP1:
IN AL,DX ;读EOC的内容
TEST AL,01H ;为1,表示转换结束,否则继续等待 JZ LOP1
MOV DX,392H ;PC端口地址
LOP1:
IN AL,DX ;读EOC的内容
TEST AL,01H ;为1,表示转换结束,否则继续等待 JZ LOP1
MOV DX,392H ;PC端口地址
MOV AL,80H ;写OE,让其有效,准备输出
OUT DX,AL
MOV DX,391H ;PB端口地址,读从ADC0809传来的数据
IN AL,DX
MOV AH,0 ;二进制转换成10进制
MOV CL,10
DIV CL
MOV BP,OFFSET IBUF+2 ;依次将百位、十位、个位数字存入IBUF MOV [BP+4],
AH MOV AH,0
DIV CL
MOV [BP+3],
AH MOV AH,0
DIV CL
MOV [BP+2],AH
MOV [BP+5],0DH ;存入回车符
MOV AH,04H ;用于操作七段显示器的位码
SHOW:
MOV BL,DS:[BP+2]
MOV BH,0
MOV AL,SEGCH[BX] ;取出BCD数七段显示代码,用于显示MOV DX,380H ;74LS273端口地址,输出段码
OUT DX,AL
MOV AL,AH ;输出位码
MOV DX,384H
OUT DX,AL
MOV CX,1000 ;延时
LOOP $
INC BP ;调整指向BCD码的指针,用于显示下一个数字SHR AH,1 ;调整位码指针,使得下一个七段显示器有效AND AH,AH ;判断三位数字是否已经完全输出
JNZ SHOW ;未输完则跳转,输完则继续执行
MOV AH,11 ;检查键盘有无输入
INT 21H
CMP AL,0 ;无输入时,AL=0
JNE PRESS ;若有按键,则返回继续选通道依次执行
RET
START ENDP
CODES ENDS
END START。