免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
stc12c5a60s2 AD采集 12864串行显示终极程序 带滤波作者:电子工程师 (天津)由于AD采集电压并在12864上显示的程序很常用,然而网上很多程序各种各样,又有很多缺点,所以就利用工作之余的时间对用到的程序进行了整理,调试,优化以方便各位电子爱好者使用。这段程序已经调试通过,改下io即可直接应用。最后有两张效果图。LCD_PSB=0;(并串选择口)LCD_RST =1;(复位口)注意:本程序用的是12864串行显示,将PSB引脚接地,RST拉高、片选口RS接高之后除了电源和地线,只用2根线就可以显示了,接线很方便,最大程度的节省了io口。 本程序是以电流采集为例的,采集的是电流传感器输出的电压,然后转换成电流,如果只需要采集电压的话将转化为电流的语句删除即可。AD是stc12c5a60s2 自带的10位AD。使用很方便。有不明白的可以qq联系我,1264136841#includestc12c5a60s2.h#includeintrins.hfloat ADvalue = 0;unsigned int volage = 0;unsigned int current = 0;void InitializeDisplay();void InitializeLcd12864();void displaystring(unsigned char add,unsigned int num);void WriteCommandLcd12864(unsigned char temp);void InitializeDisplay();void InitializeAD();unsigned int ReadADvalue(unsigned char channel);float SmoothingFilter(unsigned int temp);void Delay_us(unsigned int xus);void Delay_ms(unsigned int xms);sbit LCD_SID = P25;/即RW口sbit LCD_CLK = P26;/即E口code unsigned char name1 = escrewdriver;code unsigned char name2 = 电流采集显示;code unsigned char name3 = 电流: A ;code unsigned char name4 = 参数: mm ;void main()/InitializeAD();/InitializeTimer0();/InitializeUart();InitializeLcd12864();InitializeDisplay();while(1)ADvalue = ReadADvalue(0);/读回AD值ADvalue = ADvalue*5000/1024;/转换成电压值/*if(ADvalue 2500)/防止电压浮动在2.5V以上ADvalue = 2500;ADvalue = 2500-ADvalue;/电流反方向流过传感器,输出电压值小于2.5V,*/current = (ADvalue*8);/计算电流,每0.625V代表7.5A 即每 1V代表12Acurrent = SmoothingFilter(current);/进行一下平滑滤波 displaystring(0x8b,current);displaystring(0x9b,0.5*current);/*延时函数*/ void Delay_us(unsigned int xus)/11.0592MHzwhile(xus-0)_nop_();_nop_();_nop_();void Delay_ms(unsigned int xms)/11.0592MHzunsigned int y=0;for(;xms0;xms-)for(y=0;y600;y+);/*延时函数*/*/*lcd12864显示部分*/*/void InitializeLcd12864()WriteCommandLcd12864(0x30);/基本功能WriteCommandLcd12864(0x0c);/显示开,光标关WriteCommandLcd12864(0x01);/清屏void WriteByteLcd12864(unsigned char temp)unsigned char i;LCD_CLK = 0;for(i=0;i8;i+)if(temp&0x80)LCD_SID = 1;elseLCD_SID = 0;LCD_CLK = 1;Delay_us(10);temp = 1;LCD_CLK = 0;Delay_us(10);void WriteCommandLcd12864(unsigned char temp)WriteByteLcd12864(0xf8);WriteByteLcd12864(temp&0xf0);WriteByteLcd12864(temp4);void WriteDataLcd12864(unsigned char temp)WriteByteLcd12864(0xfa);WriteByteLcd12864(temp&0xf0);WriteByteLcd12864(temp0;length-) WriteDataLcd12864(*temp);temp+; /*显示电压和电流*/void displaystring(unsigned char add,unsigned int num)unsigned char buf10,i;buf0 = num/10000;buf1 = num%10000/1000;buf2 = num%1000/100;buf3 = num%100/10;buf4 = num%10;WriteCommandLcd12864
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宁波鄞州区白鹤街道招聘编外人员2人备考题库及参考答案详解1套
- 2025年湖南衡阳珠晖区招聘社区专职工作者笔试备考题库含答案详解(典型题)
- 2026中国建设银行宁波市分行校园招聘230人备考题库附答案详解(培优)
- 2025年杭州市工会社会工作者招聘40人备考题库含答案详解(研优卷)
- 2026中国工商银行陕西省分行校园招聘520人备考题库带答案详解(完整版)
- 门头沟区青少年事务社工招聘1人备考题库含答案详解(模拟题)
- 2025河北邢台市信都区招聘社区工作者43人备考题库含答案详解(达标题)
- 2025贵州铜仁石阡县消防救援大队招聘城镇公益性岗位人员2人笔试考试备考题库及答案解析
- 中国铁路人才招聘网2026校招备考题库查询及答案详解1套
- 2026电科蓝天校园招聘备考题库含答案详解(a卷)
- 术中大出血的抢救及护理配合
- 食堂每日巡检表
- 黄瓜种子生产技术
- 碧桂园集团工程巡检评估表
- 颅内动脉瘤夹闭术栀子花开
- 人文地理学(王恩涌)
- 妇产科出血性疾病的介入治疗
- GB/T 34146-2017电梯、自动扶梯和自动人行道运行服务规范
- GB/T 2411-2008塑料和硬橡胶使用硬度计测定压痕硬度(邵氏硬度)
- 精选版颠覆式创新课件
- 临床护理实践指南全本
评论
0/150
提交评论