51单片机,2个简单问题,求大神,定采纳
只有一个对P1.0的位赋值: sbit led1=P1^0;
led1=~led1 是求反吧,相当于CPL
sbit FirstBit = P0^1;sbit SecondBit = P0^0;#define Select 0#define Unselect 1#define SELECTFIRSTBIT FirstBit = Select#define SELECTSECONDBIT SecondBit = Select#define UNSELECTFIRSTBIT FirstBit = Unselect#define UNSELECTSECONDBIT SecondBit = Unselect#define Display_null P2 = 0x00#define Display_0 P2 = 0x3f#define Display_1 P2 = 0x06#define Delayms(time) for(temptime = 0;temptime < time;temptime++)void main(void){ int temptime,temptime8; for(temptime8 = 0,temptime8 < 8,temptime8++){ SELECTFIRSTBIT; Display_0; Delayms(50); Display_null; UNSELECTFIRSTBIT; SELECTSECONDBIT; Display_1; Delayms(50); Display_null; UNSELECTSECONDBIT; } while(1);}
hex 英文 hexadecimal 的缩写,意思是 16进制51单片机串口下载程序时,单片机的波特率可以任意设置,它会自适应,一般选9600bps就行了
1:你理解是正确的
2:波特率错误下载程序会失败的
那请问这个设置有何意义
你找到单片机对应的端口,右击--属性--端口设置 显示的是9600bps,其实你可以任意设置的
51单片机,2个简单问题,求大神,定采纳视频
相关评论:
屈重昂1、51开发板可以实现什么功能这要看你的外设是什么,51自带的功能并不多,根据你想要实现的功能再连接外设。2、51的芯片有很多种,书本上教的是40pin的单片机,有40个引脚,少的就只有几个io口,多少输出输入也是可以通过外部输出输入拓展的。
屈重昂1::你有仿真器吗,可以用软件protues试试,你的灯接在哪里了?假设你的灯接在了p0-p3,灯是共什么极性的呢?共阴极0xff,共阳极为0x00;那么可以写为 include<reg51.h> void main(){ while(1)P0=0xff;} 2::定时器的东西也是简单的,实验的晶振是多少啊,一般是12mhz的,那么是1\/1000ms...
屈重昂缺少大循环。……while(1) { \/\/加上这行 if(tt==20) { tt=0;num++;if(num==16)num=0;dula=1;P0=table[num];dula=0;} } \/\/加上这行 } void delay(uint z){ ……
屈重昂因为在<REG52.H>中定义的P0端口是大写,而C语言是大小写分开的,所以你的程序中P要大写。
屈重昂其中第5步并不是说停止位接收完成后就自然会发生的,需要同时满足两个条件,否则接收到的数据会丢失:a、RI=0:如果RI=1说明上次中断未处理完,此时不会执行5 b、SM2=0,或者接收到的停止位=1,二者满足其一即可 明白了整个接收过程和触发机制,回过头再看你的问题:“若SM2=1,则只有接收到有效...
屈重昂程序还得你自己写,第一道题很好办,每个都是256MS,8位DA转换也是0-255,256个数字,其实就是每过1毫秒DA值减1。第二道题,51单片机我忘了T1在方式一下是什么定时器,主要是看几位的定时、计数器,如果8位的,计数最大值就是2^8=256,16位的就是2^16=65536,初值等于计数最大值减去要计数...
屈重昂看来是你自己把自己搞晕了。那P2口接的8个LED灯是怎么排列的?注意那P2.0的灯排在左边还是右边了吗?见下图,P2输出的就是0x55,看到的就是灭亮灭亮,那是因为P2.0所接的灯是在左边,而你又是从左边向右看的,就是这个结果。应该是从右向左看,因为右边才是高位的P2.7。
屈重昂问题出现在你的程序中“while(!k3); \/\/等待按键松开”这一条。把你程序中的 “while(!k3); \/\/等待按键松开” 这一条语句,作为k1和k2的动作条件,即将该句后的分号去掉,同时加大括号,将k1和k2动作语句包含在大括号里面,就可以了。解释:因为你的这一句,是指等k3松开后再检测k1或k2的...
屈重昂1)要让一个程序能够几乎立即停止执行,需要在程序的很多地方,关键位置上加入判断语句,以便接收停止命令;2)为了让程序按原逻辑顺序执行,检测键盘的输入就应该采用中断方式;sbit K1=P1^0; \/\/按键 char flag=0;在8051单片机的时钟频率为12MHz,用T0定时,10ms中断一次 void Timer0_init(){ TMOD ...
屈重昂C51语句: P0_0 = 1;P0_0声明为sbit,因此编译成:setb 80h,这将把位地址空间的0x80地址的bit的值置1。这个位正是P0口的bit0,执行后,P0.0将输出高阻态。而P0.1-.7不会变化。2:C51为什么要嵌套汇编 51单片机一个显著优点就是指令执行时间固定,因此可以适应时序要求严格的场合。例如符合...