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

网站运营公司哪家值得推荐线上营销策略都有哪些

网站运营公司哪家值得推荐,线上营销策略都有哪些,mvc网站入口asp,网络服务器无响应改进措施或应对策略设计要求 使用E2PROM完成数据记录功能,单片机复位次数记录到E2PROM的地址0中。每复位一次数值加1,按下按键S4,串口发送复位次数。串口发送格式如下: Number:1 备注: 单片机IRC振荡器频率设置为12MHz。 …

设计要求

使用E2PROM完成数据记录功能,单片机复位次数记录到E2PROM的地址0中。每复位一次数值加1,按下按键S4,串口发送复位次数。串口发送格式如下:

              Number:1

备注:

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

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

串口通信波特率设置为 9600。

代码:

sys.h

#ifndef __SYS_H__
#define __SYS_H__#include <STC15F2K60S2.H>
#include "intrins.h"
sbit scl=P2^0;
sbit sda=P2^1;
extern bit flag_send;//用于标明是否发送数据
extern bit flag_set;//用于标明是否重置数据(非题意)
void init74hc138(unsigned char n);
void init();
void w_eeprom(unsigned char addr,unsigned char date);
unsigned char r_eeprom(unsigned char addr);
void Key_Loop();#endif

main.c

#include "sys.h"
unsigned char eeprom_count=0;//EEPROM中的计数值
unsigned char *str = "Number: ";
bit flag_key=0;
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;
}
//发送一个字节数据到串口
void send_uart_date(unsigned char date){SBUF=date;while(TI==0);TI=0;
}
//发送字符串到串口
void send_uart_str(unsigned char *str){while(*str!='\0'){send_uart_date(*str++);}
}
//将数字转换为字符串
void num_transt_str(unsigned char num){if(num>=100)send_uart_date(num/100+'0');if(num>=10)send_uart_date((num%100)/10+'0');send_uart_date(num%10+'0');
}
void Timer0_Init(void)		//100微秒@12.000MHz
{AUXR |= 0x80;			//定时器时钟1T模式TMOD &= 0xF0;			//设置定时器模式TL0 = 0x50;				//设置定时初始值TH0 = 0xFB;				//设置定时初始值TF0 = 0;				//清除TF0标志TR0 = 1;				//定时器0开始计时ET0 = 1;				//使能定时器0中断EA=1;
}
void main(){init();eeprom_count=r_eeprom(0x00);eeprom_count++;w_eeprom(0x00,eeprom_count);UartInit();Timer0_Init();while(1){if(flag_key){flag_key=0;Key_Loop();}if(flag_send){flag_send=0;send_uart_str(str);//发送Number:num_transt_str(eeprom_count);//发送计数器数值send_uart_str("\r\n");//换行}if(flag_set){//重置flag_set=0;eeprom_count=0;w_eeprom(0x00,eeprom_count);}}
}
void uart() interrupt 4
{if(RI){RI=0;}
}
void Timer0_Isr(void) interrupt 1
{static unsigned char count=0;count++;if(count==50){count=0;flag_key=1;}
}

sys.c

#include "sys.h"
unsigned char keyval,keyold,keydown,keyup;
bit flag_send=0;
bit flag_set=0;
void init74hc138(unsigned char n){P2=(P2&0x1f)|(n<<5);P2&=0x1f;
}
void init(){P0=0x00;init74hc138(5);P0=0xff;init74hc138(4);
}
void Key_Loop(){keyval=0;if(P33==0)keyval=1;if(P32==0)keyval=2;keydown=keyval&(keyold^keyval);keyup=~keyval&(keyold^keyval);if(keyval==1&&keyold!=keyval)flag_send=1;if(keyval==2&&keyold!=keyval)flag_set=1;keyold=keyval;
}

iic.c

#include "sys.h"#define DELAY_TIME	5
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);
}
//向EEPROM中写入一个字节数据
void w_eeprom(unsigned char addr,unsigned char date){I2CStart();I2CSendByte(0xa0);I2CWaitAck();I2CSendByte(addr);I2CWaitAck();I2CSendByte(date);I2CWaitAck();I2CStop();
}
//从EEPROM中读取一个字节数据
unsigned char r_eeprom(unsigned char addr){unsigned char temp;I2CStart();I2CSendByte(0xa0);I2CWaitAck();I2CSendByte(addr);I2CWaitAck();I2CStart();I2CSendByte(0xa1);I2CWaitAck();temp=I2CReceiveByte();I2CSendAck(1);I2CStop();return temp;
}

测试结果

http://www.dtcms.com/wzjs/355463.html

相关文章:

  • 一个空间放2个网站网络营销专业是干嘛的
  • 公众号微网站制作企业网址搭建
  • wordpress 免签约支付泰州网站建设优化
  • dw怎么做网站相册vi设计
  • 表白代码青岛网站seo公司
  • 江门网站建设公司哪家好百度搜索引擎广告投放
  • 网站 标题 字体企业培训方案制定
  • 专业的论坛网站建设开发今日实时热搜
  • 什么是网站什么是网站建设itme收录优美图片官网
  • wordpress. 外贸seo百度地图优化
  • 武汉网站建设百家号加盟
  • 网页设计毕业论文免费广州网站优化方式
  • 沈阳响应式网站制作营销推广活动策划
  • 运城建设银行网站推广网站的文案
  • 中国海员建设工会全国委员会网站成都移动seo
  • 长春火车站电话网站优化排名哪家性价比高
  • 汕头市住建局东莞优化怎么做seo
  • 建设ipv6网站软文广告经典案例300
  • ps做的网站模板品牌策划方案怎么写
  • 深圳做网站专业网盘资源
  • wordpress提交评论慢seo关键词排名优化是什么
  • 网站一键制作淄博网站制作优化
  • 南京做网站牛企业如何开展网络营销
  • 荣耀商城seo职业
  • 北京移动官方网站百度推广开户费用多少
  • 亚马逊卖家可以做促销的网站兴安盟新百度县seo快速排名
  • wordpress p=优化建站
  • 石家庄做外贸网站建设全网推广代理
  • 石家庄有没有销售做被用的网站中国企业500强最新排名
  • 建站公司杭州无锡百度快速优化排名