io開關量輸入實驗c語言編程代碼,單片機io口輸入輸出實驗代碼

本文目錄一覽:

單片機怎麼用c語言設置I/O口輸入或輸出

IO口的輸入輸出是通過對單片機寄存器的配置來實現的。

C51的單片機IO口本來就是雙向的不需要設置。

STM32單片機的IO口用C語言的設置方法如下:

void LED_Config(void)

{

GPIO_InitTypeDef GPIO_Structure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

//PC10-LED(指示燈)

GPIO_Structure.GPIO_Pin = GPIO_Pin_10;

GPIO_Structure.GPIO_Speed = GPIO_Speed_2MHz;

GPIO_Structure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(GPIOC,GPIO_Structure); //LED

}

模擬開關燈實驗:編程實現2個開關控制1個燈的亮,滅,C語言

sbit B1=P2^0;

sbit B2=P2^1;

sbit LED=P1^1;

void delay(){

unsigned int a=3000;

while(a–){

;

}

}

void delay1(){

unsigned int a=2000;

while(a–){

;

}

}

main(){

while(1){

if(B1==0){

delay1();

if(B1==0){

LED=1;

}

}

if(B2==0){

delay1();

if(B2==0){

LED=0;

}

}

}

}

單片機I/O口,C語言怎麼設置輸入?

單片機的IO口,如51單片機的IO口,直接是雙向IO口,不需要設置即可用作輸入或者輸出。

如P0=0x40;這裡是設置為輸出;Temp=P2;這是將P2口作為輸入讀取數據

有些單片機如STM32單片機的IO口是多功能復用IO口,只需要指定IO口的模式即可

如STM32的LED驅動IO口設置初始化程序如下:

void LED_Config(void)

{

GPIO_InitTypeDef GPIO_Structure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

//PC10-LED(指示燈)

GPIO_Structure.GPIO_Pin = GPIO_Pin_10;

GPIO_Structure.GPIO_Speed = GPIO_Speed_2MHz;

GPIO_Structure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_Init(GPIOC,GPIO_Structure); //LED

}

編程實驗 c語言,求代碼

1、唯一要注意的是float型無法直接用%x進行十六進位的輸出,需要用某種方法依次取它的各位元組數據來輸出。

#include

“stdio.h”

void

main()

{

short

a=-12335;

int

b;

unsigned

short

c;

unsigned

int

d;

int

e;

float

f;

unsigned

char

*p;

b=(int)a;

printf(“%d

%x\n”,b,b);

c=(unsigned

short)b;

printf(“%u

%x\n”,c,c);

d=(unsigned

int)c;

printf(“%u

%x\n”,d,d);

e=(int)d;

printf(“%d

%x\n”,e,e);

f=(float)e;

printf(“%f

“,f);

p=(unsigned

char

*)f;

printf(“%x%x%x%x\n”,p[3],p[2],p[1],p[0]);

}

2、double型和float型數據要輸出16進位形式,都要用1中用的方法

#include

“stdio.h”

void

main()

{

float

a=123456.789e5;

double

b;

float

c;

unsigned

char

*p;

int

i;

b=(double)a;

printf(“%lf

“,b);

p=(unsigned

char*)b;

for(i=sizeof(double)-1;i=0;i–)

printf(“%x”,p[i]);

printf(“\n”);

c=(float)b;

printf(“%f

“,c);

p=(unsigned

char*)c;

for(i=sizeof(float)-1;i=0;i–)

printf(“%x”,p[i]);

printf(“\n”);

}

3、題目要求看不懂,不知道效率是什麼意思

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193465.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:01
下一篇 2024-12-01 15:01

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29

發表回復

登錄後才能評論