导航:首页 > 操作系统 > 单片机逆初始化

单片机逆初始化

发布时间:2023-02-07 17:28:50

A. 在51单片机编程中 初始化程序的作用是什么

1.将一些变量转换为初始值,如0或1。

2.如果使用zd,则需要设置定时器的工作模式和初始值。

3.如果使用中断,应该打开相应中断源的中断并设置优先级。

4.如果使用串口,则需要设置相应的串口工作模式和波特率。

5.需要提前设置的其他数据变量和命令字。

(1)单片机逆初始化扩展阅读:

初始化器子函数带注释:

Voidtimer0interrupt()1

TMOD=0x01;//选择timing0

TH0=(65536-50000)/256;//加载初始值50MS

TL0=(65536-50000)%256;

EA=1;//打开完全中断

ET0=1;//打开定时器0中断

TR0=1;//开属定时器0

B. 单片机往什么要进行初始化或者说初始化时究竟是用来干什么的或者说初始化的意义高手具体解答~~

单片机的一些初始化都是为了设定功能,驱动某个芯片,就像你要干什么事,先要事先准备差不多。每个芯片对于单片机来说初始化都不太一样

C. 在51单片机编程中 初始化程序的作用是什么

一般的情况下是在上电的时候初始化,还有就是程序跑飞和出现异常时也要初始化,初始化的目的就是把所有用到的标志位、变量回到你的初始值,以及引脚的分配,配置寄存器写入需要的值,像时钟的选择(内部、外部)一般在上电时就做好,以后不是特殊需要是不改动的,引脚功能的分配也是一上来就设置好,之后如果可以就不改动,如果经常性的改可能会引发异常。

D. 单片机 IO口初始化

1、首先注意51单片机上电的时候会有个复位的操作,复位的时候不执行单片机内部程序,复位之后51单片机的所有io口都为高电平;
2、在单片机复位之后在main函数里执行程序,如果要使io口初始化为低电平,就要在while循环的上方把io置低;例如:
一般程序的结构是这样的:
void
main()
{
....
io
=
0
;
//在while的上方对io置低,
......
while(1)
{
}
}
3、基于上面的原理,在设计单片机外围电路的时候,为了不让外围电路误动作,一般把外围电路设置成单片机io口低电平的时候
尽心动作,
比如:
点亮led灯的时候,,一般把led的负极接io口,,这样单片机上电的时候,没有进入程序之前,led是不会亮的,

E. plc程序如何实现单片机初始化

可以仿照RT-Thread的自动初始化机制,写了一个自动初始化的模块,整个代码仅52字节。
单片机的复位是由RESET引脚来控制的,此引脚输入高电平超过两个机器周期后,单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。如果RST持续为高电平,单片机就处于循环复位状态。初始化逻辑较显式调用的方式模糊,容易引入BUG。

F. 单片机复位初始化

80C51复位后SP的内容为07H,即堆栈指针指向07H,而80C51单片机的堆栈属于向上生长型,也就是指在向堆栈压入(PUSH)时,堆栈指针是增加的,并且是堆栈指针先加1然后才放入数据,故第一个入栈的单元地址是08H。

G. 单片机定时器和中断初始化流程是什么样的啊还有就是TMOD和SCON的初值是怎么计算出来的

至于那些书上都有的理论知识我就不说了,就简单的说一下吧,楼主可以想简单点
定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时)
1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0X01,就说明定时器0工作在方式1。
2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;可以这样理解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增,到达65535后就溢出产生中断,至于为什么是对256取整,和取余的话楼主自己先琢磨吧, 不懂再hi我;
3、第三步就要打开中断了,使用IE寄存器,我一般是对各个位进行单独设置,这样看起来感觉更好,首先打开总中断EA = 1,这一步是所有中断所必须的,然后打开定时器0中断,ET0 =1;
4、这时准备工作都准备好了就要开始启动定时器了,使用TCON寄存器,TR0 = 1,到现在为止就实现了一个50毫秒的定时了;
总结一下:TMOD = 0X01; TH0 = (65535 - 5000) / 256; TL0 = (65535 - 50000) % 256; EA = 1; ET0 = 1; TR0 = 1,至于那个中断函数我就不写了,要注意的是方式0 ,1, 3是不能自动重装的,所以得在中断函数中重新对TH0 ,TL0赋初值,楼主说的那个SCON寄存器就是用于串口的,定时器会用了的话,串口也就会了的,希望能够帮助楼主了

H. 单片机复位后各特殊功能寄存器的初始化状态是什么

首先单片机复位也分别几种:掉电再通电,按复位按钮,程序复位,通过外部接口复位。
各芯片的复位电路大同小异,这里以51系列单片机为例,上电后,保持RST一段高电平时间,就能达到上电复位的操作目的。
常见的复位电路如下:
1.掉电再通电,这里就视为冷启动吧
这种情况下单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,特殊功能寄存器复位后的状态为确定值,具体可参考相应单片机的说明书。
2.按复位按钮
这种情况下单片机的复位操作也会使程序计数器PC=0000H,程序重新从
0000H
地址执行,但是与第1种情况不同的是,片内RAM为复位前的状态值,也就是说,运行中的复位操作不改变片内RAM区中的内容。而特殊功能寄存器复位后的状态为确定值,具体可参考相应单片机的说明书。
51单片机复位后特殊功能寄存器的初始值
特殊功能寄存器
初始值
特殊功能寄存器
初始值
ACC
00H
TCON
00H
B
00H
TMOD
00H
PSW
00H
TL0
00H
SP
07H
TH0
00H
DPTR
0000H
TL1
00H
P0~P3
FFH
TH1
00H
PCON
0XXX
0000B
T2CON
00H
AUXR
XXX0
0XX0B
T2MOD
XXXX
XX00B
AUXR1
XXXX
XXX0B
RCAP2L
00H
IE
0X00
0000B
RCAP2H
00H
IP
XX00
0000B
TL2
00H
SCON
00H
TH2
00H
SBUF
XXXX
XXXXXB
WDTRST
XXXX
XXXXB
表中部分符号的含义如下:
PSW=00H:表明复位后自动选择第0组工作寄存器组为当前工作寄存器组
SP=07H:表明堆栈指针指向片内RAM07H单元,堆栈的压入操作为先加后压,所以第一个被压入的数据存放在08H单元中
P0~P3=FFH:表明各端口写入1,此时各端口既可作输入口,也可以作输出口
AUXR=XXX0
0XX0:表明ALE引脚在CPU不访问外部存储器期间有脉冲信号输出
AUXR1=XXXX
XXX0:表明选择DPTR0作数据指针
IE=00H:表明各中断均关闭
TCON=00H:表明T0,T1
均被停止
SCON=00H:表明串口处于方式0,允许发送,不允许接收
PCON=00H:表明SMOD=0,波特率不加倍。PD=0,IDL=0,单片机处于正常工作方式。
3.程序复位
这种情况下单片机的复位操作由程序内部控制,功能要视乎程序的编写。例如我们可以操作使程序计数器PC=0000H,同时
添加RAM初始化程序,清0或置1,同时设置某些特殊寄存器的值,或者其他操作,总之这是一种软件操控的复位,功能可灵活控制。
4.外部接口复位待研究。
P.S.
1.什么是冷启动?热启动呢?
冷启动就是在不加电的情况下启动系统,热启动就是在加电的情况下重启系统!
例子:
冷启动是之直接按下电源开关启动计算机。
热启动是之在已开机的状态下在开始菜单中选择重新启动计算机,这叫做热启动。

阅读全文

与单片机逆初始化相关的资料

热点内容
腾讯游戏服务器怎么总是丢包 浏览:725
总之,末之过年电影 浏览:146
pdf提取器 浏览:565
编程语言10年热度 浏览:772
《指点蜜津》txt百度云 浏览:332
好色小姨全集下载 浏览:534
宅男在线观看电影 浏览:863
韩国演员朱艺彬图片 浏览:42
从现代买物资到民国小说 浏览:865
我的世界起床大作战服务器地址 浏览:666
翠微居合集百度云 浏览:524
程序员和数字有关系吗 浏览:99
美团收款机出现命令模式 浏览:501
《惊变》高清完整版 浏览:514
java减月份 浏览:63
实变函数与泛函分析基础pdf 浏览:978
在知网下载pdf格式 浏览:392
男的送快递的电影叫什么名字 浏览:647
苹果电脑信任app在哪里设置 浏览:894
当设计师撞程序员 浏览:549