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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1720|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产91丝袜在线播放 | 操视频网站 | 欧美日韩国产高清视频 | 精品日韩一区二区 | 成人国产精品免费观看视频 | 精品视频在线免费观看 | 在线免费亚洲视频 | 韩日视频在线观看 | www.五月天婷婷.com | 精品欧美一区二区精品久久久 | 午夜a√ | 日韩国产在线观看 | 久久99精品久久久久子伦 | 国产美女一区二区 | 天天射网站 | 日韩高清www | 久久精品视频一区二区三区 | 国产精品久久久久久久久久久久久久 | 亚洲免费人成在线视频观看 | 日日摸日日爽 | 国产91亚洲精品 | 国产视频一区二区 | 中文字幕精品视频 | 欧美激情五月 | 91久久| 国产精品福利在线 | 久久久精| 国产精品久久久久无码av | 黄视频免费在线 | 国产色婷婷久久99精品91 | 久久精品99久久 | 久久久久亚洲视频 | 国产中文字幕在线观看 | 91网视频 | 四虎免费视频 | 91在线视频观看 | 久久久久久久久久久一区二区 | 亚洲精品视频在线 | 国产欧美一级二级三级在线视频 | 中文字幕日韩在线观看 | 91久久精 |