📄 yijia.lst
字号:
780 2 ch451_dclk=1; /*上升沿有效 */
781 2 }
782 1 ch451_load=1; /*加载数据 */
783 1 #ifdef USE_KEY
784 1 EX1=1;
785 1 #endif
786 1 }
787
788 #ifdef USE_KEY
789
C51 COMPILER V3.20, SN-50203013 YIJIA 06/29/07 20:42:04 PAGE 14
790 /************************************************** /
/*输入命令子程序,MCU从451读一字节 */
792
793 U8 ch451_read()
794 {
795 1 U8 i;
796 1 U8 command,keycode; /*定义命令字,和数据存储器 */
797 1 EX1=0; /*关中段 */
798 1 command=0x07; /*输入读451命令字 */
799 1 ch451_load=0;
800 1 for(i=0;i<4;i++){
801 2
802 2 ch451_din=command&1; /*送入最低位 */
803 2 ch451_dclk=0;
804 2 command>>=1; /*往右移一位 */
805 2 ch451_dclk=1; /*产生时钟上升沿锁通知CH451输入位数据*/
806 2 }
807 1 ch451_load=1; /*产生加载上升沿通知CH451处理命令数据 */
808 1 keycode=0; /*清除keycode */
809 1 for(i=0;i<7;i++){
810 2 keycode<<=1; /*数据移入keycode,高位在前,低位在后 */
811 2 keycode|=ch451_dout; /*从高到低读入451的数据 */
812 2 ch451_dclk=0; /*产生时钟下升沿通知CH451输出下一位*/
813 2 ch451_dclk=1;
814 2 }
815 1 IE1=0; /*清中断标志 */
816 1 EX1=1;
817 1 return(keycode); /*反回键值 */
818 1 }
819 /************************************************** */
820 /*中断子程序 使用中断2,寄存器组2 */
821
822 void ch451_inter() interrupt 2 using 2
823 {
824 1 U8 i; /*定义循环变量 */
825 1 U8 command,keycode; /*定义控制字寄存器,和中间变量定时器 */
826 1 command=0x07; /*读取键值命令的高4位0111B * /
ch451_load=0; /*命令开始 */
828 1 for(i=0;i<4;i++){
829 2 ch451_din=command&1; /*低位在前,高位在后 * /
ch451_dclk=0;
command>>=1; /*右移一位 */
832 2 ch451_dclk=1; /*产生时钟上升沿锁通知CH451输入位数据 */
833 2 }
834 1 ch451_load=1; /*产生加载上升沿通知CH451处理命令数据 */
835 1 keycode=0; /*清除keycode */
836 1 for(i=0;i<7;i++){
837 2 keycode<<=1; /*数据作移一位,高位在前,低位在后*/
838 2 keycode|=ch451_dout; /*从高到低读入451的数据 */
839 2 ch451_dclk=0; /*产生时钟下升沿通知CH451输出下一位 */
840 2 ch451_dclk=1;
841 2 }
842 1 ch451_key=keycode; /*保存上次的键值 */
843 1 IE1=0; /*清中断标志 */
844 1
845 1 kf=1;
846 1 }
847
848 /************************************************/
849
850 #endif
851
C51 COMPILER V3.20, SN-50203013 YIJIA 06/29/07 20:42:04 PAGE 15
852 /*************************************************/
853 /*延时程序 */
854 void delay(){ /*在12P下延时十毫秒*/
855 1 U8 i,j,k;
856 1 for(i=0;i<10;i++)
857 1 for(j=0;j<40;j++)
858 1 for(k=0;k<120;k++);
859 1 }
860
861 /************************************************/
862 /*void main(){
uchar a,b,c,d;
d=0;
ch451_init(); //调用初始化
ch451_write(0x403);
ch451_write(0x580); //测试送入命令
ch451_write(CH451_DIG0|0X01); //最低位显示1
EA=1;
ch451_key=0x0ff;
while(1){
while(ch451_key==0xff); //等待中断
a=ch451_key;
d=a;
ch451_key=0x0ff;
ch451_write(0x300); //左移两位
ch451_write(0x300);
a&=0x3f; //显示十进制数据
b=a;
a/=10;
ch451_write(CH451_DIG1|a);
b%=10;
ch451_write(CH451_DIG0|b);
delay();
c=ch451_read();
while(c==d) //测试按键是否释放
{
ch451_write(CH451_DIG0|b|0x80);
delay();
c=ch451_read();
}
ch451_write(CH451_DIG0|b);
}
} */
C51 COMPILER V3.20, SN-50203013 YIJIA 06/29/07 20:42:04 PAGE 16
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
k1f. . . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
erwren93 . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0007H 1
ch451_din. . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
ch451_dout . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
U8 . . . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
delay. . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
k. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
ch451_key. . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
_updatedisp. . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
disp . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
twif . . . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
twip . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
t10msf . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0001H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
SP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0081H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
temp1. . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
temp2. . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
temp3. . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
ck . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
shift. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
_writeall93. . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
dx . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0005H 1
eraseall93 . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0007H 1
U16. . . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
udf. . . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0002H 1
setv . . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0001H 2
jout . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
erwrdisen93. . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0007H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
C51 COMPILER V3.20, SN-50203013 YIJIA 06/29/07 20:42:04 PAGE 17
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
kf . . . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0003H 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
_ch451_write . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
command. . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
skv. . . . . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0003H 4
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
pf . . . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0004H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
cv . . . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0007H 2
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
_erase93 . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
ax . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0006H 1
time0. . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
c. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
d. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
ch451_read . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
command. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
keycode. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
ch451_dclk . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
ch451_load . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
_read93. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
ax . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0006H 1
db . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
ay . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
dx . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
ch451_inter. . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0016H 1
command. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0017H 1
keycode. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0017H 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
q. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
HC14 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
s. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
C51 COMPILER V3.20, SN-50203013 YIJIA 06/29/07 20:42:04 PAGE 18
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
_write93 . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
ax . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
dx . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0001H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA CHAR 0005H 1
ay . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
int0 . . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
ch451_init . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1698 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 13
IDATA SIZE = ---- ----
BIT SIZE = 5 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -