C51???????????????
C51???C????????б????????????????????????????????????80C51???????????????磺bit??sbit??sfr??sfrl6????Щ??????????ANSIC??????е??
bit??????λ??????????0??1??
sbit????????λ???????е????λ??????????0??1
sfr???????????????????????Χ???0??255??
sfr16???????????Χ?0??65535??
C51??????????5-1?г??????????????????Щ???????????????????????????????????С?????ANSIC???????????????????????????????bit??sbit??sfr??sfrl6????????????????80C51???????????????????????????з????
??5-1 C51????????
???????? | λ | ??? | ????Χ |
char | 8 | 1 | ??128??127 |
unsigned char | 8 | 1 | 0??255 |
enum | 16 | 2 | ??32768??32767 |
short | 16 | 2 | ??32768??32767 |
unsigned short | 16 | 2 | 0??65535 |
int | 16 | 2 | ??32768??32767 |
unsigned int | 16 | 2 | 0??65535 |
long | 32 | 4 | ??2147483648??2147483647 |
unsigned long | 32 | 4 | 0??4294967295 |
float | 32 | 4 | ??1.175494E-38????3.402823E+38 |
bit | 1 | ?? | 0??1 |
sbit | 1 | ?? | 0??1 |
sfr | 8 | 1 | 0??255 |
sfr16 | 16 | 2 | 0??65535 |
80C51??21???????????????????????RAM?????????????80C51??о??????????????????????????????????C51?????????????Щ?????????????????????????????????sfr??sfr16??????????
??5.1 ??sfr??????????????????????????
sfr SCON = 0x98?? /*????SCON????????????????0x98*/
sfr P0 = 0x80?? /*????P0?????????????????0x80*/
sfr TMOD = 0x89?? /*????TMOD??????/?????????????????????0x89*/
sfr PSW = 0xD0?? /*????PSW?????????????????0xD0*/
?????sfr????????????????д??????????????????Щ??????????
??????80C51????????п????????????????????????????????16λ????磺
sfr16 T2 = 0xCDCC /*????T2?16λ??????????,????0CCH(?????)??0CDH(?????)*/
??5.2 ?? sbit?????????????λ?????????
sbit CY = PSW^7?? /*??????????PSW?У????PSW.7?CY*/
sbit CY = 0xD0^7??/*????0xD0???????????0xD0?????λ?CY*/

????admin ?????????2023-06-28