微机原理及接口技术实验指导书(9)

2020-02-20 17:51

int pckey1() //调用int 21H中断 {

union REGS regs; regs.h.ah=0x6; regs.h.dl=0x0ff;

int86(0x21,®s,®s); return(regs.h.al); }

void plus1() // { int i;

dis1[0]=dis1[0]+1; for (i=0;i<=2;i++) { if (dis1[i]>=10) {

dis1[i]=dis1[i]-10; dis1[i+1]=dis1[i+1]+1; } else

break;

}

if (dis1[3]>=10) dis1[3]=0; return; }

void mydisp1() // {

void delay1();

加1子程序 显示子程序 41

int i,a1,a2=0x0fe; for (i=0;i<=3;i++) {

outportb(ic8255a,0x0ff); a1=buffer1[dis1[i]]; outportb(ic8255a,a1); outportb(ic8255b,a2); a2=a2<<1; a2=a2|0x1; delay1();

} return; }

void delay1() //延时子程序 {

int i,j,a=0; for (i=1;i<=50;i++)

{

for (j=1;j<=1000;j++) { a=a+0; } }

return; }

七、思考题

(1) 不更改硬件连接,程序只修改定时器的工作方式,但要完成同样功能,定时器还能初始化为哪几种工作方式?

(2)加长delay1()的延时时间对显示效果有什么影响? 为什么? (3)Gate0,Gate1为什么要接VCC?悬空会有什么情况发生?为什么?

42

实验八 D/A转换实验

一、 实验目的和内容

1. 掌握D/A转换器的工作原理 2. 了解DAC0832的接口与控制 3. 完成D/A转换的编程实验

二、实验电路及说明

实验电路如图9所示,电路中有一片DAC0832和一些外围电路。它通过数据线获取数据后转换为不同的电流输出经运放为电压输出。编制程序产生正弦波,利用示波器观察波形。 DAC0832赋数据地址30H 转换完成地址0b0H(W)

图9

43

图10

三、实验器材

奔腾微机一台、SXL-100(PCI)接口实验仪一套、示波器一台

四、硬件实验步骤

本实验在板上由I部分组成,有短路块与跳线两种方式。短路块为缺省方式。下面介绍跳线方式 1、J73短路块去掉

3、用示波器接到J72输出端

2、通过J77与J2的Y3相连

44

开始 初始化计数器 计数器加1 数据赋给DAC0832 启动转换 延时 计数器加1 另一数据赋给DAC0832 启动转换 五、程序框图

PC按键盘有无按键 退出DOS 六、程序代码 #include #include

unsigned long int iobase0,iobase1,membase0,membase1; unsigned long int ic0832r1=0x31,ic0832r2=0x30; unsigned char bh; unsigned char bl;

int findPCIcard() //找寻PCI卡的总线号及设备号及功能号 {

union REGS regs; regs.h.ah=0xb1;

regs.h.al=0x02; //寻找指定厂商和设备号的PCI卡的位置

45


微机原理及接口技术实验指导书(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:管理制度0饮片626-zhuihou

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: