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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1635|回復: 1
收起左側

proteus 示波器和keil c代碼結合能同時發出至少4種不同的波形嗎?

[復制鏈接]
ID:663967 發表于 2019-12-14 21:00 | 顯示全部樓層 |閱讀模式
  1. #include<reg51.h>
  2. #include<math.h>
  3. #include<absacc.h>
  4. #define LTC1451 XBYTE[0xfaff]                   //設置LTC1451的訪問地址
  5. #define DAC1 XBYTE[0xfbff]                      //1# DAC輸入鎖存器的地址
  6. #define DAC2 XBYTE[0xfcff]
  7. #define DAC3 XBYTE[0xfdff]                      //3# DAC輸入鎖存器的地址
  8. #define DAC4 XBYTE[0xfeff]
  9. #define DAOUT XBYTE[0xffff]                     //DAC寄存器的共同地址
  10. sbit din=P3^0;                                  //定義芯片引腳變量
  11. sbit clk=P3^1;
  12. sbit cs=P3^2;
  13. sbit P1_7=P1^7;
  14. sbit P1_0=P1^0;
  15. sbit P1_1=P1^1;
  16. sbit P1_2=P1^2;
  17. sbit P1_3=P1^3;
  18. #define PI 3.1415

  19. void delay(unsigned int time){
  20.         unsigned int j=0;
  21.         for(;time>0;time--)
  22.                 for(j=0;j<125;j++);
  23.                 }

  24. void da(unsigned int value);
  25. void main(){
  26. unsigned int num1,num2,num3,num4,value;
  27.         while(1){
  28. if(P1^0==0){
  29.         delay(10);
  30.         if(P1^0==0){
  31. for(num1=180;num1<360;num1++){        //負半周正弦波形
  32. value=2047 + 2047*sin((float)num1/180*PI);
  33. da(value);
  34. }
  35. }}

  36. if(P1^1==0){                            //正弦?
  37.         delay(10);
  38.         if(P1^1==0){
  39.         for(num2=0;num2<360;num2++)
  40.         value=127+127*sin((float)num2/180*PI);
  41. }
  42. }
  43. if(P1^2==0){
  44. delay(10);                                    //三角波
  45.         if(P1^2==0){
  46.         for(num3=0;num3<225;num3++)              //上升段波形
  47.         LTC1451=num3;
  48.         for(num3=225;num3>0;num3--)              //下降段波形
  49.         LTC1451=num3;
  50. }
  51. }
  52. if(P1^3==0){
  53.         delay(10);
  54.         if(P1^3==0){
  55.         for(num4=0;num4<255;num4++){
  56.                 DAC3=num4;                            //上鋸齒送入1 #DAC
  57.                 DAC4=255-num4;                        //下鋸齒送入2 #DAC
  58.                 DAOUT=num4;                           //兩路同時進行D/A轉換輸出
  59.         }
  60. }
  61. }
  62. }
  63.         da(value);
  64. }

  65. void da(unsigned int v){                    //DA轉換
  66. char i=11;
  67. cs=1;
  68. cs=0;                                             //CS引腳置高電平
  69. for(;i>=0;i--){
  70. din=(v>>i)& 0x01;                            //分解并行數據,串行送入DIN引腳
  71. clk=1;                                            //發生時鐘脈沖
  72. clk=0;
  73. }
  74. cs=1;                                             //發出第13個脈沖
  75. cs=0;                                             //CS引腳置低電平
  76. }
復制代碼
代碼有問題,有哪位大神看看什么問題,有代碼再好不過了!!!!!!
        da(value);有一處警告,不礙事吧。


例如類似這樣

例如類似這樣
回復

使用道具 舉報

ID:648281 發表于 2019-12-14 22:06 | 顯示全部樓層
你好!
如果同時輸出四種波形,需要四路獨立輸出才可
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区视频在线观看 | av乱码| 国久久 | 成人精品一区二区户外勾搭野战 | 99这里只有精品视频 | 成人影 | 在线日韩| 一区二区三区欧美 | 日本午夜视频 | 日本视频在线 | 亚洲九九精品 | 亚洲精品久久久久久久久久吃药 | 午夜精品久久 | 91亚洲精品国偷拍自产在线观看 | 久久99久久99精品免视看婷婷 | 91资源在线观看 | 欧美一区二区三区大片 | 91色综合 | 日韩喷潮| 久久久精彩视频 | 亚洲在线久久 | 日韩久久久久 | 成人免费精品视频 | 手机日韩 | 日韩在线一区二区三区 | 国产一区不卡 | 91综合网 | 97人人澡人人爽91综合色 | 欧美日韩国产一区二区三区 | 亚洲一区二区久久 | 亚洲精品国产偷自在线观看 | 国产成人精品午夜 | 一起操网站 | 久久成人一区二区三区 | 91成人| 国产精品不卡一区 | 国产成人综合久久 | 久久国产精品免费一区二区三区 | 欧美不卡一区二区三区 | 91综合网 | 国产日韩精品一区二区 |