SOC单片机原理及应用实验指导书C语言版Version 5.02013.02实验 一 Keil uVision2 开发环境入门 2实验二单片机最小系统设计 4实验三单片机人机接口设计 6实验四SP1按键显示接口设计 7实验五数字频率计设计 8实验六 数据采集系统设计 10实验七函数信号发生器设计 11实验一 Keil uVision2开发环境入门一、 实验kl的1. 初步熟悉Keil uVision2开发环境的使用2. 了解汇编语言程序设计和调试方法二、 实验内容L存储块淸零程序设计指定内部RAM中某块的起始地址和长度,要求能将其内容淸零2. 二进制到BCD转换将给定的一个单字节二进制数,转换成非压缩的二一十进制(BCD)码三、 实验说明通过木实验,初步熟悉Keil uVision2开发环境的使川了解单片机的存储器结构及读写存储器 的方法,了解各种数制之间的转换,同时也可以了解单片机编程、调试方法四、 实验仪器和设备PC 机、Keil uVision2 软件五、 实验原理及参考程序流程图图1亦储器块清零参考程序流程图图2单字节二述制数转换成非压缩BCD码程序流程图实验二单片机最小系统设计一、 实验目的1. 掌握C8051F020单片机最小系统设计方法。
2. 进一步熟悉Keil uVision2开发环境的使丿U3. 了解C语言程序设计和调试方法4. 熟悉C8O51F优先权交叉开关译码器,掌握I/O口交叉开关设宣和引脚配置5. 了解C8051F单片机内部和外部振荡器结构和配置方法二、 实验内容1. C8051F020单片机最小系统设计、制作与调试2. C8051F020单片机系统时钟配置为外部晶体振荡器3. I/O 口交叉开关配置为UARTO、/INTO和/INT1分配端口引脚将Pl.2、P1.3和P1.4配置 为模拟输入4. 在P1.7输出一个矩形波,用示波器观察波形,并记录信号频率、周期与脉宽;改变系统时钟 为外部晶体振荡器的二分频,并记录信号频率、周期与脉宽三、 实验说明通过本实验,掌握C8O51FO20单片机最小系统设计、制作和调试方法;进一步初步熟悉Keil uVision2开发环境的使丿山了解C8O51FO20单片机的I/O 口交义开关和振荡器及配置使川;了解 C语言程序设计和调试方法四、 实验仪器和设备PC机、Keil uVision2软件,C8O51FO2O单片机,EC3仿真器五、 实验原理及参考程序流程图1. 最小系统原理框图输出输入图3最小系统原理框图2. C8O51F系列MCU振荡器每个C8O51F系列MCU都有一个内部振荡器和一个外部振荡器驱动电路,每个驱动电路都 能产生系统时钟,MCU在复位后从内部振荡器启动。
系统时钟可在内部振荡器和外部振荡器之 间进行切换也可以在选择内部振荡器时让外部振荡器保持在允许状态,这样可以避免在系统时 钟被切换到外部振荡器时的启动延迟外部振荡器具有很高的可配置性,为系统设置者捉供了多 种选择时基信号可以从外部CMOS电平时钟源、晶体或陶瓷谐振器、RC组合电路或外部电容 获得内部和外部振荡器的工作受两个SFR寄存器控制,即OSCICN内部振荡器控制寄存器和 OSCXCN外部振荡器控制寄存器3. C8051F020交叉开关配置C8051F020单片机内部的数字和模拟资源可以通过P()~P3, 32个I/O引脚使川每个端口引脚 都可以被定义为通用I/O(GPIO),又可以分配给一个数字外设或功能(例如:UART0或/INT1), 如图所示其中P1 口的引脚可以用做ADC1的模拟输入设计者完全控制数字功能的引脚分配, 只受I/O引脚数的限制这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的氐优尢级!<■*SMButUART1PCATO. T1.T2. T2EXT4 T4EX /INTO /INTIItUBXBRO. XBR1XRR2, P1MDIK优先级IfWBPOMDOUT. P1MDOUT P2MOOUT. P3MOOUTSYS6KFVSTR(P0 04>0 7>(pi.opi.7>一—►―►ft? 交义开关ttPOOP07P1.0P1 7OB OB胚优九级P2.0P2.7P3 0P3 7(^2 0-P27>< EMIF )pi I/O低优九级(P3.0P3.7>图4交叉开关原理框图端口 I/O初始化包括以下步骤:1) 用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。
2) 用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)3) 将引脚分配给要使用的外设5)使能交叉开关(XBARE=T,)4. 程序流程图实验三单片机人机接口设计一、 实验忖的1. 掌握单片机简单人机交互接口电路的设计方法2. 进一步熟悉C8051F020单片机I/O 口交叉开关设置和I/O端口的使用3. 学握独立式按键和LED显示接口电路和程序设计方法二、 实验内容1. C8051F02单片机按键(3个)和LED (4个)显示接口电路设计、制作与调试2. 用按键输入脉冲,在P1 口按16进制计数方式点亮发光二极管其中一个按键为加法计数键, 一个按键为减法计数键,最后一个为清零键三、 实验说明通过本实验,掌握单片机简m人机交互接口电路的设计、制作和调试方法和程序设计方法 进一步熟悉C8051F020单片机的I/O 口交叉开关和振荡髀及配置使用;熟悉C语言的模块化程序 设计方法必须用模块化方法进行C语言程序设计四、 实验仪器和设备PC机、Keil uVision2软件,C8051F020单片机,EC3仿真器五、 实验原理1. LED显示接口电路2.独立式按键接口电路VddR图6独立式按键电路实验四SPI按键显示接口设计一、 实验H的1. 掌握ZLG7289专用按键显示芯片电路设计。
2. 掌握SPI通信程序设计方法3. 掌握基于ZLG7289按键显示驱动程序设计二、 实验内容1. ZLG7289专川按键显示芯片接口电路设计、制作与调试2. ZLG7289按键显示驱动程序设计1) 设计一个秒表要求:计时精度为10ms,计吋范围为1000秒;显示格式为:XXX. XX; 功能按键:启动、停止、清零2) 设计一个定吋器要求:能够输入定吋吋间,定时最长吋间为99分59秒;按启动键后开始倒 计吋,数码管显示当前剩余吋间,每秒钟刷新一次数码管显示的数值;定吋吋间到达后,用 数码管闪烁指示三、 实验说明通过本实验,掌握ZLG7289专用按键显示芯片接口电路设计、制作与调试;掌握SPI串行通 信接口驱动程序设计;拿握基丁•专用芯片的人机交互程序设计方法逐步掌握C语言的模块化程 序设计方法必须用模块化方法进行C语言程序设计四、 实验仪器和设备PC 机、Keil uVision2 软件,C8051F020 Y1-片机,EC3 仿真器五、 实验原理参考ZLG7289使用说明实验五数字频率计设计一、实验目的1. 拿握单片机片内定时器的使川方法2. 掌握基于单片机片内定时器的数字频率计设计方法。
二、实验内容基于单片机片内定时器的数字频率计设计要求:(1) 测频率范围:10Hz〜lOKHz为保证测量精度分为三个频段:10Hz 〜100 Hz100Hz 〜lKHz1 KHz - lOKHz当信号频率超过规定的频段上限时,设有超量程指示三个频段之问川手动切换2) 输入波形:低频函数信号发生器输出的矩形波,幅度为3V o(3) 测量误差:4) 显示和响应时间:测暈结果用三位半导体数码管显示,要求显示数码稳定清晰三个频段的最人显示数分别为99.9 Hz, 999. Hz, 9.99 K Hz,为此需要控制小数点位置,并川两个发光二极管分别显示频率单位: Hz或KHz,详见表lo表1频率范围小数点位 置单位响应时间10Hz W f <100 HzX X. XHzW12秒100Hz W f
五、 实验原理频率测量的方法常川的有测频法和测周法两种1) 测频法测频法的基本思想是让计数器在闸门信号的控制下计数1秒时间,计数结果是1秒内被测信 号的周期数,即被测信号的频率若被测信号不是矩形脉冲,则应先变换成同频率的矩形脉冲 测频法的原理框图如图6所示图中,秒脉冲作为闸门信号,当其为高电平时,计数器计数;低电平时,计数器停止计数 显然,在同样的闸门信号作用下,被测信号的频率越高,测量误差越小当被测频率一定时,闸 门信号高电平的吋间越长,测量误差越小但是闸门信号周期越长,测量的响应吋间也越长例如,闸门信号高电平吋间为1秒,被测信号频率的真值为2Hz,如图2-2-2所示由图6频率测量原理框图图可知,无论被测信号的频率是多少,测量时可能产生的最大绝对误差均为lHz,即f测・f真二lHz所以,最大相对误差为 max二(f 测・f 真)/ f 典= 1 / f 典由上式可知,在闸门信号相同吋,测频法的相对误差与被测信号的频率成反比因此测频法适合 于测量频率较高的信号闸门信号图7测频法的谋差(2) 测周法当被测信号频率较低吋,为保证测量精度,常采用测周法即先测出被测信号的周期,再换 算成频率测周法的实质是把被测信号作为闸门信号,在它的高电平的时间内,用一个标准频率 的信号源作为计数器的时钟脉冲。
若计数结果为N,标准信号频率为G则被测信号的周期为T = T】・N被测信号的频率为f= 1/T| ・ N = f|/N利川测周法所产生的最人绝对谋差,显然也等于1个标准信号周期如果被测信号周期的真值 为T沪T|・N,贝IJT测二T]・(Nl)Omax 二(f 测-fQ /f — T 真/T 测-1 = 1/(Nl)山上式可知,对于一定的被测信号,标准信号的频率越髙,则N的值越大,因而相对误差越小3) 低频段的测量鉴于上述困难,对于低频信号,为了达到规定的精度,要采取一些比较特殊的方法例如, 可考虑将被测信号倍频后再用测频法测量或将闸门信号展宽由于倍频电路比较复杂,所以一 般采川后一种方法,实际上闸门信号展宽与被测信号倍频在效果上是相同的闸门信号展宽比较 容易做到,例如釆用分频电路就可以实现若闸门信号高电平时间从I秒展宽到10秒,则相对误 差可以按比例下降,但响应时间。