发布网友 发布时间:2022-05-06 08:25
共1个回答
热心网友 时间:2022-06-29 16:48
延时;查询;中断三种方式。
查询方式:先发送数据,再查询;先接收数据,再查询。中断模式:发送数据-发送,等待中断,发送中断;接收数据-等待中断,接收中断。
中断模式由事件触发。也就是说,只要一个事件被生成,它就会进入中断状态,得到最优的操作,因此响应速度更快、更及时。查询方法是在主函数中不断循环,查询端口状态,减缓响应速度。
延时:如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。
如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059 2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2 μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。
最长的延时时间可达216=65 536 μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。
单片机(以及其他处理器)只能处理数字信号,当单片机想要获取电路上某一点的电压值时,就得用到AD转换了,如果你直接把单片机的引脚接到电路这个点上,单片机只知道这个点的电压是低电平还是高电平。
例如数字式的万用表,它测量电压时,先有一个AD转换电路,把电压值转换成一个数值,然后把这个值送个单片机(当然万用表里的用的处理芯片不是单片机),单片机经过计算处理后,再把这电压值显示到显示到屏幕上。不过现在有一些比较强的单片机,其内部已经集成了AD转换器,不需要你再外接AD转换芯片。