当前位置: 首页 > news >正文

网站建设具体工作数据网站建设工具模板

网站建设具体工作,数据网站建设工具模板,电子商务网站建设实训 报告,全国加盟网站大全在上述at24c02de 基础上#xff0c;添加三个函数 一个是读取通道1光敏电阻的数据#xff1b; 一个是读取通道3的电压#xff1b; 一个是输出DA的数据。。 5V的AD DA。 如果读入的电压是5V#xff0c;输入AD#xff0c;就是255#xff1b; 如果是0V#xff0c;就是00000… 在上述at24c02de 基础上添加三个函数 一个是读取通道1光敏电阻的数据 一个是读取通道3的电压 一个是输出DA的数据。。 5V的AD DA。 如果读入的电压是5V输入AD就是255 如果是0V就是00000000 如果是2.5V就是125. 有个比例。 步骤注意是 pcf8591A/D转换时可以将连接在芯片上的AIN0,AIN1,AIN3,AIN2通道等的模拟量转换为数字量。 而且PCF8591芯片是一个8位的通道上的电压取值范围是0-5v相当于0-255一共256个刻度把5v平均分成了255份那么1v电压对应的数字量就是51。所以我们在进行ad转换的时候不能简单的把读取到的量显示在数码管显示上比如现在某个通道是3.1v的那么它通过pcf8591芯片读取转换之后我们实际上读取到的是3.1*51158.1但是如果题目要求显示电压值的话我们就需要再把读取出来的数字量给处理一下比如除以一个51.0。 从机等待应答部分的代码即留下空格的部分可省略。 PCF8591芯片D/A转换时即把数字量转换为模拟量在这里插入代码片 unsigned char read_in1() {unsigned char dat;IIC_Start(); //总线起始信号IIC_SendByte(0x90); //字节写地址IIC_WaitAck(); //等待应答IIC_SendByte(0x01); //发送控制字IIC_WaitAck();IIC_Start(); IIC_SendByte(0x91); //字节读地址IIC_WaitAck();datIIC_RecByte();IIC_SendAck(1); IIC_Stop(); return dat; //处理读到的AIN的量 } unsigned char read_in3() {unsigned char dat;IIC_Start(); //总线起始信号IIC_SendByte(0x90); //字节写地址IIC_WaitAck(); //等待应答IIC_SendByte(0x03); //发送控制字IIC_WaitAck();IIC_Start(); IIC_SendByte(0x91); //字节读地址IIC_WaitAck();datIIC_RecByte();IIC_SendAck(1); IIC_Stop(); return dat; //处理读到的AIN的量 }void write_dac(unsigned int dat) {IIC_Start();IIC_SendByte(0x90); //pcf8591写操作地址IIC_SendByte(0x40); //选择dac输出通道第6位为1打开D/AIIC_SendByte(dat); //选择要给pcf8591芯片的数字量IIC_WaitAck(); IIC_Stop(); //停止通讯 } 全部代码啊 主函数的代码 #include stc15.h #include intrins.h #include iic.h//接口 sbit S7P3^0; sbit S6P3^1; sbit S5P3^2; sbit S4P3^3; //宏定义 #define LED 4 //定义主时钟 #define ULN 5 //定义主时钟 #define COM 6 //定义主时钟 #define ABC 7 //定义主时钟 typedef unsigned char u8; typedef unsigned int u16; typedef unsigned long u32; //-----------------------------------------------#define FOSC 11059200L#define T1MS (65536-FOSC/1000) //1T模式 //#define T1MS (65536-FOSC/12/1000) //12T模式//全局变量 u8 LEDbuf0xFF; u8 ULNbuf0x00; u8 SMGbuf[20]; u8 SMGdat[8];//8个数码管所以8个元素u32 tim1ms0;//u32类型几十天才溢出 /************* 本地常量声明 ,这是共阴的 **************/ u8 code table[]{ //标准字库 // 0 1 2 3 4 5 6 7 8 9 A B C D E F0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71, //black - H J K L N o P U t G Q r M y0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46}; //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1u8 code T_COM[]{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //位码 //函数声明 void delayms(u16 tms); void Delay1ms(); //11.0592MHz void sel(u8 x); //选择四个分支哪一个 void sysinit();//系统初始化关闭所有的外部设备 void disp(); //主函数 void main() {//main局部变量u8 num125;u8 num20;int num31289;int num40;int num4H,num4L;//低位和高位u8 in1dat;u8 in3dat;//外设初始化sysinit();//系统定时器初始化AUXR | 0x40; //定时器1为1T模式TMOD 0x00; //设置定时器为模式0(16位自动重装载)TL1 T1MS; //初始化计时值TH1 T1MS 8;TR1 1; //定时器1开始计时ET1 1; //使能定时器0中断EA 1;//大循环//这里可以加一点测试代码测试是不是每个外设都成功SMGdat[0]0x77;SMGdat[1] table[num1/10];SMGdat[2] table[num1%10];SMGdat[3]0x40;SMGdat[4]0x40;SMGdat[5] 0x7C; SMGdat[6] table[0];SMGdat[7] table[0];while(1){if(S70){delayms(10);if(S70){write24byte(0x00,num1);delayms(5); //等待5ms,等待写入完成}while(S70);}else if(S60){delayms(10);if(S60){num2read24byte(0x00)20;delayms(5);}while(S60);SMGdat[0]0x77;SMGdat[1] table[num1/10];SMGdat[2] table[num1%10];SMGdat[3]0x40;SMGdat[4]0x40;SMGdat[5] 0x7C; SMGdat[6] table[num2/10];SMGdat[7] table[num2%10];}if(S50){delayms(10);if(S50){write24byte(0x03,num38); //写高8位到0x03delayms(5); //等待5ms,等待写入完成write24byte(0x04,num3);//写低八位到0x04delayms(5); //等待5ms,等待写入完成}while(S50);//松开按键}else if(S40){delayms(10);if(S40){//读取int类型数据读取高位乘以256再读取低位 num4Hread24byte(0x03);delayms(5);num4Lread24byte(0x04);delayms(5);num4num4H*256num4L;//将低位和高位合并起来}while(S40);//松开按键//分解出个位十位百位千位的方法SMGdat[0] table[num3/1000%10];SMGdat[1] table[num3/100%10];SMGdat[2] table[num3/10%10];SMGdat[3]table[num3%10];SMGdat[4]table[num4/1000%10];;SMGdat[5]table[num4/100%10];;SMGdat[6] table[num4/10%10];;SMGdat[7] table[num4%10];} if(tim1ms%5000) //500ms读取一次数据刷新数据{in1datread_in1();in3datread_in3();}SMGdat[0] 0x00;SMGdat[1] table[in1dat/100%10];SMGdat[2] table[in1dat/10%10];SMGdat[3]table[in1dat%10];SMGdat[4]0x00;SMGdat[5]table[in3dat/100%10];SMGdat[6] table[in3dat/10%10];SMGdat[7] table[in3dat%10];}}//函数定义 //-----------------------------------------------/* Timer1 interrupt routine */ void tm1_isr() interrupt 3 using 1 {tim1ms;disp();//1ms显示一次数码管 } void Delay1ms() //11.0592MHz {unsigned char i, j;_nop_();_nop_();_nop_();i 11;j 190;do{while (--j);} while (--i); }void delayms(u16 tms) {u16 i0;for(i0;itms;i){Delay1ms();} }void sel(u8 x) //选择四个分支哪一个 {//背下来了吗switch(x){case 0:P2P20x1F;break;case LED:P2P20x1F|0x80;break;case ULN:P2P20x1F|0xA0;break;case COM:P2P20x1F|0xC0;break;case ABC:P2P20x1F|0xE0;break;} } void sysinit()//系统初始化关闭所有的外部设备 {sel(LED);LEDbuf0xFF;P0LEDbuf;sel(0);sel(ULN);ULNbuf0x00;P0ULNbuf;sel(0);sel(COM);P00x00;sel(0);sel(ABC);P00xFF;sel(0); }void disp() {//背下来static u8 i0;//消隐sel(COM);P00x00;sel(0);sel(ABC);P00xFF;sel(0); //显示sel(COM);P0T_COM[i];sel(0);sel(ABC);P0~SMGdat[i];sel(0);i;if(i8)i0; } iic.c /*程序说明: IIC总线驱动程序软件环境: Keil uVision 4.10 硬件环境: CT107单片机综合实训平台 805112MHz日 期: 2011-8-9 */#include stc15.h #include intrins.h #include iic.h#define DELAY_TIME 5#define SlaveAddrW 0xA0 #define SlaveAddrR 0xA1//总线引脚定义 sbit SDA P2^1; /* 数据线 */ sbit SCL P2^0; /* 时钟线 */void IIC_Delay(unsigned char i) {do{_nop_();}while(i--); } //总线启动条件 void IIC_Start(void) {SDA 1;SCL 1;IIC_Delay(DELAY_TIME);SDA 0;IIC_Delay(DELAY_TIME);SCL 0; }//总线停止条件 void IIC_Stop(void) {SDA 0;SCL 1;IIC_Delay(DELAY_TIME);SDA 1;IIC_Delay(DELAY_TIME); }//发送应答 void IIC_SendAck(bit ackbit) {SCL 0;SDA ackbit; // 0应答1非应答IIC_Delay(DELAY_TIME);SCL 1;IIC_Delay(DELAY_TIME);SCL 0; SDA 1;IIC_Delay(DELAY_TIME); }//等待应答 bit IIC_WaitAck(void) {bit ackbit;SCL 1;IIC_Delay(DELAY_TIME);ackbit SDA;SCL 0;IIC_Delay(DELAY_TIME);return ackbit; }//通过I2C总线发送数据 void IIC_SendByte(unsigned char byt) {unsigned char i;for(i0; i8; i){SCL 0;IIC_Delay(DELAY_TIME);if(byt 0x80) SDA 1;else SDA 0;IIC_Delay(DELAY_TIME);SCL 1;byt 1;IIC_Delay(DELAY_TIME);}SCL 0; }//从I2C总线上接收数据 unsigned char IIC_RecByte(void) {unsigned char i, da;for(i0; i8; i){ SCL 1;IIC_Delay(DELAY_TIME);da 1;if(SDA) da | 1;SCL 0;IIC_Delay(DELAY_TIME);}return da; }unsigned char read24byte(unsigned char addrtemp) {unsigned char temp;IIC_Start();IIC_SendByte(SlaveAddrW); //是地址IIC_WaitAck();IIC_SendByte(addrtemp);IIC_WaitAck();IIC_Start();IIC_SendByte(SlaveAddrR); //读地址IIC_WaitAck();temp IIC_RecByte();IIC_SendAck(1); //send no ACKIIC_Stop();return temp; } void write24byte(unsigned char addrtemp,unsigned char datatemp) {IIC_Start();IIC_SendByte(SlaveAddrW);IIC_WaitAck();IIC_SendByte(addrtemp);IIC_WaitAck();IIC_SendByte(datatemp); IIC_WaitAck();IIC_Stop(); }unsigned char read_in1() {unsigned char dat;IIC_Start(); //总线起始信号IIC_SendByte(0x90); //字节写地址IIC_WaitAck(); //等待应答IIC_SendByte(0x01); //发送控制字IIC_WaitAck();IIC_Start(); IIC_SendByte(0x91); //字节读地址IIC_WaitAck();datIIC_RecByte();IIC_SendAck(1); IIC_Stop(); return dat; //处理读到的AIN的量 } unsigned char read_in3() {unsigned char dat;IIC_Start(); //总线起始信号IIC_SendByte(0x90); //字节写地址IIC_WaitAck(); //等待应答IIC_SendByte(0x03); //发送控制字IIC_WaitAck();IIC_Start(); IIC_SendByte(0x91); //字节读地址IIC_WaitAck();datIIC_RecByte();IIC_SendAck(1); IIC_Stop(); return dat; //处理读到的AIN的量 }void write_dac(unsigned int dat) {IIC_Start();IIC_SendByte(0x90); //pcf8591写操作地址IIC_SendByte(0x40); //选择dac输出通道第6位为1打开D/AIIC_SendByte(dat); //选择要给pcf8591芯片的数字量IIC_WaitAck(); IIC_Stop(); //停止通讯 } iic.h #define __IIC_Hvoid IIC_Start(void); void IIC_Stop(void); bit IIC_WaitAck(void); void IIC_SendAck(bit ackbit); void IIC_SendByte(unsigned char byt); unsigned char IIC_RecByte(void); unsigned char read24byte(unsigned char addrtemp); void write24byte(unsigned char addrtemp,unsigned char datatemp);unsigned char read_in1(); unsigned char read_in3(); void write_dac(unsigned int dat);#endif
文章转载自:
http://www.morning.zbtfz.cn.gov.cn.zbtfz.cn
http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn
http://www.morning.ykqbs.cn.gov.cn.ykqbs.cn
http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn
http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn
http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn
http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn
http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn
http://www.morning.xrwtk.cn.gov.cn.xrwtk.cn
http://www.morning.hhxwr.cn.gov.cn.hhxwr.cn
http://www.morning.yrdn.cn.gov.cn.yrdn.cn
http://www.morning.xrtsx.cn.gov.cn.xrtsx.cn
http://www.morning.mjats.com.gov.cn.mjats.com
http://www.morning.scjtr.cn.gov.cn.scjtr.cn
http://www.morning.rbgwj.cn.gov.cn.rbgwj.cn
http://www.morning.rqwmt.cn.gov.cn.rqwmt.cn
http://www.morning.rdng.cn.gov.cn.rdng.cn
http://www.morning.rpkl.cn.gov.cn.rpkl.cn
http://www.morning.hlmkx.cn.gov.cn.hlmkx.cn
http://www.morning.rgxll.cn.gov.cn.rgxll.cn
http://www.morning.czcbl.cn.gov.cn.czcbl.cn
http://www.morning.xnwjt.cn.gov.cn.xnwjt.cn
http://www.morning.jcfg.cn.gov.cn.jcfg.cn
http://www.morning.rlhh.cn.gov.cn.rlhh.cn
http://www.morning.pdxqk.cn.gov.cn.pdxqk.cn
http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn
http://www.morning.jbctp.cn.gov.cn.jbctp.cn
http://www.morning.pybqq.cn.gov.cn.pybqq.cn
http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn
http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn
http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn
http://www.morning.xmjzn.cn.gov.cn.xmjzn.cn
http://www.morning.zlnf.cn.gov.cn.zlnf.cn
http://www.morning.pymff.cn.gov.cn.pymff.cn
http://www.morning.lgtcg.cn.gov.cn.lgtcg.cn
http://www.morning.wkjzt.cn.gov.cn.wkjzt.cn
http://www.morning.glpxx.cn.gov.cn.glpxx.cn
http://www.morning.bgbnc.cn.gov.cn.bgbnc.cn
http://www.morning.kqrql.cn.gov.cn.kqrql.cn
http://www.morning.qnypp.cn.gov.cn.qnypp.cn
http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn
http://www.morning.flqbg.cn.gov.cn.flqbg.cn
http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn
http://www.morning.24vy.com.gov.cn.24vy.com
http://www.morning.cpctr.cn.gov.cn.cpctr.cn
http://www.morning.nftzn.cn.gov.cn.nftzn.cn
http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn
http://www.morning.hengqilan.cn.gov.cn.hengqilan.cn
http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn
http://www.morning.lhgqc.cn.gov.cn.lhgqc.cn
http://www.morning.trnl.cn.gov.cn.trnl.cn
http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn
http://www.morning.fdrwk.cn.gov.cn.fdrwk.cn
http://www.morning.kqpxb.cn.gov.cn.kqpxb.cn
http://www.morning.yptwn.cn.gov.cn.yptwn.cn
http://www.morning.fprll.cn.gov.cn.fprll.cn
http://www.morning.rfxg.cn.gov.cn.rfxg.cn
http://www.morning.zjcmr.cn.gov.cn.zjcmr.cn
http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn
http://www.morning.rjmb.cn.gov.cn.rjmb.cn
http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn
http://www.morning.xgzwj.cn.gov.cn.xgzwj.cn
http://www.morning.wyctq.cn.gov.cn.wyctq.cn
http://www.morning.pcshb.cn.gov.cn.pcshb.cn
http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn
http://www.morning.grqlc.cn.gov.cn.grqlc.cn
http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn
http://www.morning.wrlff.cn.gov.cn.wrlff.cn
http://www.morning.kjrp.cn.gov.cn.kjrp.cn
http://www.morning.slwfy.cn.gov.cn.slwfy.cn
http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn
http://www.morning.rdng.cn.gov.cn.rdng.cn
http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn
http://www.morning.mrckk.cn.gov.cn.mrckk.cn
http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn
http://www.morning.mdnnz.cn.gov.cn.mdnnz.cn
http://www.morning.tnqk.cn.gov.cn.tnqk.cn
http://www.morning.rkck.cn.gov.cn.rkck.cn
http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn
http://www.morning.skrrq.cn.gov.cn.skrrq.cn
http://www.tj-hxxt.cn/news/264529.html

相关文章:

  • 个人网站备案都需要什么项目之家
  • 网站设计培训商城网站建设是什么
  • 太仓住房与城乡建设局网站wordpress 关闭警告
  • 购物网站排名前十网站开发语言一般是用什么
  • html5手机网站制作软件医疗网络营销方式
  • 做网站推广的销售电话开场白wordpress编辑器没有编辑框
  • 企业门户网站数据库设计网站建设销售工资多少
  • 360网站建设官网怎么建设分销模式手机网站
  • 我想做一个网站怎么办wordpress保存为模板
  • 网站内容与模板设计方案西安做网站需要多少钱
  • 网站备案花钱么购物网站二级店铺mvc
  • 销售网站看男科花了一万多了
  • 专业网站建设网站推广wordpress后天打开慢
  • 电商网站设计模板dw一个人怎么开发自己的app
  • 微小店网站建设平台谷歌网页截图快捷键
  • 佛山智能建站重庆自动seo
  • 上海企业建站公司哪家好平面设计专业课程有哪些
  • 响应式网站建设公司学校网站建设问卷调查表
  • 唐山网站制作案例深圳计算机速成班培训
  • 东莞网站建设总部地址做网站公司599
  • 单页网站赚钱七牛镜像存储wordpress
  • 做趣味图形的网站北京工程交易中心官网
  • 国外的网页制作网站wordpress查资料
  • 公明网站建设传媒大学附近网站建设公司
  • 济南市工程建设技术监督局网站建设工作室
  • 东营网站建设优化留言小程序模板
  • 网站开发行业怎么样网站安全建设进展情况汇报
  • 肇庆网站建设推广有没有做美食的网站
  • 网站首页模板下载做腰椎核磁证网站是 收 七
  • 精品课网站建设 辽宁wordpress手机版菜单