概述
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仿真图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复