C51单片机练习题目及解答(一)

本文介绍了C51单片机的IO口控制LED闪烁、按键输入识别及LCD1602模块的使用。包括LED的不同闪烁模式、按键查询识别、LCD显示文字、数字和特殊字符。同时,文章提到了在显示整型和浮点数时遇到的问题,如数值范围限制和前导零的处理。
摘要由CSDN通过智能技术生成

1、 掌握单片机的 IO 口输出:LED 实现不同的闪烁效果(快速闪烁,间隔 500ms 闪烁,亮灭各 1 秒),用示波器测试下 1s 的时间是否正确;

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar aa=0xfe;
uchar bb=0x7f;
uchar num;
void main()
{
	TMOD=0x01;
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	EA=1;
	ET0=1;
	TR0=1;
	while(1);
}

void T0_time()interrupt 1
{
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	num++;
	if(num==10)
		{
			num=0;
			P2=~aa^bb;//异或取反就是同或,效果为流水灯从两端开始,同时向左循环与向右循环
			aa=_crol_(aa,1);
			bb=_cror_(bb,1);
		}
}

2.掌握单片机的 IO 口输入:4 个独立按键实验,查询式方法识别按键,按下不同的按键,不同的灯亮。

P0.7 Key1‐‐‐加 P0.6 Key2‐‐‐减 P0.5 Key3‐‐‐选择 P0.4 Key4‐‐‐确定
LED1 灯亮
  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值