51单片机编程,里面的引脚定义多为大写字母,怎么修改成小写的?
这么弄是不行的。51单片机是8位的单片机,一次处理8位也就是一个字节。不允许这么做。
你可以这么写
X=a; X是8位的,a存在X的低四位
P1=X<<4;
1 在C语言中,字符型变量存储的实际上是ASCII码值。
2 在ASCII码表中,大写字母和小写字母分别连续且有序存储。
3 同样字母的小写ASCII码值比大写的ASCII码值大32。
所以,要将小写字母,转为大写字母,只需要减去32即可。
如
int main(){ int c = getchar(); putchar(c-32);}即为一个输入小写字母,输出对应大写字母的程序。
重新自己写个头文件,里边把这些做成宏定义,然后include自定义的这个头文件。搞定
干嘛要小写,关键字大写是个良好的习惯。
sbit xxxx=P2^3; 如此,你就把P23引脚定义为xxxx
1单片机用内部定时方法产生频率100Hz等宽矩形波,假定单片机的晶振频率为...
1单片机用内部定时方法产生频率100Hz等宽矩形波,假定单片机的晶振频率为12MHZ,请编程实现:用定时器定10ms就可以,当定时器中断,则I\/O取反即可。
P0<<=1 单片机编程中这个什么意思啊?
这句话的意思是右移 加入P0开始是00000001 经过P0<<=1(即P0=P0<<1)就变成了00000010 这个右移8次就把1移出去了,就会变成00000000即十进制的0
SM1=1在单片机编程中什么意思
对于STC单片机中表示串口控制寄存器SCON中的一位 SM1和SM0共同设置,可以配置串口的4中工作方式中的哪一种 比如SM0=0 SM1=1则配置成8位UART波特率可变 具体的可以看下STC的官方手册关于讲解串口的那一段
单片机编程里面有句这样的 mov 30H,#7AH mov R0,#30H两条语句是不是罗 ...
MOV 30H,#7AH,将立即数7A放入地址单元为30H的存储空间中。MOV R0,#30H。是将立即数30放入工作寄存器R0中。R0里面的内容是30.我们把此时的R0定义为标志1.你问可不可以把7A送给R0,其实从这条程序表达的意思,是实现不了这种功能的。你可能是想问为什么不写这样一条指令 MOV R0,#7AH。现在R0里...
单片机编程1
FU DATA 70H ORG 0000H LJMP MAIN ORG 0050H MAIN:MOV ZHENG,#00H ;计数初始为零 MOV FU,#00H ;计数初始为零 MOV R7,#30 ;30个数 MOV R0,#1FH ;第一个数的前一个地址 MOV R1,#51H ;整数存的首地址 MOV SP,#70H ;负数的首地址 LOOP:INC R0 ;指向第...
单片机题目麻烦解释下 1.编程,用循环方式将片内RAM中30H~40H单元全部清 ...
单片机汇编程序写的时候用大写字母似乎更易读。ORG 0000H LJMP START ORG 0030H START: MOV R2,#17;这句的意思是给循环变量R2赋初值为17 MOV R0,#30H;R0是循环时的指针,初始指向30H LP: MOV @R0,#0;给R0所指的那个单元赋值为0,也就是清0 INC R0;指针加一,指向下一个单元 DJNZ R2...
帮忙解释一下单片机编程中的 每一个指令的意思和控制过程、急用、谢谢...
mov tl1, #236 ;让t1的值为236 setb tr0;开启t0 setb tr1;开启t1 loop: jnb tf0,$; 表示测试tf0的值,如果不为1(为0)则程序继续执行本条指令($表示当前位置),如果为1则顺序执行下一条指令。 这里就是说当定时器T0溢出时进入下面的指令 clr tf0 ;清零tf0并进入下面的程序 ...
单片机编程的头文件解释
include <iom16v.h> 其有有MEGA16的寄存器(如:PORTA)定义,还有些位变量定义,如:#define OCIE0 1 你可以打开看下里面的东西,你编译MEGA16时必须将这个头文件先包涵,否则会报错:XX寄存器没有定义。还有就是macros.h了,里面有些常用的宏定义:如:\/* Writes 16-bit register *\/ def...
为什么用c51单片机编程,最后一般都要加一个while(1);
一直在这儿执行的意思,比如一些示范程序做完工作后,但程序仍要运转,那就用while(1)结尾,表示停住。还有的运行任务只是循环执行某一段程序,那就把它放在 while(1)里面不停循环执行
单片机编程,语言C,请高手帮忙,财富值可以追加的哦
程序如下:输出锯齿 include<reg52.h> include<absacc.h> define uchar unsigned char define DACO832A XBYTE[0XCFA0]define DACO832A XBYTE[0XCFA1]void delay(int a){int b;for(b=0;b<a;b++);} void main(void){uchar b;while(1){for(b=0;b<200;b++){adc0832a=b;dac0832...
西咳肝乐: 你打开头文件“reg51.h”把端口大写的P全换成小写的就可以了.
登封市13419251064: 51单片机各个引脚的功能 - ?
西咳肝乐: MCS-51单片机引脚功能MCS单片机都采用40引脚的双列直插封装方式.图2-9为引脚排列图, 40条引脚说明如下:1、主电源引脚Vss和Vcc① Vss接地② Vcc正常操作时为+5伏电源2、外接晶振引脚XTAL1和XTAL2① XTAL1内部振荡电路反相...
登封市13419251064: 51单片机如何定义多位引脚? - ?
西咳肝乐: 这么弄是不行的.51单片机是8位的单片机,一次处理8位也就是一个字节.不允许这么做.你可以这么写 X=a; X是8位的,a存在X的低四位 P1=X
登封市13419251064: 单片机中各引脚的功能是什么? - ?
西咳肝乐: 对于at89c51的单片机40引脚 网上找的!希望对你有用 VCC/GND:供电电源. P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器.在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外...
登封市13419251064: 51单片机中的ALE引脚在程序中如何定义 - ?
西咳肝乐: 不用定义的,普通51中它不是通用的IO口,单片机正常工作时它输出1/6机器周期的方波,好像是1/6记不清了.有的单片机可以把它当作P4.x用,你在单片机下载程序可以看到提示.
登封市13419251064: 单片机的引脚特点 - ?
西咳肝乐: 对于没有外部Rom的单片机(如at89c2051)没有PSEN线. 对于有外部rom的单片机,PSEN用于读取外部rom的信息,肯定会变化的,而不管是否访问外部rom. 对于ALE来说,你是可以禁止它变化的. 详情可以查看C51的说明书.以下摘录...
登封市13419251064: 在51单片机上,什么是引脚? - ?
西咳肝乐: 就是单片机芯片上,那些从黑乎乎的硅片中伸出来的金属片.
登封市13419251064: MCS - 51系列单片机有电源类引脚、时钟类引脚、并行输入、输出引脚、控制引脚,共多少个引脚啊? - ?
西咳肝乐: 8051单片机40个引脚大致可分为4类:电源、时钟、控制和I/O引脚. ⒈ 电源:(1) VCC - 芯片电源,接+5V; (2)VSS - 接地端; ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端. ⒊ 控制线:控制线共有4根, (1) ALE/PROG...
登封市13419251064: 单片机程序中REGX51.H中sbit P1 - 3=0x93;是什么意思 - ?
西咳肝乐: 单片机程序中REGX51.H,这是头文件,定义了单片机内部特殊功能寄存器SFR的单元地址,及可以位寻址的位地址. sbit P1_3=0x93; 这就是定义了引脚P1.3的位地址是93H,这样,在写程序时,才可以直接用P1_3来表示P1.3了,如P1_3=0; 至于,那些SFR的单元地,那些位地址可以不用考虑,更不用背,头文件定义好了,写程序时直接用就好了.
登封市13419251064: 单片机程序写入是哪个引脚 - ?
西咳肝乐: 并行数据线下载是通过:P1.5、P1.6、P1.7和RST四个引脚烧进去的.串行数据线下载是通过:P3.0和P3.1烧进去的.