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

建设网站时的故障分类怎样找别人制作网站

建设网站时的故障分类,怎样找别人制作网站,免费国外服务器租用,后期网站一、实验目的 掌握89C51单片机的基本操作和编程方法学习I2C总线协议及其在单片机中的应用实现基于AT24C02 EEPROM的带记忆功能的计数器掌握LCD1602液晶显示模块的使用方法 二、实验设备 89C51单片机开发板#xff08;板载#xff09;AT24C02 EEPROM芯片#xff08;板载板载AT24C02 EEPROM芯片板载LCD1602液晶显示屏板载按键开关板载 三、实验原理 1. 系统组成 本实验系统主要由以下几部分组成 89C51单片机作为主控制器负责处理按键输入、I2C通信和LCD显示AT24C02 EEPROM用于存储计数器的当前值实现断电记忆功能LCD1602液晶显示屏用于显示当前计数值按键开关用于增加计数值 2. I2C总线协议 I2C总线是一种简单的双向二线制同步串行总线由数据线SDA和时钟线SCL组成。本实验使用89C51的P2.0和P2.1引脚模拟I2C总线与AT24C02通信。 3. AT24C02 EEPROM AT24C02是一种2Kbit的串行EEPROM采用I2C接口。其设备地址为0xA0写和0xA1读。本实验使用其第一个地址0x00存储计数值。 4. LCD1602液晶显示 LCD1602是一种字符型液晶显示模块可以显示两行每行16个字符。本实验使用其第一行显示当前计数值。 四、实验电路连接 LCD1602连接 RS引脚连接P3.5RW引脚连接P3.6EN引脚连接P3.4数据线D0-D7连接P0口 AT24C02连接 SDA引脚连接P2.1SCL引脚连接P2.0 按键连接 按键一端连接P3.2另一端接地 五、实验代码分析 头文件和宏定义 #include reg52.h #include intrins.h #define unchar unsigned char #define uint unsigned int 全局变量和常量定义 unchar code dis_table[] 0123456789;  // 数字显示表 sbit button P3^2; // 定义按键 sbit lcden P3^4; // 定义LCD的E端口 sbit lcdrw P3^6; // 定义LCD的RW端口 sbit lcdrs P3^5; // 定义LCD的RS端口 sbit SCL P2^0; // 定义SCL时钟线端口 sbit SDA P2^1; // 定义SDA数据线端口 延时函数 void Delay() { _nop_();    _nop_();    _nop_();    _nop_();    _nop_(); } void DelayMs(uint ms) { uint i; while(ms--) { for(i 110; i 0; i--) ; } } LCD1602操作函数 void Write_Com(unchar com) { lcdrs 0; // 选择指令寄存器 P0 com; DelayMs(5); lcden 1; DelayMs(5); lcden 0; } void Write_data(unchar datas) { lcdrs 1; // 选择数据寄存器 P0 datas; DelayMs(5); lcden 1; DelayMs(5); lcden 0; } void init() { lcdrw 0; // 写操作 lcden 0; Write_Com(0x38);  // 8位数据接口两行显示5x7点阵 Write_Com(0x0c);  // 显示开光标关闪烁关 Write_Com(0x06);  // 写入新数据后光标右移显示不移动 Write_Com(0x01);  // 清屏 } I2C操作函数 void IIC_init() { SCL 1; Delay(); SDA 1; Delay(); } void IIC_start() { SDA 1; Delay(); SCL 1; Delay(); SDA 0; Delay(); } void IIC_respons() { unchar i 0; SCL 1; Delay(); while(SDA 1 (i 255)) { i; } SCL 0; Delay(); } void IIC_stop() { SDA 0; Delay(); SCL 1; Delay(); SDA 1; Delay(); } void IIC_writebyte(unchar date) { unchar i, temp; temp date; for(i 0; i 8; i) { temp temp 1; SCL 0; Delay(); SDA CY; Delay(); SCL 1; Delay(); } SCL 0; Delay(); SCL 1; Delay(); } unchar IIC_readbyte() { unchar i, Data; SCL 0; Delay(); SDA 1; for(i 0; i 8; i) { SCL 1; Delay(); SDA 1; Data (Data 1) | SDA; SCL 0; Delay(); } Delay(); return Data; } EEPROM读写函数 void Write_add(unchar date, unchar address) { IIC_start(); IIC_writebyte(0xa0);  // 写入设备地址 IIC_respons(); IIC_writebyte(address);  // 写入存储地址 IIC_respons(); IIC_writebyte(date);  // 写入数据 IIC_respons(); IIC_stop(); } unchar Read_add(unchar address) { unchar datas; IIC_start(); IIC_writebyte(0xa0);  // 写入设备地址 IIC_respons(); IIC_writebyte(address);  // 写入存储地址 IIC_respons(); IIC_start(); IIC_writebyte(0xa1);  // 读取设备地址 IIC_respons(); date IIC_readbyte();  // 读取数据 IIC_stop(); return datas; } 显示函数 void display(unchar date) { Write_Com(0x80);  // 设置显示位置为第一行第一个字符 Write_data(dis_table[date/100]);  // 显示百位 Write_data(dis_table[date%100/10]);  // 显示十位 Write_data(dis_table[date%10]);  // 显示个位 } 主函数 void main() { unchar num, NUM; init(); IIC_init(); while(1) { if(button 0) {  // 检测按键按下 DelayMs(10);  // 消抖 if(button 0) { num Read_add(0x00);  // 读取当前计数值 num; if(num 255) num 0;  // 限制计数值在0-255范围内 Write_add(num, 0x00);  // 将新值写入EEPROM } while(button 0);  // 等待按键释放 } NUM Read_add(0x00);  // 读取当前计数值 display(NUM);  // 显示计数值 } } 六、实验步骤 按照电路连接图连接好硬件电路将编译好的程序烧录到89C51单片机中接通电源观察LCD1602显示初始计数值应为0按下按键观察计数值增加断电后重新上电观察计数值是否保持断电前的值 七、实验结果与分析 实验结果 系统上电后LCD1602显示初始计数值0每次按下按键计数值增加1当计数值达到255后再按一次按键计数值变为0断电后重新上电计数值保持断电前的值 结果分析 系统能够正确读取和写入EEPROM中的数据实现了断电记忆功能按键消抖处理有效避免了按键抖动导致的误计数LCD1602显示正常能够实时显示当前计数值计数值范围限制在0-255之间符合设计要求 八、实验总结 通过本次实验我掌握了以下知识和技能 89C51单片机的基本编程方法I2C总线协议及其在单片机中的应用AT24C02 EEPROM的使用方法LCD1602液晶显示模块的编程和显示控制按键消抖处理的方法 实验中遇到的问题及解决方法 问题初始上电时LCD显示乱码 解决检查发现LCD初始化时序不正确调整延时后解决问题按键按下时计数值多次增加 解决增加按键消抖处理并在按键按下后等待释放问题断电后重新上电计数值不记忆 解决检查EEPROM读写函数发现I2C时序不正确调整后解决 九、实验要求 可以增加减计数功能通过另一个按键实现可以增加清零功能通过长按按键实现可以优化I2C通信的延时函数提高通信效率可以增加计数值范围限制的提示信息
http://www.hkea.cn/news/14351088/

相关文章:

  • 国内最便宜机票网站建设手机小游戏网站
  • 广东网站建设电话外链生成网站
  • 重庆网站建设与网络推广石家庄房产网官网
  • 建立网站的基本流程wordpress评论表情不显示不出来
  • 沈阳哪里可以做网站营销wordpress完整虚拟资源下载
  • 南昌有哪些做网站的公司房产信息网预告是什么意思
  • 越城区住房和城乡建设局网站鲜花电子商务网站建设规划书
  • 宣传型企业网站设计上海电商网站开发
  • 用友公司能不能做网站建设asp 网站图标
  • 网站502 解决办法做网站电商云数据库有用吗
  • 东莞商务网站建设源码之家 网站模板
  • 分享设计的网站河北邢台做网站
  • 网站做ssl证书有风险河北省水利建设市场网站
  • 中国建设报社门户网站漳州网站建设企业
  • 平原县网站建设360全景图制作
  • 集团网站设计思路全网站开发是什么
  • 北京大兴最专业的网站建设公司贵州省交通工程建设质监局网站
  • 建设银行网站入口wordpress如何修改首页模板文件
  • 建设信用卡在线海淘网站返现资金盘网站开发公司哪里好
  • 国外手机模板网站高明铝业网站建站
  • 潍坊专业网站建设哪家便宜手机发布会
  • 网站开发需要哪些文档网站建设常用的开发语言介绍
  • 做网站看网页效果wordpress实现ajax
  • 建设网站成本wordpress黑桃锤击
  • 买过域名之前就可以做网站了吗?建筑施工特种证书查询入口官网
  • app网站公司请输入搜索关键词
  • 网站 搭建 公司专做立体化的网站
  • 郑州做旅游网站的公司深圳做网站优化工资多少
  • wordpress的网站怎么保存电商网站设计说明书
  • 导航网站开发用户文档网站建设方案书制作流程