导航:首页 > 操作系统 > c51单片机如何赋初值

c51单片机如何赋初值

发布时间:2024-09-14 06:01:10

① c51单片机的定时器计数器怎么用最好用例子

方法有很多的,给你一个,你可以调试一下,你可以通过不同的晶振去计算定时器初值,如果你懂定时器这部分很好调通的
#include <reg52.h>
sbit p1_0=P1^0;
int i; //全局变量

void timing(void) //晶振为3.6864M
{
TMOD|=0x01; //定时器T0,工作方式1
TH0=0xC3;
TL0=0xC7; //这两个寄存器存的是计数器的计数开始的值,这两个值累加至溢出后正好是50ms
ET0=1; //使T0中断可以溢出
EA=1; //开启总中断
TF0=0; //溢出位清零
TR0=1; //开启T0
}
/********定时中断函数*********/
void time0_int () interrupt 1 //定时中断函数
{
TH0=0xC3;
TL0=0xC7;
i++;
}

main()
{
i=0;
timing();
while(;)
{
if(i==20)
{
p1_0=~p1_0; //p1.0口状态翻转
i=0;
}
}

② 51单片机0计数方式时的初值

方式0是13位计数器或定时器,分低5位和高8位,因此计算方法为:
低位=(8192-X)%32
高位=(8192-x)/32;
就是这么算出来的。

③ 51单片机一段引脚赋值

只需要对P2.1-P2.6赋值写法如下:
x=赋的值;
x&=0x7e;
P2|=x;

④ 51单片机c语言编程能给位赋值么

C语言中不能直接给二进制某一位赋值
但是可以通过按位操作来实现
如果你的P3是整型或者字符型的变量,可以通过“按位或”对某一位赋1,通过“按位与”对某一位赋0
P3=P3|0x40;//这样就是在不改变其他位的同时给第6位赋1
0x40转换成二进制位01000000
假如:P3的值为10110010
10110010
| 01000000
结果为 11110010

⑤ 51单片机变量初值。

如果是“C51”,并且使用默认的startup.a51启动文件(未手动修改)的话,那么在运行到main()之前、片内SRAM已经都初始化为0了。

⑥ 单片机定时100个脉冲初始赋值是多少,计算过程

51单片机的定时器是加法计数的,因此100个脉冲定时器初值是
满量程减100
当工作在8位计数器时,初值是256-100
工作在16位模式是65536-100
工作在13位模式时是8192-100
但16位模式下初值又分高8位和低8位。高8位是(65536-100)/256
低8位 (65536-100)%256
13位模式下 高8位是(8192-100)/256
低8位是(8192-100)%256
8位计数器时,高 8位 低8 位初值都是256-100

阅读全文

与c51单片机如何赋初值相关的资料

热点内容
什么app可以教你化妆 浏览:545
程序员加班996怎么过 浏览:827
有个什么tv美女直播app 浏览:860
编译gcc比较全的参数 浏览:204
stvd取消编译器优化 浏览:423
pdf存储格式 浏览:588
加密软件提取时没有这个键怎么办 浏览:913
可以用命令行做什么好玩的东西 浏览:134
荣耀30s带方丹编译器吗 浏览:55
黑甲虫加密软件加密后文件不见了 浏览:277
惠州程序员名单 浏览:180
java可移植性 浏览:743
加密卡写卡工具 浏览:396
德善缘app是干什么的 浏览:821
中山云存储服务器 浏览:689
google蜂鸟算法 浏览:952
为什么程序员这么受人诟病 浏览:104
linuxgtk编程 浏览:255
迪拜用什么app打车 浏览:634
java字符串不转义 浏览:310