单片机的C语言程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机的C语言程序设计——一阶段

序号姓名方廷宇学号30802089

专业班级电信0802组号指导老师

一.实验目的

1.学习掌握单片机的C语言编程方法;

2.熟悉并掌握Protues仿真软件的按章,使用及调试方法;

3.熟悉keil c的编译环境使用及调试方法;

4.学习protell的画图

二.思考作业

1.设计一个LED灯1秒闪烁的程序,绘制电路图,用两种方法给出程序。

#include“reg51.h”

#define uchar unsigned char

#define uint unsigned int

Sbit P1_0=P1^0。

Void m(unsigned int d>

{ unsigned int i=0。

For(。d>0。d-->{

For(i=0。i<124。i++>

{。}

}

}

Void main(>

{ for(。。>

{P1_0=!P1_0。

m(1000>。}

}

#include"reg51.h"

sbit P1_0=P1^0。

void main(>

{int a=0。

P1=0xff。

TMOD=0x01。

TH0=(65536-20000>/256。

TL0=(65536-20000>%256。

TR0=1。

for(。。>

{

if(TF0==1>

{TF0=0。

TH0=(65536-20000>/256。

TL0=(65536-20000>%256。

a++。}

if(a==25>

{P1_0=!P1_0。

a=0。

}

}

}

2.用C语言设计流水灯的程序,绘制电路图,用两种方法给出程序#include”reg51.h”

#include”strins.h”

#define uchar unsigned char

#define uint unsigned int

Void m(unsigned int d>

{ unsigned int i=0。

For(。d>0。d-->

{

For(i=0。i<124。i++>

{。}

}

}

Void main(0

{unsigned char o=0xfe。

For(。。>

{P1=o。

o=_crol_(o,1>。

m(1000>。}

}

#include"reg51.h"

#define uchar unsigned char

uchar m=0,i=0。

sbit P3_0=P3^0。

void main(>

{

P1=0xff。

TMOD=0x01。

TH0=(65536-50000>/256。

TL0=(65537-50000>%256。

TR0=1。

EA=1。

ET0=1。

while(1>。}

void timer(> interrupt 1

{

TH0=(65536-50000>/256。

TL0=(65537-50000>%256。

m++。

if(m==20>{

m=0。

P3=~(0x01<<i>。

if(++i==8>

i=0。}

}

3.针对下图,用单片机C语言编程实现时钟,并利用Protues仿真演示。<1秒钟的定时使用定时器中断方式)

<1)硬件原理图

图1 定时电路原理图

<2)软件流程图

<3)程序清单<标注注释)

程序:#include"reg51.h"

int b=0,i=0,j=0。

int a[10]={0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x3F}。void main(>

{ P2=0x3f 。

P3=0x3f。

TMOD=0x01。

TH0=(65536-40000>/256。

TL0=(65536-40000>%256。

TR0=1。

EA=1。

ET0=1。

for(。。>

{。}

}

void timer(> interrupt 1

{

TH0=(65536-40000>/256。

TL0=(65536-40000>%256。

b++。

if(b==25>

{

b=0。

P3=a[i]。

i++。

if(i==10>{

i=0。

P2=a[j]。

j++。}

if(j==6>{

P2=0x3f。

j=0。

} }

}

2.针对图2,用单片机C语言编程按键按下,显示数据增加1,并用Protues仿真运行<1)硬件原理图

相关文档
最新文档