"); //-->
//************************AVR单片机 C程序*****************************
//ADS7818采用SPI模式采样
#define CLK_SET PORTC|=(1<<6)
#define CLK_CLI PORTC&=~(1<<6)
#define CONV_SET PORTC|=(1<<5)
#define CONV_CLI PORTC&=~(1<<5)
//****************************ADS7818采样程序********************************
//晶振16M
//ADS7818采用SPI模式采样
unsigned int ADS7818(void)
{
unsigned int ADdata=0;
unsigned char i;
CONV_CLI; //conv低
CLK_SET; //1clk //clk高
_NOP();
CLK_CLI; //clk低
_NOP();
CLK_SET; //2clk //clk高
_NOP();
for(i=0;i<12;i++)
{
CLK_CLI; //clk低
_NOP();
CLK_SET; //clk高
_NOP();
ADdata=ADdata<<1;
if(PINC&0x80)
{
ADdata|=0x0001;
}
else
{
ADdata&=0xFFFE;
}
}
CLK_CLI; //clk低
_NOP();
CLK_SET; //15 clk //clk高
_NOP();
CLK_CLI; //clk低
_NOP();
CLK_SET; //16 clk //clk高
_NOP();
CLK_CLI; //clk拉低
_NOP();
CONV_SET; //CONV拉高
_NOP(); //至少保持350ns
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
ADdata=ADdata&0x0FFF;
return ADdata;
}
//**********************verilog语言控制ADS7818*********************
//ADS7818采用DSP模式采样
/************************************************************************************
**读取ADS7818数据
**clk为50M
***************************************************************************************/
module read_7818(clk,rst,CLK_7818,DATA_7818,CONV_7818,AD_result);
input clk;
input rst;
input DATA_7818;
output CLK_7818;
output CONV_7818;
output [11:0]AD_result;
reg CLK_7818;
reg CONV_7818;
reg [11:0]AD_result;
reg [1:0]num_80ns;
reg clk_80ns;
//*******************************分频程序**********************
always @(posedge clk)
begin
if(num_80ns==2'd1)
begin
num_80ns=2'd0;
clk_80ns=~clk_80ns;
end
else
begin
num_80ns=num_80ns+1'b1;
end
end
//************************************控制时序****************************
reg [5:0]state_7818;
reg [11:0]AD_reg; //采样数据缓存
always @(posedge clk_80ns or negedge rst)
begin
if(!rst)
begin
state_7818<=6'd0;
end
else
begin
case(state_7818)
0:
begin
CLK_7818<=1'b0;
state_7818<=6'd1;
end
1: //clk up 1
begin
CLK_7818<=1'b1;
CONV_7818<=1'b1;
state_7818<=6'd2;
end
2:
begin
CLK_7818<=1'b0;
state_7818<=6'd3;
end
3: //clk up 2
begin
CLK_7818<=1'b1;
AD_reg[11]<=DATA_7818;
state_7818<=6'd4;
end
4:
begin
CLK_7818<=1'b0;
state_7818<=6'd5;
end
5: //clk up 3
begin
CLK_7818<=1'b1;
AD_reg[10]<=DATA_7818;
state_7818<=6'd6;
end
6:
begin
CLK_7818<=1'b0;
state_7818<=6'd7;
end
7: //clk up 4
begin
CLK_7818<=1'b1;
AD_reg[9]<=DATA_7818;
state_7818<=6'd8;
end
8:
begin
CLK_7818<=1'b0;
state_7818<=6'd9;
end
9: //clk up 5
begin
CLK_7818<=1'b1;
AD_reg[8]<=DATA_7818;
state_7818<=6'd10;
end
10:
begin
CLK_7818<=1'b0;
state_7818<=6'd11;
end
11: //clk up 6
begin
CLK_7818<=1'b1;
AD_reg[7]<=DATA_7818;
state_7818<=6'd12;
end
12:
begin
CLK_7818<=1'b0;
state_7818<=6'd13;
end
13: //clk up 7
begin
CLK_7818<=1'b1;
AD_reg[6]<=DATA_7818;
state_7818<=6'd14;
end
14:
begin
CLK_7818<=1'b0;
state_7818<=6'd15;
end
15: //clk up 8
begin
CLK_7818<=1'b1;
AD_reg[5]<=DATA_7818;
state_7818<=6'd16;
end
16:
begin
CLK_7818<=1'b0;
state_7818<=6'd17;
end
17: //clk up 9
begin
CLK_7818<=1'b1;
AD_reg[4]<=DATA_7818;
state_7818<=6'd18;
end
18:
begin
CLK_7818<=1'b0;
state_7818<=6'd19;
end
19: //clk up 10
begin
CLK_7818<=1'b1;
AD_reg[3]<=DATA_7818;
state_7818<=6'd20;
end
20:
begin
CLK_7818<=1'b0;
state_7818<=6'd21;
end
21: //clk up 11
begin
CLK_7818<=1'b1;
AD_reg[2]<=DATA_7818;
state_7818<=6'd22;
end
22:
begin
CLK_7818<=1'b0;
state_7818<=6'd23;
end
23: //clk up 12
begin
CLK_7818<=1'b1;
AD_reg[1]<=DATA_7818;
state_7818<=6'd24;
end
24:
begin
CLK_7818<=1'b0;
state_7818<=6'd25;
end
25: //clk up 13
begin
CLK_7818<=1'b1;
AD_reg[0]<=DATA_7818;
state_7818<=6'd26;
end
26:
begin
CLK_7818<=1'b0;
state_7818<=6'd27;
end
27: //clk up 14
begin
CLK_7818<=1'b1;
state_7818<=6'd28;
end
28:
begin
CLK_7818<=1'b0;
state_7818<=6'd29;
end
29: //clk up 15
begin
CLK_7818<=1'b1;
AD_result<=AD_reg; //将采集的12位数据打入出输出
state_7818<=6'd30;
end
30:
begin
CLK_7818<=1'b0;
state_7818<=6'd31;
end
31: //clk up 16
begin
CLK_7818<=1'b1;
CONV_7818<=1'b0;
state_7818<=6'd0;
end
default:
begin
end
endcase
end
end
endmodule
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
高性能双频无线话筒接收电路
村田最新业绩显示:MLCC需求暴增
小尺寸、大电流的PCB接插件(上)
电连接器检验仪器应用研究(上)
高灵敏无线探听器电路
三星将半导体玻璃基板项目移交业务部门
电连接器检验仪器应用研究(下)
AMD苏姿丰淡化PC内存危机,称 “我们的重点领域是企业市场”
ZLG500B 应用文档V1.4 (仅对购买ZLG500B产品的客户开...
瑞士如何以 “精耕细作” 打造全球半导体优势
Atmel推出安全USB MCU
维兰德高性能铜合金以及其在连接器领域的解决方案(下)
硅光子成GTC 2026焦点?NVIDIA竹北验证测试专区再扩大
赛普拉斯推出低价USB 2.0收发器
扬智推出小尺寸USB 2.0视频照相机控制器
用于音量、音调和均衡控制的集成电位器电路电路
ZLG500B读卡模块演示软件
ZLG500BX2 器件读卡模块简介
ITECH发布IT-N6700系列高压可编程直流电源
ZLG500B 器件读卡模块简介
2025年电动汽车销量下滑,马斯克转战人形机器人
飞利浦USB On-The-Go半导体解决方案入选索尼手持设备
低噪声音频前置放大电路
高保真前置放大电路
三星2nm工艺量产在即,晶圆代工业务能否逆袭?
小尺寸、大电流的PCB接插件(下)
特斯拉2025年营收半数来自美国市场
科尔蒂(Corti)推出面向医疗健康领域的多智能体人工智能框架
ZLG500B 应用文档V1.3 (仅对购买ZLG500B产品的客户开...
赛普拉斯推出1美元的USB 2.0芯片