- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
验证成功的iic verilog 代码
`timescale 1ns / 1ps////////////////////////////////////////////////////////////////////////////////// Company: kuayuan electronic and teclonogy// Engineer: xiao;//// Create Date: 2012/11/15// Design Name: cyclone IV // Module Name: iic_top// Project Name: iic_project// Target Device: cyclone IV// Tool versions: Quartus 12.0// Dependencies: verilog// // Revision: V1.0// Revision File Created////////////////////////////////////////////////////////////////////////////////moduleiic_project(clk,rst_n,bu1,bu2,scl,sda,LED);inputclk;// 50MHzinput rst_n;// 复位信号,低有效input bu1,bu2;// 按键1、2,(1按下执行写入操作,2按下执行读操作)output scl;// 24C02的时钟端口inoutsda;// 24C02的数据端口output[7:0] LED;// 数码管显示的数据// 按键检测regsw1_r,sw2_r;// 键值锁存寄存器,每20ms检测一次键值reg[19:0] cnt_20ms;// 20ms计数寄存器always @ (posedgeclk or negedgerst_n)if(!rst_n)cnt_20ms = 20d0;elsecnt_20ms = cnt_20ms+1b1;//不断计数always @ (posedgeclk or negedgerst_n)if(!rst_n) beginsw1_r = 1b1;// 键值寄存器初始化为高电平;sw2_r = 1b1;endelse if(cnt_20ms == 20hfffff)beginsw1_r = bu1;//按键1值锁存sw2_r = bu2;//按键2值锁存end//分频部分reg[2:0] cnt; // cnt=0:scl上升沿,cnt=1:scl高电平中间,cnt=2:scl下降沿,cnt=3:scl低电平中间reg[8:0] cnt_delay; //500循环计数,产生iic所需要的时钟regscl_r; //时钟脉冲寄存器always @ (posedgeclk or negedgerst_n)if(!rst_n) cnt_delay = 9d0;else if(cnt_delay == 9d499)cnt_delay = 9d0;//周期为20us,即100KHzelsecnt_delay = cnt_delay+1b1;//时钟计数;always @ (posedgeclk or negedgerst_n)beginif(!rst_n)cnt = 3d5;elsebegincase (cnt_delay)9d124:cnt = 3d1;//cnt=1:scl高电平中间,用于数据采样9d249:cnt = 3d2;//cnt=2:scl下降沿9d374:cnt = 3d3;//cnt=3:scl低电平中间,用于数据变化9d499:cnt = 3d0;//cnt=0:scl上升沿default: cnt = 3d5;endcaseendend`define SCL_POS(cnt==3d0)//cnt=0:scl上升沿`define SCL_HIG(cnt==3d1)//cnt=1:scl高电平中间,用于数据采样`define SCL_NEG(cnt==3d2)//cnt=2:scl下笛?`define SCL_LOW(cnt==3d3)//cnt=3:scl偷缙街屑?用于数据变化always @ (posedgeclk or negedgerst_n)if(!rst_n)scl_r = 1b0;else if(cnt==3d0)scl_r = 1b1;//scl信号上升沿else if(cnt==3d2) scl_r = 1b0;//scl信号下降沿assign scl = scl_r;//产生iic所需要的时钟//需要写入24C02的地址和数据`defineDEVICE_REA
您可能关注的文档
- 分享一个近建立客户档案的标准.doc
- 精通三年级英语上册二单元.doc
- my idol——Diana 10D.docx
- 巴黎的英文简2.doc
- 英汉互译在线翻译句子.doc
- 自考-英美文选 试卷20057.doc
- 双语版胜利之吻.doc
- 2013年高考英语语法专题复习-情景交际.doc
- 专八英美文学习题-现实主义.doc
- 仲夏夜之梦——剧本(英文).doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)