读操作程序代码如下:
uchar ds_read(void)
{
uchar i;
uchar value=0;
for(i=8;i>0;i--)
{
DQ=1;_nop_();
_nop_();
value>>=1;
DQ=0;
_nop_();
_nop_();
_nop_();
_nop_();
DQ=1;
_nop_();
_nop_();
_nop_();
_nop_();
if(DQ)value|=0x80;
delay(6);
}
DQ=1;
return(value);
}
2.Proteus仿真结果
将以上关键程序利用Keil C编译生成.Hex文件,在Proteus原理图界面双击单片机,在弹出的编辑窗口编辑晶振频率(11.0592MHz),点击“Program File”选中在Keil C里生成的.Hex文件确定即可。点击仿真按钮,进行仿真。仿真效果如图1所示。
3、结论
研究了在嵌入式虚拟实训平台下的AT89C52单片机利用DS18B20温度传感器模块和1602LCD显示模块进行温度报警器的仿真,软件部分和现实设计中一样,采用Keil C编程,仿真结果表明成功可靠。与传统硬件仿真器仿真相比,由Proteus+Keil C组成的嵌入式虚拟实验平台方便设计者修改元件参数来优化设计,效率高、成本低、效果好。
利用嵌入式虚拟仿真环境进行嵌入式系统的设计开发具有一定的推广意义。经实验验证具有通用性,可以运用于其他相关型器件与微处理器中,具有高等院校教学和社会实际应用很高的参考价值。
基金项目支持:项目名称:面向高校的嵌入式技术虚拟实训平台的应用研究,项目类别:保定市科学技术研究与发展指导计划项目,保定市科技攻关项目,项目编号:14ZG025。
参考文献:
[1]郑贤标,姜伟,周见行等.基于Proteus 的单片机数据采集系统仿真[J]机电工程,2010.27(1):31-33,37
[2]丁明亮,唐前辉.51单片机应用设计与仿真——基于Keil C与Proteus[M]北京:北京航空航天大学出版社,2009:90-96
[3]宁成军,张江霞.基于Proteus和Keil C接口的单片机外围电路仿真[J].现代电子技术,2006,29(18):142-143
|