基于ds18b20的温度测量和秒表设计_单片机最小系统实验报告(编辑修改稿)内容摘要:
作,在对象 选择器窗口中,已有了 7SEGMPX6CABLUE、 AT89C5RES 三个元器件对象,若单击 AT89C51,在预览窗口中,见到 AT89C51 的实物图,如图所示;若单击 RES 或 7SEGMPX6CABLUE,在预览窗口中,见到 RES 和7SEGMPX6CABLUE 的实物图,如图所示。 此时,我们已注意到在绘图工具栏中的元器件按钮 处于选中状态。 ( 4)放置元器件至图形编辑窗口 Placing Components onto the Schematic 在对象选择器窗口中,选中 7SEGMPX6CABLUE,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。 同理,将 AT89C51 和 RES放置到图形编辑窗口中。 如图所示。 ( 5)放置总线至图形编辑窗口 单击绘图工具栏中的总线按钮 ,使之处于选中状态。 将鼠标置于图形编辑窗口,单击鼠标左键,确定总线的起始位置;移动鼠标,屏幕出现粉红色细直线,找到总线的终了位置,单击鼠标左键,再单击鼠标右键,以表示确认并结束画总线操作。 此后,粉红色细直线被蓝色的粗直线所替代,如图所示。 12 ( 6)元器件之间的连线 Proteus 的 智能化可以在你想要画线的时候进行自动检测。 下面,我们来操作将电阻 R1的右端连接到 LED显示器的 A端。 当鼠标的指针靠近 R1右端的连接点时,跟着鼠标的指针就会出现一个“”号,表明找到了 R1 的连接点,单击鼠标左键,移动鼠标 (不用拖动鼠标 ),将鼠标的指针靠近 LED 显示器的 A端的连接点时,跟着鼠标的指针就会出现一个“”号,表明找到了 LED 显示器的连接点,同时屏幕上出现了粉红色的连接,单击鼠标左键,粉红色的连接线变成了深绿色,同时,线形由直线自动变成了 90186。 的折线,这是因为我们选中了线路自动路径功能。 Proteus 具有线路自动路径功能 (简称 WAR),当选中两个连接点后, WAR 将选择一个合适的路径连线。 WAR 可通过使用标准工具栏里的“ WAR”命令按钮 来关闭或打开,也可以在菜单栏的“ Tools”下找到这个图标。 同理,我们可以完成其它连线。 在此过程的任何时刻,都可以按 ESC 键或者单击鼠标的右键来放弃画线。 ( 7)元器件与总线的连线 画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。 此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可,如图所示。 ( 8)给与总线连接的导线贴标签 PART LABELS 单击绘图工具栏中的导线标签按钮 ,使之处于选中状态。 将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“”号,如图所示。 13 表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图所示。 在“ string”栏中,输入标签名称 (如 a),单击“ OK”按钮,结束对该导线的标签标定。 同理,可以标注其它导线的标签,如图所示。 注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名。 至此,我们便完成了整个电路图的绘制。 KeilC 与 Proteus 连接调试 进入 KeilC μ Vision2 开发集成环境,创建一个新项目 (Project),并为该项目选定合适的单片机 CPU 器件(如: Atmel 公司的 AT89C51)。 并为该项目加入 KeilC源程序。 实验仿真图: 14 15 源程序如下: include define LEDS 6 //led 灯选通信号 unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20}。 unsigned char code LED_CODES[]= {0xc0,0xF9,0xA4,0xB0,0x99,//04 0x92,0x82,0xF8,0x80,0x90,//59 0x88,0x83,0xC6,0xA1,0x86}。 void main() { char i=0,j=0。 long int k。 while(1) { P2=0。 P1=LED_CODES[i]。 P2=Select[j]。 for(k=3000。 k0。 k)。 //该 LED 模型靠脉冲点亮,第 i 位靠脉冲点亮后,会自动熄来头。 //修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。 i++。 j++。 if(j5) j=0。 if(i14)i=0。 16 } } 基于 DS18b20 的温度测量和秒表设计 设计方案:通过功能键(外部中断)选择进入不同的模式工作。 当 K=0 时,工作在时间显示模式,当 k=1 时,工作在秒表 模式,其中开关 3 时调节自己需要倒计时的时间,没按下时,对应的数值加一。 开关 4 为开始 /暂停按键。 当 k=4时,显示采集回来的温度。 LED LED LED3 灯是用来更直观的看本设计工作在什么下的, LED4 为是闪烁,闪烁频率为 1s. ( 1)、硬件部分 ( 2)软件部分 源程序: include define DataPort P0 //定义数据端口 程序中遇到 DataPort 则用 P0 替换 define uchar unsigned char define uint unsigned int /*****************位定义 ***********************/ sbit menu = P3^2。 //位声明,外部中断口,功能键 sbit LED1 = P1^5。 //LED 灯 sbit LED2 = P1^6。 sbit LED3 = P1^7。 sbit LED4 = P1^4。 sbit add_m= P1^0。 //按键,调分 sbit add_s= P1^1。 //按键,调秒 17 sbit add_us=P1^2。 //按键,调微秒 sbit reset =P1^3。 //清零,秒表状态下也是清零 sbit LATCH1=P2^0。 //定义锁存使能端口 段锁存 sbit LATCH2=P2^1。 // 位锁存 sbit DQ = P2^2。 //定义 18b20 的通信端口 /*****************参数定义 ***********************/ uint a,b,j。 uchar TempData[8]。 uint m,s,w, //时钟 m0,s0,w0,//秒表 k。 //状态转换标志 uchar code weima[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}。 //位码 uchar code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //段码 /*****************函数声明 ***********************/ void delay_18B20(uint i)。 void Init_DS18B20()。 int ReadOneChar()。 WriteOneChar(uchar dat)。 ReadTemperature(void)。 void Display1()。 void init()。 void keyscan()。 void display(uchar a,uchar b,uchar c)。 void delay(uchar z)。 void wendu()。 /*****************主函数 *************************/ void main() { init()。 //初始化 while(1) {。基于ds18b20的温度测量和秒表设计_单片机最小系统实验报告(编辑修改稿)
相关推荐
也可以。 然后根据系统运算量大小、对精度要求、系统成本及体积、功耗 等要求选择合适的DSP 芯片及其他组件。 再接着进行硬件设计和调试,即根据选定的原件建立原理图、制作 PCB 板、器件安装及加电调试。 同时,用 DSP 汇编语言或者高级 C 语言或二者相嵌套法生成可执行程序,用 DSP 仿真器或者软件模拟器调试程序。 最后,将软件加载到硬件系统中运行,用 DSP
......... 45 系统软件设计 ................................................................................................ 45 算法有效性验证 .......................................................................
的增加而减少。 VL随 IL的变化关系称为输出特性或是外特性。 当 C值一 定 时 且空载电压 VL=; 当 电容 C=0 时,即纯阻 性 负载时, VL=。 在整流电路 通过 电容滤波, 会因为 电容 C充电的瞬时电流 值过大 , 容 易 使得 二极管 损坏 , 所以 在选 则 二极管 时,其 最大整流电流参数要 保 留有 充足 的余量,一般都需要 2~ 3 倍的 IL。 因为 负载电流
用 ATMEL 公司 的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元, STC89C52可以按照常规方法进行 编程,也可以在线编程。 其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 STC89C52 单片机在电子行业中有着广泛的应用 [4]。 STC89C52
门用于显示数字、字母、符号等点阵式 的液晶显示屏。 目前常用 型号有 16 1, 16 2, 20 2和 40 2行等的模块。 下面 以 16 2型号的 1602 字符型液晶显示器为例,介绍其 一般 用法。 LCD1602 的基本参数及引脚功能 LCD1602 分为带背光和不带背光两种。 基控制器 一般都 为 HD44780。 带背光的 要 比不带背光的厚 一点。 是否带背光在 使 用中并无
位及数据总线的分时复用端口。 作为通用 I/O 口时需加上 拉电阻,作为普通 I/O 口输入时应先向端口的输出锁存器写入 1。 P1 口: 8 位,准双向 I/O 口,具有内部上拉电阻。 作为普通 I/O输入时,先向端口输出锁存器写入 1。 P2 口: 8 位,准双向 I/O 口,具有内部上拉电阻,作为普通 I/O输12 入时同上。 P3 口: 8 位,准双向 I/O 口,具有内部上拉电阻