unsigned char a,b; //定义变量a,b
P1ASF=P11ASF; //AD相关寄存器初始化
ADC_CONTR=ADC_POWER;
for(b=1;b>0;b--) //等待AD初始化完成
for(a=47;a>0;a--);原文请加辣'文'论"文'网QQ324,9114
}
4.2.2 AD转换程序
unsigned char ADC_P11()
{
unsigned char AD; //AD初值
ADC_CONTR=ADC_POWER|ADC_SPEEDHH|ADC_START|ADC_CHS0 ; //AD控制模块设定
_nop_(); //等待设定完成
_nop_();
_nop_();
_nop_();
while(!(ADC_CONTR&ADC_FLAG)); //如果AD设定完成
AD=ADC_RES<<2; //AD结果获取
return AD; //返回AD值
}
4.3 显示屏程序
4.3.1写指令函数
void write_com(unsigned char com)
{
lcdrs=0; //写指令选择
P0=com; //位选
lcden=1; //标志位
delay_ms(20);
lcden=0;
}论文网
http://www.751com.cn/4.3.2写数据函数
void write_data(unsigned char date)
{
lcdrs=1; //写数据选择
P0=date; //写数据
lcden=1;
delay_ms(20);
lcden=0;
}
4.3.3显示函数
void display(unsigned int illusion)
{ 原文请加辣'文'论"文'网QQ3249'114
unsigned int qian,bai,shi,ge,num1;
qian=illusion/1000; //千位
bai=illusion%1000/100; //百位
shi=illusion%100/10; //十位
ge=illusion%10; //个位,速度范围为0至9999.
for(num1=0;num1<20;num1++) //显示前面一段字符
{
write_data(table[num1]);
delay_ms(20);
}
write_com(0x80+0x41); //显示光照强度
write_data(0x30+qian);
write_com(0x80+0x42);
write_data(0x30+bai);
write_com(0x80+0x43);
write_data(0x30+shi);
write_com(0x80+0x44);
write_data(0x30+ge);
write_com(0x80+0x47);
for(num1=0;num1<2;num1++)
{论文网
http://www.751com.cn/ write_data(table1[num1]);
delay_ms(20);
}
write_com(0x80); //显示数据尾
}
4.3.4对1602液晶的模式进行设置
void lcd_init()
{
lcden=0; //初始化
write_com(0x38); //设置16*2显示,5*7点阵,8位数据接口
write_com(0x0c); //设置开显示,不显示光标
write_com(0x06); //写一个字符后地址指针加一
write_com(0x01); //显示清零,数据指针清零
}
4.4 主程序(选择红、绿、黄指示灯的程序)
void main(void)
{原文请加辣'文'论"文'网QQ324.9114
ADC_P11_inti(); //AD初始化
lcd_init(); //LCD初始化
TMOD=0x20; //中断设定
SCON=0x50; //串口初始化
TH1=0xFD; //波特率设置
TR1=1;
上一页 [1] [2] [3] [4] [5] [6] [7]
单片机光敏电阻的照明灯控制系统设计+PWM程序 第7页下载如图片无法显示或论文不完整,请联系qq752018766