没有合适的资源?快使用搜索试试~ 我知道了~
数据采集系统和简易波形发生器的微机与单片机程序.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 119 浏览量
2022-07-08
09:18:33
上传
评论
收藏 162KB DOC 举报
温馨提示
试读
15页
数据采集系统和简易波形发生器的微机与单片机程序
资源推荐
资源详情
资源评论
- 1 -
微机与单片机设计
The Course Design Of Microcomputer And Single-chip
Microcomputer
第一部分 数据采集系统综合设计实验
一、 设计任务
1、采用定时/计数器 8253 产生 1 秒钟的定时脉冲,并作为中断控制器 8259 的中断请求信号。
2、CPU 响应 8259 的中断请求后,启动 ADC0809 对实验仪上的电位器引入的模拟电压进行 A/D
转换。
3、变换后的结果送 8279 显示两位十六进制数,同时经并行接口 8255 的 PB 口送 8 位发光二
极管显示二进制数。
二、设计达到的最终结果
当调节电位器旋钮时,数码管和 8 位发光二极管会同时显示与模拟输入电压相应的数字
量值。
三、 程序流程图
- 2 -
四、汇编程序
;1.预定义部分
DATA SEGMENT
LED_DATA1 DB ?
LED_DATA2 DB ?
LED DB 3FH,06H,5BH,4FH,66H,6DH,07H,7FH,6FH,77H
DB 7CH,39H,5EH,79H,71H ;共阴数码管的段码表
DATA ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATA,SS:SSEG
MAIN:
MOV AX,DATA
MOV DS,AX
MOV AX,CODES
MOV SS,AX
ACALL SET_8253 ;调 8253 计数器设置子程序
ACALL SET_8259 ;调中断控制器 8259 设置子程序
;2.用 8253 产生 1S 的定时脉冲
开始
初始化 8279
初始化 8259
初始化 8253
循环等待
图 1 主程序框图
中断入口
保护现场
启动
ADC0809
延时、等待转换完成
取转换结果
转换结果送 8279 由数码管显示
转换结果经 8255 的 PB 口送 8 位发光二极
管
回复现场
中断返回
图 2 中断服务子程序框图
- 3 -
;每隔一秒产生一个脉冲,该脉冲由 OUT0 输出。设系统时钟周期为 0.5us,先用定时器 1
;产生周期为 1ms 的方波,再将计数器 1 的 OUT1 接到定时器 0 的 CLK0,让计数器 0 对
OUT1
;计数,并每计数 1000 次输出一个脉冲,便得到每隔 1S 对 8259 提出一次中断请求。
;可知:
;计数器 1 工作于方式 3 1ms/0.5ms=2000 即为计数器 1 的初值,由于初值大于 256,送
;控制字时,应使赋值方式选择为先低 8 位,后高 8 位。
;计数器 0 工作于方式 2,初值 1000,同样,赋值方式为先地位、后高位。设 8253 占用
;的设备端口地址为 0FF40H-0FF43H,计数器 0 的地址为:0FF40H,计数器 1 的地址为:
;0FF41H,控制寄存器的地址为:0FF43H.
;程序如下:
SET_8253 PROC
MOV DX,0FF43H
MOV AL,01110110B;计数器 1,方式 3,先送低 8 位、后送高 8 位,二进制
OUT DX,AL
MOV AL,00110100B;计数器 0,方式 2,先送低 8 位、后送高 8 位,二进制
OUT DX,AL
MOV DX,0FF41H ;计数器 1 的地址
MOV AX,2000 ;计数器 1 的初值
OUT DX,AL
MOV AL,AH
OUT DX,AL ;由于输出数据用的中间寄存器必须为 AL
MOV DX,0FF40H ;计数器 0 占用设备的端口地址
MOV AX,1000 ;计数器零的初值
OUT DX,AL
MOV AL,AH
OUT DX,AL
RET
SET_8253 ENDP
;3.8259 中断处理
;将计数器 0 的 OUT0 接到 8259 的 IR0 端,以 8253 的 OUT0 作为中断源产生中断请求,中断
;类型号为 08H,设置 IR0 的处罚方式为上升沿触发
;设置中断向量
SET_8259:
PUSH DS ;保存当前段地址
LEA DX,INTR ; 取中断处理程序的偏移地址
MOV AX,SEG INTR ;取中断处理程序的段地址
MOV DS,AX
MOV AL,08H ;送中断类型号
MOV AH,25H ; 用 25H 功能号设置中断向量
INT 21H ;调用 DOS 功能
POP DS ;回复当前段地址
;8259 初始化:设端口地址 20H、21H,中断类型码为:08H-0FH,I/O 地址为奇数(A0=1)
;时,则写(ICW2、ICW3、ICW4 和 OCW1),地址为偶数时,写(ICW2、ICW3)
剩余14页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功