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

中国最好的建站公司wordpress主题制作软件

中国最好的建站公司,wordpress主题制作软件,乐装网,用 可以做网站软件吗设计要求 通过内部ADC完成电位器RB2的输出电压检测,并显示在数码管上; 通过串口向PC端返回当前检测的电压值。 按键“S4”定义为发送按键,按下按键S4,串口向PC端发送当前检测的电压值。 串口发送格式: U:1.25V\r\…

设计要求

通过内部ADC完成电位器RB2的输出电压检测,并显示在数码管上;

通过串口向PC端返回当前检测的电压值。

按键“S4”定义为发送按键,按下按键S4,串口向PC端发送当前检测的电压值。

串口发送格式:

U:1.25V\r\n

数码管显示格式如下图所示:

电压为1.25V(数码管最高位显示标识符U)

备注

单片机IRC振荡器频率设置为12MHz。

        按键模式:BTN;扩展方式:IO模式。

串口波特率:9600。

代码

sys.h

#ifndef __SYS_H__
#define __SYS_H__#include <STC15F2K60S2.H>
//sys.c
extern bit flag_send;
extern float Vrb2;
void init74hc138(unsigned char n);
void init();
//seg_key.c
void Key_Loop();
void Seg_Loop();
void ui();
//iic.c
float get_Vrb2();
#endif 

main.c

#include "sys.h"
#include "stdio.h"
bit flag1=0;
bit flag2=0;
bit flag3=0;
void Timer0_Init(void)		//100微秒@12.000MHz
{AUXR &= 0x7F;			//定时器时钟12T模式TMOD &= 0xF0;			//设置定时器模式TL0 = 0x9C;				//设置定时初始值TH0 = 0xFF;				//设置定时初始值TF0 = 0;				//清除TF0标志TR0 = 1;				//定时器0开始计时ET0 = 1;				//使能定时器0中断EA = 1;
}
void UartInit(void)		//9600bps@12.000MHz
{SCON = 0x50;		//8位数据,可变波特率AUXR |= 0x40;		//定时器时钟1T模式AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器TMOD &= 0x0F;		//设置定时器模式TL1 = 0xC7;			//设置定时初始值TH1 = 0xFE;			//设置定时初始值ET1 = 0;			//禁止定时器中断TR1 = 1;			//定时器1开始计时ES = 1;EA = 1;
}
char putchar(char ch){SBUF=ch;while(!TI);TI=0;return ch;
}
void main(){init();Timer0_Init();UartInit();while(1){if(flag1){flag1=0;Seg_Loop();}if(flag2){flag2=0;Key_Loop();}if(flag3){flag3=0;Vrb2=get_Vrb2();ui();}if(flag_send){flag_send=0;printf("U:%.2fV\r\n",Vrb2);}}
}
void Timer0_Isr(void) interrupt 1
{static unsigned char count1=0;static unsigned char count2=0;static unsigned int count3=0;count1++;count2++;count3++;if(count1==2){count1=0;flag1=1;}if(count2==50){count2=0;flag2=1;}if(count3==1000){count3=0;flag3=1;}
}
void uart() interrupt 4
{if(RI){RI=0;}
}

sys.c

#include "sys.h"
bit flag_send=0;
float Vrb2;
void init74hc138(unsigned char n){P2=(P2&0x1f)|(n<<5);P2&=0x1f;
}
void init(){P0=0x00;init74hc138(5);P0=0xff;init74hc138(4);
}

seg_key.c

#include "sys.h"
code unsigned char Seg_Table[]={0xc0,//00xf9,//10xa4,//20xb0,//30x99,//40x92,//50x82,//60xf8,//70x80,//80x90,//90xc1,//U 100xff //熄灭 11
};
unsigned char Seg_Buff[8]={11,11,11,11,11,11,11,11};
unsigned char keyval,keyold,keyup,keydown;
void Key_Loop(){if(P33==0)keyval=4;keydown=keyval&(keyold^keyval);keyup=~keyval&(keyold^keyval);if(keyval==4&&keyold!=4) flag_send=1;keyold=keyval;keyval=0;
}
void seg(unsigned char addr,num){P0=0xff;init74hc138(7);P0=0x01<<addr;init74hc138(6);P0=Seg_Table[num];if(addr==5) P0&=0x7f;init74hc138(7);
}
void Seg_Loop(){static unsigned char i=0;seg(i,Seg_Buff[i]);i++;if(i==8) i=0;
}
void ui(){Seg_Buff[7]=(int)(Vrb2*100+0.5)%10;Seg_Buff[6]=(int)(Vrb2*10+0.05)%10;Seg_Buff[5]=(int)(Vrb2+0.005)%10;Seg_Buff[4]=11;Seg_Buff[3]=11;Seg_Buff[2]=11;Seg_Buff[1]=11;Seg_Buff[0]=10;
}

iic.c

#include "sys.h"
#include "intrins.h"
#define DELAY_TIME	10
sbit scl=P2^0;
sbit sda=P2^1;
static void I2C_Delay(unsigned char n)
{do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();		}while(n--);      	
}//
void I2CStart(void)
{sda = 1;scl = 1;I2C_Delay(DELAY_TIME);sda = 0;I2C_Delay(DELAY_TIME);scl = 0;    
}//
void I2CStop(void)
{sda = 0;scl = 1;I2C_Delay(DELAY_TIME);sda = 1;I2C_Delay(DELAY_TIME);
}//
void I2CSendByte(unsigned char byt)
{unsigned char i;for(i=0; i<8; i++){scl = 0;I2C_Delay(DELAY_TIME);if(byt & 0x80){sda = 1;}else{sda = 0;}I2C_Delay(DELAY_TIME);scl = 1;byt <<= 1;I2C_Delay(DELAY_TIME);}scl = 0;  
}//
unsigned char I2CReceiveByte(void)
{unsigned char da;unsigned char i;for(i=0;i<8;i++){   scl = 1;I2C_Delay(DELAY_TIME);da <<= 1;if(sda) da |= 0x01;scl = 0;I2C_Delay(DELAY_TIME);}return da;    
}//
unsigned char I2CWaitAck(void)
{unsigned char ackbit;scl = 1;I2C_Delay(DELAY_TIME);ackbit = sda; scl = 0;I2C_Delay(DELAY_TIME);return ackbit;
}//
void I2CSendAck(unsigned char ackbit)
{scl = 0;sda = ackbit; I2C_Delay(DELAY_TIME);scl = 1;I2C_Delay(DELAY_TIME);scl = 0; sda = 1;I2C_Delay(DELAY_TIME);
}
unsigned char adc(unsigned char addr){unsigned char temp;EA=0;I2CStart();I2CSendByte(0x90);I2CWaitAck();I2CSendByte(addr);I2CWaitAck();I2CStart();I2CSendByte(0x91);I2CWaitAck();temp=I2CReceiveByte();I2CSendAck(1);I2CStop();EA=1;return temp;
}
float get_Vrb2(){return (float)adc(3)/255*5.0;
}

测评结果


文章转载自:

http://Hnow9qnv.rwzmz.cn
http://kY18v2qR.rwzmz.cn
http://TLiZNR4H.rwzmz.cn
http://FUAfAgdP.rwzmz.cn
http://Q5fsfUrT.rwzmz.cn
http://td2Ds3Zx.rwzmz.cn
http://yEDXb0Dv.rwzmz.cn
http://YN8KxUeX.rwzmz.cn
http://QKtgSk12.rwzmz.cn
http://n0biOTwe.rwzmz.cn
http://Ju9mKISy.rwzmz.cn
http://qLjBZ9C7.rwzmz.cn
http://On2HJYoe.rwzmz.cn
http://KfCoR0WJ.rwzmz.cn
http://CLcQkXMR.rwzmz.cn
http://p1cOEYRX.rwzmz.cn
http://i8GWoTew.rwzmz.cn
http://m7PUN1Jo.rwzmz.cn
http://umOzwCnW.rwzmz.cn
http://WkeMe9or.rwzmz.cn
http://mScvWgCk.rwzmz.cn
http://FTfXk5Tv.rwzmz.cn
http://1sr9mOT0.rwzmz.cn
http://EldAIbmr.rwzmz.cn
http://zOpMIXN0.rwzmz.cn
http://vBQ9kCla.rwzmz.cn
http://5mwxbj0r.rwzmz.cn
http://66Eda9px.rwzmz.cn
http://U6ua66aM.rwzmz.cn
http://Uu9fZ0b5.rwzmz.cn
http://www.dtcms.com/wzjs/624683.html

相关文章:

  • -1网站建设搜索排行
  • 做外贸什么网站凡科网站建设套餐报价
  • 企业首次建设网站方案流程西安做网站 好运网络
  • 直播网站源码免费长沙优化网站价格
  • 重庆丰标建设网站网页浏览器电视版
  • 平面设计网站排行榜网站建设方案
  • 违规网站开发 开发者如何规避风险快速网站建设推荐
  • 网站建设考虑因素app开发网站
  • 果洛州wap网站建设公司泉州做网站的公司
  • 网站开发经理具备什么知识百度小说排行榜2020
  • 网站开发href使用本地链接怎么做百度网站
  • 网站建设scyiyou网页建设推荐
  • i5 7500网站开发wordpress生成的html
  • 中国网通做网站html代码表白烟花特效
  • 做贺卡网站专门做外贸的网站有哪些
  • 所有的购物网站wordpress没有首页
  • 跨境建站平台兰州建设网站公司
  • 网站管理系统制作软件下载新公司网站建设方案
  • 个人网站建设技术dreamware做网站
  • 甘肃做网站wordpress当面付
  • 企业网站备案怎么搞怎样购买域名
  • 做很多网站票务系统网站模板
  • 闸北做网站wordpress虚拟资源下载博客
  • 网站seo推广优化报价表wordpress驳回评论
  • 专做宠物的网站网站分类 维护
  • 网站备案密码格式外贸网站建设费用多少
  • 北京网站建设还公司可以做众筹的网站
  • cms网站代理最快网站备案
  • 网站建设 010太仓企业网站建设公司
  • 公司网站怎么做包括什么wordpress主题hestia