一、设计任务及要求:

设计任务:用Verilog HDL对CPLD芯片EPM240T100C5进行编程,并增加适当的电子元件,设计一个数字电子时钟电路

要求:

1.具有“时”“分”的数字显示功能,并可以进行时间校准

2.用发光二极管设计一个“表盘”,通过对应发光二极管的依次点亮来模拟表盘显示时间。

1 设计目的

1.进一步掌握数字电子技术的理论知识,培养工程设计能力和综合分析问题、解决问题的能力;

2.基本掌握常用电子电路的一般设计方法,提高电子电路的设计分析和实验能力;

3.掌握复杂可编程逻辑器件CPLD的原理及使用方法;

4.掌握Verilog HDL硬件描述语言的一般语法规则,学会设计方针CPLD器件,了解CPLD的烧写过程;

5.熟悉并学会选用电子元器件,为以后从事科研和生产工作打下一定的基础。

2 设计思路

2.1电路总体设计方案

2.2震荡电路

2.3控制电路

1.复位信号:系统初始化,并给时钟一个初始值,  零时零分零秒

2.时校准控制信号:校准小时计数

3.分校准控制信号:校准分钟计数

4.12/24小时计数切换控制信号

2.4时分秒计数器

1.秒计数器对秒脉冲计数,当计数至60时清零并产生分钟计数脉冲

2.分钟计数器对分钟计数脉冲计数,当计数至60时清零并产生小时计数脉冲。在分钟校准信号有效时对秒脉冲计数以实现分钟校时

3.小时计数器对小时计数脉冲计数,同时计数至12或24时清零。在小时校准信号有效时对秒脉冲进行计数以实现小时校时

4.设计过程 (每一个功能设计都要.包含源程序代码、编译结果、功能仿真波形结果)

4.1时分动态显示位码产生程序:编写一个2—4译码器,要求输出高电平有效。

源程序代码:

module dec_wei (

input [1:0]A,

output reg [3:0]W

);

always @(A)

W<=4'b0001<<(A);

Endmodule

4.2编写一个60进制秒计数器程序,对输入的秒脉冲进行计数。

源程序代码:

module dec_wei(SP,S);

input SP;

output reg[5:0]S;

always @(posedge SP)

if(S!=6'd59) S=S+6'd1;

else S=6'd0;

endmodule

4.3编写一个60进制分钟计数器程序,对输入的分钟脉冲进行计数。

实验代码:

module cnt60m(MP,Mh,Ml);

input MP;

output reg[2:0]Mh;

output reg[3:0]Ml;

always @(posedge MP)

if(Ml==4'd9)

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

if(Mh==3'd5)

Mh<=1'd0;

end

else if(Ml!=4'd9) begin

Ml<=Ml+1'd1;

end

endmodule

4.4编写一个12进制的小时计数器,对输入的小时脉冲进行计数。

实验代码:

module cnt12h (HP,Hl,Hh);

input HP;

output reg[3:0]Hl;

output reg[1:0]Hh;

always @(posedge HP)

if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd1;

Hh<=Hh+2'd1;

end

endmodule

4.5编写一个24进制的小时计数器,对输入的小时脉冲进行计数。

实验代码:

module cnt24h (HP,Hl,Hh);

input HP;

output reg[3:0]Hl;

output reg[1:0]Hh;

always @(posedge HP)

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd1;

Hh<=Hh+4'd1;

end

endmodule

3.6编写一个12/24进制小时计数器程序,对输入的脉冲进行计数。当输入控制信号Hc=1时是24进制,否则12进制。

实验代码:

module cnt12_24 (HP,Hl,Hh,Hc);

input HP;

input Hc;

output reg[3:0]Hl;

output reg[1:0]Hh;

always @(posedge HP)

if(Hc==1'd1)

begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+4'd1;

end

end

else

begin

if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

endmodule

4.6编写一个时分秒计数器程序,对输入的秒脉冲进行计数。并且当输入控制信号Hc=1时是24进制,否则12进制。

实验代码:

module cnt_smh (Clk,Hc,Hh,Hl,Mh,Ml,S);

input Clk,Hc;

output reg[3:0]Hl;

output reg[1:0]Hh;

output reg[2:0]Mh;

output reg[3:0]Ml;

output reg[5:0]S;

always @(posedge Clk)

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+4'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

end

endmodule

4.7编写一个带控制功能的时分秒程序,对输入的秒脉冲进行计数。
控制信号 Hc=1时是24进制,否则12进制
Cm=1时分钟正常计数,否则分钟校时
Hm=1时小时正常计数,否则小时校时
RST=0时复位,所有计数器回到0

实验代码:

module cnt (Sp,RST,Ch,Cm,Hc,S,Ml,Mh,Hl,Hh);

input Sp,RST,Ch,Cm,Hc;//秒脉冲,复位,小时、分校准

output reg[3:0]Hl;

output reg[1:0]Hh;

output reg[2:0]Mh;

output reg[3:0]Ml;

output reg[5:0]S;

always @(posedge Sp)

if(RST==0)

begin

Hh<=2'd0;

Hl<=4'd0;

Mh<=3'd0;

Ml<=4'd0;

S<=6'd0;

end

else

begin

case({Cm,Ch})

2'b11:begin

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

end

end

2'b10:begin

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

2'b01:begin

if(S!=6'd59)

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

end

end

end

end

2'b00:begin

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

end

end

endcase

end

endmodule

4.8编写一个带控制功能的时分秒程序,对输入的秒脉冲进行计数。
控制信号 Hc=1时是24进制,否则12进制:
Cm=1时分钟正常计数,否则分钟校时
Hm=1时小时正常计数,否则小时校时
RST=0时复位,所有计数器回到0
再加上圆盘显示译码程序
实验代码:

module cnt (Sp,RST,Ch,Cm,Hc,S,Ml,Mh,Hl,Hh,Sh,Sl);

input Sp,RST,Ch,Cm,Hc;//秒脉冲,复位,小时、分校准

output reg[3:0]Hl;

output reg[1:0]Hh;

output reg[2:0]Mh;

output reg[3:0]Ml;

output reg[5:0]S;

output wire[7:0]Sh,Sl;

always @(posedge Sp)

if(RST==0)

begin

Hh<=2'd0;

Hl<=4'd0;

Mh<=3'd0;

Ml<=4'd0;

S<=6'd0;

end

else

begin

case({Cm,Ch})

2'b11:begin

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

end

end

2'b10:begin

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

2'b01:begin

if(S!=6'd59)

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

end

end

end

end

2'b00:begin

if(S!=6'd59)

//begin//秒

S<=S+6'd1;

 else

begin

S<=6'd0;

Ml<=Ml+1'd1;//秒进位分加1

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

Ml<=1'd0;

Mh<=Mh+3'd1;

 if(Mh==3'd5)

begin

 Mh<=1'd0;

 Hl<=Hl+4'd1;//分进位时加1

if(Hc==1'd1)//时

    begin

if({Hh,Hl}==6'h23)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

end

else

    begin

    if({Hh,Hl}==6'h11)

{Hh,Hl}<=6'h0;

else

if(Hl!=4'd9)

Hl<=Hl+4'd1;

else

begin

Hl<=4'd0;

Hh<=Hh+2'd1;

end

   end

end

end

end

end

endcase

end

assign Sh=(8'b00000001<<({S[5],S[4],S[3]}));

assign Sl=~(8'b00000001<<({S[2],S[1],S[0]}));

endmodule

4.9将前面的程序加上对32768Hz的震荡信号进行计数。(最终版)

实验代码:

module clk182(CP,RST,Hc,Ch,Cm,Sh,Sl,W,ddo,pin_50,pin_51);

input CP,RST,Ch,Cm,Hc,pin_50,pin_51;//秒脉冲,复位,小时、分校准

output wire[3:0]W;

output wire[7:0]Sh,Sl;

output wire[7:0]ddo;

//中间变量

reg[3:0]Hl;

reg[1:0]Hh;

reg[2:0]Mh;

reg[3:0]Ml;

reg[5:0]S;

reg[14:0]Q;

reg[6:0]Hhd,Hld,Mhd,Mld;

wire Sp;

wire[7:0]Hhdo,Hldo,Mhdo,Mldo;

always @(posedge CP)

begin

if(RST==1'd0)

begin

Hh<=2'd2;

Hl<=4'd3;

Mh<=3'd5;

Ml<=4'd9;

S<=6'd59;

end

else

begin

if(Q!=15'd32767)

Q<=Q+1'd1;

else

begin

Q<=1'd0;

case({Ch,Cm})

2'b11:

begin

if(S!=6'd59)

S<=S+1'd1;

else

begin

S<=1'd0;

if(Ml==4'd9)

begin

if(Mh!=3'd5)

begin

Mh<=Mh+1'd1;

Ml<=1'd0;

end

else

begin

Mh<=1'd0;

Ml<=1'd0;

if(Hc==1'd0)

begin

if(Hl==1'd1&&Hh==1'd1)

begin

Hl<=1'd0;

Hh<=1'd0;

end

else if(Hl==4'd9)

begin

Hl<=1'd0;

Hh<=Hh+1'd1;

end

else Hl<=Hl+1'd1;

end

else

begin

if(Hl==4'd9)

begin

Hl<=1'd0;

Hh<=Hh+1'd1;

end

else if(Hl==2'd3&&Hh==2'd2)

begin

Hh<=1'd0;

Hl<=1'd0;

end

else  Hl<=Hl+1'd1;

end

end

end

else Ml<=Ml+1'd1;

end

end

2'b10:

begin

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

if(Mh==3'd5)

begin

Ml<=1'd0;

Mh<=1'd0;

end

else

begin

Ml<=1'd0;

Mh<=Mh+1'd1;

end

end

end

2'b01:

begin

if(Hc==1'd0)

begin

if(Hl==1'd1&&Hh==1'd1)

begin

Hl<=1'd0;

Hh<=1'd0;

end

else if(Hl==4'd9)

begin

Hl<=1'd0;

Hh<=Hh+1'd1;

end

else Hl<=Hl+1'd1;

end

else

begin

if(Hl==4'd9)

begin

Hl<=1'd0;

Hh<=Hh+1'd1;

end

else if(Hl==2'd3&&Hh==2'd2)

begin

Hh<=1'd0;

Hl<=1'd0;

end

else  Hl<=Hl+1'd1;

end

end

2'b00:

begin

if(S!=6'd59)

S<=S+1'd1;

else S<=1'd0;

if(Ml!=4'd9)

Ml<=Ml+1'd1;

else

begin

if(Mh==3'd5)

begin

Ml<=1'd0;

Mh<=1'd0;

end

else

begin

Ml<=1'd0;

Mh<=Mh+1'd1;

end

end

if(Hc==1'd0)

begin

if(Hl==1'd1&&Hh==1'd1)

begin

Hl<=1'd0;

Hh<=1'd0;

end

else if(Hl==4'd9)

begin

Hl<=1'd0;

Hh<=Hh+1'd1;

end

else Hl<=Hl+1'd1;

end

else

begin

if(Hl==4'd9)

begin

Hl<=1'd0;

Hh<=Hh+1'd1;

end

else if(Hl==2'd3&&Hh==2'd2)

begin

Hh<=1'd0;

Hl<=1'd0;

end

else  Hl<=Hl+1'd1;

end

end

endcase

end

case (Ml)

4'b0000:Mld<=7'b0111111;

4'b0001:Mld<=7'b0000110;

4'b0010:Mld<=7'b1011011;

4'b0011:Mld<=7'b1001111;

4'b0100:Mld<=7'b1100110;

4'b0101:Mld<=7'b1101101;

4'b0110:Mld<=7'b1111101;

4'b0111:Mld<=7'b0000111;

4'b1000:Mld<=7'b1111111;

4'b1001:Mld<=7'b1101111;

endcase

case(Mh)

3'b000:Mhd<=7'b0111111;

3'b001:Mhd<=7'b0000110;

3'b010:Mhd<=7'b1011011;

3'b011:Mhd<=7'b1001111;

3'b100:Mhd<=7'b1100110;

3'b101:Mhd<=7'b1101101;

endcase

case(Hl)

4'b0000:Hld<=7'b0111111;

4'b0001:Hld<=7'b0000110;

4'b0010:Hld<=7'b1011011;

4'b0011:Hld<=7'b1001111;

4'b0100:Hld<=7'b1100110;

4'b0101:Hld<=7'b1101101;

4'b0110:Hld<=7'b1111101;

4'b0111:Hld<=7'b0000111;

4'b1000:Hld<=7'b1111111;

4'b1001:Hld<=7'b1101111;

endcase

case(Hh)

2'b00:Hhd<=7'b0111111;

2'b01:Hhd<=7'b0000110;

2'b10:Hhd<=7'b1011011;

endcase

end

end

assign ddo=Hhdo+Hldo+Mhdo+Mldo;

assign Hhdo={1'b0,Hhd}&{W[3],W[3],W[3],W[3],W[3],W[3],W[3],W[3]};

assign Hldo={Sp,Hld}&{W[2],W[2],W[2],W[2],W[2],W[2],W[2],W[2]};

assign Mhdo={1'b0,Mhd}&{W[1],W[1],W[1],W[1],W[1],W[1],W[1],W[1]};

assign Mldo={1'b0,Mld}&{W[0],W[0],W[0],W[0],W[0],W[0],W[0],W[0]};

assign W=(4'b0001<<({Q[9],Q[8]}));

assign Sh=(8'b00000001<<({S[5],S[4],S[3]}));

assign Sl=~(8'b00000001<<({S[2],S[1],S[0]}));

assign Sp=Q[14];

endmodule

#以上为本人浅写,仅供参考

数字逻辑课程设计#Quartus II相关推荐

  1. 数字逻辑课程设计,简单的8位模型计算机verilog设计

    简单8位模型计算机 0.摘要 1.绪论 1.1 模型计算机简介 1.2 设计主要内容 1.2.1 设计指标 1.2.2 设计思路 2.系统设计 2.1模型计算机原理 2.2 模型计算机组成 2.3 模 ...

  2. 电路与数字逻辑课程设计-电子钟功能

    以下内容为我电路与数字逻辑实验的实验报告内容. 实验部分采用的是logisim实现 本实验因时间问题做的比较仓促,有许多不足之处,还请谅解. 想要完整代码的可以在我的博客资源进行下载 电路与数字逻辑课 ...

  3. 数字逻辑课程设计-数字时钟时分秒的设计

    数字逻辑课程设计-数字时钟 ------------- 课程设计的三个简单要求 1.设计一个能显示日期.小时.分钟.秒的数字电子钟,并具有整点报时的功能. 2.由晶振电路产生1HZ标准的信号.分.秒为 ...

  4. 数字逻辑 课程设计 多功能电子钟 Quartus II

    设计方案 1.系统功能描述 (1)      系统输入:系统状态及校时.定时转换的控制信号为k.set:时钟信号clk,采用1024Hz:系统复位信号为reset.输入信号由按键产生. (2)     ...

  5. 数字逻辑课程设计-加法器设计(三位十进制+八位二进制)

    首页 寒假期间做的数字逻辑课设,现在整理出来分享给大家. 本文内容参照WUST2019届课程设计报告要求. 课设题目 三位十进制加法器,需要用三位数码管显示 八位二进制加法器,也需要用三位数码管显示 ...

  6. 数字逻辑课程设计拔河游戏机

      <数字逻辑> 课 程 设 计 报 告       题目:拔河游戏机           专业:计算机科学与技术 班级:14计科2班 组长:张钦颖(1414080901218) 成员:无 ...

  7. 数字电子钟设计制作——数字逻辑课程设计 Verilog HDL CPLD

    目的: 1.进一步掌握数字电子技术的理论知识,培养工程设计能力和综合分析问题.解决问题的能力: 2.基本掌握常用电子电路的一般设计方法,提高电子电路的设计和实验能力: 3.掌握复杂可编程逻辑器件CPL ...

  8. 数字逻辑课程设计——自动售货机

    选题:自动售货机 一.设计任务 1.允许向售货机投入1元的硬币,有4种商品可以选择(商品号从1到4号).首先,用一个键选择商品,在数码管上显示商品号和单价:然后投币,投币时,按一次键模仿投入1元硬币. ...

  9. multisim数字逻辑课程设计

    具体要求: 1.按下启动按钮,进入时钟运行模式:按下停止按钮,系统清零停止工作(全部显示内容也都熄灭): 2.系统包括时钟.秒表和计时器三种功能模式,用三盏灯分别指示三种模式:设置一个模式切换按钮,按 ...

最新文章

  1. 开源企业IM,免费企业即时通讯软件-ENTBOOST云通讯平台Windows(r174)版本号公布...
  2. 运维笔记10 (Linux软件的安装与管理(rpm,yum))
  3. Docker 制作镜像-redis
  4. c语言tracert程序一直超时,traceroute – tracert命令返回超时
  5. Python+Opencv颜色和形状检测
  6. pythonchallenge_level2
  7. eclipse导出doc,文件夹为空
  8. Dubbo(十一)dubbo的超时重试配置以及启动检查
  9. STM32 GPIO应用
  10. 利用ModelBinder防止XSS一次尝试
  11. 菲涅尔单缝衍射matlab,单缝菲涅尔衍射的光强分布.pdf
  12. ecshop二次开发手册,基本结构
  13. datetime instant 转_java8 Instant 时间及转换操作
  14. Linux救援(rescue)模式知识点
  15. Studing Day2 - python基础2
  16. 数字逻辑——触发器的选用和使用注意事项
  17. Excel图表—标准正态分布概率分布图(概率密度函数图及累积概率分布图)的绘制
  18. 全国计算机等级考试三级数据库技术(十四)
  19. spring boot 和cloud 版本升级
  20. python长度单位转化_长度单位的换算教学反思

热门文章

  1. 制作一个简单HTML红色喜庆邀请函网页(HTML+CSS)
  2. GD32F3x0 USB CDC应用案例
  3. Linux初识 —— 基本指令的使用
  4. Flutter 开发中最实用的 Dart 语法知识
  5. 我的世界自动生成服务器主城指令,我的世界生成主城的指令
  6. 新媒体运营的工作内容
  7. 三、硬盘分类与操作系统的启动流程
  8. 异常解决之——无法在Web服务器上启动调试。远程服务器返回错误:(405)
  9. 网络分层架构 ARP baidu.com 访问过程 知识点总结
  10. 机器学习常用算法归详细纳整理