2024年2月1日发(作者:)
Keil C51实验项目
Keil C51实验项目 ......................................................................................................... 1
一、单片机的IO编程..............................................................................................2
实验1 IO开关量输入实验 ....................................................................... 3
实验2 IO输出驱动继电器(或光电隔离器)实验 ............................... 4
实验3 IO输入/输出---半导体温度传感器DS18B20实验 .................... 5
二、单片机的中断系统 ......................................................................................... 6
实验 1 外部中断----脉冲计数实验 ............................................................ 6
三、单片机的定时器/计数器 ................................................................................ 7
实验1 计数器实验 .................................................................................... 7
实验2 秒时钟发生器实验 ........................................................................ 9
四、单片机的串口特点和编程 ........................................................................... 10
实验1 PC机串口通讯实验 .................................................................... 10
实验2 RS485通讯实验 .......................................................................... 12
五、存储器 ........................................................................................................... 13
实验1 RAM存储器读写实验 ................................................................ 13
六、PWM发生器 ................................................................................................ 14
实验1 PWM发生器(模拟)实验 ....................................................... 14
实验2 蜂鸣器实验 .................................................................................. 15
七、WDG看门狗 ................................................................................................ 16
实验1 外扩WDG(MAX705)实验 .................................................... 16
实验2 WDG(内部)实验 .................................................................... 17
八、SPI总线 ........................................................................................................ 18
实验1 SPI(模拟)实验-----TLC2543 AD转换实验 ....................... 18
实验2 SPI(模拟)实验-----TLV5616 DA转换实验 ....................... 19
九、 I2C总线 ...................................................................................................... 20
实验1 I2C(模拟)实验-----IC卡(AT24C01)读写实验 ................. 20
十、综合实验 ....................................................................................................... 22
实验1 HD7279LED数码管显示实验 ................................................... 22
实验2 HD7279键盘实验 ....................................................................... 22
实验3 电机转速实验 .............................................................................. 23
十一、 步进电机实验 ......................................................................................... 25
实验1 步进电机正反转实验 .................................................................. 25
第1页 共26页
十二、 TFT液晶显示实验 ................................................................................. 25
实验1 TFT液晶显示彩色条纹实验 ...................................................... 25
十三、16X16LED点阵显示汉字实验 ............................................................... 26
实验1 16X16LED点阵显示汉字实验 .................................................. 26
第2页 共26页
一、单片机的IO编程
实验1 IO开关量输入实验
目的:学习单片机读取IO引脚状态的的方法。
内容:编程读取IO引脚状态。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:首先要把相关的引脚设置在IO的输入状态,然后写一个循环,不停地检测引脚的状态。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将试验箱上的的IO1--- IO8分别连接到SWITCH的8个拨码开关的K1---K8的输出端子K1---K8上,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_INPUT下的工程文件IO_2编译程序,上电,在程序注释处设置断点,进入调试状态,打开窗口Peripherals-->IO-Port-->P0,改变开关状态,
运行程序到断点处,观察窗口的数值与开关的对应关系。
第3页 共26页
实验2 IO输出驱动继电器(或光电隔离器)实验
目的:学习IO输出控制方法。
内容:通过单片机的IO引脚驱动继电器(或光电隔离器)动作。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:首先要把相关的引脚设置在IO的输出状态,然后写一个循环,依次输出高低电平。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1、IO2分别连接到RELAY的输入R_IN和PHOTO的输入P_IN上,R_OUT和P_OUT分别连接到发光二极管LAMP的输入孔L1和L2上。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_OUTPUT下的工程文件IO_2编译程序,上电,进入调试状态,打开窗口Peripherals-->IO-Port-->P0,单步运行程序,观察窗口的数值变化。
4、全速运行程序,观察继电器的发光二极管的亮灭变化,同时确定继电器动作(或光电隔离器导通)与IO输出电平的关系。
第4页 共26页
实验3 IO输入/输出---半导体温度传感器DS18B20实验
目的:学习IO引脚编程实现交替输入、输出的方法。
内容:通过单片机的IO引脚与半导体温度传感器实现单线通讯。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:根据18B20的资料(见备注),将IO引脚设置在输出状态,分别模拟出不同的命令时序,例如复位、读寄存器等;再改变IO引脚的为输入状态,接收传感器输出的数据。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1连接到TEMP SENSOR DS18B20的DQ。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IO_INOUTPUT下的工程文件IO_2编译程序,上电,进入调试状态,按照程序注释说明设置断点,全速运行程序到断点处,观察寄存器R7中的数据,用手摸住传感器DS18B20芯片,再运行到断点处,比较R7的变化。
4、备注: DSl8B20数字温度计提供9位(二进制)温度读数指示,器件的温度信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线),DSl8B20的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20可以存放在同一条单线总线上,这允许在许多不同的地方放置温度敏感器件。DSl8B20的测量范围从-55到+125增量值为0.5可在l s(典型值)内把温度变换成数字。
第5页 共26页
二、单片机的中断系统
实验 1 外部中断----脉冲计数实验
目的:学习单片机的外部中断使用方法。
内容:对外部中断计数显示。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:首先第一步设置单片机的IO为输入状态,第二步设置引脚的中断触发方式,一般设置为边沿触发,第三步,设置外部中断的优先级,第四步,编写中断服务程序,包括中断入口跳转等,第五步,设置中断使能,允许外部引脚触发中断。第六步,设置死循环,主程序结束,交给中断服务程序完成计数。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
第6页 共26页
2、连线:用导线将MCU的INT0连接到单脉冲输出孔P-,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_INT1下的工程文件EXT_2,编译程序,上电,进入调试状态,按照程序注释说明设置断点,全速运行程序,每按下一次单脉冲开关Paulse,程序运行到断点处一次,观察寄存器R1的变化。
三、单片机的定时器/计数器
实验1 计数器实验
目的:学习单片机的定时/计数器的计数功能使用方法。
内容:对外部单脉冲信号进行计数,计数10个后产生计数中断。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:使用定时/计数器的计数功能,将外部时钟信号加在计数器的计数时钟第7页 共26页
输入引脚上,当计数10次后,计数器溢出,触发标志位,编程控制分频输出引脚电平翻转,产生分频后的时钟信号。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1和T0分别连接到发光二极管L1的输入L1上和单脉冲输出孔P-,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹COUNTER下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、上电全速运行程序,按下5次单脉冲按键后发光二极管点亮,再按5次后发光二极管熄灭,如此重复。
第8页 共26页
实验2 秒时钟发生器实验
目的:学习单片机的定时/计数器的定时功能使用方法。
内容:产生频率为0.5Hz的时钟输出。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:使用定时/计数器的定时功能,时钟源采用系统时钟,根据时钟源的频率配置初值寄存器,使能定时器中断,在中断服务程序中翻转一个IO引脚输出,产生0.5Hz的时钟输出。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1连接到发光二极管L1的输入L1上,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹TIMER_SECOND下的工程文件TIMER_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、全速运行程序,观察发光二极管的亮灭情况。
5、备注:现在的单片机系统时钟较高,难于产生1秒的定时中断,所以,可以设置定时时间为50毫秒,在中断服务程序中设置程序计数,当累加到1秒后,控制输出IO引脚电平翻转,驱动发光二极管。
第9页 共26页
四、单片机的串口特点和编程
实验1 PC机串口通讯实验
目的:学习单片机串口的使用方法。
内容:与PC机实现通讯。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:第一步,配置串口工作在8位,波特率可变异步通讯工作方式,波特率由定时器1确定,同时使能其中断并清除其中断标志位;第二步,配置定时器1,工作在8位自动重装入模式,根据波特率计算其初值。第三步,编写串口中断服务程序,只处理接收中断,对发送中断只清除标志,不做其他处理。第四步,设置死循环,交由中断服务程序处理。
第10页 共26页
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用附带的直连串口线连接试验箱的DB9和计算机的串口,接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹RS232下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化,全速运行程序,拔掉开发板上的串口线,强制关闭RS232工程,然后将串口线连接到实验箱上的的串口上。
4、实验箱上MCU部分的TXD、RXD连接到RS232的TXD和RXD上,并将开发板上的跳线帽JP2短接在下侧。
4、打开PC机的超级终端,设置波特率9600、数据位8、无流控、无校验等信息,PC机全速运行实验程序,在超级终端里输入可显示字符,观察超级终端的显示,断开连接的串口线,再输入字符,观察显示有什么不同。
5、备注:在串口中断服务程序中,要清除中断标志位。在发送数据前,要检测发送状态位在发送结束状态。
6、注意:调试完成后,将CPU板的跳线帽JP2从新短接到上侧
第11页 共26页
实验2 RS485通讯实验
目的:学习单片机串口的使用方法以及RS485通讯。
内容:使用Max485芯片进行电平转换,实现差分方式通讯。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。AT89S51/52/53芯片两个(需2套)
步骤:
1、将两个实验箱的CPU板正确安放在CPU接口插座上,跳线帽JP2端都跳在下侧。
2、连线:
发送设备:
(1)用导线将MCU的TXD、RXD、IO1、INT0分别连接到RS485的TXD、RXD、E485和单脉冲输出P-孔。
(3)用两根导线顺序连接两个实验箱的UR1差分接口(上、下分别对接)。
接收设备:
(1)用导线将MCU的TXD、RXD分别连接到RS485的TXD、RXD;
(2)用导线将MCU的SDA连接到RS485的E485;
(3)用导线将MCU的IO1-IO8分别连到LAMP的L1-L8;
(4)用两根导线顺序连接两个实验箱的UR1差分接口(A、B分别对接)。
3、分别连接好仿真器,试验箱上电,在PC机上打开Keil C环境,打开试验程序文件夹RS485下的RS485_TX里的工程,编译程序,将程序下载到“发送设备”的CPU板中。再打开RS485下的RS485_RX里的工程,编译程序,将程序下载到“接收设备”的CPU板中。
4、同时给两个实验箱上电。按下发送设备上的单脉冲按键。观察“接收设备”实验箱上的LED灯变化。再结合程序分析为什么。
5、备注:在该RS485的通讯中,关键是设置RS485的E485端的状态,从而决定是接收回来数据还是发送出去数据。
第12页 共26页
五、存储器
实验1 RAM存储器读写实验
目的:学习存储器数据读写方法。
内容:将内部RAM中的一段数据复制到另一RAM空间。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:首先设置源的首地址和目的首地址,再设置数据块的长度,设置一个变量,先从源读取一个字节,再写入到目的地址中,如此循环,直至到数据块的长度。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹RAM下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、按照注释设置断点,打开变量观察窗口,全速运行实验程序到断点处,观察2个数组内容的变化。
5、备注:在汇编中,对内部存储器的操作使用指令MOV,外部存储器的操作使用MOVX和MOVC,其他相同。
6、Keil C环境下观察变量的方法:
在地址框填写:
C:0000 查看 CODE 区
D:0000 查看 DATA 区
I:0000 查看 IDATA 区
X:0000 查看 XDATA 区
第13页 共26页
六、PWM发生器
实验1 PWM发生器(模拟)实验
目的:学习利用定时器和IO产生PWM的方法。
内容:产生占空比变化的PWM波形输出。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板,示波器。
编程:使用定时/计数器的定时功能,分别产生PWM的高电平和低电平。第一步,首先选择使用单片机的定时/计数器0的定时功能,确定工作方式。第二步,根据PWM频率要求确定初值。第三步,使能定时器的中断。第四步,编写定时器中断服务程序,确定PWM波形高低电平的保持时间,控制IO引脚输出翻转电平。做一个死循环,一切交给中断处理。
第14页 共26页
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹PWM_IO下的工程文件PWM_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、全速运行程序,用示波器的单片机的IO1的波形。
5、备注:定时器产生中断的定时时间是PWM波形占空比调整的最小单位,即分辨率,在定时器中断服务程序中对中断计数,控制IO电平的翻转。
实验2 蜂鸣器实验
目的:学习AT89S51的定时器定时功能使用方法。
内容:用定时器产生PWM方波驱动蜂鸣器鸣叫。
第15页 共26页
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、用导线将MCU的IO1连接到BUZZER的BUZZER孔,连接好仿真器。
3、试验箱上电,在PC机上打开Keil C环境,打开试验程序文件夹BUZZER下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、全速运行程序,观察蜂鸣器的鸣叫情况,同时伴随继电器动作。
七、WDG看门狗
实验1 外扩WDG(MAX705)实验
目的:学习外扩看门狗控制器的使用方法。
内容:配置外扩看门狗电路。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:配置一个IO输出翻转电平信号喂狗,配置一个IO输出驱动发光二极管显示状态。
步骤:
1、将CPU板正确安放在CPU接口插座上。
2、用导线将MCU的IO1、IO2分别连接到WDG的WDI和发光二极管L1的输入孔L1上,用导线将WDG的RST连接到光耦的的P_IN孔,P_OUT连接到74LS244的D0,74LS244的Q0接MCU的RST上,74LS244的/G1、/G2接GND。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_WDG下的工程文件EXT_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、将CPU板上的仿真芯片换成可烧录的芯片AT89S51/52/53,通过ISP电缆烧录HEX文件。复位后运行程序,观察发光二极管在上电时亮一次,然后保持第16页 共26页
熄灭状态。去除IO1到WDI的连线,观察发光二极管会重复亮灭。
5、备注:在程序开始处,点亮发光二极管约1秒钟,在程序正常运行中,发光二极管熄灭,如果在设定的时间内不能喂狗,程序回到开始处运行,重新点亮发光二极管。
实验2 WDG(内部)实验
目的:学习内部看门狗控制器的使用方法。
内容:配置内部看门狗。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:配置一个IO输入控制信号,控制喂狗。
步骤:
1、将CPU板正确安放在CPU接口插座上。
2、连线:用导线将MCU的IO1、IO2分别连接到平推开关K1的输出插孔K1和发光二极管L1的输入孔L1上。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹INT_WDG下的工程文件INT_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、将CPU板上的仿真芯片换成可烧录的芯片AT89S51/52/53,通过ISP电缆烧录HEX文件。复位后运行程序,把平推开关K1拨到H侧,观察发光二极管L1的状态。把平推开关K1拨到L侧,比较发光二极管L1的状态变化。
5、备注:在程序开始处,点亮发光二极管约1秒钟,在程序正常运行中,发光二极管熄灭,如果在设定的时间内不能喂狗,程序回到开始处运行,重新点亮发光二极管。
第17页 共26页
八、SPI总线
实验1 SPI(模拟)实验-----TLC2543 AD转换实验
目的:学习SPI总线通讯编程方法、串行AD应用。
内容:利用SPI总线配置AD转换芯片,并读取转换结果。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:编程3个IO引脚为输出,一个IO为输入;3个输出引脚一个模拟CLK,一个模拟CS,另一个模拟DO,1个输入引脚模拟DI。根据芯片的技术资料,模拟输出3个输出引脚的时序。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、用导线将MCU的IO1--IO5分别连接到AD的AD_CS、AD_CLK、AD_IN、AD_OUT、AD_EOC,用导线将AD_IN1连接到ANOUT.。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_ADC下的工程文件EXT_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、上电,运行程序,在程序的注释处设置断点,全速运行程序到断点,调节输入的模拟量,观察30H、31H单元中的数的变化
第18页 共26页
实验2 SPI(模拟)实验-----TLV5616 DA转换实验
目的:学习SPI总线通讯编程方法、串行DA应用。
内容:利用SPI总线配置DA转换芯片,并用万用表测量输出电压值。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:编程4个IO引脚为输出, 4个输出引脚:一个模拟CLK,一个模拟CS,一个模拟DATA,另一个模拟FS。根据芯片的技术资料,模拟出4个输出引脚的时序。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、用导线将MCU的IO1--IO4分别连接到DA的DA_CS、DA_CLK、DA_IN、DA_FS,用导线将DA_REF连接到插孔Vref 2.5V.。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_DAC第19页 共26页
下的工程文件EXT_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、上电,全速运行程序,用万用表观察插孔DA_OUT的电压值;再修改程序中31H-30H单元的值,看电压值的变化。
九、 I2C总线
实验1 I2C(模拟)实验-----IC卡(AT24C01)读写实验
目的:学习I2C总线通讯编程方法。
内容:利用I2C总线读取存储器IC卡(AT24C01)的数据。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:编程2个IO引脚模拟I2C总线,按照AT24C01的操作时序,访问AT24C01存储器的内容。
第20页 共26页
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1--IO4分别连接到IC_CARD的SCK、SDA、DET、PWR。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹IIC_CARD下的工程文件IIC_2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、实验箱上电,按照注释设置断点,插入IC卡,全速运行程序到断点处,观察30H~36H单元的数据是否与写入数据一致!
第21页 共26页
十、综合实验
所谓混合总线,是指由3线组成的总线:CS、CLK、IO,典型应用是芯片HD7279,特别分出来单独实验。
实验1 HD7279LED数码管显示实验
目的:学习HD7279的通讯方法。
内容:利用IO向HD7279写入控制命令和数据。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:配置IO,向HD7279写入控制命令,控制数码管的显示。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1----IO3分别连接到HD7279的7279_CS、7279_CLK、7279_DATA。用导线将HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分别连接到LED DISP的LED_A、LED_B、LED_C、LED_D、LED_E、LED_F、LED_G、LED_DP;用导线将HD7279的7279_C1、7279_C2、7279_C3、7279_C4分别连接到LED DISP的LED_C1、LED_C2、LED_C3、LED_C4。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹HD7279DISP下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、全速运行程序,观察LED数码管的显示变化。
实验2 HD7279键盘实验
目的:学习HD7279的通讯方法。
内容:利用总线向HD7279写入控制命令并显示键值。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
第22页 共26页
编程:配置2个IO输出作为SPI的CS和CLK,配置1个IO做I2C的LDA。使能外部中断,并将中断引脚连接到 HD7279的中断输出INT上。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1----IO3、INT0分别连接到HD7279的7279_CS、7279_CLK、7279_DATA、7279_KEY;用导线将HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分别连接到LED DISP的LED_A、LED_B、LED_C、LED_D、LED_E、LED_F、LED_G、LED_DP;用导线将HD7279的7279_C1、7279_C2、7279_C3、7279_C4分别连接到LED DISP的LED_C1、LED_C2、LED_C3、LED_C4;用导线将HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分别连接到KEY的KEY7、KEY6、KEY5、KEY4、KEY3、KEY2、KEY1、KEY8;用导线将HD7279的7279_C1连接到KEY的插孔KEY。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹HD7279下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、上电,运行程序,按键,观察LED显示的数据是否与键盘一一对应。
实验3 电机转速实验
目的:学习外部中断的应用方法。
内容:对外部中断计数处理,显示电机的转速。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:首先第一步设置单片机的IO为输入状态,第二步设置引脚的中断触发方式,一般设置为边沿触发,第三步,设置外部中断的优先级,第四步,编写中断服务程序,包括中断入口跳转等,第五步,设置定时器中断,中断时间设为1秒(方法在定时器部分详细说明)。第六步,设置中断使能,允许外部引脚触发中断。设置死循环,主程序结束,交给中断服务程序完成计数并显示。
第23页 共26页
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的INT0连接到DC_MOTOR的SPEED,DC_MOTOR的DRV连接到ANOUT,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹EXT_INT下的工程文件EXT_2,编译程序,进入调试状态。按照程序注释说明设置断点,全速运行程序到断点处,观察采样的速度也会相应的变化(观察寄存器R0的数值)。调节电位器POT1,调整电机转速,再运行到断点处,观察寄存器R0的数值
4、备注: 在电机的同轴转盘上,安装有磁体,在转盘下面由对磁体敏感的霍尔传感器,随着转盘转动,当磁体正对传感器时,传感器的输出电压发生变化,单片机利用此电压变化触发中断。单片机在固定时间内累计发生中断的数值,即电机的转速。
第24页 共26页
十一、步进电机实验
实验1 步进电机正反转实验
目的:学习步进电机的控制方法。
内容:用单片机的IO口控制步进电机正转。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:用单片机的IO口模拟产生PWM,使步进电机正转。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1---- IO4分别连接到STEP MOTOR的ORANGE、YELLOW、PINK、BLUE管脚。连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹BuJin4下的工程文件2,编译程序,进入调试状态,单步运行程序,观察IO口的变化。
4、全速运行程序,电机开始正转,交换ELLOW与BLUE两根线,电机反转。
十二、TFT液晶显示实验
实验1 TFT液晶显示彩色条纹实验
目的:学习TFT液晶显示的控制方法。
内容:用单片机的IO口控制TFT液晶显示。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:用单片机的IO口控制TFT液晶显示字符。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
第25页 共26页
2、连线:用导线将MCU的IO1---- IO8分别连接到TFT LCD的ED0、ED1、ED2、ED2、ED4、ED5、ED6、ED7,MCU的SDA、SCL、PWM0、CADC0、CDAC0分别接CS、R/D、W/R、EA、RST。
3、将液晶屏下面的拨码开关K33、KT1拨到上端。
4、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹TFT下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
5、全速运行程序(或按下复位键),观察TFT液晶上显示的内容。
十三、16X16LED点阵显示汉字实验
实验1 16X16LED点阵显示汉字实验
目的:学习16X16LED点阵显示汉字的控制方法。
内容:用单片机的IO控制74LS138和74LS595驱动16X16LED点阵显示汉字。
设备:EL-EMCU-I试验箱、EXP-89S51/52/53 CPU板。
编程:用单片机的IO口控制74LS138译码产生16位行选通信号,74LS595用串转并的方式传送16位的数据。
步骤:
1、将CPU板正确安放在CPU接口插座上,跳线帽JP2短接在上侧。
2、连线:用导线将MCU的IO1---IO4分别连接到16*16LED的A0、A1、A2、A3;MCU的SDA、SCL、PWM0分别连接到16*16LED的SHCP、STCP、DS,连接好仿真器。
3、实验箱上电,在PC机上打开Keil C环境,打开实验程序文件夹LED下的工程文件2,编译程序,上电,进入调试状态,单步运行程序观察每条语句执行后相关寄存器的变化。
4、全速运行程序,观察16X16LED点阵上显示的汉字。
第26页 共26页
发布者:admin,转转请注明出处:http://www.yc00.com/news/1706791285a1465288.html
评论列表(0条)