收藏 分销(赏)

单片机实习报告.doc

上传人:Fis****915 文档编号:552021 上传时间:2023-12-06 格式:DOC 页数:52 大小:2.40MB
下载 相关 举报
单片机实习报告.doc_第1页
第1页 / 共52页
单片机实习报告.doc_第2页
第2页 / 共52页
单片机实习报告.doc_第3页
第3页 / 共52页
单片机实习报告.doc_第4页
第4页 / 共52页
单片机实习报告.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、单片机实习报告目录摘要2Abstract31.实习任务与要求41.1实习目的41.2实习任务41.3实习要求52基本原理62.1数字时钟基本原理62.2温度计工作基本原理62.3频率计工作基本原理63方案论证73.1键盘显示接口部分73.2温度计部分74硬件设计94.1最小系统设计94.1.1晶振振荡器电路94.1.2复位电路94.2下载电路114.3键盘电路124.4显示电路134.4.1数码管结构134.4.2LED显示器工作原理144.5温度传感器电路设计164.5.1DS18B20的工作原理164.5.2DS18B20的测温原理194.6总电路215软件设计225.1主程序流程图225

2、.2定时器0中断处理流程图235.3时钟子程序245.4温度子程序255.5双机通信265.6频率计子程序285.7程序清单286仿真分析416.1数字时钟仿真分析416.2温度计仿真436.3频率计仿真457.实物运行照片488 小结51参考文献52摘要本次单片机实习的主要目的是巩固单片机的理论知识及锻炼实际动手能力。主要任务是在最小系统的基础上设计键盘显示电路,然后编程实现数字时钟,数字温度计和数字频率计。其中数字时钟要有调时调分调秒的功能;而温度计能完成串行通信,将温度显示在另一个单片机上.最后要求整个系统能通过按键实现数字时钟与温度计和频率计之间的相互切换。在实习过程要记录每天的实习内

3、容包括方案的论证,硬件设计,软件设计,仿真分析及实物制作等。关键词:单片机,数字时钟,温度计,频率计AbstractThe main goal of the Single Chip Microcomputer practice is to renforce the speculative knowledge and train the ability of handwork.The main task is to design the keyboard display circuit on the base of DIY.Then we should programme to realize

4、the digital clock,digtal thermometer and digital frequency meter.whatmore,the digital clock is required to have the function of adjust the second,muinute and hour.The Digtal thermometer is required to accomplish the communication of two Single Chip Microcomputers,the temperature can be displayed on

5、the second Single Chip Microcomputer.At last,the whole system is required to realize the mutual switch between the clock and the thermometer ,the clock and the frequency meter.In the practice course ,we should write down the practice contents everyday,including the choice of scheme ,hardware design,

6、software design,simuation analysis,making material object and so on .Key words: Single Chip Microcomputer, digital clock, digtal thermometer , digital frequency meter1.实习任务与要求1.1实习目的1、巩固单片机原理与应用理论课的理论知识;2、熟悉单片机应用系统的硬件设计及软件设计的基本方法;3、将单片机原理与应用理论课的理论知识应用于实际的应用系统中;4、训练单片机应用技术,锻炼实际动手能力。1.2实习任务(1)利用上述材料完成

7、单片机最小系统的设计、焊接、调试;(2)完成ISP下载电路的设计、焊接;(3)完成应用系统扩展电路部分的设计、焊接、调试,应用系统扩展电路的具体要求如下:1)键盘、显示电路利用单片机最小系统、6个7段LED数码管、12个按键,设计制作一个键盘、显示电路。可以使用8279键盘显示接口电路,也可以使用单片机的并行接口作为键盘显示接口。2) 数字时钟在键盘、显示电路的基础上完成一个数字时钟的设计,完成以下功能:a. 要求以24小时计时方式显示时、分、秒;b. 时、分、秒可以通过按键分别调整。3) 数字温度计在上题的硬基础上,制作一个数字温度计。完成以下功能:a. 利用DS18B20可编程1-Wire

8、数字温度传感器芯片,或利用AD590温度传感器芯片和A/D转换器芯片采集温度温度信号;b. 当按下键盘上的温度显示按键时将实时温度信息显示在LED显示器上,当按下键盘上的时钟显示按键时,恢复时钟的正常显示;c. 通过串行通信的方式,将采集到的实时温度信息送至第二个单片机系统,并在二个单片机系统显示实时温度。4) 数字频率计在上题的硬基础上,制作一个数字频率计。完成以下功能:a. 利用MCU设计一个数字频率计,用于检测0500kHz周期信号的频率,输入信号幅度范围:0.110V;b. 当按下键盘上的频率显示按键时将测量的频率信息显示在LED显示器上,当按下键盘上的时钟显示按键时,恢复时钟的正常显

9、示;(4)利用仿真软件完成系统仿真工作;(5)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计。1.3实习要求1)利用PROTEL等软件进行硬件设计;2)利用Keil uV2软件完成应用系统软件设计;3)利用PROTEUS软件进行仿真设计;4)完成单片机最小系统和应用系统电路板的焊接;5)对电路进行调试;6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;7)题目由指导教师提供;8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;9)写出实习报告,实习报告主要包括以下内容:目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结

10、果、实物运行结果照片、结论、参考文献等;10)实习完成后通过答辩;11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。2基本原理2.1数字时钟基本原理数字时钟是利用单片机的内部的定时/计数器工作与定时方式,对机器周期计数形成基准时间(如10ms),然后用另外一个计数器或软件计数的形式对基准时间里德计数形成秒(如对10ms计数100次),“秒”计数60次形式“分”,“分”计数60次形成“时”,然后通过软件程序使它们的内容在相应的位置显示出来。在具体设计时定时器采用中断方式工作,对时钟的形成在终中断程序中实现,在主程序中只是对定时/计数器的定义初始化,调用显示程序。并在设计

11、中加入了按键,可以通过按键对时,分,秒进行调整。2.2温度计工作基本原理在单片机电路设计中,大多都是使用传感器,所以可以采用一个温度传感器,它会将温度转换成数字量后存贮在自身内部,将其连在单片机的一个IO口,即一种单总线串行接口,然后通过软件程序在数码管或液晶屏上显示出来就可以直接读取被测温度值。2.3频率计工作基本原理频率计的基本设计原理是直接用十进制数字显示被测信号频率。所谓频率,就是周期信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期信号的重复变化次数N,则其频率可表示为f=N/T。即可利用单片机内部的定时/计数器来对外部输入脉冲进行计数,从而测得频率。3方案论证3.

12、1键盘显示接口部分方案一:使用8279键盘显示接口电路,即键盘和显示器通过8279芯片然后再接到单片机上,8279可以通过对键盘的自动扫描,将键盘信号存入FIFO RAM里,再通过显示子程序显示按键的信息。具体来说,扫描输出线,通过138译码后,作为列与回送线交叉成键,输出数据分别用三位来体现扫描码和回送码,读键时屏蔽高两位,使键值正好等于输出数据的查表值,从而在数码管上显示出来。方案二:使用单片机的并行接口作为键盘显示接口,即键盘引脚直接接到单片机的IO口上。从以上两种方案可以看出,方案一占用的单片机IO口少,精度高,稳定性好,但导致整个电路所用芯片增加,成本提高。相比较而言方案二虽然占用单

13、片机的IO口较多,但这个可以通过设计矩阵键盘来解决,并且也较方案一所用的芯片少,降低了成本。综合考虑选择方案二。3.2温度计部分方案一:采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输

14、出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。系统主要包括对A/D0809 的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有手动复位键、A/D 转换芯片,处理芯片为51 芯片,执行机构有4 位数码管、报警器等。方案二:采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线

15、形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。【1】该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显

16、示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。4硬件设计4.1最小系统设计4.1.1晶振振荡器电路

17、单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,其所有的工作都在唯一的时钟信号控制下严格的按时序进行的。时序就是单片机内部以及内部与外部互联必须遵守的规律。单片机的时序可以通过两种方式产生:内部振荡方式和外部振荡方式。外部振荡方式需要引入外部时钟信号作为单片机的时钟信号,它可以使各单片机之间的时钟信号同步,常用于多片单片机组成的系统中,而本次设计只需使用一片单片机,所以本次系统设计采用了内部振荡方式。单片机内部有一个用于构成振荡器的高增益反相放大器,引脚X1和X2分别是该放大器的输入端和输出端。这个放大器与作为反馈原件的片外石英晶体及电容一起构成一个自激振荡器。电容C1和C2通常取

18、30pF,对振荡器有微调的作用。晶振的实际频率与标称频率的关系为:x为实际频率,0为标称频率,0范围是1.2MHz12MHz。所以本设计晶振Y采用12HMz,电容C1和C2取30pF,则x为12MHZ。图4-1振荡电路4.1.2复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。除了进入系统的正常初始化之外,由于程序运行出错或者操作出错而使单片机系统处于死锁状态,为了摆脱死锁状态,也需要使单片机重新启动。单片机的复位操作一般有上电自动复位和按键电平复位两种方式。本设计采用上电自动复位和按键电平复位都有的复位电路。手动按键复位需要人为在复位输入端RESE

19、T上通过按钮加入高电平,其复位过程是:当按下按键S时,RESET端直接与VCC相连,从按下按键到松开按键的时间内,能使RESET端维持一段时间的高电平,这段时间的高电平使单片机复位。当按键被松开后,RESET端回到低电平,单片机系统完成复位,恢复正常工作状态。上电复位电路是在RESET复位输入引脚上接一电容至VCC端,下接一个电阻到地。上电复位的工作过程是:在系统上电瞬间,电容相当于短路,电源电压通过电容加给RESET引脚以高电平信号,此高电平信号随着VCC对电容的充电过程而逐渐回落,在其高电平期间,系统复位;当电容两端电压达到电源电压时,电容充电电流为零,电容相当于开路,RESET端为低电平

20、,单片机复位完成,恢复正常工作状态。这里要注意的是,要想实现复位,必须保证复位信号高电平持续时间大于两个机器周期,而。本设计的单片机机器周期为:。而,所以满足要求。图4-2复位电路图4-3 最小系统电路4.2下载电路MAX232是电平转换芯片。1970年,美国电气学会规定“RS232”串口通信协议。规定逻辑“1”,-5-15V;逻辑“0”,+5+15.噪声容限为2V.要实现利用串口与单片机进行通信,就要进行电平转换,把标准转化成单片机可以识别的。MAX220MAX249都是电平转换芯片,在单片机最小系统中,使用MAX232.图4-4下载电路4.3键盘电路键盘分编码键盘和非编码键盘,键盘上闭合键

21、的识别由专用的硬件编码器实现,并产生按键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用的最多的是非编码键盘,也有用到编码键盘的,我们这里用的就是非编码键盘。在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。单片机检测按键是否被按下的依据是检测与该键对应的I/O口是否为低电平。判断键盘哪一个键被按下。方法是:一次给行线送低电平,然后查所有列线状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行

22、,而且是在与零电平列线相交的交点上的那个键。本设计中有2*4矩阵键盘和独立键盘。矩阵键盘可以有效的减少键盘与单片机接口时所占用的I/O接口。图4-5键盘电路如图所示,2*4矩阵键盘的行线和列线者接到了单片机的P3口。S1,S2,S3,S4为独立键盘。4.4显示电路4.4.1数码管结构数码管内部有8个发光二极管,公共端由8个发光二极管的阴极并接而成,正常显示时公共端接低电平(GND),各发光二极管是否点亮取决于a-dp各引脚上是否是高电平。 LED数码管的外形结构如图4-5,外部有10个引脚,其中3, 8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字(0-9中的一个

23、)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。LED有共阴极和共阳极两种。如图4-5所示。二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)ag,另一个小数点为dp发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。符号和引脚 共阴极 共阳极图4-6LED结构图表4-1LED显示段码字型共阳极段共阴极段字型共阳极段共阴极段0C0H3FH990H6FH1F9H06HA88H77H2A4

24、H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H4.4.2LED显示器工作原理:(1)LED静态显示方式 LED显示器工作于静态显示方式时,各位的共阴极连接在一起并接地;每位的段码分别与8位的锁存器输出相连。各个LED的显示字符一经确定,相应锁存的段码输出将维持不变,直到送入另一个字符为止,故静态显示器的亮度较高。(2)LED动态显示方式在多位LED显示时,为简化硬件电路,通常将所有的段码线相应段并联在一起,由1个8位I/0口控制,形成段码线的多路复用

25、,而各位的共阴极分别由相应的I/O线控制,形成各位的分时选通。设计中采用八个共阴LED管,其中段码线采用CD4511译码占用4位I/O口,而位选信号使用74LS138占用3个I/O口,则只要7个I/O口。由于各位的段码线并联,4位I/O口输出的段码对各个显示位来说都是相同的。因此,在同一时刻,如果各位选线都处于选通状态的话,8位LED将显示相同的字符。若要各位LED能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符的段码。这样,在同一时刻,8位LED中只有选通的那1位显示

26、出字符,而其他7位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出将要显示的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清;但也不能太长,因为要受限于临界闪烁频率,而且此时间越长,占用CPU时间也

27、越多。另外,显示位数增多,也将占用大量的CPU时间,因此动态显示的实质是以牺牲CPU时间来换取器件的减少。本次设计中,6位LED七段数码管采用共阴极接法。图4-7显示电路如图所示,单片机的P0口通过U2锁存器(74HC573)与数码管相连,来实现位选;通过U3与数码管相连来实现段选。4.5温度传感器电路设计4.5.1DS18B20的工作原理根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:1. 每一次读写之前都必须要对DS18B20进行复位;2. 复位成功后发送一条ROM指令;3. 最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数

28、据线下拉500微秒,然后释放,DS18B20收到信号后等待1560微秒左右后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。其工作时序包括初始化时序、写时序和读时序,具体工作方法如图4-8,4-9,4-10所示。(1) 初始化时序图4-8初始化时序总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。接着主机释放总线,4.7K上拉电阻将总线拉高,延时1560us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us。(2) 写时序图4-9 写时序 写

29、时序包括写0时序和写1时序。所有写时序至少需要60us,且在2次独立的写时序之间至少需要1us的恢复时间,都是以总线拉低开始。写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。写0时序,主机输出低电平,延时60us,然后释放总线,延时2us。(3) 读时序图4-10 读时序总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要60us,且在2次独立的读时序之间至少需要1us的恢复时间。每个读时序都由主机发起,至少拉低总线1us。主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线

30、状态。主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us。当主机收到DSl8B20 的响应信号后,便可以发出ROM 操作命令之一,这些命令如表4-2所示。RAM指令集如表4-3所示。主机控制DS18B20完成温度转换过程是:每一次读写之前都要对DS18B20进行复位,即将数据总线下拉500us,然后释放,DS18B20收到信号后等待16-60us左右,之后发出60-240us的存在低脉冲,主CPU收到此此信号表示复位成功;复位成功后发送一条ROM指令,然后发送RAM指令,这样才能对DS18B20进行预订的读写操作。表4-2 ROM操作命令指令约定

31、代码功能读ROM33H读DS18B20中的编码符合ROM55H发出此命令后,接着发出64位ROM编码,访问单线总线上与该编辑相对应的DS18B20使之做出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上的DS18B20个数和识别64位ROM地址,为操作各器件作准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发送温度变换指令告警搜索命令0ECH执行后,只有温度跳过设定值上限或下限的片子才能做出反应表4-3RAM指令集指令约定代码功能温度转换44H启动DS18B20进行温度转换读暂存器0BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的

32、TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重调E2RAM0B8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读供电方式0B4H启动DS18B20发送电源供电方式的信号给主CPU4.5.2DS18B20的测温原理DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数

33、振荡器来决定,每次测量前,首先将最低温所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在最低温所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。减法计数器斜坡累加器减到0减法计数器预 置低温度系数振 荡

34、 器高温度系数振 荡 器计数比较器预 置温度寄存器减到0图4-11测温原理图初始化DS18B20跳过ROM匹配温度变换延时1S跳过ROM匹配读暂存器转换成显示码数码管显示图4.12测温流程图图4-13温度传感电路4.6总电路 图4-14总电路图(1)当给单片机上电后,其为时钟模式,按一次S1实现对“秒”的调整,按两次S1实现对“分”的调整,按三次S1实现对“时”调整;按S2 实现增1,按S3实现减1.(2)按S2实现时钟到温度计的切换,按S4恢复时钟。(3)按S3实现时钟到频率计的切换,按S4恢复时钟。5软件设计5.1主程序流程图开始初始化调用显示时钟函数调用键盘扫描函数调用温度显示函数调用频

35、率计函数S2是否按下S4是否按下S3是否按下显示时钟YYYNN 5.2定时器0中断处理流程图5.2中断程序流程图重装初值保护现场计数单元加1到1秒?N秒加1N到60秒?秒清0,分加1N到60分?分清0,时加1N到24时?小时清0恢复现场中断返回5.3时钟子程序开始调用键盘扫描函数S1是否按下调用延时函数S1按下1次S1按下2次S1按下3次S2是否按下S3是否按下调秒调分调时加1减1YY5.4温度子程序设置堆栈指针将温度转换为BCD码发读存储器命令读温度数据复位DS18B20发跳过ROM命令显示缓冲区初始化更新数据缓冲区延时发温度转换命令复位DS18B20发跳过ROM命令开始显示温度双机通信5.

36、5双机通信(1)发送开始T1初始化,启动T1工作设定串行工作方式置发送数据块首址数据块长度计数器结束T1=1全部数据发送完清T1修改地址指针和数据块长度计数器发送数据NNYY(2)接收开始T1初始化,启动T1工作设定串行工作方式并设定允许接收模式置发送数据块首址数据块长度计数器结束R1=1全部数据接收完清R1修改地址指针和数据块长度计数器接收数据NNYY5.6频率计子程序开始频率测量计数器计数测量数据显示5.7程序清单:1.主程序#include#include#define uint unsigned int#define uchar unsigned charsbit dula=P26;s

37、bit wela=P27;sbit key1=P34;sbit key2=P17;sbit key3=P36;sbit key4=P37;sbit ds=P22;uint temp;float f_temp;uchar buf3;uchar i,num,hour,min,sec,num1,num2,num3,num4;unsigned long int fre;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, /带小数点的09编码0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,

38、0xff,0xef;/不带小数点的09的编码void delayms(uint xms)uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-);void display(uchar num1,uchar dat) /数据显示程序 /num是第几个数码管,dat是要显示的数字uchar i;i=0xff;i=i&(0x01)0)i-;ds=1;i=4;while(i0)i-;bit tempreadbit(void)/读1位数据函数uint i;bit dat;ds=0;i+; /i+起延时作用ds=1;i+;i+;dat=ds;i=8;while(i0)i-;return(dat);uchar tempread(void) /读一个字节数据函数uchar i,j,dat;dat=0;for(i=1;i=8;i+)j=tempreadbit();dat=(j1); /读出的数据最低位在最前面,这样刚好一个字节在dat里return(dat);void

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服