ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:16.36KB ,
资源ID:3206664      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3206664.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(压力传感器仿真程序.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

压力传感器仿真程序.docx

1、压力传感器仿真程序# i n c l u d e #include#include #include #define uchar unsigned char#define uint unsigned int#define BUSY 0x80 kpa ;uchar code str1= Check BY Jack ;void delay(uint);void lcd_wait(void);void delay_LCM(uint);/LCD 延时子程序void initLCM( void);/LCD 初始化子程序void lcd_wait(void);/LCD 检测忙子程序void WriteCo

2、mmandLCM(uchar WCLCM,uchar BusyC); /写指令到 ICM子函数void WriteDataLCM(uchar WDLCM); /写数据到 LCM子函数void DisplayOneChar(uchar X,uchar Y,uchar DData); /显示指定坐标的一个字符子函数void DisplayListChar(uchar X,uchar Y,uchar code *DData); /显示指定坐标的一串字符子函数void display(void); /系统显示子函数uchar Adc0832(unsigned char channel);void al

3、arm(void);void data_pro(void);/*main funcation*/void main(void)delay(500); / 系统延时 500ms启动/ ad_data=0; / 采样值储存单元初始化为 0initLCM( );WriteCommandLCM(0x01,1); / 清显示屏DisplayListChar(0,0,str0);DisplayListChar(0,1,str1);while(1)ad_data =Adc0832(0); / 采样值储存单元初始化为 0alarm();data_pro();display();/* 延时 K*1ms,*/vo

4、id delay(uint k)uint i,j;for(i=0;ik;i+)for(j=0;j60;j+);/* 写指令到 ICM 子函数 */void WriteCommandLCM(uchar WCLCM,uchar BusyC)if(BusyC)lcd_wait();DATAPORT=WCLCM;LCM_RS=0; / 选中指令存放器LCM_RW=0; / 写模式LCM_EN=1;_nop_();_nop_();_nop_();LCM_EN=0;/* 写数据到 LCM子函数 */void WriteDataLCM(uchar WDLCM)lcd_wait( ); / 检测忙信号DATA

5、PORT=WDLCM;LCM_RS=1; / 选中数据存放器LCM_RW=0; / 写模式LCM_EN=1;_nop_();_nop_();_nop_();LCM_EN=0;/*lcm 内部等候函数 */void lcd_wait(void)DATAPORT=0xff; / 读 LCD 前若单片机输出低电平 , 而读出 LCD 为高电平 , 则冲突,Proteus 仿真会有显示逻辑黄色LCM_EN=1;LCM_RS=0;LCM_RW=1;_nop_();_nop_();_nop_();while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _nop_();LCM_EN=

6、1;_nop_();_nop_();LCM_EN=0;/*LCM 初始化子函数 */void initLCM( )DATAPORT=0;delay(15);WriteCommandLCM(0x38,0); / 三次显示模式设置,不检测忙信号delay(5);WriteCommandLCM(0x38,0);delay(5);WriteCommandLCM(0x38,0);delay(5);WriteCommandLCM(0x38,1); /8bit 数据传递, 2 行显示, 5*7 字型,检测忙信号WriteCommandLCM(0x08,1); / 封闭显示,检测忙信号WriteCommand

7、LCM(0x01,1); / 清屏,检测忙信号WriteCommandLCM(0x06,1); / 显示光标右移设置,检测忙信号WriteCommandLCM(0x0c,1); / 显示屏翻开,光标不显示,不闪耀,检测忙信号/* 显示指定坐标的一个字符子函数 */void DisplayOneChar(uchar X,uchar Y,uchar DData)Y&=1;X&=15;if(Y)X|=0x40; / 若 y 为 1(显示第二行) ,地点码 +0X40X|=0x80; / 指令码为地点码 +0X80WriteCommandLCM(X,0);WriteDataLCM(DData);/*

8、显示指定坐标的一串字符子函数 */void DisplayListChar(uchar X,uchar Y,uchar code *DData)uchar ListLength=0;Y&=0x01;X&=0x0f;while(X1)&0x1;_nop_();_nop_();ADCLK=0;/ 拉低 CLK端 , 形成降落沿 3ADDI=1;/ 控制命令结束_nop_();_nop_();dat=0;for(i=0;i8;i+)dat|=ADDO;/ 收数据ADCLK=1;_nop_();_nop_();ADCLK=0;/ 形成一次时钟脉冲_nop_();_nop_();dat=1;if(i=7

9、)dat|=ADDO;for(i=0;i8;i+)j=0;j=j|ADDO;/ 收数据ADCLK=1;_nop_();_nop_();ADCLK=0;/ 形成一次时钟脉冲_nop_();_nop_();j=j7;ndat=ndat|j;if(i=1;ADCS=1;/ 拉低 CS端ADCLK=0;/ 拉低 CLK端ADDO=1;/ 拉高数据端 , 回到初始状态dat=8;dat|=ndat;return(dat); /return ad kvoid data_pro(void)unsigned int temp;float press;if(14ad_data243) / 当压力值介于 15kpa 到 115kpa之间时,按照线性变换int vary=ad_d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1