概述
#includetypedefunsigned char uchar;
typedefunsigned int uint;
floatgetdata;
uinttemp;
unsignedchar dispbuf[8]={10,10,10,10,10,0,0,0};
uchar*p="0123456789";
sbitST=P3^0;
sbitOE=P3^1;
sbitEOC=P3^2;
sbitCLK=P3^3;
sbitrs=P2^5;
sbitrw=P2^6;
sbite=P2^7;
voiddelay(unsigned int t) //延时函数
{
unsigned int i;
for(t;t>0;t--)
for(i=120;i>0;i--);
}
voidwrite_com(uchar com) //写指令函数
{
rs=0; //选择写命令模式
rw=0; //写入
P0=com; //将要写的命令字送到数据总线上
delay(5);
//使能端给一高脉冲,因为初始化函数中将e置零
e=1;
delay(5);
e=0;//将使能端置0以完成高脉冲
}
voidwrite_data(uchar dat) //写数据函数
{
rs=1; //选择写数据命令模式
rw=0; //写入
P0=dat;
delay(5);
e=1;
delay(5);
e=0;
}
voidinit() //初始化函数
{
rw=0;
e=0;
write_com(0x38); //设置8位格式 两行
write_com(0x0c); //整体显示 关光标 不闪烁
write_com(0x06); //设置输入方式 增量不移位
write_com(0x01); //清屏
}
voidmain()
{
init();
ST=0;
OE=0;
ET0=1; //允许定时器计时器0中断
EA=1; //打开中断总开关
TMOD=0x12;
TH0=246;
TL0=226;
TR0=1; //定时器0运行控制位,当软件清0时,关闭定时器0
ST=0;
write_com(0x01); //清屏
while(1)
{
uchar i;
if(EOC==1)
{
OE=1;
getdata=P1;
OE=0;
//AD转换:255/5=实(AD)/输出
temp=getdata*5/255*100-1;
write_data(p[temp/100]);//输出整数位
write_data(.); //输出小数点
write_data(p[temp/10%10]);//显示小数位 write_data(p[temp%10]);
write_data(V); //显示‘V’ ST=1; // AD转换启动信号 ST=0;//ST由1变为0时,开始转换 }
delay(200);
write_com(0x01);
}
}
Voidtime0(void) interrupt 1 using 0//定时器计数器0
{
CLK=~CLK;
}
最后
以上就是飘逸红酒为你收集整理的单片机输出脉冲的C语言简易程序,51单片机简易程序.doc的全部内容,希望文章能够帮你解决单片机输出脉冲的C语言简易程序,51单片机简易程序.doc所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复