



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、可编程定时器 / 计数器( 8253 )一、实验目的掌握 8253 的基本工作原理和编程方法。二、实验内容1. 按下图虚线连接电路, 将计数器 0 设置为方式 0,计数器初值为 N(N0FH),用手动 逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入 N+1 个脉冲后 OUT0 遍高电平) 。2.按下图连接电路,将计数器 0、计数器 1 分别设置为方式 3,计数初值设为 1000,用逻辑 笔观察 OUT1输出电平的变化 ( 频率 1Hz)。三、编程提示8253 控制寄存器地址: 283H 0C403H 计数器 0 地址: 280H 04C400H 计数器 1
2、 地址: 281H 04C401H CLK0连接时钟: 1MHz。2、程序参考流程图开始设置计数器 0 为工作方式 0送计数器初值读计数器值显示计数值向计数器 1 送初值 1000结束结束实验 2实验 1四、程序设计及实验调试 程序设计的思想及注意事项: 第一个实验,在编程时要注意机器识别的 ASCII 码和输入数据数字的区别,可以根据书上 ASCII 码和输入数据的转换关系,当数据在 0 9 之间,对数据加 30H 即可对应机器识别的 ASCII 码,对于 AF 之间则加 37H。编程时采用了二号功能键输出显示,六号功能键进行 输入操作。第二个实验, 在向计数器 0 和计数器 1 送初始值时
3、, 要注意先送低字节后送高字节, 送入的 数据应是 1000 而非 1000H,否则最后出现逻辑笔跳变的时间不是1s。实验一:CODE SEGMENTASSUME CS:CODE START: MOV DX,0C403HMOV AL,00010000B;计数器 0 工作方式为 0OUT DX,ALMOV DX,0C400HMOV AL,09H;送计数器初值OUT DX,ALXUNHUAN: MOV DX,0C400HIN AL,DX;读计数器的值CMP AL,9 JG BIGADD AL,30HJMP JUDGEBIG: ADDAL,37HJMP JUDGE JUDGE: MOV DL,ALM
4、OV AH,02HINT 21HMOV DL,0FFHMOV AH,06H INT 21HJZ XUNHUANMOV AH,4CHINT 21H CODE ENDS;0 到 9,显示 ASCII 码;大于 9,显示 ASCII 码;使用 02H 功能输出显示;执行键盘输入操作;返回操作系统END START 实验中遇到问题及分析: 编写程序时, 由于要将结果显示在屏幕上, 所以要对写入的值读出来, 编写 MOV DX,0C400H在硬件调试过程中,总体来说很顺利。当计数结果由9 减到 0 时,有逻辑跳变,同时屏幕显示下一个 ASCII 字符。 老师说过不能使用拨码开关,否则会出现几个脉冲, 从
5、而不是减一计数,我在实验时试过拨码开关,将开关上下拨一次,减数的结果是随机的, 所以不适合使用。实验二:CODE SEGMENTASSUME CS:CODE START:MOV AL,00110110BMOV DX,0C403H OUT DX,ALMOV AX,1000MOV DX,0C400H OUT DX,ALMOV AL,AH OUT DX,ALMOV AL,01110110BMOV DX,0C403H OUT DX,ALMOV AX,1000MOV DX,0C401H OUT DX,ALMOV AL,AH OUT DX,ALMOV AH,4CH;计数器 0,工作方式 3;写控制口;计数
6、器 0 送初值 1000;计数器 1,工作方式 3;计数器 1 送初值 1000IN AL,DX 语句即可实现。INT 21HCODE ENDSEND START实验中遇到问题及分析:由于在软件编程时注意到了送初始值为1000,而不是 1000H,所以这方面没有产生错误。 在编程向计数器 0和计数器 1 送值,由于疏忽了 MOV DX,0C400H ,MOV DX,0C401H 两条语 句,在运行之后,系统没有报错,也生成了执行文件,但是一打开执行文件,文件马上就返 回 DOS 系统。 而逻辑笔也没有任何跳变。 我开始觉得自己是否将初始值送进了两个计数器, 后来发现,两个计数器的端口地址忘了写
7、入。五、实验结果及分析:1. 对于实验一,设计数器 0 为工作方式 0,执行计数功能。输入计数初值 9, 并手动逐个 输入单脉冲,输入前 9 个脉冲时,逻辑笔绿灯亮, 此时为低电平, 屏幕上显示数字由 9逐个 递减,当输入第十个脉冲时,计数完毕,逻辑笔红灯亮,此时为高电平。屏幕上快速连续显 示计数值, 因为程序中并没有写入控制屏幕输出的部分, 由于计算机执行频率较快, 导致屏 幕不停输出计数值。2计数器 0 和计数器 1 均为工作方式 3,执行方波发生器的功能。输入计数初值1000,从计数器 0的 clk0 端输入 1MHZ脉冲,经过计数器 0的 1000分频变为 1KHZ脉冲。将计数器 0
8、的输出端与计数器 1 的 clk1 相连接,再经计数器 1 的 1000 分频,从 out1 输出 1HZ 脉冲。 因此,逻辑笔的绿灯和红灯交替闪亮,频率均为1HZ。若实验时写入均 1000H,结果就是每隔 2.56s 亮一次。六、实验总结: 这个实验是我第一次使用实验箱。这次微机实验连线很简单,我都是自己不看书,争取 弄懂连线的原理, 如在第二个小实验, 将 out0 接 clock1 是为了达到两次分频的结果。 编写 程序前,我先复习了微机原理与接口技术课本中与 8253 相关的知识,之后按照流程图认真 编程序,编程时,注意到将小于 9 的数加 30H,大于 9 小于 16 的数加 37H 转化为 ASCII 码, 并调用了 DOS的 2 号功能输出字符。接下来的第二个程序也遇到了一些困难,在编程向计数器 0和计数器 1 送值,由于疏忽 了 MOV DX,0C400H , MOV DX,0C401H 两条语句,在运行之后,系统没有报错,也生成了 执行文件,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁合同范本长住房合约6篇
- 农资赠与合同范本3篇
- 合伙修路协议书格式5篇
- 简易机器抵押合同范本
- 电动车租赁协议书(示范协议)5篇
- 2025百货商场柜台出租合同3篇
- 足疗店合同范本
- 承接窑炉维修合同范本
- 房产限时销售合同范本
- 公寓出租全托合同范本
- GB/T 10294-2008绝热材料稳态热阻及有关特性的测定防护热板法
- 房屋验收记录表
- 公司固定资产处置审批单
- 星火英语六级词汇大全(带音标)
- 第一章-马克思主义的诞生-(《马克思主义发展史》课件)
- 茶叶加工学试卷
- 陶瓷材料力学性能和测试方法
- 超声生物显微镜(UBM)临床应用课件
- 专升本00107现代管理学历年试题题库(含答案)
- 部编四年级语文教材分析课件
- 农民用水户协会实施方案
评论
0/150
提交评论