当前位置:首页 > 单片机 > 单片机
[导读]1 /*电压表 精确到小数点后面三位*/2 /*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/3 #include4 typedef unsigned char uchar;5 xdata uchar LED_CS _at_ 0x9000;6 xdata uchar LED_OUTSEG _at_ 0x9004;7 xdat

1 /*电压表 精确到小数点后面三位*/

2 /*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/

3 #include

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

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 }


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭