社区
汇编语言
帖子详情
请教一个8237初始化的题目?
lglg930
2009-10-27 09:41:58
8086系统,假设利用8237A通道1在存储器的两个区域BUF1和BUF2之间传送100个数据,采用连续传送方式,传送完毕后不进行自动预置,试写出初始化程序。
这个问题主要是不知道两个内存区域的基地址是在哪里写入的,有点迷糊了
希望能给出程序并附程序注释。
非常感谢!
...全文
581
3
打赏
收藏
请教一个8237初始化的题目?
8086系统,假设利用8237A通道1在存储器的两个区域BUF1和BUF2之间传送100个数据,采用连续传送方式,传送完毕后不进行自动预置,试写出初始化程序。 这个问题主要是不知道两个内存区域的基地址是在哪里写入的,有点迷糊了 希望能给出程序并附程序注释。 非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lglg930
2009-10-27
打赏
举报
回复
先谢谢两位!
书我都看过了,包括一些例题
但已看过的例题都是从外设到内存的传输,
这里提问的是内存的两个存储单元之间的数据传送
一般情况下要写入内存区域的基地址,但这个题目里有两个内存区域
也就是说有两个内存基地址
所以我就不清楚怎么写这两个基地址了
往哪写的问题
非常感谢!
killbug2004
2009-10-27
打赏
举报
回复
把这个看完基本就会了
比较中断与DMA两种传输方式的特点。
答:中断方式下,外设需与主机传输数据时要请求主给予中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在处理器所执行的指令控制之下。
直接存储器访问(DMA)方式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。当外设与主存储器之间需要传输数据时,外设向DMA控制器发出DMA请求,DMA控制器向中央处理器发出总线请求,取得总线控制权以后,DMA控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。
DMA控制器应具有那些功能?
答:DMA控制器应有DMA请求输入线,接收I/O设备的DMA请求信号;DMA控制器应有向主机发出总线请求的信号线和接收主机响应的信号线;DMA控制器在取得总线控制权以后应能发出内存地址、I/O读写命令及存储器读写命令控制I/O与存储器间的数据传输过程。
8237A只有8位数据线,为什么能完成16位数据的DMA传送?
答:I/O与存储器间在进行DMA传送过程中,数据是通过系统的数据总线传送的,不经过8237A的数据总线,系统数据总线是具有16位数据的传输能力的。
8237A的地址线为什么是双向的?
答:8237A的A0~A3地址线是双向的,当8237A被主机编程或读状态处于从属状态,A0~A3为输入地址信号,以便主机对其内部寄存器进行寻址访问。当8237A取得总线控制权进行DMA传送时,A0~A3输出低4位地址信号供存储器寻址对应单元用,A0~A3必需是双向的。
说明8237A单字节DMA传送数据的全过程。
答:8237A取得总线控制权以后进行单字节的DMA传送,传送完一个字节以后修改字节计数器和地址寄存器,然后就将总线控制权放弃。若I/O的DMA请求信号DREQ继续有效,8237A再次请求总线使用权进行下一字节的传送。
8237A单字节DMA传送与数据块DMA传送有什么不同?
答:单字节传送方式下,8237A每传送完一个字节数据就释放总线,传送下一字节时再请求总线的控制权。块传送方式下8237A必须把整个数据块传送完才释放总线。
8237A什么时候作为主模块工作,什么时候作为从模块工作?在这两种工作模式下,各控制信号处于什么状态,试作说明。
答:8237A取得总线控制权后,开始进行DMA传送过程,此时8237A作为主模块工作。8237A在被处理器编程或读取工作状态时,处于从模块工作状态。
8237A处于从模块时,若CS#=0、HLDA=0说明它正被编程或读取状态,IOR#与IOW#为输入,A0~A3为输入。8237A处于主模块时,输出地址信号A0~A15 (低8位经A0~A7输出,高8位经DB0~DB7输出)。8237A还要输出IOR#、IOW#、MEMR#、MEMW#、AEN、ADSTB等有效信号供DMA传送过程使用。
说明8237A初始化编程的步骤。
答:(1)写屏蔽字,阻止某通道的DMA请求。(2)写命令字(8号地址),确定信号有效电平、优先级方式、通道工作允许等。(3)写模式字(B号地址),确定某通道传送方式、传送类型、地址寄存器变化方式等。(4)置0先/后触发器。(5)设置地址寄存器、字节数寄存器的初值。(6)清除某通道屏蔽位,允许8237A响应其DMA请求。
8237A选择存储器到存储器的传送模式必须具备那些条件?
答:必须使用8237A内部的暂存器作为数据传送的缓冲器。8237A通道0的地址寄存器存放存储器的源地址、通道1的地址寄存器存放存储器的目的地地址、字节计数器存放传送的字节数,建立通道0的软件DMA请求来启动这一传输过程。
利用8237A的通道2,由一个输入设备输入一个32KB的数据块至内存,内存的首地址为34000H,采用增量、块传送方式,传送完不自动初始化,输入设备的DREQ和DACK都是高电平有效。请编写初始化程序,8237A的首地址用标号DMA表示。
答:设存储器页面寄存器内容已被置为3。8237A初始化程序如下:
MOV AL, 06H ;屏蔽通道2
MOV DX, DMA+0AH ;
OUT DX, AL ;
MOV AL, 80H ;写通道2命令字:DREQ、
MOV DX, DMA+08H ;DACK高电平有效,正常
DUT DX, AL ;时序、固定优先级、允许8237A工作等。
MOV AL, 86H ;写通道2模式字:块传
MOV DX,DMA+0BH ;输、写传输、地址增、
OUT DX, AL ;禁止自动预置等。
MOV DX,DMA+0CH ;置0先/后触发器
OUT DX,AL ;
MOV AL,00H ;设通道2基地址为4000H
MOV DX,DMA+04H ;
OUT DX,AL ;
MOV AL, 40H ;
OUT DX, AL ;
MOV AL, 0FFH ;设通道2基字节数为
MOV DX, DMA+05H ;7FFFH (32767D)
OUT DX, AL ;
MOV AL, 7FH ;
OUT DX, AL ;
MOV AL,02H ;清除通道2屏蔽。
MOV DX, DMA+0AH ;
OUT DX, AL ;
MOV AL, 06H ;通道2发DMA请求
MOV DX,DMA+09H ;
OUT DX,AL ;
BAYNPU
2009-10-27
打赏
举报
回复
看看这个就知道啦:
http://www.tyut.edu.cn/kecheng1/2008/site04/courseware/chapter7/7.4.2.htm
直流电机测速系统课程设计.doc
单片机课程设计报告书
题目
:电机测速系统 "院系名称 ": "自动化学院 " "学生姓名 ": " " "专业名称 ": "自动化 " "班 级 ": "自动XXXX班 " "时间 ": "20XX年X月X日 至 X月XX日 " 电机测速系统 1. 设计目的 随着科技的飞速发展,计算机应用技术日益渗透到社会生产生活的各个领域,而单片 机的应用则起到了举足轻重的作用。在工程实践中,经常会遇到各种需要测量转速的场 合,例如在发动机、电动机、机床主轴等旋转设备的试验运转和控制中,常需要分时或 连续测量、显示其转速及瞬时速度。为了能精确地测量转速,还要保证测量的实时性, 要求能测得瞬时转速。因此设计一种较为理想的电机测速控制系统是非常有价值的。 2. 设计要求 1.用按键控制电机起停; 2.电机有两种速度,通过按键来改变速度; 3.通过数码管显示每分钟或每秒的转速。 三、设计器材 " 器件名称 " 数量 " "STC89C52单片机 " 1 " "ST151光电传感器 " 1 " "四位一体数码管 " 1 " "电阻 "各种阻值若干 " "电容 "10uf 1个 30pf 2个 " "晶振12MHz " 1 " "按键 " 1 " "单排排阻 " 2 " "开关 "1 " "直流电机 "1 " 四、设计方案及分析(包含设计电路图) 1. STC89C52单片机介绍 STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失 存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 (1)单片机最小系统 单片机最小系统电路如图所示,由主控器STC89C52、时钟电路和复位电路三部分组成 。单片机STC89C52作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机 工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。 图 单片机最小系统 (2)晶振电路 (3)复位电路 复位是单片机的
初始化
操作。其主要功能是把PC
初始化
为0000H,使单片机从0000H单 元开始执行程序。除了进入系统的正常
初始化
之外,当由于程序运行出错或操作错误使 系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。 2. ST151 光电转速传感器是根据光敏二极管工作原理制造的一种感应接收光强度变化的电子器 件,当它发出的光被目标反射或阻断时,则接收器感应出相应的电信号。它包含调制光 源,由光敏元件等组成的光学系统、放大器、开关或模拟量输出装置。光电式传感器由 独立且相对放置的光发射器和收光器组成。当目标通过光发射器和收光器之间并阻断光 线时,传感器输出信号。由于叶轮的旋转,当叶轮扇叶进入凹槽遮挡着发光二极管时, 光敏三极管没接收光,输出为零;当叶轮扇叶通过光电传感器时,光敏三极管接收光在 ST151电路输出为频率信号。 3. 设计思路 通过ST151光电传感器接收电机扇叶转动切割的次数获得脉冲,从而通过单片机T1口 接收高低电平,计数器在定时器的定时范围内记录脉冲个数,通过计算将转速送给数码 管并进行显示。 4. 程序框图 五. 程序 参见附录一。 六.系统仿真 参见附录二。 七、设计体会与收获(小组成员每人一份) XXX 本次课程设计我主要负责电路板的焊接,电路板的焊接需要先了解整个电路的各个硬 件的组成,并清楚它们各自的所在功能区域,然后要做的就是在电路板上为各硬件做一 个整体的规划,合适的规划很重要,既要考虑到整体看上去的美观,还要考虑到对以后 的调试和调整方便的地方,本人具体是先在电路板上划分开具体的功能区域,比如单片 机在左边占一块适当的位置,它的左端还要留有晶振电路和复位电路,依此做好其他模 块的分配。关于电路的具体焊接,感觉只要按照电路仿真图按一定的次序焊接,本人焊 接时速度较慢,但是基本比较顺利,没有出现很大问题。 XX 本次课程设计我主要负责程序的编写以及调试。编写程序的主要是利用中断来产生P WM,利用中断统计ST151产生的频率信号。 才拿到
题目
时面临的
一个
问题是如何利用程序来改变点击的速度,
请教
同学后知道一种 方法叫 PWM,通过改变
一个
周期的电信号的占空比来实现。当然,在写程序时还是遇到了不少问 题,比方按键怎么判断、改变 PWM 怎么实现、怎么再继续产生等。 程序的第二重点则是利用中断来统计电机转动后由ST151产生的频率信号。这个问题前前 后后想了几种方法,如用计数器统计再读取计数值、通过计数定时时间的频率再凑成1秒 等。但是由于方法不当,结果做出来的效果很差。最终选定,定时时间直接1秒再来统计 频率,这
c++复习(2)拷贝构造函数与运算符重载
目录前言拷贝构造函数函数定义调用缺省(默认)的拷贝构造函数 -- 浅拷贝涉及指针或者内存操作用char *用char[]用string自己写的拷贝构造函数类中数据含有指针类中含有未
初始化
的指针数据使用容器运算符重载单目运算符重载++i 和 --ii++ 和 i--双目运算符重载以友元函数形式重载特殊之 [] 运算符的重载
题目
分数的加减乘除(运算符重载)输入输出样例输入样例输出代码时钟调整(运算符前后增量)
题目
描述输入输出样例输入样例输出代码 前言 这几天都没怎么复习。。今天感觉不行了要挂了,赶快看两眼,做几
Linux0.11内核
初始化
讲解与调试
结合bochs仿真调试工具边讲解边调试linux0.11版本内核
初始化
过程,通过该课程可以学习和理解关于linux内核在内存中的分布、分段及分页机制、逻辑地址线性地址及物理地址的区别,更系统的理解CPU实模式及保护模式等。课程会以下面几个部分逐次展开:80386 CPU资源 80386 内存寻址机制 Linux多任务相关的TR寄存器和TSS任务状态段数据结构 中断和异常 Linux引导
初始化
--代码搬移过程 Bootsect代码详解 Bootsect代码详解续 bootsect里的设备号问题 bootsect代码解析之system模块搬移 setup.s程序详解 head.s程序详解 具体视频内容会根据讲解需要进行微调,详细内容参见csdn blog链接:https://blog.csdn.net/yuanfen5200/article/category/8692077
[pwn]遇到不会的题不要急要一步步分析(和
请教
大佬)
遇到不会的题要一步步分析(和
请教
大佬) 文章目录遇到不会的题要一步步分析(和
请教
大佬)拿到
题目
,没见过的船新题型传统方法简单分析并不能解决询问大腿github找到部分源码思路突破新工具完成逻辑交互程序逻辑利用思路 拿到
题目
,没见过的船新题型 公司内部比赛试题 一拿到
题目
,发现压缩包并不简单,怎么还有个奇怪的东西混进来了。于是解压之后直接打开这个奇怪的东西,发现并看不懂: 什么鬼东西花里胡哨的,先...
【C语言结构体
题目
汇】
简单的介绍:typedef struct stu//typedef是把struct stu 重新起
一个
名字stu。开始慢慢的刷题了,不焦躁,不自卑,不傲慢,要谦虚
请教
,多多学习,努力的做好自己,看到优秀的人要学习!struct 结构体关键字 stu-结构体标签 struct stu -结构体类型。补充说明:用指针更好因为传递的是地址,传递的是地址。结构的成员可以是标量,数组,指针,和其他的结构体。如果用函数传递的数值过大就会发生意外。描述
一个
学生一些数据。
汇编语言
21,459
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章