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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于單片機AD轉換 按一個按鍵,發送模擬量到pc機 求幫助

[復制鏈接]
跳轉到指定樓層
樓主
按一個按鍵,發送模擬量到pc機
仿真,我做了好久也沒做出來,程序有問題 求幫助
  1. /*  名稱:單片機與PC通信
  2.     說明:單片機可接收PC發送的數字字符,
  3.     按下單片機的K1鍵后,單片機可向PC發送字符串。
  4.     在Proteus環境下完成本實驗時,需要安裝Virtual Serial Port Driver和串口調試助手。
  5.     本例緩沖100個數字字符,緩沖滿后新數字從前面開始存放(環形緩沖)。
  6. */
  7. #include <stc15.h>
  8. #include <intrins.h>
  9. #define uint unsigned int
  10. #define uchar unsigned char
  11. uint adc_dat = 0;
  12. uchar code DSY_CODE[] =
  13. {
  14.     0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00
  15. };

  16. //延時
  17. void Delay10MS(uchar n)     //@11.0592MHz
  18. {
  19.     uchar i, j;
  20.     while (n--)
  21.     {
  22.         i = 108;
  23.         j = 145;
  24.         do
  25.         {
  26.             while (--j);
  27.         }
  28.         while (--i);
  29.     }
  30. }

  31. void UartInit(void)     //9600bps@11.0592MHz
  32. {
  33.     SCON = 0x0;        //8位數據,可變波特率,允許接收
  34.     AUXR &= 0xBF;       //定時器1時鐘為Fosc/12,即12T
  35.     AUXR &= 0xFE;       //串口1選擇定時器1為波特率發生器
  36.     TMOD &= 0x0F;       //設定定時器1為16位自動重裝方式
  37.     TL1 = 0xE8;     //設定定時初值
  38.     TH1 = 0xFF;     //設定定時初值
  39.     ET1 = 0;        //禁止定時器1中斷
  40.     TI = RI = 0;
  41.           TR1  = 1;       //啟動定時器1
  42. }

  43. void main()
  44. {
  45.     unsigned long  i;                 //i用于for循環
  46.     CLK_DIV &= 0xDF; //ADRJ=0
  47.     ADC_CONTR |= 0x80;     //開A/D轉換電源
  48.     for (i = 0; i < 10000; i++); //適當延時
  49.     P1ASF = 0x01;                  //設置P1.1的模擬量功能
  50.     ADC_CONTR = 0xE1;    //選擇P1.1作為A/D轉換通道
  51.     for (i = 0; i < 10000; i++); //適當延時
  52.     ADC_CONTR |= 0x08;    //啟動 A/D 轉換
  53.     EADC = 1;                        //EADC=1, 開放ADC的中斷控制位
  54.     UartInit();
  55.                 IE0 = 0;
  56.     EX0  = 1;
  57.                 IT0  = 1;
  58.     ES   = 1;
  59.     EA = 1;                  //開放CPU總中斷
  60.     while (1)
  61.     {
  62.         //循環等待ADC中斷
  63.     }
  64. }
  65. void Serial_INT() interrupt 4
  66. {
  67.           if(TI)
  68.     TI = 0;
  69.                 IE0 = 0;
  70.     EX0  = 1;
  71.     ES = 1;
  72. }
  73. void EX_INT0() interrupt 0
  74. {
  75.           SBUF = adc_dat ;
  76.                 IE0 = 0;
  77.     EX0  = 0;
  78. }
  79. void ADC_ISR(void) interrupt 5        // ADC中斷函數
  80. {
  81.     ADC_CONTR &= 0xE7;        //將ADC_FLAG清0
  82.     adc_dat = ADC_RES * 4 + ADC_RESL;
  83.     ADC_CONTR = 0xE1;    //11100010B, P1.1為A/D通道
  84.     ADC_CONTR |= 0x08;           //重新啟動A/D轉換
  85. }
復制代碼


code.zip

183.39 KB, 下載次數: 4

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:768939 發表于 2020-6-8 17:10 | 只看該作者
#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit ST=P2^0;   sbit OE=P2^2;   sbit ALE=P2^3;   sbit EOC=P2^1;   sbit CLK=P2^4;   long int datas,bai,she,ge; uchar duan; uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};    uchar code num_dot[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed};      uchar code wei[]={0x0d,0x0b,0x07};       void delay(uint z) {  uchar i;  while(z--)  for(i=0;i<120;i++); } void display() {  uchar i=0;  bai=(datas*500/255)/100;  she=(datas*500/255)/10 % 10;  ge=(datas*500/255) % 10;  for(i=0;i<3;i++)      {   P3=wei[i];   if(i==0){duan=num_dot[bai];}      else if(i==1){duan=num[she];}   else if(i==2){duan=num[ge];}   P0=duan;   delay(2);  }  } void main() {  TMOD=0x02;        TH0=0x216;            TL0=0x216;     EA=1;       ET0=1;    TR0=1;       while(1)  {  ST=OE=0;      ALE=1;            ST=1;            ALE=0;  ST=0;  while(!EOC);    OE=1;            datas=P1;         display();     } } void inter_1() interrupt 1 {  CLK=~CLK; }
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av在线视 | 午夜理伦三级理论三级在线观看 | 无毛av| 国产特级毛片 | 国产在线观 | 一级中国毛片 | 91国内视频在线 | 精品一区免费 | 日韩成人精品在线 | 99福利视频 | 精品久久电影 | 亚洲精品在线免费 | 综合二区| 五十女人一级毛片 | 91久久精品国产91久久 | 国产高清视频一区二区 | 免费一级片 | 四虎影院久久 | 成人精品视频免费 | 福利视频亚洲 | 欧美一区二区三区在线免费观看 | 99热激情| 九九视频在线观看 | 日本在线综合 | 日韩三级电影在线看 | 国产玖玖 | 成人精品在线观看 | 欧美国产日韩在线 | 日韩免费视频 | 精品视频一区二区三区在线观看 | 在线观看免费高清av | 精品一区二区免费视频 | 亚洲视频免费在线观看 | 一区二区免费视频 | 久久久www成人免费精品 | 黄网免费 | 欧美中文字幕一区 | xxxxx黄色片 欧美一区免费 | 亚洲成人网在线观看 | 欧美精品一二三 | 日日干日日操 |