PIC单片机及FPGA实验系统设计 第27页
* *功能描述:从EEPOROM中取数据
*********************************/
void Read_Eeporom()
{
unsigned int Data1,Data2;
EEADR=0X00;
EEPGD=0;
RD=1;
Data1=EEDATA;
EEADR=0X01;
EEPGD=0;
RD=1;
Data2=EEDATA;
Key_Shezhi=Data1*100+Data2;
}
* *函数名delay()
* *功能描述:延时子程序
********************************************/
void delay()
{
int i,j;
for(i=0;i<100;i++)
for(j=0;j<10;j++)
;
}
/*****************#######################################
void delay1()
{
unsigned int i,j;
for(i=0;i<50;i++)
for(j=0;j<10;j++)
;
}*/
/******************************************
void pic_IOinit(void) //初始化
{
TRISC6=0;
TRISC7=1;
TXSTA=0X04; //异步模式
SPBRG=25; //使波特率=9600
SPEN=1; //1 = 允许串口工作( 把 RX/DT 和TX/CK 引脚配置为串口引脚 )
TX9=0; //0 = 选择8 位数据发送
TXEN=1; //允许串口发送数据
}
//*************************************/
附录(十五):4选1多路选择器
library ieee; --库声明
use ieee.std_logic_1164.all;
entity mux41 is --实体
port( s : in std_logic_vector(1 downto 0);
a,b,c,d : in std_logic;
y : out std_logic);
end mux41;
architecture bhv of mux41 is
begin
process(s)
begin
if s="00" then
y<=a;
elsif s="01" then
y<=b;
elsif s="10" then
y<=d;
end if;
end process;
end bhv;
附录(十辣):仿真波形:
功能仿真:
时序仿真:
附录(十七):
--对于分频倍数不是 2 的整数次幂的情况,我们只需要对源代码中
--的计数器进行一下计数控制就可以了,如下面源代码描述一个对时钟
---信号进行 6 分频的分频器
library ieee; --库声明
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity fenpin1 is --实体声明
port(clk : in std_logic;
clk_div6 : out std_logic);
end fenpin1;
architecture rtl of fenpin1 is ---结构体声明
signal count : std_logic_vector(1 downto 0);
signal clk_temp : std_logic;
begin
process(clk)
begin
if clk'event and clk='1' then
if count="10" then --记数到4,则清零
count<="00";
clk_temp<=not clk_temp;
else
count<=count+1;
end if;
end if;
end process;
clk_div6 <= clk_temp;
end rtl;
附录(十八):
功能仿真:
<< 上一页 [21] [22] [23] [24] [25] [26] [27] [28] 下一页
PIC单片机及FPGA实验系统设计 第27页下载如图片无法显示或论文不完整,请联系qq752018766