木叶只在球的MCU开发板进程贴 2
使用串口232下载程序
可能有的网友使用串口下载时不知道怎么下载,因为要在stc-isp中选择com口,不知自己的com口是多少,大家可以看到电脑的设备管理器中的com口,可能还会有问号,说明电脑没有识别这个硬件,大家可以下载一个串口转com口的程序163_20110826210849_MjAxMTA0MDExMzQzMzYxODQ2Nw==.rar
这样就可以看到你的com口了,下载就可以完成了!!!加油!!!
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
void main (void)
{
SCON = 0x50; /* SCON: 模式 1, 8-bit UART, 使能接收 */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xFD; /* TH1: reload value for 9600 baud @ 11.0592MHz */
TR1 = 1; /* TR1: timer 1 run */
EA = 1; /*打开总中断*/
ES = 1; /*打开串口中断*/
while (1) /*主循环不做任何动作*/
{
}
}
/******************************************************************/
/* 串口中断程序 */
/******************************************************************/
void UART_SER (void) interrupt 4 //串行中断服务程序
{
unsigned char Temp; //定义临时变量
if(RI) //判断是接收中断产生
{
RI=0; //标志位清零
Temp=SBUF; //读入缓冲区的值
P1=Temp; //把值输出到P1口,用于观察
SBUF=Temp; //把接收到的值再发回电脑端
}
if(TI) //如果是发送标志位,清零
TI=0;
}
一个按键的实验,短路帽插在4*1按键选择,按键s8每按一下,票P1口的LED 灯会显示变化。
但是后来还有两个乱码不知是怎么出来的,大侠们看看,给我指出来吧
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit d1=P2^0;
sbit key1=P3^3 ;
uchar code table[]={
0xff,0xfe,0xfc,0xf8,
0xf0,0xe0,0xc0,0x80,
0x00,0xff,0x55,0x00,
0xaa,0xff,0x00,0xff};
uchar num=0;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
P1=0xfe;
while(1)
{
if(key1==0)
{
delay(500);
num=num+1;
delay(50);
}
else
{ delay(500);
P1=table[num];
delay(50);
}
}
}
4*4键盘实验 使用P1口的八个LED 显示
问题是S5应该显示为第二个灯亮的,但是却亮了第三个!!!
好像都是这个LED 的问题哦!!!
#include<reg51.h>
unsigned char i=100;
unsigned char j,k,temp,key;
void delay(unsigned char i)
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
unsigned code table[]={
0xff,0xfe,0xfb,0xfc,
0xfb,0xfa,0xf9,0xf8,
0xf7,0xf6,0xf5,0xf4,
0xf3,0xf2,0xf1,0xf0};
display(unsigned char num)
{
P1=table[num];
}
void main()
{
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0:
key=13;
break;
case 0xd0:
key=9;
break;
case 0xb0:
key=5;
break;
case 0x70:
key=1;
break;
}
display(key);
}
}
P3=0xfd;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0:
key=14;
break;
case 0xd0:
key=10;
break;
case 0xb0:
key=6;
break;
case 0x70:
key=2;
break;
}
}
display(key);
}
}
P3=0xfb;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0:
key=15;
break;
case 0xd0:
key=11;
break;
case 0xb0:
key=7;
break;
case 0x70:
key=3;
break;
}
display(key);
}
}
P3=0xf7;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
if(temp!=0xf0)
{
switch(temp)
{
case 0xe0:
key=16;
break;
case 0xd0:
key=12;
break;
case 0xb0:
key=8;
break;
case 0x70:
key=4;
break;
}
display(key);
}
}
}
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |