我是靠谱客的博主 清新小兔子,最近开发中收集的这篇文章主要介绍keil中c语言变量二进制赋值,最近技痒,写了个KEIL中输入二进制数的函数,请大家指教...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

大家用KEIL的时候是不是很想输入二进制?但可惜,KEIL只能在汇编的时候使用二进制,C语言不能用。

二进制好处多,尤其是在编1602的时候,对寄存器的操作更加直观,哪一位是1,哪一位是0,一目了然

下面的程序在KEIL中试验仿真通过,大家可以在实物中试验一下。

#include

#define uchar unsigned char

#define uint unsigned int

//二进制转换成十进制,binH代表高四位,binL代表低四位

uchar bin_to_dec(uint binH,uint binL)

{

uchar dec_data=0;//dec_data是最后的运算结果,返回值

uchar tmp;// tmp用来保存取出来的每一位

tmp=(bit)(binH/1000);//取binH最高位

tmp<<=7;

dec_data|=tmp;

tmp=(bit)(binH/100%10);//取第三位

tmp<<=6;

dec_data|=tmp;

tmp=(bit)(binH/10%10);//取第二位

tmp<<=5;

dec_data|=tmp;

tmp=(bit)(binH%10);//取第一位

tmp<<=4;

dec_data|=tmp;

tmp=(bit)(binL/1000);//取binL最高位

tmp<<=3;

dec_data|=tmp;

tmp=(bit)(binL/100%10);//取第三位

tmp<<=2;

dec_data|=tmp;

tmp=(bit)(binL/10%10);//取第二位

tmp<<=1;

dec_data|=tmp;

tmp=(bit)(binL%10);//取第一位

dec_data|=tmp;

return(dec_data);

}

void main()

{

uchar a;

a=bin_to_dec(1111,1100);//程序中的调用方法

while(1);

}

程序有点长,其实就是把bin_to_dec(1111,1100)这个函数里面的两个形参,1111和1100按位取出来,然后再逐位放到一个数据里面的过程,取出的方法就是用除法和取余运算,学过数码管动态驱动的应该有点印像吧?

最后

以上就是清新小兔子为你收集整理的keil中c语言变量二进制赋值,最近技痒,写了个KEIL中输入二进制数的函数,请大家指教...的全部内容,希望文章能够帮你解决keil中c语言变量二进制赋值,最近技痒,写了个KEIL中输入二进制数的函数,请大家指教...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部