8051单片机内核IP源码cyclone2 fpga quartu工程文件+文档说明, 可以做为你的FPGA设计学习参考。 该部分的8051内核的顶层信号引脚在8051内核的顶层便可查看到各个引脚模块的定 义。引脚的定义和普通的 8051 单片机相似,区别在于 P3 口的定义,普通的 8051 单片机的 P3 口有双重功能,在对普通的 8051 单片机编程时,特别是用 C 进行编程时所面向的是寄存 器层面的,但在硬件层面上,在定义 P3 口的两种功能时是不一致的,原因是用 C 编程时, 编译软件已经将 C 代码转变成机器代码,让机器能够辨别要用哪一个硬件模块,也就是 8051 的内核已经“解码”了机器码。普通的 8051 芯片的引脚框图和 P3 口的定义如下如下: 8051IP 核 核心本身是由定时器/计数器,ALU,串行接口,和控制单元组成。 8015 内核的原理图: Clk:时钟输入 Reset:复位输入引脚 rom_data_i:ROM 数据输入 ram_data_i :RAM 数据输入 int0_i 外部中断 0 int1_i:外部中断 1 all_t0_i:定时计数 0 all_t1_i:定时计数 1 all_rxd_i:串口接收 p0_i:IO-port0 input p1_i:IO-port1 input p2_i :IO-port2 input p3_i:IO-port3 input p0_o:IO-port0 output p1_o:IO-port1 output p2_o :IO-port2 output p3_o :IO-port3 output all_rxd_o:内部接收后直接输出,可以进入 all_rxd_i all_txd_o:串口发送 all_rxdwr_o:接收方向信号 rom_adr_o: 输出到 ROM 地址信号 ram_data_o:输出到 RAM 数据信号 ram_adr_o :输出到 RAM 地址信号 ram_wr_o :数据输出到 RAM 的使能信号 ram_en_o:RAM 的时钟使能信号 datax_i:从 RAM 的数据输入到单片机的信号 datax_o:从单片机输出数据到 RAM 的信号 adrx_o:RAM 的地址信号 wrx_o:RAM 的写使能信号
银联在线支付接口文档详细说明,包括java,c的
2021-08-20 17:55:59 7KB 银联在线支付
1
内含13个java小游戏源代码,并且有文档说明,下下来看看吧。
2021-08-13 13:37:03 1.4MB java小游戏 源代码 文档说明
1
利用Python爬虫微信公众号文章,有详细的文档说明包括爬虫以及数据可视化, 还附带了源码。
STM32F103+FFT+OLED12864屏音乐频谱动态显示单片机软件源码+PDF硬件原理图+文档说明
2021-08-10 14:02:34 8.76MB STM32F103 FFT OLED12864屏 音乐频谱动态显示
STM32F103+FFT+OLED25664屏音乐频谱动态显示单片机软件源码+PDF硬件原理图+文档说明
红外接收模块FPGA实验Verilog逻辑源码Quartus工程文件+文档说明资料,FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。 module remote_rcv ( //input input sys_clk , //系统时钟 input sys_rst_n , //系统复位信号,低电平有效 input remote_in , //红外接收信号 //output output reg [15:0] data_buf , // for not optimize output beep , // for shut beep output reg [7:0] led //指示LED ); //reg define reg [11:0] div_cnt ; //分频计数器 reg div_clk ; reg remote_in_dly ; reg [6:0] start_cnt ; reg [6:0] start_cnt1 reg [11:0] div_cnt ; //分频计数器 reg div_clk ; reg remote_in_dly ; reg [6:0] start_cnt ; reg [6:0] start_cnt1 ; reg [5:0] start_cnt2 ; reg [5:0] user_cnt ; reg [5:0] data_cnt ; reg [14:0] data_judge_cnt ; reg [14:0] noise_cnt ; reg [4:0] curr_st ; reg [4:0] next_st ; //wire define wire remote_pos ; wire remote_neg ; //fsm define parameter IDLE = 3'b000 ; parameter CHECK_START_9MS = 3'b001 ; parameter CHECK_START_4MS = 3'b010 ; parameter CHECK_USER_CODE = 3'b011 ; parameter CHECK_DATA_CODE = 3'b100 ;
七段数码管0~9循环计数显示FPGA(EP4CE6)实验Verilog逻辑源码Quartus工程文件+文档说明资料, FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。 1 SEG_LED七段数码管 1.1数码管简介 数码管由七个条状和一个点状发光二极管管芯制成,称为七段数码管。数码管是一类价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮。从而显示出数字使其能够表示时间、温度、日期等一切可以使用数字表示的参数的器件。 数码管在电器特别是家电领域应用十分广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器使用的都是数码管,也有的家电使用液晶屏或荧光屏。 1.2实验任务 编写逻辑使数码管从0~9循环计数,时间间隔为1秒。 module remote_rcv ( //input input sys_clk , //系统时钟 input sys_rst_n , //系统复位信号,低电平有效 input remote_in , //红外接收信号 //output output reg [15:0] data_buf , // for not optimize output beep , // for shut beep output reg [7:0] led //指示LED ); //reg define reg [11:0] div_cnt ; //分频计数器 reg div_clk ; reg remote_in_dly ; reg [6:0] start_cnt ; reg [6:0] start_cnt1 ; reg [5:0] start_cnt2 ; reg [5:0] user_cnt ; reg [5:0] data_cnt ; reg [14:0] data_judge_cnt ; reg [14:0] noise_cnt ; reg [4:0] curr_st ; reg [4:0] next_st ; //wire define wire remote_pos ; wire remote_neg ; //fsm define parameter IDLE = 3'b000 ; parameter CHECK_START_9MS = 3'b001 ; parameter CHECK_START_4MS = 3'b010 ; parameter CHECK_USER_CODE = 3'b011 ; parameter CHECK_DATA_CODE = 3'b100 ;
华邦w25x16 SPIFlash Read ID FPGA(EP4CE6)实验Verilog逻辑源码Quartus工程文件+文档说明资料,FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。 **------------------------------------------------------------------------------------------------------ ** Modified by: ** Modified date: ** Version: ** Descriptions: Read the Device ID of the W25X16 Flash ** **------------------------------------------------------------------------------------------------------ ********************************************************************************************************/ module W25X16 ( //input signal input sys_clk , input sys_rst_n , input W25X16_DO , //output signal output reg W25X16_CS , output reg W25X16_CLK , output reg W25X16_DIO , output reg [7:0] LED ); //reg define reg [5:0] counter ; reg [5:0] clk_cnt ; reg [15:0] shift_buf ; //wire define wire div_clk1 ; wire div_clk2 ; /******************************************************************************************************* ** Main Program ** ********************************************************************************************************/ //creat a clock about 1MHz always @(posedge sys_clk or negedge sys_rst_n) begin if ( sys_rst_n ==1'b0 ) clk_cnt <= 6'b0; else clk_cnt <= clk_cnt + 1'b1; end assign div_clk1 = clk_cnt[5]; assign div_clk2 = ~clk_cnt[5]; //get a counter that width is 6 bits always @(posedge div_clk1 or negedge sys_rst_n) begin if ( sys_rst_n ==1'b0 ) counter <= 6'b0; else counter = 8 && counter <= 58 ) W25X16_CS <= 1'b0;
RS485接口收发测试FPGA读写实验Verilog逻辑源码Quartus工程文件+文档说明资料,FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。 实验任务和现象 任务:使用两块开发板,一块用作发送,一块用作接收。通过4个按键改变数据,并用LED将发送和接收的数据显示出来。 现象:两块开发板LED显示的效果一样,并且按下不同的按键,可以改变LED的显示,同时接收的板子接到数据后改变LED显示。 •5、设计思路 我们依旧采用串口的设计思路,设计程序,但因为 MAX485是半双工器件,所以需要接收和发送状态切换,有两个时能端,我们的开发板,将两个接到一起用一个引脚控制。 我们以串口发送为例: 以波特率9600为例子说明,波特率9600接收一个bit的时间为1s/9600=104us,即每隔104us发送一个数据。 module RS485_Revc ( input sys_clk , input sys_rst_n , input RO , output wire RE_DE , output reg [7:0] LED ); /***************reg define****************/ reg [7:0] buff ; reg [7:0] data_out ; reg [15:0] counter ; reg rxd_din1 ; //uart rxd input ; reg rxd_din2 ; //uart rxd input ; reg rxd_negedge_sig_flag ; /***************wire define***************/ wire rxd_negedge_sig ; /******************************************************************************************************* ** Main Program ** ********************************************************************************************************/ assign RE_DE = 1'b0; always @ (posedge sys_clk or negedge sys_rst_n) begin if ( sys_rst_n ==1'b0 ) begin rxd_din1 <= 1'b0; rxd_din2 <= 1'b0; end else begin rxd_din1 <= RO ; rxd_din2 <= rxd_din1; end end assign rxd_negedge_sig = (~rxd_din2) &(rxd_din1); always @ (posedge sys_clk or negedge sys_rst_n) begin if ( sys_rst_n ==1'b0) rxd_negedge_sig_flag <= 1'b0; else rxd_negedge_sig_flag <= rxd_negedge_sig; end always @ (posedge s