#include<reg52.h头文件>

单片机C语言LED先奇数后偶数点亮_百度知道
单片机C语言LED先奇数后偶数点亮
j;0; for(j=0;reg52; delay();0;j++) {P0=_crol_(P0;n--)
for(s=248;m&i&lt#include& for(i=0,2);s&n& } P0=0
for(m=20;s--);4; delay().h&while(1){ P0=00,s;m--)
for(n=20;i++) {P0=_crol_(P0.h&intrins,n,2);}
void main(){void delay(){j&4;#include&lt
8,5,2烧入单片机里运行顺序不对。,3,6。第1,4。
提问者采纳
经试验查证.,n。
所以程序可以是.,s.,马上就运行底下的了.h&gt,那就只要3;后要加个延迟;i&0.;#include& for(i=0;i++) {P0=_crol_(P0.25s)5。
循环只循环三次就够了;while(1){ P0=0xfe..0s)6,(1.,(0.;delay();j++) {P0=_crol_(P0.h&s--).你这样运行的结果是;n--)
for(s=248.这是这个程序单步运行的结果;3;n&gt,(1,要不就一句程序运行时间太短,导致这句程序没反应出来、5; delay(); } P0=0xfd:(0.,因为第一次你已经写出来了.2s)8;s&j&reg52,(1:#include&lt.、7就可以了..6s)1;0,(1.,j。底下P0=0 for(j=0.8s)5;delay();m--)
for(n=20.05S)3,亮灯顺序编号是.6s)3,(0;void delay(){
unsigned char m,2); delay().4s)7,(1;
for(m=20;3,(0;m&}
void main(){unsigned char i。,P0=00.4s)2,入1已经写了,一样要加延迟,(0,2)
其他类似问题
其他1条回答
for(i = 0; i++)
{ P0 = _crol_(k; }
while(1) {
k = 0 delay(), 2 * i); delay();
for(i = 0; 4void main(){ 4; i & i &lt, 2 * i), i++)
{ P0 = _crol_(k
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求用keil实现单片机与PC机串口通信_百度知道
求用keil实现单片机与PC机串口通信
单片机接收PC机发来的字符,并将其显示在LCD1602上,我用的是开发板
我有更好的答案
按默认排序
&&//&EN_SET;&//忙则等待&&&//判断是接收中断产生&&&char&SBUF&&长度如下&&11;}/*------------------------------------------------&&&&0)&&&&LCD_Write_Com(0x0C);&&&&&&nbsp,含有输入参数&&&&nbsp,&&&&&LCD_Write_Com(0x80&&&&nbsp,1;&发送一个字节------------------------------------------------*/void&&&&&&&&nbsp,其值的范围是&&&&&LCD_Init();&&&char&=&&&&9600&&&char&&/*------------------------------------------------&&LCD_Write_Com(0x01);//表示第二行&com&0~255&sbit&ES&&//定义端口&&&s&&&&y;&&char&&&&&&&&&&&&#define&&unsigned&&&&&nbsp.h&& }&&if(RI)&LCD_Write_Com(unsigned&&&&&char&&&RS=1#define&波特率&&&&&&&DelayMs(5);&&SendStr(unsigned&&&EN_CLR&&&RI=0;&&&s++;&&&nbsp,0;&LCD_Write_Com(0x38);&&&&& &&EN=0#define&&&&&DataPort=&SendByte(*s);=&&while&&(bit)(DataPort&&&&&(void)&&模式&&&&&串口通信单片机测试&_nop_();&=&&LCD_Write_Com(0x06);&/*显示模式设置*/&P2^4;&void&&&LCD_Write_Com(0x08);LCD_Write_Data(&&&&&&&8-bit&&EN_SET;&//清屏SendStr(&&&/*显示关闭*/&&&&{&这里使用晶振12M;&&&&date[0];&&)&&&&&&&&&&&&&&&);DataPort=&&nbsp!='&&TR1&&&&RW&&&nbsp,unsigned&&4;&&&//&&&&&&Data)&&&&&&&main(void)&char&&&&LCD_Write_String(5; LCD_Write_Com(0x80&&(y&主函数------------------------------------------------*/&&&&&=0x0f;date[n]=SBUF;&{&&&&&&&&&&char&&&&&&else&&unsigned&&date[17];&+&RW=0&&TR1;TH1&1;&&EN_CLR;&&&reg52;&&RS_CLR;=&n++;&RS=0&&&&_nop_();&EN_CLR;&\0& }&(y&&&&&}& {&&else&n&0x50;&//表示第一行&LCD_Write_Com(0x01); LCD_Write_Com(0xC0&&&&&&0)&RW_CLR&&&&&&&P0unsigned&&&&sbit&&&{&void&&&nbsp,&&& {&nbsp,*p;&SCON&&}}&&&==&&DataPort=&&\0'&&&&&=&&&nbsp,通过检测是否字符串末尾&&&DelayUs2x(245);& {&&&&&(void){&+&x);& }&nbsp,&& {&&&if&&&x;表示字符串结束标志;&y;&&&&&LCD_Write_Com(0x28);&&&&&&&{&DelayUs2x(245);LCD_Init(void)&&模式&&#define&&t){&&&char&&&&&&&&void&&&8-bit&nbsp:&&&&&&&&&}}&&&=&&&&&#define&0;RS_SET;char&P2^5;0xFF;&&&这里使用晶振12M;&&char&x);n;&EN_SET;RS_CLR;&&&&while(LCD_Check_Busy());t;char&&&写入命令函数------------------------------------------------*/&&nbsp:&&&RW_CLR;&&}/*------------------------------------------------&{&//4bit&&&DelayMs(unsigned&&sbit&&&&&if(TI)&nbsp,其值的范围是&&&&*s);{&&&&++;&&&&&&&&&&&&&&&EN&RW_SET;&//如果是发送标志位;&&&&&LCD_Write_Com(0x38);LCD_Write_Com(0x38);=&&&&nbsp,&&&写入数据函数------------------------------------------------*/&DataPort=&char&&&&&&x;&/*bit&&&//&&/*------------------------------------------------&void&&&return&while(*s;清屏函数------------------------------------------------*/&&&//串行中断服务程序{&TI&&1&&&&&&&&&&&&&&&&&RS_CLR&&/*------------------------------------------------&电脑串口调试工具发送信息&&&dat){&//&unsigned&&&nbsp,大致延时&&&//打开串口中断}&+&&&//打开总中断//&while(;0x20;T=tx2+5&&&D&hehe&&}/*------------------------------------------------&&&}/*------------------------------------------------&&mode& LCD_Write_Com(0xC0&& &&&&&&=&&LCD_Clear(void)&&LCD_Write_String(1;}/*------------------------------------------------&void&&&&&&P2^6;&&&&&&&EN_SET;4&&/*显示开及光标设置*/&led=~&&&&&&&&{&&&nbsp:&&&&RS_SET&nbsp,无返回值&&&&&while&}/*------------------------------------------------&&&sbit&&&&&&&DelayMs(5);&&&&&&&&&&&unsigned&_nop_();DelayUs2x(unsigned&&x);&&&&&&0~255&&&&&&//&&&&_nop_();&&nbsp,unsigned&&&&nbsp,*p);{&t;&led=&&&&&&&_nop_();&*s){&&char&&&P1^0;//标志位清零&|=&&&&&&&&&&&&&&&重装&&&&&&&char&&}/*------------------------------------------------&判忙函数------------------------------------------------*/&&(*s)&&&&&EN_CLR;DelayMs(5);&&重装值&&&LCD_Write_String(unsigned&&//大致延时1mS&&& &&&&&hehe&&t){&&&LCD_Write_Char(unsigned&1;&&nbsp,清零&&&&&串口中断程序------------------------------------------------*/void&&显示到1602显示屏上&&&nbsp,&&&&&EN_SET;&&RW_SET&interrupt&&&&&&0x80);&&&&&&&&&&&&+&2.h&&ES&&1;EA&&&&&&&LCD_Write_Data(&&&while(t--)&{&{&&unsigned&&1;&&&写入字符函数------------------------------------------------*/&&{&&&&&&&&nbsp:&&nbsp,头文件包含特殊功能寄存器的定义#include&&&/*------------------------------------------------&使能接收&while(--t);&&&&EN_CLR;&&&nbsp,含有输入参数&nbsp,无返回值&&=& }&EN=1#define&&/*显示清屏*/&&InitUART&LCD_Check_Busy(void)&&------------------------------------------------*/void&&&DelayMs(5);&&打开&&&&&&RW_CLR;&DataPort=&&uS延时函数;&&&&&&}*//*------------------------------------------------&if&&&Data)&&char&&&&& &Data);&& &LCD_Write_Data(unsigned&TMOD;&&&&com)&&&&&&p=&&&&&&void&0xFD;&&1;&nbsp,unsigned&nbsp!TI);TH1;DataPort&&&&串口初始化------------------------------------------------*/void&&&&&&&&&&&&&//&&&&==&&TI=0;&&&&RS&& {&&是定义无符号字符变量;&&是定义无符号字符变量;&timer&&nbsp,一般情况不需要改动;&}}/*------------------------------------------------&SendByte(unsigned&晶振&/*显示光标移动设置*/&void&& }&}/*------------------------------------------------&mS延时函数;&TMOD&DelayMs(5);&SCON;char&uS&&1;&&*s)&4;&&&&&RW=1&);&&&&nbsp,精确延时请使用汇编------------------------------------------------*/void&=&nbsp,unsigned&#define&&&&&&初始化函数------------------------------------------------*/&&DelayMs(5);&&char&UART_SER&&&=&{&&{&&&&&nbsp,精确延时请使用汇编;x);&&&&写入字符串函数------------------------------------------------*/&&&&UART;&&//忙则等待&//while(LCD_Check_Busy());&&&&Data&&&char&&&&&&&&&&DelayMs(5);&EN_SET&&&(1)&发送一个字符串------------------------------------------------*/void&//包含头文件;timer&&&LCD_Clear()#include&&nbsp.0592MHz&EN_CLR
我看到过这个,不太对哦
你这个问题真有意思,单片机是什么芯片?不同的芯片都有不同的串口、LCD驱动的
其他类似问题
串口通信的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁51单片机C程序,这个程序为什么进不了中断函数_百度知道
51单片机C程序,这个程序为什么进不了中断函数
ET0=1;}void extr1() interrupt 1{
TH0=()/}我这哪儿写错了,为什么进不了中断函数;256.h&
TR0=1;void main(){
TMOD=0x01;
TL0=()%256#include&lt
提问者采纳
ET0=1,你需要将程序留在里面执行;256;
LED=0xfe,C的话加一个死循环while(1);void main(){
TMOD=0x01;1)|0x01.h&汇编的话加一条原地踏步语句;reg52:SJMP $#include&
TH0=()&#47主要的问题是;
EA=1,程序入流水一样“流走”了;
LED=(LED&} void extr1() interrupt 1{
if(LED==0xff)LED=0unsigned char LED;&
TL0=()%256
提问者评价
其他类似问题
51单片机的相关知识
按默认排序
其他2条回答
ET0=1;while(1)
TH0=()//加这个函数试试{256.h&
TR0=1; void main(){
TMOD=0x01;
TL0=()%256#include&lt
同学,主循环都没有啊,程序执行一次就跑飞了,都等不到中断……void main(){
TMOD=0x01;
TH0=()/256;
TL0=()%256;
while(1)//主循环
{//空循环,等待中断
}}unsigned char i=0;void extr1() interrupt 1{
P0=~ (1&&i);//流水灯效果
if(++i&7)i=0;TH0=()/256;//重装定时器
TL0=()%256;}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言流水灯循环右移动,我想问下,为什么上面第一个FOR语句的后面是左移,下面的FOR语句就是右移了啊?_百度知道
C语言流水灯循环右移动,我想问下,为什么上面第一个FOR语句的后面是左移,下面的FOR语句就是右移了啊?
/延时函数;8; /&#47,如delay(200);52单片机头文件#include &y--);//x--)
for(y=110;点亮小灯
beep=0;//8;延时50毫秒
beep=1;开启蜂鸣器
delay(50);
////0; }void main()
/void delay(uint z)
/ /主函数{ uchar a.h& &#47. /将a变量循环左移一位
a=0x7f;i&/点亮小灯
beep=0;大约延时200
//
//包含有左右循环移位子函数的库#define uint unsigned int
//
/ while(1)
&#47#include&左移
/开启蜂鸣器
delay(50);赋初值
&#47,z的取值为这个函数的延时ms数;i++)
/ for(x=z,y;i++)
/delay(500);/y&大循环 {
a=0再延时50毫秒
a=_cror_(a;i&lt,1);延时50毫秒
beep=1;右移
P1=a;reg52;x&/
for(i=0,i;/关闭蜂鸣器
delay(50);再延时50毫秒
a=_crol_(a;/ / ///
/&#47,1);关闭蜂鸣器
delay(50);/宏定义#define uchar unsigned char
/0;宏定义sbit beep=P2^3;大约延时500ms.{
/&#47.h&gt
提问者采纳
可以发现用的是两个不同的函数_crol_()和_cror_(),一个左移关键语句在于两个for中的“a=_crol_(a,1),1);”;”和“a=_cror_(a
提问者评价
这样啊,一直没看到,晕,害我研究了半天,谢了啊
其他类似问题
按默认排序
其他1条回答
0x 每次右移一位 a=0xfe
每次左移一位,a=0x7f,显示8次
我吧其中一段单独测试的时候,2个初值我都改过,但是结果都一样都是向左移动
流水灯的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 reg52.h是什么 的文章

 

随机推荐