求助单片机C语言大神!!!uchar temp; temp=0; P1=temp;temp++;这怎么理解?
#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitSHCP=P2^0;sbitDS=P...
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SHCP=P2^0;
sbit DS=P2^1;
sbit STCP=P2^2;
uchar code ZM[ ]={点阵字模数据}
void delay_ms(unsigned int ms) //延时函数
{
uchar j;
while(ms--)
for(j=0;j<123;j++);
}
void WriteByte(uchar dat) 、//74HC595读入数据函数
{
uchar k;
for(k=0;k<8;k++)
{
dat=dat>>1;
DS=CY;
SHCP=0;
SHCP=1;
}
}
void main() //主函数
{
uchar num,temp,n,m;
while(1)
{
for(n=0;n<192;n++) //
for(m=0;m<8;m++) //重复显示8次
{
for(num=n;num<n;num++)
{
WriteByte(tab[2*num+1]);//行数据读入
WriteByte(tab[2*num+0]);
P1=temp; //列数据读入
STCP=0; // 显示上升沿打开,开始显示
STCP=1;
delay_ms(1); //延时显示
temp++; //列数据更新
if(temp==16)
temp=0;
}
}
}
}
P1=temp,这怎么理解?
用的列驱动芯片是74HC154 P1=temp那是怎么变74HC154的地址二进制码? 展开
#define uchar unsigned char
#define uint unsigned int
sbit SHCP=P2^0;
sbit DS=P2^1;
sbit STCP=P2^2;
uchar code ZM[ ]={点阵字模数据}
void delay_ms(unsigned int ms) //延时函数
{
uchar j;
while(ms--)
for(j=0;j<123;j++);
}
void WriteByte(uchar dat) 、//74HC595读入数据函数
{
uchar k;
for(k=0;k<8;k++)
{
dat=dat>>1;
DS=CY;
SHCP=0;
SHCP=1;
}
}
void main() //主函数
{
uchar num,temp,n,m;
while(1)
{
for(n=0;n<192;n++) //
for(m=0;m<8;m++) //重复显示8次
{
for(num=n;num<n;num++)
{
WriteByte(tab[2*num+1]);//行数据读入
WriteByte(tab[2*num+0]);
P1=temp; //列数据读入
STCP=0; // 显示上升沿打开,开始显示
STCP=1;
delay_ms(1); //延时显示
temp++; //列数据更新
if(temp==16)
temp=0;
}
}
}
}
P1=temp,这怎么理解?
用的列驱动芯片是74HC154 P1=temp那是怎么变74HC154的地址二进制码? 展开
1个回答
展开全部
更多追问追答
追问
P口直接输入char型整数,比如2,就是对应0x10?总感觉怪怪的。。。。
追答
P1 = 2 应该是和 P1 = 0x02 = 0000 0010 B 一样的啊
迪凯特科技(北京)有限公司_
2025-01-03 广告
2025-01-03 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特...
点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |