微机原理实验:定时器_计数器(853)
可编程定时器/计数器(8253)
一、实验目的
掌握8253的基本工作原理和编程方法。
二、实验内容
1.按下图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0遍高电平)。
2.按下图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1Hz)。
三、编程提示
8253控制寄存器地址: 283H—0C403H
计数器0地址: 280H—04C400H
计数器1地址: 281H—04C401H
CLK0连接时钟:1MHz。
2、程序参考流程图
四、程序设计及实验调试
程序设计的思想及注意事项:
第一个实验,在编程时要注意机器识别的ASCII 码和输入数据数字的区别,可以根据书上ASCII 码和输入数据的转换关系,当数据在0—9之间,对数据加30H 即可对应机器识别的ASCII 码,对于A —F 之间则加37H 。编程时采用了二号功能键输出显示,六号功能键进行输入操作。
第二个实验,在向计数器0和计数器1送初始值时,要注意先送低字节后送高字节,送入的数据应是1000而非1000H ,否则最后出现逻辑笔跳变的时间不是1s 。
实验一:
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,0C403H
MOV AL,00010000B ;计数器0工作方式为0
OUT DX,AL
MOV DX,0C400H
MOV AL,09H ;送计数器初值
OUT DX,AL
XUNHUAN: MOV DX,0C400H
IN AL,DX ;读计数器的值
CMP AL,9
JG BIG
ADD AL,30H ;0到9,显示ASCII码
JMP JUDGE
BIG: ADDAL,37H ;大于9,显示ASCII码
JMP JUDGE
JUDGE: MOV DL,AL
MOV AH,02H
INT 21H ;使用02H功能输出显示
MOV DL,0FFH
MOV AH,06H
INT 21H ;执行键盘输入操作
JZ XUNHUAN
MOV AH,4CH
INT 21H ;返回操作系统
CODE ENDS
END START
实验中遇到问题及分析:
编写程序时,由于要将结果显示在屏幕上,所以要对写入的值读出来,编写MOV DX,0C400H IN AL,DX 语句即可实现。
在硬件调试过程中,总体来说很顺利。当计数结果由9减到0时,有逻辑跳变,同时屏幕显示下一个ASCII字符。老师说过不能使用拨码开关,否则会出现几个脉冲,从而不是减一计数,我在实验时试过拨码开关,将开关上下拨一次,减数的结果是随机的,所以不适合使用。实验二:
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AL,00110110B ;计数器0,工作方式3
MOV DX,0C403H
OUT DX,AL ;写控制口
MOV AX,1000
MOV DX,0C400H
OUT DX,AL
MOV AL,AH
OUT DX,AL ;计数器0送初值1000
MOV AL,01110110B
MOV DX,0C403H ;计数器1,工作方式3
OUT DX,AL
MOV AX,1000
MOV DX,0C401H
OUT DX,AL
MOV AL,AH
OUT DX,AL ;计数器1送初值1000
MOV AH,4CH
INT 21H
CODE ENDS
END START
实验中遇到问题及分析:
由于在软件编程时注意到了送初始值为1000,而不是1000H,所以这方面没有产生错误。在编程向计数器0和计数器1送值,由于疏忽了MOV DX,0C400H,MOV DX,0C401H两条语句,在运行之后,系统没有报错,也生成了执行文件,但是一打开执行文件,文件马上就返回DOS系统。而逻辑笔也没有任何跳变。我开始觉得自己是否将初始值送进了两个计数器,后来发现,两个计数器的端口地址忘了写入。
五、实验结果及分析:
1.对于实验一,设计数器0为工作方式0,执行计数功能。输入计数初值9,并手动逐个输入单脉冲,输入前9个脉冲时,逻辑笔绿灯亮,此时为低电平,屏幕上显示数字由9逐个递减,当输入第十个脉冲时,计数完毕,逻辑笔红灯亮,此时为高电平。屏幕上快速连续显示计数值,因为程序中并没有写入控制屏幕输出的部分,由于计算机执行频率较快,导致屏幕不停输出计数值。
2.计数器0和计数器1均为工作方式3,执行方波发生器的功能。输入计数初值1000,从计数器0的clk0端输入1MHZ脉冲,经过计数器0的1000分频变为1KHZ脉冲。将计数器0的输出端与计数器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两条语句,在运行之后,系统没有报错,也生成了执行文件,但是一打开执行文件,文件马上就返回DOS系统。而逻辑笔也没有任何跳变,后来通过软硬件结合找原因,最后得到了满意的结果。
经过上机实验,我掌握了上机调试的初步经验,编程能力也得到了一次验证,此外还加深了对课本理论知识的理解。同时我学会了软硬件结合的办法调试程序。
…… 此处隐藏:830字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




