在其它场合使用 没有意义 甚至会出错,
如 十进制 加法 38+55=93 汇编为
MOV A, #38H A = 38H
ADD A, #55H A = 38H+55H=8DH
DA A A = 93H 调整指令后 就是 93
//DAC通道1输出初始化void Dac1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure
DAC_InitTypeDef DAC_InitType
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE ) //使能PORTA通道时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE ) //使能DAC通道时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 // 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN //模拟输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure)
GPIO_SetBits(GPIOA,GPIO_Pin_4) //PA.4 输出高
DAC_InitType.DAC_Trigger=DAC_Trigger_None //不使用触发功能 TEN1=0
DAC_InitType.DAC_WaveGeneration=DAC_WaveGeneration_None//不使用波形发生
DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude=DAC_LFSRUnmask_Bit0//屏蔽、幅值设置
DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable //DAC1输出缓存关闭 BOFF1=1
DAC_Init(DAC_Channel_1,&DAC_InitType) //初始化DAC通道1
DAC_Cmd(DAC_Channel_1, ENABLE) //使能DAC1
DAC_SetChannel1Data(DAC_Align_12b_R, 0) //12位右对齐数据格式设置DAC值
}
//设置通道1输出电压
//vol:0~3300,代表0~3.3V
void Dac1_Set_Vol(u16 vol)
{
float temp=vol
temp/=1000
temp=temp*4096/3.3
DAC_SetChannel1Data(DAC_Align_12b_R,temp)//12位右对齐数据格式设置DAC值
}
是十进制调整指令,用来在进行十进制运算(BCD码)时进行校正的。
单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
扩展资料:
注意事项:
时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。
由于单片机技术的发展,单片机本身对电源电压范围的要求越来越宽。电源电压从当初的5V降至3.3V并继续下降到2.7V、2.2V、1.8V。在是否使用低电压复位功能时应根据具体应用情况权衡一下。
参考资料来源:百度百科-单片机
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)