单片机用89c52和时钟芯片ds1302做的时钟.c语言编程。这个是典型的单片机应用,你搜几个单片机教程,就能找到实例了! 用1302和计数器的区别,只是增加了和1302的通信和读写功能替换
单片机程序设计,程序已有需要帮忙解读和修改。
电脑
2022-08-28
单片机程序,能帮忙解读下吗
void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;//关看门狗 P5OUT=0x00;//P5口输出0 P2DIR=0xff;//P2口设为输出模式 P2OUT=0xff;//P2口全置高 ClockInit();//时钟初始化 LCD_init();//LCD初始化 Clear_GDRAM();//清除GDRAM xianshiInit();//显示初始化 delay(50); //上电延时 //init_uart(); //串口初始化,暂时不用屏蔽掉了帮我解释下这个单片机程序
;开头的几个是定义端口。用于控制led的亮和暗 RED_ZHU BIT P0.0 YELLOW_ZHU BIT P0.1 GREEN_ZHU BIT P0.2 RED_ZHI BIT P0.4 YELLOW_ZHI BIT P0.5 GREEN_ZHI BIT P0.6 ;****************主程序************************** ORG 0000H JMP MAIN ;用于51单片机rom内部开始地址为中断入口地址所以加一个跳转指令 ORG 0080H ;程序真正在这里开始 ;******************************************单片机C语言编程,编出来效果不佳,求帮忙改改。
语法上错误一大堆,这样改你看可以不
#include
unsignedchardat,n;
sbitJS=P3^4;
sbitP1_3=P1^3;
sbitP1_2=P1^2;
sbitP1_1=P1^1;
sbitP1_0=P1^0;
voidtimer_init(void)
{
EA=1;//开中断
TMOD=0x51;//16位计数器T116位定时器T0
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;//10ms初值
TH1=0;
TL1=0;
ET0=1;//开中断
TR0=0;//启动T0
ET1=1;
TR1=0;
}
voidtimer_0()interrupt1
{
n++;
if(n==10)
{
n=0;
dat=TL1;
TH1=0;
}
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
}
voidtimer_1()interrupt3
{
TH1=0;
TL1=0;
}
voidmain()
{
timer_init();
while(1)
{
if(JS==0)
{
TR1=1;
TR0=0;
if(dat>30)
{
if(dat>50);
elseP1_3=~P1_3;
if(dat>70);
elseP1_2=~P1_2;
if(dat>90);
elseP1_1=~P1_1;
if(dat>110)
{
delay(50000);
while(JS==1)break;
while(JS==0)delay(50000);
}
elseP1_0=~P1_0;
}
else
{
delay(50000);
while(JS==1)break;
while(JS==0)delay(50000);
}
}
elsebreak;
}
}
单片机编程有一个程序不是很懂,能请你们耐心解释一下吗?
书上有错,漏掉了 SETB P1.1 这句 START CLR P1.0 ; 应该是使发光二极管灭,我觉得书上的注释有误,没对上 AGA: SETB P1.1 ; 这句书上漏掉了,先对P1.1写“1”, 读P1口需要先置1才能正确读P1引脚电平 JB P1.1, LIG ; 判断开关状态,开关没有闭合的话就跳转到LIG处执行 SETB P1.0 ; 开关闭合,点亮二极管 SJMP AGA ; 返回AGA循环 LIG: CLR P1.0 ; 使发光二极管灭 SJMP AGA ; 返回AGA循环 END 请采纳。单片机程序设计问题 在线等 急啊 !!!!
动手修改一下,就会符合你的要求. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;名称:数字电压表 ;作者;w418781840,日期:2008.5.28 ;功能:实验现0~~5V电压的测量,测量值用三位数管显示 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CLK BIT P3.5;定义CLK ORG 0000H LJMP MAIN ;转入主程序 ORG 0013H LJMP AGA ; ;中断TNT1,用于读取转换后的数据 ORG 001BH LJMP WQ ;T1中断入口,用于产生时钟和显示 ;;;相关文章
- 详细阅读
-
内孔R,从小尺寸车到大尺寸怎么编程详细阅读
数控车床内孔怎样编程和外圆的编程一样,只是你退刀的方向变为负方向即可,但不要太大,否则会撞着工件,以FANUC为例,若用G71循环的话,你只需把第2个U值变为负值即可,其精车路线和外圆
- 详细阅读
-
利用按键实现点灯功能:单片机复位详细阅读
单片机如何实现按下按键灯1亮3秒熄灭,灯2亮一秒灭一秒循环 c语言啥单片机啊?好久没写过51的了,写一下,可能有错的地方,不过思路是这样子的。那个S=4和后面那里写错了,不过我觉得你
-
方菱火焰数控?编程出来尺寸为什么详细阅读
数控火焰切割机实际尺寸和画图的尺寸不一样,变大了。什么原因?参数?影响的原因有几点: 1、机床行走尺寸有误差了,这需要在数控系统或者伺服驱动器调节脉冲参数,具体依据系统或驱动
- 详细阅读
-
petri网在建模时的作用,怎么在编程详细阅读
如何用matlab实现petri网的建模Ctrl + g用来切换软件背景网格线的有无;鼠标中键用来添加库所;Ctrl +鼠标中键用来添加变迁;用鼠标中键在库所与变迁间拖拽可以添加弧。 他有专门
-
51单片机显示与理想不符合详细阅读
51单片机程序定时器怎么这么不准确啊,求高手指点!这是编译器造成的,你最好用Debug模式看看生成的汇编代码是什么摸样,比较一下你那三种方 式给TH0和TL0赋的是什么样的值。 这是
-
求大神解答一下走G71具体编程方法详细阅读
g71程序怎么编程?G71 外圆粗车循环(G71)指令格式: G71 X(U) I K L F ;其中:X(U)—精加工轮廓起点的X轴坐标值I---X轴方向每次进刀量,直径值表示,无符号数K---X轴方向每次退刀量
-
在单片机片内30H开始存放了10个4字详细阅读
c51单片机内30h∼39h单元处存放了10个二进制数,计算它们的累加和,并将结果存放到起始地址SUM: MOV R0,#30H MOV 40H.#0 MOV 41H,#0 MOV R2,#10 LP: MOV A,@R0 ADD A,40H MOV