我是靠谱客的博主 飘逸红酒,最近开发中收集的这篇文章主要介绍单片机输出脉冲的C语言简易程序,51单片机简易程序.doc,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部