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

网站设计自学要怎么制作网站

网站设计自学,要怎么制作网站,wordpress在哪放商务通代码,宁波网站建设方案报价一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 2.编写LED函数#xff08;led.c#xff09; void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器 关闭锁存…一、真题 二、模块构建 1.编写初始化函数(init.c)  void Cls_Peripheral(void); 关闭led    led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 2.编写LED函数led.c void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器 关闭锁存器 3.编写数码管函数seg.c void Seg_Tran(unsigned char *pucSeg_Buf,unsigned char *pucSeg_Code); 1段码转换函数 定义两个变量i,jfor循环加Switch语句进行段码转换,在资源数据包查找段码表并根据题目要求进行段码转换注意添加空格代表都不显示case记得加 判断是否有 . void Seg_Disp(unsigned char *pucSeg_Code,unsigned char ucSeg_Pos) 2数码管显示函数 要对数码管进行消隐显示的位置显示的内容 4.独立按键代码编写 unsigned char Key_Read_BTN(void) 有返回值函数unsigned charif语句判断按键是否按下返回按键所对应的数字 5.超声波代码编写 unsigned char Wave_Recv(void) 定义Tx和Rx引脚将定时器里的TR0设置为0定义变量初始值为10发射10个周期的波形为了规范将定时器的初值进行再次赋值再令TR01让定时器开始计时发送10个周期的信号每12us,TF0溢出将Tx进行异或运算while循环加分号TF0清零关闭定时器将定时器初值清零打开定时器进行正计时whileRX!TF0如果接收到信号或TF0溢出则退出循环退出循环后关闭定时器如果TF0溢出导致退出循环返回最大值255否则返回计时时间返回的时间单位是us,需要统一单位*0.017 进而换算成距离单位为厘米 6.定时器代码编写 void Timer0Init(void); void Timer1Init(void);     定时器0作为超声波定时器将TR00 设置定时器0供超声波代码使用时间为12us,12T,12MHz定时器1作为主定时器,加上ET11 7.编写AD/DA代码 unsigned char PCF8591_ADC(void) void PCF8591_DAC(unsigned char dat); 定义SCL,SDA添加intrins.h头文件定义变量用于存储采集的电压写入流程开始--发送写入地址--等待应答--发送电位器地址--等待应答读取流程开始--发送读取地址--等待应答--变量接收数据--发送应答--终止读取地址为0x91 写入地址为0x90电位器地址为0x43 光敏电阻地址为0x41 三、主函数编写  1.调用初始化定时器0定时器1打开中断总开关stdio.h 2.编写数码管函数 每200ms检测一次if模式Disp_Mode判断不要忘记调用数码管转换函数否则数码管会全部点亮 3. 中断服务函数 为各个变量进行自加 数码管的动态显示 4.模式界面编写 电压数据为unsigned char类型要转化成浮点数  %4.2f参数界面注意上下限的值测距界面注意超声波状态是否开启 5.ADC函数编写 没有规定时间任意即可将采集来的数据赋值给变量对采集的数据进行判断看是否在上下限里从而对超声波设置不同的状态 6.key函数编写  定义两个变量时间为20msif判断两个变量是否相等相等返回不相等进入Switch语句判断哪个按键被按下最后不要忘记加上Key_Val_OldKey_Vals4按下Disp_Mode1对3取模因为是三个界面进行切换根据题目要求判断是否到参数界面到参数界面默认选择电压上限s6按下参数值加0.5注意要判断是否在参数界面s7按下参数值减0.5注意要判断是否在参数界面注意s4按键按下界面切换的顺序和题目给的顺序不一致由于要求对参数的调整在s4按下后才生效所以需要增加两个参数同时记得更改其他按键参数变量 7.超声波函数编写 性能指标未规定时间任意即可在将测距结果赋值给变量前先判断状态为0直接返回不进行测距 8.编写DAC函数 判断超声波状态未开启输出0若开启判断超声波测距结果用if else语句来实现相应功能 关于呈线性关系的那部分图像可以用数学方法计算出ykxb中的k和b 9.编写led函数 性能要求led响应时间小于0.2s判断处于那个界面点亮置1熄灭置0点亮用|熄灭用置1再取反切换亮灭状态用^切换亮灭状态把它放到定时器中断里 四、难点解析 1.按键切换界面的顺序和题目所给顺序不一致 2.调整参数时参数值不生效当按键按下时才生效 3.加减模式的循环用到了if判断 4.DAC的数据转换——通过数学方法解出来 易错点  将不同函数的计时变量复制粘贴时忘记更改 五、主函数代码 #include led.h #include init.h #include seg.h #include key.h #include tim.h #include ultrasonic.h #include iic.h #include stdio.h //seg unsigned char pucSeg_Buf[12],pucSeg_Code[8],ucSeg_Pos0; //time unsigned long ulms0; unsigned int uiSeg_Dly0; unsigned int uiADC_Dly0; unsigned int uiDAC_Dly0; unsigned int uiKey_Dly0; unsigned int uiLed_Dly0; unsigned int uiUltrasonic_Dly0; //led unsigned char ucLed0x00; //ADC unsigned char ucADC0; float ADC_Pram_Max4.5 ,ADC_Pram_Min 0.5; float ADC_Pram_Max_temp4.5 ,ADC_Pram_Min_temp 0.5; //key unsigned char Key_Val0,Key_Val_Old0; //ultrasonic unsigned char ucDist0; unsigned char Ultrasonic_Status0; //function void Seg_Proc(void); void Led_Proc(void); void ADC_Proc(void); void DAC_Proc(void); void Key_Proc(void); void Ultrasonic_Proc(void); //mode unsigned char Disp_Mode0; unsigned char Pram_Mode0;//0--max 1--minvoid main(void) {Cls_Peripheral();Timer0Init();Timer1Init();EA1;while(1){Seg_Proc();ADC_Proc();DAC_Proc();Key_Proc();Led_Proc();Ultrasonic_Proc();} } void Seg_Proc(void) {if(uiSeg_Dly200)return;uiSeg_Dly0;if(Disp_Mode0){sprintf(pucSeg_Buf,U %4.2f,ucADC/51.0);}else if(Disp_Mode2){sprintf(pucSeg_Buf,P %3.1f %3.1f,ADC_Pram_Max_temp,ADC_Pram_Min_temp);}else{if(Ultrasonic_Status0){sprintf(pucSeg_Buf,L AAA);}else {sprintf(pucSeg_Buf,L %3u,(unsigned int)ucDist);}}Seg_Tran(pucSeg_Buf,pucSeg_Code); } void Led_Proc(void) {if(uiLed_Dly100)return;uiLed_Dly0;if(Disp_Mode0){ucLed|0x01;ucLed~0x06;}else if(Disp_Mode1){ucLed|0x02;ucLed~0x05;}else{ucLed|0x04;ucLed~0x03;}if(Ultrasonic_Status1){ucLed^0x80;}else{ucLed~0x80;}Led_Disp(ucLed); } void ADC_Proc(void) {if(uiADC_Dly200)return;uiADC_Dly0;ucADCPCF8591_ADC();if((ucADC/51.0ADC_Pram_Min)(ucADC/51.0ADC_Pram_Max)){Ultrasonic_Status1;}else{Ultrasonic_Status0;} } void Key_Proc(void) {if(uiKey_Dly20)return;uiKey_Dly0;Key_ValKey_Read_BTN();if(Key_ValKey_Val_Old)return;switch(Key_Val){case 4:Disp_Mode(Disp_Mode1)%3;if(Disp_Mode2){Pram_Mode0;ADC_Pram_Max_tempADC_Pram_Max;ADC_Pram_Min_tempADC_Pram_Min;}else if(Disp_Mode0){ADC_Pram_MaxADC_Pram_Max_temp;ADC_Pram_MinADC_Pram_Min_temp;}break;case 5:if(Disp_Mode2){Pram_Mode(Pram_Mode1)%2;}break;case 6:if(Disp_Mode2){if(Pram_Mode0){if(ADC_Pram_Max_temp5.0){ADC_Pram_Max_temp0.5;}else{ADC_Pram_Max_temp0.5;}}else{if(ADC_Pram_Min_temp5.0){ADC_Pram_Min_temp0.5;}else{ADC_Pram_Min_temp0.5;}}}break;case 7:if(Disp_Mode2){if(Pram_Mode0){if(ADC_Pram_Max_temp0.5){ADC_Pram_Max_temp5.0;}else{ADC_Pram_Max_temp-0.5;}}else{if(ADC_Pram_Min_temp0.5){ADC_Pram_Min_temp5.0;}else{ADC_Pram_Min_temp-0.5;}}}break;}Key_Val_OldKey_Val; } void Ultrasonic_Proc(void) {if(uiUltrasonic_Dly500)return;uiUltrasonic_Dly0;if(Ultrasonic_Status0)return;ucDistWave_Recv(); } void DAC_Proc(void) {if(uiDAC_Dly200)return;uiDAC_Dly0;if(Ultrasonic_Status0){PCF8591_DAC(0);}else {if(ucDist20){PCF8591_DAC(51);}else if(ucDist80){PCF8591_DAC(255);}else{PCF8591_DAC(3.4*ucDist-17);}} } void Time_1(void) interrupt 3 {ulms;uiSeg_Dly;uiADC_Dly;uiDAC_Dly;uiKey_Dly;uiLed_Dly;uiUltrasonic_Dly;if (ulms%20){ucSeg_Pos(ucSeg_Pos1)%8;Seg_Disp(pucSeg_Code,ucSeg_Pos);}}
http://www.tj-hxxt.cn/news/234321.html

相关文章:

  • 网站的制作流程有哪些步骤浙江网站建设专家评价
  • ps做网站图片个人简历在线填写电子版
  • 上海婚恋网站排名佛山建网站的公司
  • 海南网上申请营业执照步骤seo石家庄
  • 襄阳微信网站建设父亲节网页制作素材
  • 个人网站如何备案中国室内设计网站
  • 营销型网站建设吉林网站源代码下载软件
  • 个人网站开发实例更改网站备案负责人
  • 潍坊网站建设小程序制作wordpress 批量修改字体
  • 大型网站seo方案做网站设计师好吗
  • 做模具行业的网站站长平台网站
  • 番禺做网站服务js做网站登录界面
  • 品牌网站建设小蝌蚪a网站 手机版 电脑版 怎么做的
  • 国家商标查询官方网站如何建设一个双语的网站
  • 天津做网站优化的公司有的网站域名解析错误
  • 源码网站建设步骤wordpress安装到跟目录
  • 网站建设必须要备案吗零售网站建设
  • 深圳企业做网站网站变黑白代码
  • 营销推广型网站公司常州建设工程交易网站
  • 阜阳交通建设工程质监局网站苗木网站模版
  • wordpress网站合并济南企业网站搭建
  • 苏州智信建设职业培训网站海南综合网站两学一做电视夜校
  • 网站服务内容怎么写建自己博客网站
  • 河源市建设厅网站免费网页域名申请
  • 潜江哪里做网站郑州seo优化哪家好
  • 住房建设部官方网站设计费计取建一千个网站做长尾词有效果吗
  • 阿里云网站建设模板房地产网站建设意义
  • 网站源码下载后怎么用客户案例 网站建设
  • 网站建设投标ppt模板下载北京做网站建设
  • 网站建设河北石家庄wordpress 定时插件