最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第4章-C語言基礎以及流水燈的實現(xiàn)

2023-08-21 22:34 作者:feifeiluan2  | 我要投稿

c語言基礎知識,省略,都會

keil調試,省略,幾乎不用,也不好用

課后作業(yè)4流水燈右移

#include <reg52.h>


typedef unsigned char uchar;

typedef unsigned int uint;

typedef unsigned long ulong;


sbit ADDR0 = P1 ^ 0;

sbit ADDR1 = P1 ^ 1;

sbit ADDR2 = P1 ^ 2;

sbit ADDR3 = P1 ^ 3;

sbit ENLED = P1 ^ 4;


sbit led = P0 ^ 0;


void Delay500ms() //@11.0592MHz

{

? ? ? ? unsigned char data i, j, k;


? ? ? ? //_nop_();

? ? ? ? i = 4;

? ? ? ? j = 129;

? ? ? ? k = 119;

? ? ? ? do

? ? ? ? {

? ? ? ? ? ? ? ? do

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? while (--k)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;

? ? ? ? ? ? ? ? } while (--j);

? ? ? ? } while (--i);

}


void main(void)

{

? ? ? ? ENLED = 0; // 138總開關打開


? ? ? ? ADDR3 = 1; // 1110是LED的譯碼輸出:14,選通LED的供電

? ? ? ? ADDR2 = 1;

? ? ? ? ADDR1 = 1;

? ? ? ? ADDR0 = 0;


? ? ? ? while (1)

? ? ? ? {

? ? ? ? ? ? ? ? // 流水燈右移

? ? ? ? ? ? ? ? P0 = 0x7F; // 0111-1111

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xBF; // 1011-1111

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xDF; // 1101-1111

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xEF; // 1110-1111

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xF7; // 1111-0111

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xFB; // 1111-1011

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xFD; // 1111-1101

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? P0 = 0xFE; // 1111-1110

? ? ? ? ? ? ? ? Delay500ms();

? ? ? ? ? ? ? ? // 返回第一部

? ? ? ? }

}

//第二種方法

#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;

sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;

sbit led = P0 ^ 0;

void Delay500ms() //@11.0592MHz
{
?? ?unsigned char data i, j, k;

?? ?//_nop_();
?? ?i = 4;?? ?j = 129;?? ?k = 119;
?? ?do
?? ?{
?? ??? ?do
?? ??? ?{
?? ??? ??? ?while (--k)
?? ??? ??? ??? ?;
?? ??? ?} while (--j);
?? ?} while (--i);
}

void main(void)
{
?? ?char cnt;

?? ?ENLED = 0; // 138總開關打開

?? ?ADDR3 = 1; // 1110是LED的譯碼輸出:14,選通LED的供電
?? ?ADDR2 = 1;
?? ?ADDR1 = 1;
?? ?ADDR0 = 0;

?? ?cnt=7;
?? ?while (1)
?? ?{
?? ??? ?// 流水燈右移
?? ??? ?P0= ~(1<<cnt);
?? ??? ?Delay500ms();?? ?
?? ??? ?cnt--;
?? ??? ?if(cnt<0)
?? ??? ?{
?? ??? ??? ?cnt=7;
?? ??? ?}?? ??? ?
?? ??? ?// 返回第一步
?? ?}
}

課后第五題,左移到頭,接著右移,,,反復

#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;

sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;

sbit led = P0 ^ 0;

void Delay500ms() //@11.0592MHz
{
?? ?unsigned char data i, j, k;

?? ?//_nop_();
?? ?i = 4;?? ?j = 129;?? ?k = 119;
?? ?do
?? ?{
?? ??? ?do
?? ??? ?{
?? ??? ??? ?while (--k)
?? ??? ??? ??? ?;
?? ??? ?} while (--j);
?? ?} while (--i);
}

void main(void)
{
?? ?ENLED = 0; // 138總開關打開

?? ?ADDR3 = 1; // 1110是LED的譯碼輸出:14,選通LED的供電
?? ?ADDR2 = 1;
?? ?ADDR1 = 1;
?? ?ADDR0 = 0;

?? ?while (1)
?? ?{
?? ??? ?P0=0xFE;//1111-1110
?? ??? ?Delay500ms();
?? ??? ?P0=0xFD;//1111-1101
?? ??? ?Delay500ms();
?? ??? ?P0=0xFB;//1111-1011
?? ??? ?Delay500ms();
?? ??? ?P0=0xF7;//1111-0111
?? ??? ?Delay500ms();
?? ??? ?P0=0xEF;//1110-1111
?? ??? ?Delay500ms();
?? ??? ?P0=0xDF;//1101-1111
?? ??? ?Delay500ms();
?? ??? ?P0=0xBF;//1011-1111
?? ??? ?Delay500ms();
?? ??? ?P0=0x7F;//0111-1111
?? ??? ?Delay500ms();

?? ??? ?P0=0xBF;//1011-1111
?? ??? ?Delay500ms();
?? ??? ?P0=0xDF;//1101-1111
?? ??? ?Delay500ms();
?? ??? ?P0=0xEF;//1110-1111
?? ??? ?Delay500ms();
?? ??? ?P0=0xF7;//1111-0111
?? ??? ?Delay500ms();
?? ??? ?P0=0xFB;//1111-1011
?? ??? ?Delay500ms();
?? ??? ?P0=0xFD;//1111-1101
?? ??? ?Delay500ms();
?? ??? ?//返回第一步
?? ?}
}

//第二種方法

#include <reg52.h>

typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;

sbit ADDR0 = P1 ^ 0;
sbit ADDR1 = P1 ^ 1;
sbit ADDR2 = P1 ^ 2;
sbit ADDR3 = P1 ^ 3;
sbit ENLED = P1 ^ 4;

sbit led = P0 ^ 0;

void Delay500ms() //@11.0592MHz
{
?? ?unsigned char data i, j, k;

?? ?//_nop_();
?? ?i = 4;
?? ?j = 129;
?? ?k = 119;
?? ?do
?? ?{
?? ??? ?do
?? ??? ?{
?? ??? ??? ?while (--k)
?? ??? ??? ??? ?;
?? ??? ?} while (--j);
?? ?} while (--i);
}

void main(void)
{
?? ?char cnt;

?? ?ENLED = 0; // 138總開關打開

?? ?ADDR3 = 1; // 1110是LED的譯碼輸出:14,選通LED的供電
?? ?ADDR2 = 1;
?? ?ADDR1 = 1;
?? ?ADDR0 = 0;

?? ?while (1)
?? ?{
?? ??? ?cnt = 0;
?? ??? ?while (1)
?? ??? ?{
?? ??? ??? ?P0 = ~(1 << cnt);
?? ??? ??? ?Delay500ms();
?? ??? ??? ?cnt++;
?? ??? ??? ?if (cnt == 8)
?? ??? ??? ?{
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ?}
?? ??? ?cnt = 6;
?? ??? ?while (1)
?? ??? ?{
?? ??? ??? ?P0 = ~(1 << cnt);
?? ??? ??? ?Delay500ms();
?? ??? ??? ?cnt--;
?? ??? ??? ?if (cnt == 0)
?? ??? ??? ?{
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}


第4章-C語言基礎以及流水燈的實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
福安市| 葵青区| 德清县| 杭锦后旗| 涞水县| 正蓝旗| 五常市| 铁力市| 天台县| 晋城| 和田市| 松潘县| 维西| 石阡县| 资兴市| 吴堡县| 贞丰县| 新田县| 永嘉县| 广平县| 永寿县| 潜江市| 宁海县| 永清县| 轮台县| 汝州市| 望都县| 洪雅县| 襄垣县| 东至县| 绥江县| 奉新县| 都安| 泰安市| 武清区| 陆川县| 屯留县| 保德县| 应城市| 南木林县| 德清县|