当前位置:首页 » 编程语言 » 单片机c语言代码

单片机c语言代码

发布时间: 2022-07-17 00:14:25

⑴ 单片机求一个串口实验的c语言程序代码

#include <AT89X51.H>//单片机51头文件,存放着单片机的寄存器
unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
sbit gewei=P2^2; //个位选通定义
sbit shiwei=P2^3; //十位选通定义
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x77,0x7c,0x39,0x5e,0x79,0x71};
//{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,};// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
void Delay(unsigned int tc) //延时程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
void LED() //LED显示接收到的数据
{
shiwei=0;
P0=~table[dat/16];
Delay(8);
shiwei=1;
gewei=0;
P0=~table[dat%16];
Delay(5);
gewei=1;
}
void Init_Com(void)//功能:串口初始化,波特率9600,方式1
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void main()//主程序功能:实现接收数据并把接收到的数据原样发送回去///////
{
Init_Com();//串口初始化
// P1=0xf0;
while(1)
{
if ( RI ) //扫描判断是否接收到数据,
{
dat = SBUF; //接收数据SBUF赋与dat
RI=0; //RI清零。
SBUF = dat; //在原样把数据发送回去
}
LED(); //显示接收到的数据
}
}

⑵ 单片机C语言代码问题

看来是你还没理解好定时器。

定时器是单片机的一个模块,用的时候,我们给它配置好参数,启动之后就可以不管了,它可以独立于主程序流程而运行。正确的使用如下:

voidmain(void)
{
EA=1;//打开总中断
ET0=1;//打开定时器/计数器T0中断
TMOD=0x01;
TH0=(65536-50000)/256;//50ms一次定时器中断
TL0=(65536-50000)%256;
TR0=1;
D1=0;
while(1);
}

voidT0Int()interrupt1
{
TH0=(65536-50000)/256;//50ms一次定时器中断,需要初始化初值。
TL0=(65536-50000)%256;
D1=~D1;
}

⑶ 单片机c语言代码

先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用>5(假设字长为8位),则得到的是 11111101 总之,在C中,左移是逻辑/算术左移(两者完全相同),右移是算术右移,会保持符号位不变.实际应用中可以根据情况用左/右移做快速的乘/除运算,这样...

⑷ 这段但单片机C语言代码什么意思急求大神解答

按代码看,是一个2行的LCD,如2*20LCD。
if(hang==1)
write_com(0x80+add);//意思是指定地址在第1行的第add个位置
else
write_com(0x80+0x40+add);//意思是指定地址在第2行(0x80+0x40
是第2行)的第add个位置
if(date
==
1)
write_com(0x0f);
//意思是在指定的位置LCD会自动闪烁光标
else
write_com(0x0c);
//意思是LCD关闭在指定位置的光标

⑸ 求写一段简单的51单片机C语言代码

#include < reg52.h >
#include <intrins.h>

sbit P00 = P0^0;
void delay(unsigned int ms)
{
unsigned char i;
while(ms--) for(i = 110; i-- ; i > 0);
}

void main()
{
unsigned char LED = 0xfe, COUN = 0;
while(1) {
P1 = LED;
P2 = COUN;
if (P00 == 1) {
delay(2);
if (P00 == 1) {
while (P00 == 1);
LED = _cror_(LED, 1);
COUN++;
} } } }

⑹ 单片机c语言必背代码

TR0 = 1;
ET0 = 1;
EA = 1;

⑺ 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp>>=1;

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

(7)单片机c语言代码扩展阅读

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

⑻ 单片机c语言程序

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

热点内容
司机会所访问 发布:2025-02-01 15:54:11 浏览:778
家用电脑改成服务器并让外网访问 发布:2025-02-01 15:30:23 浏览:354
javac工资 发布:2025-02-01 15:24:28 浏览:22
如何删除服务器登录账号 发布:2025-02-01 15:21:05 浏览:498
瑞萨编程器 发布:2025-02-01 15:19:18 浏览:85
上海ntp服务器搭建 发布:2025-02-01 15:03:38 浏览:991
c游戏编程基础 发布:2025-02-01 15:00:17 浏览:993
routejs怎么动态配置 发布:2025-02-01 14:59:07 浏览:502
家用电脑安装服务器内存 发布:2025-02-01 14:38:50 浏览:257
增量调制编译码实验报告 发布:2025-02-01 14:30:30 浏览:787