zoukankan      html  css  js  c++  java
  • 电压表实验(AD转换)

     1 /*电压表 精确到小数点后面三位*/
     2 /*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/
     3 #include<reg52.h>
     4 typedef unsigned char uchar;
     5 xdata uchar LED_CS _at_ 0x9000;
     6 xdata uchar LED_OUTSEG _at_ 0x9004;
     7 xdata uchar LED_OUTBIT _at_ 0x9002;
     8 
     9 xdata uchar AD_CS _at_ 0x8000;
    10 xdata uchar AD_MODE _at_ 0x8003;
    11 
    12 code unsigned char LEDMAP[] = {  // 八段管显示码
    13   0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
    14   0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
    15 };
    16 code unsigned char LEDWED[] = {0x20,0x10,0x08,0x04,0x02,0x01};
    17 int num[6];
    18 void delay(int ms)
    19 {
    20  int i,j;
    21  for(i=0;i<ms;i++)
    22     for(j=0;j<14;j++)
    23          ;
    24 }
    25 void adf()
    26 {
    27  AD_CS = 0;
    28  delay(10);
    29 }
    30 void main()
    31 {
    32  int led_c=0;
    33  unsigned char temp;
    34  AD_MODE = 0x82;
    35  AD_CS = 0;
    36  while(1)
    37  {
    38   adf();
    39   delay(10);
    40   num[0] = AD_CS*5/256;
    41   num[1] = AD_CS*5%256*10/256;
    42   num[2] = AD_CS*5%256*10%256*10/256;
    43   num[3] = AD_CS*5%256*10%256*10%256*10/256;
    44   temp = LEDMAP[num[led_c]];
    45   if(led_c == 0)
    46            temp = temp|0x80;
    47   LED_OUTBIT = LEDWED[led_c];
    48   LED_OUTSEG = temp;
    49   led_c = (led_c+1)%4;
    50   delay(10);
    51  }
    52 }
  • 相关阅读:
    windows查看和杀死占用端口的进程
    jenkins html报告不显示样式
    解决git一直输入用户名和密码的问题
    git中文乱码问题
    java环境变量配置
    web service
    sql 训练及总结
    js 及jQery
    [TYVJ] P1015 公路乘车
    GIT 基本用法
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3092076.html
Copyright © 2011-2022 走看看