本篇文章给大家谈谈c语言中文变成d0,以及c语言中文变成乱码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、C语言是什么意思2、c语言问题3、那位大哥把C语言翻译成单片机语言 我给100分4、C语言问题请教
C语言是什么意思
既然你要解决问题,那我就不一一说错误原因了,有一点要注意,C语言是区分大小写的,P1_0和p1_0是不一样的。至于头文件,有时候我也根据自己的需要来添加代码,你复制我下面的代码到你工程下编译,看一下效果:
#include AT89X51.h
void main(void)
{
unsigned int a;
do
{
for (a=0; a50000; a++);
P1_0 = 0;
for (a=0; a50000; a++);
P1_0 = 1;
}
while(1);
}
另外我给你原始的AT89X51.h文件的代码:
#ifndef __AT89X51_H__
#define __AT89X51_H__
/*————————————————
Byte Registers
————————————————*/
sfr P0 = 0x80;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr P1 = 0x90;
sfr SCON = 0x98;
sfr SBUF = 0x99;
sfr P2 = 0xA0;
sfr IE = 0xA8;
sfr P3 = 0xB0;
sfr IP = 0xB8;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
/*————————————————
P0 Bit Registers
————————————————*/
sbit P0_0 = 0x80;
sbit P0_1 = 0x81;
sbit P0_2 = 0x82;
sbit P0_3 = 0x83;
sbit P0_4 = 0x84;
sbit P0_5 = 0x85;
sbit P0_6 = 0x86;
sbit P0_7 = 0x87;
/*————————————————
PCON Bit Values
————————————————*/
#define IDL_ 0x01
#define STOP_ 0x02
#define PD_ 0x02 /* Alternate definition */
#define GF0_ 0x04
#define GF1_ 0x08
#define SMOD_ 0x80
/*————————————————
TCON Bit Registers
————————————————*/
sbit IT0 = 0x88;
sbit IE0 = 0x89;
sbit IT1 = 0x8A;
sbit IE1 = 0x8B;
sbit TR0 = 0x8C;
sbit TF0 = 0x8D;
sbit TR1 = 0x8E;
sbit TF1 = 0x8F;
/*————————————————
TMOD Bit Values
————————————————*/
#define T0_M0_ 0x01
#define T0_M1_ 0x02
#define T0_CT_ 0x04
#define T0_GATE_ 0x08
#define T1_M0_ 0x10
#define T1_M1_ 0x20
#define T1_CT_ 0x40
#define T1_GATE_ 0x80
#define T1_MASK_ 0xF0
#define T0_MASK_ 0x0F
/*————————————————
P1 Bit Registers
————————————————*/
sbit P1_0 = 0x90;
sbit P1_1 = 0x91;
sbit P1_2 = 0x92;
sbit P1_3 = 0x93;
sbit P1_4 = 0x94;
sbit P1_5 = 0x95;
sbit P1_6 = 0x96;
sbit P1_7 = 0x97;
/*————————————————
SCON Bit Registers
————————————————*/
sbit RI = 0x98;
sbit TI = 0x99;
sbit RB8 = 0x9A;
sbit TB8 = 0x9B;
sbit REN = 0x9C;
sbit SM2 = 0x9D;
sbit SM1 = 0x9E;
sbit SM0 = 0x9F;
/*————————————————
P2 Bit Registers
————————————————*/
sbit P2_0 = 0xA0;
sbit P2_1 = 0xA1;
sbit P2_2 = 0xA2;
sbit P2_3 = 0xA3;
sbit P2_4 = 0xA4;
sbit P2_5 = 0xA5;
sbit P2_6 = 0xA6;
sbit P2_7 = 0xA7;
/*————————————————
IE Bit Registers
————————————————*/
sbit EX0 = 0xA8; /* 1=Enable External interrupt 0 */
sbit ET0 = 0xA9; /* 1=Enable Timer 0 interrupt */
sbit EX1 = 0xAA; /* 1=Enable External interrupt 1 */
sbit ET1 = 0xAB; /* 1=Enable Timer 1 interrupt */
sbit ES = 0xAC; /* 1=Enable Serial port interrupt */
sbit ET2 = 0xAD; /* 1=Enable Timer 2 interrupt */
sbit EA = 0xAF; /* 0=Disable all interrupts */
/*————————————————
P3 Bit Registers (Mnemonics Ports)
————————————————*/
sbit P3_0 = 0xB0;
sbit P3_1 = 0xB1;
sbit P3_2 = 0xB2;
sbit P3_3 = 0xB3;
sbit P3_4 = 0xB4;
sbit P3_5 = 0xB5;
sbit P3_6 = 0xB6;
sbit P3_7 = 0xB7;
sbit RXD = 0xB0; /* Serial data input */
sbit TXD = 0xB1; /* Serial data output */
sbit INT0 = 0xB2; /* External interrupt 0 */
sbit INT1 = 0xB3; /* External interrupt 1 */
sbit T0 = 0xB4; /* Timer 0 external input */
sbit T1 = 0xB5; /* Timer 1 external input */
sbit WR = 0xB6; /* External data memory write strobe */
sbit RD = 0xB7; /* External data memory read strobe */
/*————————————————
IP Bit Registers
————————————————*/
sbit PX0 = 0xB8;
sbit PT0 = 0xB9;
sbit PX1 = 0xBA;
sbit PT1 = 0xBB;
sbit PS = 0xBC;
sbit PT2 = 0xBD;
/*————————————————
PSW Bit Registers
————————————————*/
sbit P = 0xD0;
sbit FL = 0xD1;
sbit OV = 0xD2;
sbit RS0 = 0xD3;
sbit RS1 = 0xD4;
sbit F0 = 0xD5;
sbit AC = 0xD6;
sbit CY = 0xD7;
/*————————————————
Interrupt Vectors:
Interrupt Address = (Number * 8) + 3
————————————————*/
#define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */
#define TF0_VECTOR 1 /* 0x0B Timer 0 */
#define IE1_VECTOR 2 /* 0x13 External Interrupt 1 */
#define TF1_VECTOR 3 /* 0x1B Timer 1 */
#define SIO_VECTOR 4 /* 0x23 Serial port */
#endif
c语言问题
这样写是对的。if(condition)条件判断语句在条件成立的时候执行下面的语句,条件不成立的时候直接跳过去。条件非0则表示为真,为0则表示为假。上面if(spi_d0)等价位if(spi_d0!=0);当变量spi_d0不为0时执行,为0则跳过if语句。
以后C语言程序这样写不是更简洁嘛。
希望对你有用。谢谢。
那位大哥把C语言翻译成单片机语言 我给100分
你是要这个语言吧
C:0x0000 0200FC LJMP C:00FC
main:
C:0x0003 E4 CLR A
C:0x0004 F5B0 MOV P3(0xB0),A
C:0x0006 F5A0 MOV P2(0xA0),A
C:0x0008 F590 MOV P1(0x90),A
C:0x000A E4 CLR A
C:0x000B FB MOV R3,A
C:0x000C 7D38 MOV R5,#0x38
C:0x000E 7FA5 MOV R7,#0xA5
C:0x0010 1200EB LCALL time_x(C:00EB)
C:0x0013 750BA5 MOV 0x0B,#0xA5
C:0x0016 750C38 MOV 0x0C,#0x38
C:0x0019 0B INC R3
C:0x001A 7D38 MOV R5,#0x38
C:0x001C 7FA4 MOV R7,#0xA4
C:0x001E 120083 LCALL time_s(C:0083)
C:0x0021 E4 CLR A
C:0x0022 FB MOV R3,A
C:0x0023 7D52 MOV R5,#0x52
C:0x0025 7F96 MOV R7,#0x96
C:0x0027 1200EB LCALL time_x(C:00EB)
C:0x002A 750B96 MOV 0x0B,#0x96
C:0x002D 750C52 MOV 0x0C,#0x52
C:0x0030 7B04 MOV R3,#0x04
C:0x0032 7D52 MOV R5,#0x52
C:0x0034 7F92 MOV R7,#0x92
C:0x0036 120083 LCALL time_s(C:0083)
C:0x0039 E4 CLR A
C:0x003A FB MOV R3,A
C:0x003B 7D52 MOV R5,#0x52
C:0x003D 7F5A MOV R7,#0x5A
C:0x003F 1200EB LCALL time_x(C:00EB)
C:0x0042 750B5A MOV 0x0B,#0x5A
C:0x0045 750C52 MOV 0x0C,#0x52
C:0x0048 7B2A MOV R3,#0x2A
C:0x004A 7D50 MOV R5,#0x50
C:0x004C 7F50 MOV R7,#0x50
C:0x004E 120083 LCALL time_s(C:0083)
C:0x0051 E4 CLR A
C:0x0052 FB MOV R3,A
C:0x0053 7D25 MOV R5,#0x25
C:0x0055 7FF0 MOV R7,#B(0xF0)
C:0x0057 1200EB LCALL time_x(C:00EB)
C:0x005A 750BF0 MOV 0x0B,#B(0xF0)
C:0x005D 750C25 MOV 0x0C,#0x25
C:0x0060 7B20 MOV R3,#0x20
C:0x0062 7D24 MOV R5,#0x24
C:0x0064 7FF0 MOV R7,#B(0xF0)
C:0x0066 120083 LCALL time_s(C:0083)
C:0x0069 E4 CLR A
C:0x006A FB MOV R3,A
C:0x006B 7D16 MOV R5,#0x16
C:0x006D 7FD2 MOV R7,#0xD2
C:0x006F 1200EB LCALL time_x(C:00EB)
C:0x0072 750BD2 MOV 0x0B,#0xD2
C:0x0075 750C16 MOV 0x0C,#0x16
C:0x0078 7B62 MOV R3,#0x62
C:0x007A 7D10 MOV R5,#0x10
C:0x007C 7FD0 MOV R7,#PSW(0xD0)
C:0x007E 120083 LCALL time_s(C:0083)
C:0x0081 8087 SJMP C:000A
time_s:
C:0x0083 8F08 MOV 0x08,R7
C:0x0085 8B0A MOV 0x0A,R3
C:0x0087 A905 MOV R1,0x05
C:0x0089 E4 CLR A
C:0x008A FB MOV R3,A
C:0x008B FA MOV R2,A
C:0x008C 850890 MOV P1(0x90),0x08
C:0x008F 89A0 MOV P2(0xA0),R1
C:0x0091 74FF MOV A,#0xFF
C:0x0093 FD MOV R5,A
C:0x0094 FC MOV R4,A
C:0x0095 7F05 MOV R7,#0x05
C:0x0097 7E00 MOV R6,#0x00
C:0x0099 1200C7 LCALL delay(C:00C7)
C:0x009C 850B90 MOV P1(0x90),0x0B
C:0x009F 850CA0 MOV P2(0xA0),0x0C
C:0x00A2 7F05 MOV R7,#0x05
C:0x00A4 7E00 MOV R6,#0x00
C:0x00A6 1200C7 LCALL delay(C:00C7)
C:0x00A9 0B INC R3
C:0x00AA BB0001 CJNE R3,#0x00,C:00AE
C:0x00AD 0A INC R2
C:0x00AE EB MOV A,R3
C:0x00AF 6403 XRL A,#0x03
C:0x00B1 4A ORL A,R2
C:0x00B2 70D8 JNZ C:008C
C:0x00B4 850890 MOV P1(0x90),0x08
C:0x00B7 89A0 MOV P2(0xA0),R1
C:0x00B9 850AB0 MOV P3(0xB0),0x0A
C:0x00BC 74FF MOV A,#0xFF
C:0x00BE FD MOV R5,A
C:0x00BF FC MOV R4,A
C:0x00C0 7F0A MOV R7,#0x0A
C:0x00C2 7E00 MOV R6,#0x00
C:0x00C4 0200C7 LJMP delay(C:00C7)
delay:
C:0x00C7 EF MOV A,R7
C:0x00C8 4E ORL A,R6
C:0x00C9 601F JZ C:00EA
C:0x00CB E4 CLR A
C:0x00CC F50D MOV 0x0D,A
C:0x00CE F50E MOV 0x0E,A
C:0x00D0 C3 CLR C
C:0x00D1 E50E MOV A,0x0E
C:0x00D3 9D SUBB A,R5
C:0x00D4 E50D MOV A,0x0D
C:0x00D6 9C SUBB A,R4
C:0x00D7 500A JNC C:00E3
C:0x00D9 050E INC 0x0E
C:0x00DB E50E MOV A,0x0E
C:0x00DD 70F1 JNZ C:00D0
C:0x00DF 050D INC 0x0D
C:0x00E1 80ED SJMP C:00D0
C:0x00E3 EF MOV A,R7
C:0x00E4 1F DEC R7
C:0x00E5 70E0 JNZ delay(C:00C7)
C:0x00E7 1E DEC R6
C:0x00E8 80DD SJMP delay(C:00C7)
C:0x00EA 22 RET
time_x:
C:0x00EB 8F90 MOV P1(0x90),R7
C:0x00ED 8DA0 MOV P2(0xA0),R5
C:0x00EF 8BB0 MOV P3(0xB0),R3
C:0x00F1 74FF MOV A,#0xFF
C:0x00F3 FD MOV R5,A
C:0x00F4 FC MOV R4,A
C:0x00F5 7F96 MOV R7,#0x96
C:0x00F7 7E00 MOV R6,#0x00
C:0x00F9 0200C7 LJMP delay(C:00C7)
C:0x00FC 787F MOV R0,#0x7F
C:0x00FE E4 CLR A
C:0x00FF F6 MOV @R0,A
C:0x0100 D8FD DJNZ R0,C:00FF
C:0x0102 75810E MOV SP(0x81),#0x0E
C:0x0105 020003 LJMP main(C:0003)
C语言问题请教
你这里运用的只是简单的值传递!!
如语句f(a,b);只是复制一份a和b给f(a,b);使用!并没有改变主函数的值!
这只是复制!
关于c语言中文变成d0和c语言中文变成乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。