历史上的今天
今天是:2025年03月07日(星期五)
2018年03月07日 | 基于单片机的四位二进制转十进制计算显示程序
2018-03-07 来源:eefocus
此程序是根据自己的单片机板子写的,四位共阳数码管。
k1-k4是板子上的4个键 用来进行二进制输入,因为按键只有按下和没有按下两种状态,
十进制的数值就显示在数码管上.
#include
#define uchar unsigned char
#define uint unsigned int
uchar code smg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar data yy[]={0xff,0xfe,0xfc,0xf8,0xf0,0xfe0,0xc0,0x80,0x00};
uint a;
sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;
sbit K4=P3^3;
sbit P20=P2^0;
sbit P22=P2^2;
sbit wx1=P0^0;
sbit wx2=P0^1;
sbit wx3=P0^2;
sbit wx4=P0^3;
void delayms(uint a)
{
uchar i,j;
for(i=a;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
{
if(K1==0)
{
wx1=1;
P1=smg[0];
wx2=0;wx3=0;wx4=0;
P2=yy[0];
}
if(K2==0)
{
wx1=1;
P1=smg[1];
wx2=0;wx3=0;wx4=0;
P2=yy[1];
}
if(K3==0)
{
wx1=1;
P1=smg[2];
wx2=0;wx3=0;wx4=0;
P2=yy[2];
}
if(K4==0)
{
wx1=1;
P1=smg[3];
wx2=0;wx3=0;wx4=0;
P2=yy[3];
}
if(K1==0&K2==0)
{
wx1=1;
P1=smg[4];
delayms(10);
wx1=0;wx2=0;wx3=0;wx4=0;
P2=yy[4];
delayms(10);
}
if(K1==0&K3==0)
{
wx1=1;
P1=smg[5];
delayms(10);
wx1=0;wx2=0;wx3=0;wx4=0;
P2=yy[5];
delayms(10);
}
if(K1==0&K4==0)
{
wx1=1;
P1=smg[6];
delayms(10);
wx1=0;wx2=0;wx3=0;wx4=0;
P2=yy[6];
delayms(10);
}
if(K2==0&K3==0)
{
wx1=1;
P1=smg[7];
delayms(10);
wx1=0;wx2=0;wx3=0;wx4=0;
P2=yy[7];
delayms(10);
}
if(K2==0&K4==0)
{
P20=1;P22=1;
wx1=1;
P1=smg[8];
delayms(10);
wx1=0;wx2=0;wx3=0;wx4=0;
P2=yy[8];
delayms(10);
}
if(K3==0&K4==0)
{
wx1=1;
P1=smg[9];
delayms(10);
wx1=0;wx2=0;wx3=0;wx4=0;
P2=yy[8];
delayms(10);
}
}
P2=0xff;
}
}
史海拾趣
|
我用的是s3c2410主机是linux操作系统,用minicom时,启动开发板则不能显示任何信息, minicom配置如下: A-Serial Device :dev/ttyS0 B-Lockfile Location :/var/lock E-Bps/Par/Bits :115200 8N1 F-Hardware Flow ...… 查看全部问答> |
|
想选择路径打开文件 将内容输出到编辑框 程序运行弹出一个对话框 显示叉号和乱码 void CTCPClientExDlg::Sendfile() { CFile MyFile; TCHAR str[100]; DWORD count; Updat ...… 查看全部问答> |
|
本人想做一个单片机与PC机通信操作的实验,看过资料,但有些地方不明白,请大家帮忙: 它们的通信是要通过MAX232吗?MAX232还用不用接8250,然后再接九针插头?它们的电路图应该怎么接? 书上还说要对8250编 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:41 编辑 有人做过测量交流电压的吗?可以交流交流一下 。带宽太宽了不好测量啊 可以分享你们的经验吗? … 查看全部问答> |
|
通过译码来选通要采样的模拟量,比如有6路选通、即有六路模拟量;这样的话,需采样六次才能将所有模拟量采完,然后分别处理这六个量。 如果采样一路的话,感觉好处理一些,循环采样六路,应该如何用verilog HDL来写? 之前觉得AD采样一次本身可以 ...… 查看全部问答> |
|
本帖最后由 qwqwqw2088 于 2014-1-21 09:38 编辑 本文所介绍的以UCC28810为主控芯片的电路具备PFC的恒定电流驱动器,提供具有 700mA 恒流的 10V 至 48V 电压。可通过单个电阻对输出电流进行调节;输入电压为高线路。 PCB板设计 ...… 查看全部问答> |




