本文目录一览

1,单片机C语言程序

如果没有定义 NO_TIMER2 就执行下面的程序。。如果定义了。。就执行#else下面的程序、、与if。。。else的用法差不多。。 #endif就是结束的意思。。与#ifndef 是相对的。。

单片机C语言程序

2,单片机编程C语言

P2口是8位口吧, 十六进制FE是 1111 1110。 P2=0XFE的意思就是把信号1111 1110(1为高电平,0为低电平)送到P2口。P2口外接LED 后LCD灯可以点亮。
0XFE、0XFD、0XFB、0XF7,这些对应的二进制码就是:11111110、11111101、11111011、11110111 0代表灯亮,1代表不亮,所以这就是四个灯的从右向左亮 后面的同理

单片机编程C语言

3,单片机 C语言程序

P1=1<<j++;这句错了,<<这个是左移,而不是循环左移 改为这样就可以了 #include <reg52.h> #include<intrins.h> typedef unsigned int uint16; typedef unsigned char uint8; #define uchar unsigned char uchar temp; void main()
j没有初始化,~是按位取反,不是单纯意义的取反。另外新手请多看看经典程序,你这风格太不好了。

单片机 C语言程序

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语言

//下面三行分别将uchar、uint、ulong定义为 unsigned char、unsigned int和unsigned long 方便使用#define uchar unsigned char //定义一下方便使用#define uint unsigned int#define ulong unsigned long#include &lt;reg52.h&gt; //包括一个52标准内核的头文件sbit P10 = P1^0; //将P10定义单片机的P1.0口,控制的LED灯,sbit K1= P3^2; //将K1定义为按键K1uchar scale;//用于保存占空比的输出0的时间份额,总共10份char code dx516[3] _at_ 0x003b;//这是为了仿真设置的//模拟PWM输出控制灯的10个亮度级别void main(void) // 主程序uint n;//下面几行是定时器的初始化,初始化的数据OxF3和0x98,数据是通过计算得到的,公式我忘了RCAP2H =0xF3; //赋T2的预置值的高位,溢出1次是1/1200秒钟RCAP2L =0x98;//赋T2的预置值的低位TR2=1; //启动定时器ET2=1; //打开定时器2中断EA=1; //打开总中断while(1) //程序循环//for循环只是起个延时的作用 for(n=0;n&lt;50000;n++); //每过一会儿就自动加一个档次的亮度scale++;//就是说每次for循环延时结束后scale占空比增加一次,直到scale==10if(scale==10)scale=0;}}//1/1200秒定时器2中断 中断程序独立的,不管何时只要中断的条件到了就调用它,本程序的条件是 定时器T2的定时到了timer2() interrupt 5static uchar tt; //tt用来保存当前时间在一秒中的比例位置TF2=0;tt++;if(tt==10) //每1/120秒整开始输出低电平tt=0;if(scale!=0) //这里加这一句是为了消除灭灯状态产生的鬼影P10=0;}if(scale==tt) //按照当前占空比切换输出高电平P10=1;}

6,C语言单片机

#include"reg52.h" unsigned code tab[]=int tcnt;unsigned int sec;unsigned int min;unsigned int hour;unsigned int spe;sbit speak=P2^0;void delay(int t)}void speaker() speak=1;delay(10);speak=0;}void display (unsigned char m1,unsigned char m2,unsigned char m3,unsigned char m4,unsigned char m5,unsigned char m6)P0=0xef;P1=m5;delay(1);P0=0xf7;P1=m4;delay(1);P0=0xfb;P1=m3;delay(1);P0=0xfd;P1=m2;delay(1);P0=0xfe;P1=m1;delay(1);if(spe==60) speaker();}void main() TMOD=0x02;TH0=0x06;TR0=1;ET0=1;EA=1;P2=0x00;while(1) }}void t0(void)interrupt 1 using 0//处理中断函数 if(tcnt==4000)//4000 tcnt=0; sec++; if(sec==60) spe=sec; sec=0;min++; if(min==60) min=0;hour++; if(hour==24) hour=0; } } } }} 这个是89c51系列单片机。你可以修改成你需要的功能。(该程序设置成了每分钟就报时)。
第1章 单片机的C语言概述   1.1 C语言与MCS-51单片机   1.2 Keil C51开发工具   1.3 C51语言的程序结构与编程实例   本章小结   习题   第2章 C51语言程序设计基础   2.1 C51语言数据类型及存储类型   2.2 C51语言对单片机主要资源的控制   2.3 C51语言的基本运算与流程控制语句   2.4 C51语言的构造数据类型   2.5 C51语言函数   2.6 C51语言程序设计的其他问题   本章小结   习题   第3章 单片机内部资源的C51编程   3.1 单片机的并行口   3.2 单片机的中断系统   3.3 单片机的定时器/计数器   3.4 单片机的串行口   本章小结   习题   第4章 单片机外部扩展资源的C51编程   4.1 并行口扩展的C51编程   4.2 键盘接口的C51语言编程   4.3 LED显示器接口的C51编程   4.4 键盘与LED控制芯片HD7279A   4.5 模拟量接口的C51编程   4.6 串行E2PROM的C51编程   本章小结   习题   第5章 Vision2集成开发环境的使用   5.1 Vision2集成开发环境   5.2 用Vision2建立工程   5.3 用Vision2调试工程   5.4 C51程序调试举例说明—HELLO.C   5.5 Keil C51的调试技巧   本章小结   附录A MCS-51系列单片机简介   A.1 主要功能部件   A.2 内部结构框图   A.3 外部引脚说明   A.4 硬件资源说明   A.5 CPU   A.6 存储器结构   A.7 外部三总线的形成   附录B ASCII码字符表   附录C 单片机技术及嵌入式系统常用网站

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