输出控制的C编程 .pptx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
输出控制的C编程;输入 寄存器; DAC0832由8位输入寄存器、8位DAC寄存器、8位D/A转换器所构成。DAC0832中有两级锁存器,第一级即输入寄存器,第二级即DAC寄存器,因此能够工作在双缓冲方式下,如此在输出模拟信号的同时能够采集下一个数字量,如此能够有效地提高转换速度。另外能够在多个D/A转换器同时工作时,利用第二级锁存信号实现多路D/A的同时输出。;0832引脚功能;二、DAC0832与单片机的接口;锯齿波;三角波;梯形波(1):调用延时程序维持水平部分;梯形波(2):用内部定时器维持水平部分;void intt0() interrupt 1 //定时1ms { TH0=-500/256; TL0=-500%256; ms++; if(ms==1000){ms=0;k=1;} //定时1sec };②双缓冲方式接口电路 ----将两级寄存器的控制信号分别接,输入寄存器线选译码地址bFFFH,DAC寄存器线选译码地址7FFFH。;+5V; 两片0832的输入寄存器各占一个单元地址,而两个DAC寄存器占用同一单元地址,实现的方法是把两个传送允许信号 相连然后接同一线选端。; 将data1和data2数据同时转换为模拟量的C51函数dacdb、c如下:;8、2 步进电机控制;工作方式(三种):;二、步进电机与单片机的接口;#include <reg51、h> #define DL 500 //延时时间 #define DR 1 //转动方向 #define uchar unsigned char #define uint unsigned int void delayms(uint x); //定义延时函数 void ctrl(bit cf,uint n); //定义电机转动函数 main() { ctrl(DR,100); } void delayms(uint x) { uchar i; while(x - -) { for(i=0;i<125;i++); } };void ctrl(bit cf,uint n) //cf是转动方向,n是转动步数 { uint i; uchar j=0x01; if(cf==0) { for(i=0;i<n;i++) //步数计数 { P1=j; //输出时序脉冲到P1口 delayms(DL); //延时 j=j<<1; //正转移位 if(j==0x08)j=0x01; } } ;else { for(i=0;i<n;i++) { P1=j; delayms(DL); j=j>>1; //反转移位 if(j==0x00)j=0x04; } } } ;例2 三相六拍方式控制。 正转控制字为:01H 03H 02H 06H 04H 05H 01H。 反转控制字为:01H 05H 04H 06H 02H 03H 01H。 正转和反转的6个控制字放在数组中,以00作结尾字节便于判断。;void ctrl(bit cf,uint n) //cf是转动方向,n是转动步数 { uint i; if(cf==0)x=plus; //指向正转控制字首址 else x=minu; //指向反转控制字首址 TMOD=0x01; //T/C0初始化 TH0=-DL*500/256; TL0=-DL*500%256; TR0=1;ET0=1;EA=1; for(i=0;i<n;i++) //步数计数 { while(k==0); //等待中断 k=0; } } ;void intt0() interrupt 1 using 1 //定时器0中断起延时作用 { P1=*x++; //输出时序脉冲到P1 if(*x==0)x=x-6; //判6个控制字结束后恢复处值 TH0=-DL*500/256; TL0=-DL*500%256; k=1; //设置中断标志 } main() { ctrl(DR,10); };例3 双

文档评论(0)

189****0801 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档