当前位置:首页 » 编程软件 » 51单片机模块化编程

51单片机模块化编程

发布时间: 2022-03-15 12:41:02

Ⅰ 51单片机模块化编程怎么位定义

模块不太了解,对于位的话.
就是bit和sbit,就搞定位定义了.

Ⅱ 模块化编程时51单片机怎样定义端口

单片机输出低电平时,一个标准TTL门的低电平输入电流是-1mA(负号表示从TTL门向外流),电流是灌入单片机的;单片机输出高电平时,TTL门高电平输入电流40μA。

Ⅲ 关于51单片机模块化编程的函数申明问题 (//write_com(); //这里的这个函数要不要先申明呢)

把被调用的子程序放在调用函数的上方,把所有子程序放在主程序的前面,这样就不用在前面声明了。

Ⅳ 在51单片机中,定时器0中断用模块化方法编程

#include<reg51.h>
#defineu16unsignedint
#defineu8unsignedchar


codeu16sj_tab[]={800,400,200,100};//每个档位对应的时间
u8setsj=0;//档位
u16jsflag;

#defineLEDP2
codeu8led_tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,};//LED亮的方式
u8ledflag=0;

/****************************************/
voidinit() //初始化函数
{TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;

}

/*********按键扫描******/
sbitk=P3^2;
u8key(){
staticu8ms;
if(k==0){//检测到0
if(ms<10)ms++;
if(ms==5)return0;//连续5次扫描都为0,
}
elsems=0;
return1;
}

/***********************************/
u8count=0; //计数
voidmain()//主函数
{
init();//系统初始化
jsflag=sj_tab[setsj];//初始加载时间
TR0=1;//定时器开始计时
while(1){
if(key()==0){//按键按下
if(++setsj>=4)setsj=0;//档位+1,加到最大后归0
}
LED=led_tab[ledflag];
}

}


/****************************/
voidtimer0()interrupt1//1ms定时器
{
TH0=(65536-1000)/256;//重载初值
TL0=(65536-1000)%256;
if(jsflag>0)jsflag--;//1ms减1
if(jsflag==0){//减到0
jsflag=sj_tab[setsj];//重载时间
if(++ledflag>=8)ledflag=0;
}

}

Ⅳ 求大神关于51单片机模块化编程问题

你好:
你只要在iic的.c文件中包含iic的.h文件就可以了。
另,如果iic的.c文件涉及操作到51中的寄存器,还要包含reg51.h。
且,.c和.h文件都要放到编译器所在文件的include下。
先试试吧。
希望我的回答能帮助到你。

Ⅵ 大神们,请问怎么把定时器进行模块化编程,我试了好多次都编译不成功,定时程序可以模块化编程的吗请给

你的主控芯片和编译环境都没给啊,基于51单片机还是stm32啥的,说清楚啊

Ⅶ 51单片机定时计数器模块化编程及标志位求教,求以简单程序,谢了

/*right 2007,ShangHai HaoTun Electronic Technology co.,Ltd
*
*This sample is used for Timer0 16bit timer mode.
*
*write by Shifang 2007-4-26
*
*V1.1
*/
#include<reg52.h>

sbit LED=P1^2;

void Init_Timer0(void)
{
TMOD |= 0x01;
TH0=0x00; /* Init value */
TL0=0x00;
EA=1; /* interupt enable */
ET0=1; /* enable timer0 interrupt */
TR0=1;
}

main()
{
Init_Timer0();
while(1);
}

void Timer0_isr(void) interrupt 1 using 1
{
TH0=0x00; /* Init value */
TL0=0x00;

LED=~LED;//指示灯反相

}以上是定时器0的编程用的是at89s52芯片fosc用的12mhz的

/*right 2007,ShangHai HaoTun Electronic Technology co.,Ltd
*
*This sample is used for Timer1 16bit timer mode.
*
*write by Shifang 2007-4-23
*
*V1.1
*/
#include<reg52.h>

sbit LED=P1^2;

void Init_Timer1(void)
{
TMOD |= 0x10;
TH1=0x00; /* Init value */
TL1=0x00;
EA=1; /* interupt enable */
ET1=1; /* enable timer1 interrupt */
TR1=1;
}

main()
{
Init_Timer1();
while(1);
}

void Timer1_isr(void) interrupt 3 using 1
{
TH1=0x00; /* Init value */
TL1=0x00;

LED=~LED;

}定时器1的
/*right 2007,ShangHai HaoTun Electronic Technology co.,Ltd
*
*This sample is used for Timer0 16bit timer mode.
*
*write by Shifang 2007-4-26
*
*V1.1
*/
#include<reg52.h>

sbit LED=P1^2;

void TIM2Inital(void)
{
RCAP2H = (65536-60000)/256;//@12M 10ms 16bit 自动重载
RCAP2L = (65536-60000)%256;
ET2=1;
EA=1;
TR2=1;
}

main()
{
TIM2Inital();
while(1);
}

void Timer0_isr(void) interrupt 1 using 1
{
TH0=0x00; /* Init value */
TL0=0x00;

LED=~LED;//指示灯反相

}
void TIM2(void) interrupt 5 using 1//定时器2中断
{

TF2=0;
LED=~LED;//指示灯反相

/*right 2007,ShangHai HaoTun Electronic Technology co.,Ltd
*
*This sample is used for Timer0 16bit timer mode.
*
*write by Shifang 2007-4-26
*
*V1.1
*/
#include<reg52.h>

sbit LED=P1^2;

void TIM2Inital(void)
{
RCAP2H = (65536-60000)/256;//@12M 10ms 16bit 自动重载
RCAP2L = (65536-60000)%256;
ET2=1;
EA=1;
TR2=1;
}

main()
{
TIM2Inital();
while(1);
}

void Timer0_isr(void) interrupt 1 using 1
{
TH0=0x00; /* Init value */
TL0=0x00;

LED=~LED;//指示灯反相

}
void TIM2(void) interrupt 5 using 1//定时器2中断
{

TF2=0;
LED=~LED;//指示灯反相

}定时器2
开发板配套程序占得你看看

Ⅷ 51单片机汇编如何进行模块化编程希望高人提供系统资料

汇编精确度很高,但是移植性不好,
写完一个程序,
不能很好地马上移到另一个工程中使用,,我使用的C语言,
对于你的问题,暂时帮不了

Ⅸ 51单片机用汇编可以进行模块化编程吗

可以的。只是在模块调用时注意输入输出数据的衔接,哪些寄存器存什么数,执行完后用哪个寄存器带出来数据,都要考虑好。
可以参考和学习一下,汇编子程序库。

热点内容
怎么访问暗网 发布:2025-01-23 07:02:04 浏览:665
无线配置代理选什么 发布:2025-01-23 06:52:54 浏览:824
c程序汇编程序 发布:2025-01-23 06:49:42 浏览:840
cmd命令与linux命令 发布:2025-01-23 06:40:26 浏览:806
linux用户目录权限 发布:2025-01-23 06:37:49 浏览:233
学计算机避免编程 发布:2025-01-23 06:29:09 浏览:661
易语言机器人源码 发布:2025-01-23 06:24:03 浏览:320
汇编语言的编译可以叫解释吗 发布:2025-01-23 06:23:22 浏览:35
tomcat编译后的文件 发布:2025-01-23 06:05:46 浏览:254
惠普畅游人14是什么配置表 发布:2025-01-23 05:57:39 浏览:296