电路如下:
2.写出案例19中与AT24C02的二总线对接的位寻址变量的定义语句。
解:案例19中与AT24C02的二总线对接的位寻址变量的定义语句如下: sbit sda=P2^7; sbit scl=P3^6;
3. 画出“案例19:AT24C02应用编程”源程序的程序架构和函数调用路线图。 解:案例19源程序的程序架构和函数调用路线图如下:
习题7
1.画出案例20中DS18B20的单总线引脚与单片机I/O引脚间的具体连接电路。 解:案例20中DS18B20的单总线引脚与单片机I/O引脚间的具体连接电路如下:
2.写出案例20中与DS18B20的单总线对接的位寻址变量的定义语句。
解:案例20中与DS18B20的单总线对接的位寻址变量的定义语句如下:
sbit ds=P1^0;
3. 画出“案例20:DS18B20的应用编程”源程序的程序架构和函数调用路线图。 解:案例20源程序的程序架构和函数调用路线图如下:
习题8
1.画出本项目中DS1302的三总线引脚、AT24C02的二总线引脚、DS18B20的单总线引脚与单片机I/O引脚间的具体连接电路
解: 本项目中DS1302的三总线引脚、AT24C02的二总线引脚、DS18B20的单
总线引脚与单片机I/O引脚间的具体连接电路如下图:
2 写出本项目中与DS1302的三总线、AT24C02的双总线、DS18B20对接的位寻址变量的定义语句,
解: 本项目中与DS1302的三总线、AT24C02的双总线、DS18B20的单总线对
接的位寻址变量的定义语句如下:
sbit SCLK=P2^4; /* 实时时钟的时钟线引脚*/
sbit DATA=P2^5; /* 实时时钟的数据线*/
sbit RST=P2^6; /* 实时时钟的复位线引脚*/
sbit sda=P2^7; //IO口定义
sbit scl=P3^6;
sbit ds=P1^0;
3.画出本项目源程序中主函数main的执行流程图。 解:本项目源程序中主函数main的执行流程图如下:
4.说明本项目中外中断0的中断服务函数的作用。
解: 本项目中,外中断0的中断服务函数的作用,是用来设定用户调整所得的
DS1302的起始走时时间
5.说明外中断1的中断服务函数的作用。
解: 本项目中,外中断1的中断服务函数的作用,是用来设定需要实现时间段
上控制的时间信息和时间点上控制的时间信息,也就是把这些时间信息写入AT24C02中。
6. 说明计数器0的中断服务函数的作用。
解: 本项目中,计数器0的中断服务函数的作用,就是中断主函数的时间显示
运作,转而显示DS18B20所测温度。 7. 说明定时器1的中断服务函数的作用。
解: 本项目中,定时器1的中断服务函数的作用,就是用来产生计数器T0计数
所需的模拟计数脉冲。
习题9
1. 画出LED汉字显示屏驱动函数LED_hz的流程图。
解:LED汉字显示屏驱动函数LED_hz的流程图如下:
2.画出LED汉字显示屏与单片机的驱动接口连接图。
解:LED汉字显示屏与单片机的驱动接口连接图如下:
3. 简要说明LED_hz函数中四重循环各自的工作任务。 解: 最内层的第4层循环的作用是完成一行64个字模点数据的串行移位;从外到
内的第3层循环的作用是完成16行移位的依次扫描,以形成完整的一场汉字显示;从外到内的第2层循环用来安排每场点阵文本的重复显示次数;最外层的循环是取其循环变量去合成字模数组的列下标,从而实现汉字显示的左移功能。
4. 移位时钟的特点是什么?怎样产生一个移位时钟?
解:移位时钟的特点是按列产生,以驱动一个点字模的串行移位。把对应于74HC595串行数据输入的单片机I/O引脚定义为一个位寻址变量,对这一位寻址变量先赋值0,然后再赋值1,就产生一个移位时钟。
5. 锁存时钟的特点是什么?怎样产生一个锁存时钟?
解:锁存时钟的特点是按行产生,以锁存一行串入并出的64个点字模数据。把对应于74HC595锁存时钟端的单片机I/O引脚定义为一个位寻址变量,对这一位寻址变量先赋值0,然后再赋值1,就产生一个锁存时钟。
习题10
1 画出案例21源程序的程序架构和函数调用路线图.
解:案例21源程序的程序架构和函数调用路线图如下:
2 把项目1中的AT24C02取消,用片内EEPROM实现其功能,完成相应的电子钟及温度计程序设计。