本文目录一览

1,单片机c程序设计

没问题,正确! a和b都是10相等,执行a、b自加,所以a=11,b=11

单片机c程序设计

2,什么是c语言单片机编程

单片机属于嵌入式开发,做单片机编程的都对硬件、软件都要很熟悉,要熟练的使用汇编和c语言。如果是C语言单片机编程的话,可能会对汇编要求不是太严格,但一定得懂,不懂汇编的话,你也基本不会懂单片机的C语言中加入的一些东西。不过用C要比全用汇编开发效率高出很多。

什么是c语言单片机编程

3,c语言编程c51单片机

楼主是要汇编的吧楼上的是C要汇编追问我,我再帮你写
#include <reg51.h>#define uchar unsigned char#define uint unsigned intmain() uint xdata *xp;//定义指向片外RAM的指针 uint data *p;//定义指向片内RAM的指针 uchar i;//定义循环变量 xp=0x100;//指向片外RAM的100H单元 p=0x30;//指向片内RAM的30H单元 for(i=0;i<10;i++) *p=*xp;//将片外RAM单元中的内容传送给片内RAM单元 xp++;//指向下一个片外RAM单元地址 p++;//指向下一个片内RAM单元地址 }}

c语言编程c51单片机

4,单片机C语言编程

在main函数内最后加上while(1);就行了
#include<reg52.h> sbit D1=P1^3; void main() int a=50000; D1=0; while(a--); a=50000; D1=1; while(a--);
你每次a都被赋值成50000了 你难道没看到吗??这还不是死循环 你每次执行里面a都会重新被赋值,所以,剩下的你懂的
在结束后再加个死循环就好了,程序运行完后在不停地重复运行…………
你的循环体在哪?循环体中有给D1赋值?又没有以D1为标准的退出语句!至少在循环体中有取P1.3值然后判断退出循环才行!

5,单片机C语言程序

电路??
#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar DSY_CODE[]= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar Count = 0;void main() P0 = 0x00; P2 = 0x00; TMOD = 0x06; TH0=255; TL0=255; ET0=1; EX0=1; EA =1; IP =0x02; IT0=1; TR0=1; while(1) P0 = DSY_CODE[Count/10]; P2 = DSY_CODE[Count%10]; }}void Clear_Counter() interrupt 0 Count = 0;}void Key_Counter() interrupt 1 Count = (Count + 1) %100;}
不解。
………
打酱油的

6,单片机C程序

可以试试这样一个函数 我不知道你按钮式高电平有效还是低电平有效,假设定义了一个函数读取按钮状态,按下返回一getkey() 代码可以这样写 for(i=0;i<10000;i++) if (!getkey()) break; } 可以试试这段代码,至于0.2s只能通过实验修改那个循环次数来确定了,不能很准确。 当然要在消抖之后,也就是延时10ms之后。 还有一个办法更准确一些,把按钮放在中断里,允许上升沿和下降沿同时触发。 按钮被按下后消抖10ms后重新启动中断,同时启动定时器。建立两个全局变量,一个保存计时器状态,一个保存按钮状态。 计时器启动后及时器状态置1,按钮启动后按钮置1。当按钮被松开时判断定时器是否正在计时,如果正在计时表示不到0.2s关定时器,如果已经超了时间直接把按钮状态置0就可以了。如果计时器到时按钮状态为一直接关闭灯就可以了。这是大致思路你看看行不行把。
#include <AT89X52.H>sbit LED2=P0^1;sbit LED1=P0^0;sbit key=P1^0;unsigned char Msel,Secs;unsigned char Wait; void main(void)TMOD = 0x01; TH0 = 0xec; //12M晶振 定时中断 5MsTL0 = 0x78;EA = 1;ET0 = 1;TR0 = 1;while(1) ; }}void Timer0Interrupt(void) interrupt 1 TH0 = 0xec; TL0 = 0x78; if(++Msel>=4) //20Ms Msel=0; f(!key) if(++Wait>=102) //这里是2秒 需要0.2秒 把102 改成 12 下面的100 改成 10 就行了 Wait=100; LED1=0; LED2=0; } if(Wait==2) //按键 按下时 ++Wait ;只有 Wait==2 灯亮 ;当 Wait==102 (2S)灯灭 ; 只要不松开按键 Wait 就一直在 100~102 循环 ;这样按下去不管多久灯只会亮一次 LED1=0; LED2=0; } } else Wait=0; } }
sbit Keyre =P1^0; sbit LedL1=P1^1; sbit LedL2=P1^2; bit KeyValue=0; unsigned int xdata Keytimer=0; main() KeyValue=!Keyre;//低电平有效 } 中断1ms函数 if(KeyValue) Keytimer++; else Keytimer=0; if((Keytimer>0)&&(Keytimer<200)) else }

文章TAG:单片机  c语言  语言  编程  单片机c语言编程  
下一篇