我是靠谱客的博主 聪明航空,最近开发中收集的这篇文章主要介绍51单片机实验——十六进制计数器1.实验题目:2.KEIL代码3.Protues仿真图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.实验题目:

用P0.0- P0.03设计一个在0-15之间自动计数的十六进制计数器,每个数持0.2s。 代码采用SWITCH语句,利用for循环实现16进制的计数器设计。 四个IO口相连接的LED灯按照0000-1111的二进制变化顺序进行计数。

2.KEIL代码

#include "reg51.h"
#include <intrins.h>
sbit P00=P0^0;
sbit P01=P0^1;
sbit P02=P0^2;
sbit P03=P0^3;
void Delay200ms();//声明延时函数
void main()
{
	int i=0;
	while(1)
	{
	 for(i=0;i<16;i++)
		{
			switch(i)
			{
				case 0:{P00=0;P01=0;P02=0;P03=0;}break;
			  case 1:{P00=0;P01=0;P02=0;P03=1;}break;
				case 2:{P00=0;P01=0;P02=1;P03=0;}break;
				case 3:{P00=0;P01=0;P02=1;P03=1;}break;
				case 4:{P00=0;P01=1;P02=0;P03=0;}break;
				case 5:{P00=0;P01=1;P02=0;P03=1;}break;
				case 6:{P00=0;P01=1;P02=1;P03=0;}break;
				case 7:{P00=0;P01=1;P02=1;P03=1;}break;
				case 8:{P00=1;P01=0;P02=0;P03=0;}break;
			  case 9:{P00=1;P01=0;P02=0;P03=1;}break;
				case 10:{P00=1;P01=0;P02=1;P03=0;}break;
				case 11:{P00=1;P01=0;P02=1;P03=1;}break;
				case 12:{P00=1;P01=1;P02=0;P03=0;}break;
				case 13:{P00=1;P01=1;P02=0;P03=1;}break;
				case 14:{P00=1;P01=1;P02=1;P03=0;}break;
				case 15:{P00=1;P01=1;P02=1;P03=1;}break;
				default: ;
			}
			Delay200ms();
		}	
	}
}
void Delay200ms()		//@12MHz延时函数
{
	unsigned char i, j, k;
	_nop_();
	i = 2;j = 134;k = 20;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}





3.Protues仿真图

在这里插入图片描述

最后

以上就是聪明航空为你收集整理的51单片机实验——十六进制计数器1.实验题目:2.KEIL代码3.Protues仿真图的全部内容,希望文章能够帮你解决51单片机实验——十六进制计数器1.实验题目:2.KEIL代码3.Protues仿真图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部