⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 单片机快速入门原程序
💻 C
字号:
#include <reg51.h>
#include<stdio.h>
#define P8279DataAddr 0x0000 //a0=0,8279数据地址
#define P8279CommandAddr 0x8000 //a0=1,命令地址
#define uchar unsigned char
#define uint unsigned int
uchar keyNumber;			//获取的键盘值
Uart_Init();
sbit P26=0xA6;				//P2.6位
sbit P27=0xA7;				//P2.7位	
void SendCommand(uchar c8279com);//发送命令
void SendData(uchar c8279data);//发送数据
uchar GetData() ;			  //获得键值
void Delay() ;				 //延时子程序
bit Change_Flag;
void Update_LED();
main()
{	Uart_Init();
	P0=0XFF;
	P1=0XFF;
	P2=0XFF;
	P3=0XFF;
	Delay();
	EX0=1;		/* 外部中断0允许 */
	EA=1;		/* 全局中断允许 */
	SendCommand(0x00); //没有特殊要求一般都可以这样初始化0
	SendCommand(0x2a); //分频10
	SendCommand(0xdf); //清屏
	while(1)
	{	;
	}
}
void Int0_isr() interrupt 0 using 0
{
		SendCommand(0xdf); //清屏
		SendCommand(0x40); //发出读键盘命令
		keyNumber=GetData(); //读键盘
		
		if(keyNumber<0x0f) //这里按顺序接了16个键,返回的键盘码为0~0X0F
			{
			SendCommand(0x80);
			SendData(keyNumber);
			keyNumber<<=4; 
			SendCommand(0x83); //写LED命令,在第三个数码管上显示
			SendData(keyNumber); //写LED显示内容
			}
		else
			SendCommand(0xd3); //如果按了最后一个键0X0F,就全屏显示0
}
Uart_Init()
	{SCON = 0x52;    /* 设置串行口控制寄存器SCON*/
	 TMOD = 0x21;    /* 12M时钟时波特率为2400  */
	 TCON = 0x69;    /* TCON */
	 TH1 =  0xf3;    /* TH1 */
	}
void SendCommand(uchar P8279com) //发送命令字
{
*((uchar xdata *)P8279CommandAddr)=P8279com;
Delay(); 
}
void SendData(uchar P8279data) //发送数据字
{
*((uchar xdata *)P8279DataAddr)=P8279data;
Delay();
}
uchar GetData() //获取键值
{
return*((uchar xdata *)P8279DataAddr);
}
void Delay() 
{
uint i;
for(i=0;i<200;i++);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -