找回密码
 立即注册
搜索
yeec近年来原创帖合集 本站基础知识下载汇总 yeec网站学习币充值链接 学习中心正式上线

[求助]大家帮我看看这个程序

[复制链接]
枫碟丽 发表于 2008-8-7 16:47 | 显示全部楼层 |阅读模式

注册登录才能更好的浏览或提问。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如:main()
{
  unsigned int n,m;
  unsigned long int i,j,l,h,k,g;   
  ADCCON1 = 0x40;              
  DACCON  = 0x8D;
    while(1)
     {//2
      ADCCON2 = 0x10;               
       l=ADCDATAL;            
       h=ADCDATAH;            
       i=((l+h*256)*3000)/4095;        
       if(i>=300)                 
         {
          P27 = 0;                
          for(n=0;n<=i;n++)        
           {
             for(m=0;m<=33;m++)        
              {
                _nop_();
              }
           }
          }
    if(i<=2700)
     {
          P27 = 1;            
          j=3000-i;            
          for(n=0;n<=j;n++)
           { for(m=0;m<=33;m++)    
             {
           _nop_();
             }
           }
     }
        g=l+h*256;
        k=(4095-g)*255/4095+102;
        if(g>=3931)
           {
            DAC0L=0x00;
           }
        else DAC0L=k;

这个程序 因为前面的延时太长 所以后面的响应
(if(g>=3931)
           {
            DAC0L=0x00;
           }
        else DAC0L=k;)就很慢

怎么样才可以使后面的响应快点???
谢谢(送上“笔记本电脑嵌入式图像处理芯片


yeec维修网视频培训资料购买链接
BeckmanCoulter DXA系列培训资料
Ortho VITROS 系列培训资料
Ortho enGen_ThermoFisher TCA 实验室自动化系统培训资料
Roche Cobas 实验室自动化系统培训资料
Roche Cobas modular系列分析仪培训资料
Horiba-ABX Yumizen系列培训资料
DiaSorin Liaison系列培训资料
Advia2120培训资料
Inpeco-Aptio系列培训资料
Atellica Solution系列培训资料
Siemens Immunoassay系列培训资料 西门子化学发光系列
SIEMENS Advia系列培训资料 西门子生化系列
Toshiba/Abbott系列培训资料 东芝雅培生化系列
Abbott Architect 系列培训资料 雅培生化化学发光系列
ACL TOP 系列培训资料 沃芬TOP血凝系列
BeckmanCoulter Immunoassay系列培训资料 贝克曼化学发光系列
BeckmanCoulter DXH 系列培训资料 贝克曼DXH血球系列
BeckmanCoulter自动样品处理系统介绍性培训资料 贝克曼前后处理流水线系列
BeckmanCoulter AU系列培训资料 贝克曼AU生化系列
BeckmanCoulter DXC系列培训资料 贝克曼DXC生化系列
LaboSpect003/008/AS 7100/7180分析仪培训资料
Horiba-ABX系列培训资料 Horiba-ABX血球系列
Sysmex 血凝系列培训(CA/CS)
Sysmex 尿液分析系列培训(UF1000/5000/UC3500)
Sysmex 血球系列培训(KX21/POCH/XS/XT/XE)
Sysmex XN系列培训(XN-L/XN1000/XN2000/XN3000/XN9000)
Sysmex HISCL系列培训
可直接淘宝店铺购买https://yeec.taobao.com,或咨询手机/微信:13991827712,QQ:67708237
 

顶风 发表于 2008-8-8 12:09 | 显示全部楼层
AD/DA转换过程本来就比较长,后面的响应当然慢了,你等它还等得起啊。把转换程序做个中断服务程序即可。哪有都在主程序里面解决的?
liflash 发表于 2008-8-21 17:19 | 显示全部楼层

这还不好办?

建立定时中断

进中断查是否所有转换完成

未完,设标志位为0,出中断

已完,设标志位为1,出中断,清除标志位,读数

 

这样系统响应时间会快一些

如果还想更快(比如高速系统),还有更多方法可以实现。

hxkc-zm 发表于 2008-12-16 23:21 | 显示全部楼层

很厉害啊,这都懂。

方园 发表于 2008-12-17 19:22 | 显示全部楼层

都是高手

liucy123_2008 发表于 2009-6-28 14:12 | 显示全部楼层
佩服
小松松 发表于 2009-6-29 23:42 | 显示全部楼层

顶风大哥懂得真多,多多指教

往事如雨 发表于 2009-7-21 09:42 | 显示全部楼层

都是高手

林星海 发表于 2009-8-22 20:22 | 显示全部楼层

这看起来怎么好像是用VB编的呀!

南宁林玉冲 发表于 2009-9-11 22:16 | 显示全部楼层
是C++编的吧。VB更慢。
bigwasp 发表于 2009-10-30 10:30 | 显示全部楼层

还是模块化的好

李攀恩施 发表于 2009-11-28 21:50 | 显示全部楼层

不得了

nzkun 发表于 2009-12-20 14:26 | 显示全部楼层

真是高手如云啊,应该是C编的

天天检验 发表于 2010-1-11 12:47 | 显示全部楼层
真是高手啊。佩服。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|手机版|小黑屋|加入QQ群|yeec维修网

GMT+8, 2024-12-22 11:32 , Processed in 0.696103 second(s), 39 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表