利用Delphi 3.0开发微机数据采集与处理软件系统
er;//D/A转换低4位
ah:Integer;//D/A转换高8位
daval:Float;
begin
daval:=4095/5*Volt;//将欲输出的模拟电压值近似为数字值
ah:=Int(daval/16);//A/D转换高8位
al:=Int(daval-ah*16)*16;//A/D转换低4位
withmyPortdo
begin
Port[Basea+6]:=al;//取D/A通道1,输出D/A转换值低4位
Port[Basea+7]:=ah;//输出D/A转换值高8位
end;
end;
定时启动,中断管理
设采样点数为1024,采样频率为3000HZ,32位定时器采用1MHZ基频率,连接PC机8259的2级中断。
⑴设定采样参数
Point:=1024;//采样点数为1024
Count:=1000000/3000;//采样频率为3000HZ,Count为计数器1和计数器2级联成的
//定时器的计数值
Count1:=2;//设定计数器1的计数值为2
Count2:=Int(Count/2);//计算计数器1的计数值
Low1:=2;//计数器1计数值的低字节
High1:=0;//计数器1计数值的高字节
Low2:=Count2mod256;//计数器2计数值的低字节
High2:=Count2/256;//计数器2计数值的高字节
withmyPortdo
begin
Port[Basea+11]:=0;//增益为1
Port[Basea+2]:=$11H;//通道1单通道连续采样
Port[Basea+15]:=$74H;//选择计数器1为工作计数器,按方式2工作,对计数器进
//行2次读/写操作,先低字节,后高字节
Port[Basea+13]:=Low1;//写计数器1计数值的低字节
Port[Basea+13]:=High1;//写计数器1计数值的高字节
Port[Basea+15]:=$B4H;//选择计数器1为工作计数器,按方式2工作,对计数器进
//行2次读/写操作,先低字节,后高字节
Port[Basea+13]:=Low2;//写计数器2计数值的低字节
Port[Basea+13]:=High2;//写计数器2计数值的高字节
end;
⑵编写中断服务程序
procedureTForm1.myPortHwInterrupt(Sender:TObject);//中断服务程序
{...}
ImportHigh:=Port[Basea+1 《利用Delphi 3.0开发微机数据采集与处理软件系统(第5页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140500.html
ah:Integer;//D/A转换高8位
daval:Float;
begin
daval:=4095/5*Volt;//将欲输出的模拟电压值近似为数字值
ah:=Int(daval/16);//A/D转换高8位
al:=Int(daval-ah*16)*16;//A/D转换低4位
withmyPortdo
begin
Port[Basea+6]:=al;//取D/A通道1,输出D/A转换值低4位
Port[Basea+7]:=ah;//输出D/A转换值高8位
end;
end;
定时启动,中断管理
设采样点数为1024,采样频率为3000HZ,32位定时器采用1MHZ基频率,连接PC机8259的2级中断。
⑴设定采样参数
Point:=1024;//采样点数为1024
Count:=1000000/3000;//采样频率为3000HZ,Count为计数器1和计数器2级联成的
//定时器的计数值
Count1:=2;//设定计数器1的计数值为2
Count2:=Int(Count/2);//计算计数器1的计数值
Low1:=2;//计数器1计数值的低字节
High1:=0;//计数器1计数值的高字节
Low2:=Count2mod256;//计数器2计数值的低字节
High2:=Count2/256;//计数器2计数值的高字节
withmyPortdo
begin
Port[Basea+11]:=0;//增益为1
Port[Basea+2]:=$11H;//通道1单通道连续采样
Port[Basea+15]:=$74H;//选择计数器1为工作计数器,按方式2工作,对计数器进
//行2次读/写操作,先低字节,后高字节
Port[Basea+13]:=Low1;//写计数器1计数值的低字节
Port[Basea+13]:=High1;//写计数器1计数值的高字节
Port[Basea+15]:=$B4H;//选择计数器1为工作计数器,按方式2工作,对计数器进
//行2次读/写操作,先低字节,后高字节
Port[Basea+13]:=Low2;//写计数器2计数值的低字节
Port[Basea+13]:=High2;//写计数器2计数值的高字节
end;
⑵编写中断服务程序
procedureTForm1.myPortHwInterrupt(Sender:TObject);//中断服务程序
{...}
ImportHigh:=Port[Basea+1 《利用Delphi 3.0开发微机数据采集与处理软件系统(第5页)》