久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3047|回復: 0
打印 上一主題 下一主題
收起左側

三角波 矩形波 正弦波VHDL源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:435945 發表于 2018-11-29 18:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//三角波
//clk:時鐘信號
//reset:復位信號
//San_out:三角波輸出
module san(clk,rest,san_out);
input clk,reset;
output[7:0 ] san_out;
reg[7:0] san_out;
reg[7:0] num;      //計數器
reg reg_1;       //加減控制
always@(posedgec clk or posedge reset)
begin
if(reset)
      num<=0;
else if(reg_1 == 0)
begin
if(num = = 8’b11111000)//取正32個點
begin
      num<=255;
reg_1<=1;
end
else
       num<=0;
       reg_1<=0;
end
else
       begin
         num<=num-8;     //取負32個點-8取點
end
end
always@(num)
   begin
     san_out<=num;
end
endmodule

//正弦波
//clk:時鐘信號
//reset:復位信號
//sin_out:三角波輸出
module sin(clk,rest,sin_out);
input clk_1,reset;
output[7:0 ] sin_out;
reg[7:0] sin_out;
reg[6:0] num;      //計數器
always@(posedgec clk or posedge reset)
   begin
     if(reset)
        sin_out<=0;        //取64個點
     elseif(num = =63)
        num<=0;
     else
        um<=num+1;
     case(num)
     0:sin_out<=255;
     1:sin_out<=254;
    2:sin_out<=252;
     3:sin_out<=216;
     4:sin_out<=245;
     5:sin_out<=239;
     6:sin_out<=233;
     7:sin_out<=225;
     8:sin_out<=217;
     9:sin_out<=207;
     10:sin_out<=197;
11:sin_out<=186;
12:sin_out<=174;
13:sin_out<=162;
14:sin_out<=150;
15:sin_out<=137;
16:sin_out<=124;
17:sin_out<=112;
18:sin_out<=99;
19:sin_out<=87;
20:sin_out<=75;
21:sin_out<=64;
22:sin_out<=53;
23:sin_out<=43;
24:sin_out<=34;
25:sin_out<=26;
26:sin_out<=19;
27:sin_out<=13;
28:sin_out<=8;
29:sin_out<=4;
30:sin_out<=1;
31:sin_out<=0;
32:sin_out<=0;
33:sin_out<=1;
34:sin_out<=4;
35:sin_out<=8;
36:sin_out<=13;
37:sin_out<=19;
38:sin_out<=26;
39:sin_out<=34;
40:sin_out<=43;
41:sin_out<=53;
42:sin_out<=64;
43:sin_out<=75;
44:sin_out<=87;
45:sin_out<=99;
46:sin_out<=112;
47:sin_out<=124;
48:sin_out<=137;
49:sin_out<=150;
50:sin_out<=162;
51:sin_out<=174;
52:sin_out<=186;
53:sin_out<=197;
54:sin_out<=207;
55:sin_out<=217;
56:sin_out<=225
57:sin_out<=233;
58:sin_out<=239;
59:sin_out<=245;
60:sin_out<=249;
61:sin_out<=252;
62:sin_out<=254;
63:sin_out<=255;
     default:sin_out<=8’bx;
     endcase
   end
endmodule
//方波
//clk:時鐘信號
//reset:復位信號
//fang_out:三角波輸出
module fang(clk,rest,fang_out);
input clk,reset;
output[7:0 ] fang_out;
reg[7:0] fang_out;
reg[5:0] num;
reg reg_2;
always@(posedgec clk or posedge reset)
   begin
     if(reset)
        reg_2<=0;
        elseif(num<31)    //分頻32個時間單位為半個周期
              num<=num+1;
                else
                   begin
                      num<=0;
                      reg_2<=~reg_2;
                   end
                case(reg_2)
                   0:fang_out<=255;   //表示高電平 如果用1 從0000 0000 到00000001 對電壓進行64分壓 太小
                   1:fang_out<=0;
                endcase
             end
endmodule
//控制模塊
//wave_out 輸出波形
module control(s1,s2,san,sin,fang,wave_out);
input s1,s2;
input[7:0]san,sin,fang;
output[7:0]wave_out;
reg[7:0] wave_out;
reg s1,s2;
always@( san or sin or fang)
   begin
case({s1,s2})
     2’b00:wave_out= san;
     2’b01:wave_out= sin;
     2’b10:wave_out= fang;
     2’b11:wave_out = 0;     //第四種情況 輸出為0
   default:wave_out=8’bx;
endcase
end
endmodule
//頻率控制模塊
module div_clk(c1,c2,reset,,clk_out);
   inputc1,c2, reset;
   input[10:0] count;
reg clk;
   always@(c1or c2 or posedge reset)
     begin
        if(reset)            
clk_out<=0;
        case({c1,c2})
        2;b00:clk = ~clk ;#5;
2;b01:clk = ~clk ;#50;
2;b10:clk = ~clk ;#500;
2;b11:clk =~clk ;#5000;
     endcase
           clk_out= clk;
     end
   endmodule
//最后組合程序  
modulesignal_generator(CLK,reset,san,sin,fang,output);
   input CLK,reset;
   input san,sin,fang;
   output[7:0]output;
   wire CLK_1;
   wire[7:0] san,sin,fang
   div_ctrlU1(reset(reset) ,clk_out(CLK_1));
contrl U2(s1(S1),s2(S2),san(san),sin(sin),fang(fang),wave_out(output));
san U3(clk(CLK_1),reset(reset),san _out(san));
sin U4(clk(CLK_1),reset(reset),sin_out(sin));
fang U5(clk(CLK_1),reset(reset),fang_out(fang));
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线日韩 | 亚洲激情自拍偷拍 | 欧美激情视频一区二区三区在线播放 | 91电影| 99这里只有精品视频 | 九九久久国产 | 国产91一区二区三区 | 欧美日韩在线观看视频网站 | 亚洲色图综合 | 福利片在线观看 | 91久久精品国产91久久 | 二区三区视频 | 欧美日韩大片 | 日韩中文一区二区三区 | 成人在线一级片 | 色橹橹欧美在线观看视频高清 | 国产一区二区精 | 国产丝袜一区二区三区免费视频 | 羞羞羞视频 | 久久在线看 | 亚洲一区二区不卡在线观看 | 秋霞电影一区二区 | 大陆一级毛片免费视频观看 | 亚洲一区中文字幕 | 国产成人免费视频网站高清观看视频 | 中文字幕av亚洲精品一部二部 | 一区二区三区视频在线观看 | 亚洲国产精品91 | 久久小视频 | 一区二区三区国产 | 亚洲一区视频在线 | 久久在线| 一区二区三区国产精品 | 欧美在线观看一区二区 | 国产一区二区三区久久久久久久久 | 日韩中文字幕在线视频观看 | 亚洲国产二区 | 国产视频一视频二 | 成人精品一区二区三区四区 | www.久久艹| k8久久久一区二区三区 |