单片机.docx
《单片机.docx》由会员分享,可在线阅读,更多相关《单片机.docx(8页珍藏版)》请在冰豆网上搜索。
单片机
一按键控制彩灯
1、功能分析
(1)硬件组成:
单片机的P1口接8个发光二极管,I/O口输出低电平时,相应的二极管点亮。
I/O口输出高电平时,相应的二极管灭。
P3口低四位接4个按键,分别是S1-S4。
键按下去是,相应的I/O口输入低电平。
(2)软件组成:
程序由延时函数和主函数组成。
延时函数定义1ms,便于主函数调用。
主函数完成对按键的半段及产生相应的控制现象。
2、主流程图
有键按下?
开始
高四位,低四位交替点亮
8个灯全灭
8个灯奇偶交替点亮
8个灯闪烁
Key=0x0e
flag=1
Key=0x0d
flag=2
Key=0x0b
flag=3
Key=0x07
flag=4
3、测试报告
在软件keil下键工程,编程,编译生成HEX文件。
通过ISP软件将HEX
文件下载到实验板的单片机中,并运行。
按下S1键,现象:
8个灯闪烁。
按下S2键,现象:
8个灯奇偶交替点亮。
按下S3键,现象:
高四位,低四位交替点亮。
按下S3键,现象:
8个灯全灭。
二、计数器软件
1、功能分析
(1)硬件组成:
显示数码管采用共阳极结构,P0口输出字段码。
P2口接反相驱动器后输出字位码。
S3、S4键由P3.2、P3.3控制。
键按下时,相应的I/0口,输入低电平,蜂鸣器由P1.0控制。
(2)软件组成:
程序由延时函数、主函数、INTO函数及INT1函数构成。
延时函数设置1ms,便于其他函数的调用;主函数中开中断,并让数码管显示0。
INT0函数用于按键后计数加1,并判断计数值是否大于9,并让蜂鸣器发声。
INT1函数用于按键后计数值减1,并判断计数值是否等于0及控制蜂鸣器发声。
2、主流程序
等待中断
选中1位数码管并显示0
INT0、INT1开中断
CPU开中断
开始
3、测试报告
在软件keil下键工程,编程,编译生成HEX文件。
通过ISP软件将HEX
文件下载到实验板的单片机中,并运行。
按下S3键,现象:
按下S4键,现象:
三、按键控制组合灯
1.功能分析
(1)硬件组成:
LED1、LED2两个发光二极管由P1.0、P1.1控制。
I/o口输出低电平时相应二极管亮。
S1-S4四个按键由P3.0~P3.3控制。
(2)软件组成:
程序由主函数和延时函数构成,延时函数定义1ms,便于主函数调用。
主函数用于判断按键并产生相应的控制现象。
2.主流程图
SB4键按下
LED1、LED2灭
有按键按下?
P3口置1作输出口,LED、LED2灭灭
SB2键按下
LED2取反
SB3键按下
LED1、LED2亮
S1键按下
LED1取反
定义变量key
开始
3、测试报告
在软件keil下键工程,编程,编译生成HEX文件。
通过ISP软件将HEX
文件下载到实验板的单片机中,并运行。
四、频率计软件
1.功能分析
(1)硬件组成:
频率值采用动态扫描方式、数码管为共阳极结构,P0口输出字段码,P2口接反相驱动器后输出字位码,信号源从P3.5引脚输入。
(2)软件组成:
程序由延时函数、主函数、中断函数组成。
延时函数设置为1ms,便于显示频率值时调用,主函数用于设置T1、T1工作方式,显示频率值及分析频率值的各位,中断函数用于判断1s到后读取频率值。
2.主流
设置T0定时,T1计数。
T0开中断
NTH0、TL0。
分解频率值的百、十、个位
1S到否?
启动T0、T1工作
开始
程序
显示频率的百、十、个位
3.在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序。
将连续脉冲信号接入P3.5银奖,观察数码管上显示的频率值。
五、N1型电子产品软件开发
1.功能分析
(1)硬件组成:
单片机P3.0引脚接按键S1,1KHZ方波从P1.0引脚输出。
开始
(2)软件组成:
程序由延时函数,主函数,中断函数组成。
延时函数设置1ms,用按键去抖动。
主函数设置T0方式1定时,开中断及判断按键是否产生。
中断函数中重装计数初值N并将P1.0引脚取反。
2.主流程序
启动T0
T0停止工作
标志位flag取反
flag=1?
S1键按下?
设置T0方式1,开中断
NTH0、TL0。
定义变量
否
是
3.在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序。
六、秒表软件
1.功能分析
(1)硬件组成:
时间采用动态显示方式,数码管为共阳极结构,P0口输出字段码,P2口接反相器后输出字位码。
P3口低四位接4个按键S1~S4。
(2)软件组成:
程序由延时函数,显示函数,定时器初始化函数,主函数,中断函数和按键判断函数组成。
调用按键判断函数
调用显示函数
调用定时器初始化函数
开始
2.主流程图
3.测试报告
在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序
按S1键现象:
开始计时
按S2键现象:
暂停计时
按S3键现象:
清零。
七、倒计时秒表
1.功能分析
(1)硬件组成:
时间采用动态显示方式,数码管为共阳极结构,P0口输出字段码,P2口接反相器后输出字位码。
P3口低四位接4个按键S1~S4。
(2)软件组成:
程序由延时函数,显示函数,定时器初始化函数,主函数,中断函数和按键判断函数组成。
调用显示函数
调用定时器初始化函数
开始
2.主流程图
标志位清零
蜂鸣器叫三秒
时间到0.0?
N
Y
3.测试报告
在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序
八、交通灯控制软件
1.功能分许:
(1)硬件组成:
单片机的P1.0、P1.1、P1.2引脚分别控制南北仿效的红、黄、绿灯;
P1.5、P1.6、P1.7引脚分别控制东西方向的红、黄、绿灯。
(3)软件组成:
由主函数组成,控制交通灯的4种通行状态及延时。
2.主流程图
延时2s
东西黄灯亮,南北红灯
延时20s
东西通行,南北禁止
延时2s
南北亮黄灯,东西红灯
延时30s
南北通行,东西禁止
开始
3.测试报告
在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序
九、单片机与PC机通信(单片机接受数据)
1.功能分析:
(1)硬件组成:
单片机串口通过max232a芯片与PC机串口com1相连。
接受数据在1位数码管显示,P0口输出字段码。
P2口控制位选。
(2)软件组成:
有主函数组成,包括设置串口工作方式、波特率、判断数据并显示.
显示i
0《i《9
RI清0,i=SBUF
RI=0?
启动T1数码管显示0
设置T1方式2
波特率为9600/s对应NTH1、TH2
定义变量i
设置串口方式1,允许接收
开始
2.主流程图
Y
N
N
3.测试报告
在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序
十、单片机与PC机通信(单片机发送数据)
1.功能分析:
(1)硬件组成:
单片机串口通过max232a芯片与Pc机串口com1相接。
P3口低四位接4个按键S1~S4。
(2)软件组成:
程序由延时函数与主函数构成,延时函数设置1ms,用于按键去抖动延时。
主函数中设置串口工作方式,波特率,判断按键及发送数据。
、
开始
2.主流程图
N
Y
Y
TI清0
有键按下?
启动T1
设置串口方式1,方式2.
波特率4800b/s对应NTH1、TL1。
TI=01
S4键
i=4
S3键
i=3
S1键
i=1
S2键
i=2
i=i+0x30并发送
3.测试报告
在keil软件下建工程,编程,编译生成HEX文件用ISP软件将HEX文件下载到实验板的单片机中运行程序