项目七按钮控制灯课题一、项目目的1.进一步掌握单片机开发的基本过程。
2,掌握单片机I/O口的输入、输出基本编程方法。
二、项目设备微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。
三、项目内容学习单片机I/O口输入、输出的编程方法,要求按下S1~S4中的任意一个键,则对应的发光二极管亮,松开键对应的发光二极管灭。
1.项目(课题)分析思路分析: S1-S4可接到某一P口上,此时对应P口引脚作为输入端使用。
改变开关的开合状态,可以改变对应I/O口的电平,然后将此电平状态去控制发光二极管的亮灭。
2.硬件电路如图4-7-1所示。
图4-7-13.软件设计(1)编写源程序。
;********************************;文件名:EX7_1.asm,;功能:按下按扭S1-S4,控制相应发光二极管D3-D6亮;********************************ORG 0000HLJMP MAINORG 0030HMAIN: MOV P3,#0FFHLOOP: MOV A,P3MOV P1,ALJMP LOOPEND(2)对源程序进行编译,并使用Debugger8051软件对其功能进行仿真。
4.硬件系统安装按照电路图安装好实验开发板的相关元件,注意按扭开关的方向。
5.程序烧录并观察实际运行结果四、按要求编写程序并上机调试,观察实际运行结果按下S1键D1~D4亮,按下S2键D2~D5亮,按下S3键D3~D6亮,按下S4键D4~D7亮。
按上述过程,编写源程序,并运行观察结果,完成设计。
(源文件名为EX7_2.asm)项目八定时器控制流水灯课题一、项目目的1.进一步掌握单片机开发的基本过程。
2.掌握单片机内部资源定时器定时功能的使用(用查询方法实现定时)。
3.进一步掌握单片机I/O口的输入、输出基本编程方法。
二、项目设备微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。
三、项目内容利用定时器控制发光二极管交替闪亮,每0.2秒钟交替闪亮一次。
1.硬件电路(同上)2.编写项目程序;********************************;文件名:EX8_1.asm,;功能:用定时器控制延时,实现流水灯效果;定时器使用查询方式;********************************ORG 0000HLJMP MAINORG 0030HMAIN: MOV P1,#55HR_SHOW:LCALL TDELAYMOV A,P1RL AMOV P1,ASJMP R_SHOW;********************************;定时器延时子程序;********************************TDELAY: MOV B,#20MOV TMOD,#01HMOV TL0,#00HMOV TH0,#0DCHSETB TR0LP1: JBC TF0,SERVESJMP LP1SERVE: MOV TL0,#00HMOV TH0,#0DCHDJNZ B, LOOPCLR TR0RETLOOP: SJMP LP1END3.编译源程序。
4.软件仿真运行。
5.程序烧录并观察实际运行结果四、按要求编写程序并上机调试,观察实际运行结果按下S1键,D1~D8实现两灯追逐(即先D1、D2亮0.5秒后D2、D3亮0.5秒以此类推),按下S2键D1~D8实现交替闪亮,每0.5秒钟交替闪亮一次。
按上述过程,编写源程序,并运行观察结果,完成设计。
(源文件名为EX8_2.asm)项目九计数器课题一、项目目的1.进一步掌握单片机开发的基本过程。
2.掌握单片机内部资源定时器计数功能的使用(用查询方法实现计数)。
3.进一步掌握单片机基本I/O口的输入、输出基本编程方法。
二、项目设备微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。
三、项目内容利用T0对555振荡电路产生的4HZ的脉冲信号进行计数,要求每计十个数单灯向左移动一次。
1.硬件电路如图图4-9-1所示,S3结点连接到MCU的T0(P3.4)输入端,根据课题要求应将跳线JP1下面的两个端子短接(选择计数脉冲由555提供)。
图4-9-12.编写项目程序;********************************;文件名:EX9_1.asm,;功能:计数器项目;;********************************ORG 0000HLJMP MAINORG 0030HMAIN:MOV TMOD,#06HMOV TH0,#0F6HMOV TL0,#0F6HSETB TR0MOV A,#0FEHLOOP: MOV P1,AJBC TF0,MLOOPSJMP LOOPMLOOP:RL ASJMP LOOPEND3.源程序的编译4.软件仿真运行5.程序烧录并观察实际运行结果四、按要求编写程序并上机调试,观察实际运行结果利用T0对555振荡电路产生的4HZ的脉冲信号进行计数,记录30S内计数的个数,并通过P1口的8位LED(亮表示1,D1对应最低位)表示出其计数值的二进制数值,估算555脉冲信号的频率。
(源文件名为EX9_2.asm)项目十中断方式实现流水灯控制一、项目目的1.进一步掌握单片机开发的基本过程。
2.掌握单片机内部资源定时器及中断的使用(用中断方式实现定时)。
3.进一步掌握单片机基本I/O口的输入、输出基本编程方法。
二、项目设备微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。
三、项目内容利用定时器控制发光二极管交替闪亮,每1秒钟交替闪亮一次。
1.硬件电路见图2-2。
2.编写项目程序;********************************;文件名:EX10_1.asm,;功能:定时器中断控制流水灯项目;;********************************ORG 0000HLJMP MAINORG 000BHLJMP R_SHOWORG 0030HMAIN: MOV P1,#55HMOV B,#20MOV TMOD,#01HMOV TL0,#00HMOV TH0,#4CHSETB EASETB ET0SETB TR0SJMP $;********************************;定时器中断程序;********************************R_SHOW:MOV TL0,#00HMOV TH0,#4CHDJNZ B,LOOPMOV B,#20MOV A,P1RL AMOV P1,ALOOP: RETIEND3.源程序的编译4.软件仿真运行。
5.程序烧录并观察实际运行结果四、按要求编写程序并上机调试,观察实际运行结果按下S1键,D1~D8实现两灯追逐(即先D1、D2亮0.5秒后D2、D3亮0.5秒以此类推),按下S2键D1~D8实现交替闪亮,每0.5秒钟交替闪亮一次。
按上述过程,编写源程序(要求定时程序采用中断方式),并运行观察结果,完成设计。
(源文件名为EX10_2.asm)项目十一外部中断课题一、项目目的1.进一步掌握单片机开发的基本过程。
2.掌握单片机外部中断的编程应用。
3.进一步掌握单片机基本I/O口的输入、输出基本编程方法。
二、项目设备微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。
三、项目内容利用外部中断实现如下控制:当没有外部中断时,单灯按约5HZ的频率自动循环移动,一旦有外部中断,发光二极管熄灭约1秒,退出中断后,单灯继续原来的循环。
1.硬件电路(同课题七)2.编写项目程序3.源程序的编译;********************************;文件名:EX11_1.asm,;功能:外部中断;;********************************ORG 0000HLJMP MAINORG 0003HLJMP NOOP ;转到实际中断子程序处ORG 0030HMAIN:SETB IT0SETB EASETB EX0MOV A,#0FEHLOOP:MOV P1,ALCALL DELAYRL ASJMP LOOP;********************************;以下为延时子程序;******************************** DELAY:MOV R7,#10D1: MOV R6,#50D2: MOV R5,#200DJNZ R5,$DJNZ R6,D2DJNZ R7,D1RET;********************************;以下为中断子程序;********************************NOOP:PUSH P1PUSH 05HPUSH 06HPUSH 07HMOV P1,#0FFHLCALL DELAYLCALL DELAYLCALL DELAYLCALL DELAYPOP 07HPOP 06HPOP 05HPOP P1RETIEND4.软件仿真运行。
5.程序烧录并观察实际运行结果四、按要求编写程序并上机调试,观察实际运行结果利用外部中断实现如下控制:当没有外部中断时,单灯按约1H Z的频率自动循环,一旦按住开关S2,则发光二极管双灯按约1H Z的频率自动循环(如先D1、D2亮,然后D2、D3亮…..),松开S2,单灯继续原来的循环。
(源文件名为EX11_2.asm)项目十二按键使用课题一、项目目的1.进一步掌握单片机开发的基本过程。
2.掌握单片机键盘扫描的编程应用。
3.掌握蜂鸣器发声基本程序的编制方法。
4.进一步掌握单片机基本I/O口的输入、输出基本编程方法。
二、项目设备微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。
三、项目内容用S1~S4组成的键盘分别控制三种颜色的发光二极管及蜂鸣器,按S1键红色发光二极管(假定为D1)亮,按S2键黄色发光二极(假定为D2)管亮,按S3键绿色发光二极管(假定为D3)亮,按S4 键亮另外一灯(假定为D4)。
要求按键要有防抖动功能。
1.硬件电路见图2-2。
2.编写项目程序;********************************;文件名:EX12_1.asm,;功能:键盘项目,按下S1-S4,分别亮不同的灯。