📄 191read2.lst
字号:
C51 COMPILER V7.06 191READ2 07/28/2005 13:29:49 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 191READ2
OBJECT MODULE PLACED IN 191Read2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 191Read2.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //单片机从cpld读入119转化完的数据
2 #include<reg51.h>
3 #include<absacc.h>
4 #include <intrins.h>
5 #define unchar unsigned char
6 #define unint unsigned int
7 #define DisCmd XBYTE [0xC100] //7218控制字地址
8 #define DisData XBYTE [0xC000] //7218数据口地址
9 #define scode 0xb0 //7218软件译码方式命令字
10 #define bcode 0x90 //B码译码方式命令字
11 #define hexcode 0xd0 //软件译码方式命令字
12 #define unchar unsigned char
13 sbit P3_3=P3^3;
14 unchar xdata *AD;
15 long voltage;
16 unchar keynum;
17 unchar flag=0;
18 unchar dot=0;
19 char distab[8]={0x13,0x13,0x14,0x00,0x12,0x12,0x0e,0x11} ; // 要显示的内容 hello-pp
20 char code ledtab[]={ 0xfb,0xb0,0xed,0xf5,0xb6,0xd7,0xdf,0xf0,
21 //0, 1, 2, 3, 4, 5, 6, 7
22 0xff,0xf7,0xfe,0x9f,0xcb,0xbd,0xcf,0xce,
23 //8 ,9 ,a ,b ,c ,d ,e ,f
24 0x80,0xbe,0x8b,0xee,0x84 };
25 //熄灭 H L P -
26 void delay1s()
27 {
28 1 unint i,j;
29 1 for(i=1000;i>0;i--)
30 1 for(j=100;j>0;j--);
31 1 }
32
33 void display()
34 {
35 1 unchar i;
36 1 DisCmd=scode; //采用软件译码
37 1 for(i=0;i<8;i++) //将distab中的数据送如7218
38 1 {
39 2 if((i==dot)&dot)
40 2 DisData=ledtab[distab[i]]+0x80; //查表转化并将字型送入7218
41 2 else
42 2 DisData=ledtab[distab[i]]; //查表转化并将字型送入7218
43 2 }
44 1 for(i=1000;i>0;i--);
45 1 }
46 void ADStart()
47 {
48 1 unchar d_h,d_l,i;
49 1 unint tem;
50 1 voltage=0;
51 1
52 1 for(i=0;i<10;i++)
53 1 {
54 2
55 2 AD=0xA0ff;
C51 COMPILER V7.06 191READ2 07/28/2005 13:29:49 PAGE 2
56 2 d_l=*AD;
57 2 AD=0xA0fe;
58 2 d_h=(*AD)&0x0f;
59 2 tem=d_h*0x0100+d_l;
60 2 voltage+=tem;
61 2 }
62 1 voltage=voltage/10;
63 1 distab[3]=voltage/1000;
64 1 distab[3]=distab[3];
65 1 voltage=voltage%1000;
66 1 distab[2]=voltage/100;
67 1 voltage=voltage%100;
68 1 distab[1]=voltage/10;
69 1 voltage=voltage%10;
70 1 distab[0]=voltage;
71 1 // distab[7]=0x10;
72 1 distab[6]=0x10;
73 1 distab[5]=0x10;
74 1 distab[4]=0x10;
75 1 display();
76 1 delay1s();
77 1 }
78 //**************************************************************************************
79 void intt0() interrupt 0
80 {
81 1 EX0=0; //关键盘中断,禁止相应其他按键
82 1 keynum=P1; //从p1口读入键盘值
83 1 keynum=keynum&0x0f; //取低四位;
84 1 dot=3;
85 1 if(keynum==0x0f)
86 1 flag=!flag;
87 1 if(flag)
88 1 distab[7]=0x00;
89 1 else
90 1 distab[7]=0x13;
91 1 display();
92 1 EX0=1; //开中断
93 1 }
94 //**************************************************************************************
95 /*
96 void intt1() interrupt 1 //AD转换中断
97 {
98 ADStart();
99 }
100 */
101 void main()
102 {
103 1
104 1 //unchar n;
105 1 EX0=1;
106 1 //EX1=1;
107 1 EA=1;
108 1 //dot=3;
109 1 //for(n=0;n<8;n++)
110 1 //distab[n]=n;
111 1 display();
112 1 while(1)
113 1 {
114 2 if(flag)
115 2 ADStart();
116 2 //display();
117 2 }
C51 COMPILER V7.06 191READ2 07/28/2005 13:29:49 PAGE 3
118 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 471 ----
CONSTANT SIZE = 21 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -