求简单的51单片机c语言程序设计

2020-12-11 21:03:42 字数 5586 阅读 5000

1楼:凤凰与涅槃射手

机的外部结构:1.

dip40

双列直插;

2.p0,p1

,p2,p3

四个8位准双向

i/o引脚;(作为

i/o输入时,要先输出高电平)

3.电源

vcc(

pin40

)和地线

gnd(

pin20

);4.

高电平复位

reset

(pin9

);(10uf

电容接vcc

与reset

,即可实现上电复位)

5.内置振荡电路,外部只要接晶体至x1(

pin18

)和x0

(pin19

);(频率为主频的

12倍)

6.程序配置ea(

pin31

)接高电平

vcc;(运行单片机内部

rom中的程序)

7.p3

支持第二功能:

rxd、

txd、

int0

、int1、t0

、t1单片机内部

i/o部件:(

所为学习单片机,实际上就是编程控制以下

i/o部件,完成指定任务

) 1.四个8

位通用i/o

端口,对应引脚p0、

p1、p2和

p3;2.两个

16位定时计数器;(

tmod

,tcon

,tl0

,th0

,tl1

,th1)3.

一个串行通信接口;(

scon

,sbuf)4.

一个中断控制器;(ie,

ip)针对at89c52

单片机,头文件

at89x52.h

给出了sfr

特殊功能寄存器所有端口的定义。

c语言编程基础:1.

十六进制表示字节

0x5a

:二进制为

01011010b

;0x6e

为01101110。2.

如果将一个

16位二进数赋给一个

8位的字节变量,则自动截断为低

8位,而丢掉高8位。

3.++var

表示对变量

var先增一;

var—

表示对变量后减一。

4.x |= 0x0f;

表示为x = x | 0x0f;

5.tmod = ( tmod & 0xf0 ) | 0x05;

表示给变量

tmod

的低四位赋值

0x5,而不改变

tmod

的高四位。

6.while( 1 );

表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是

求一个51单片机c语言程序编程 30

2楼:吴勇一家人

实验内容:单片机甲、乙进行双机串行通信,甲机通过串口控制乙机led闪烁(如下图所示,要求利用芯片max232),双方的晶振频率均为11.0592mhz(波特率为9600kb/s)要求:

甲机按开关k1一次,发送字符“a”给乙机,点亮灯d1与d2;按开关k1两次,发送字符“b”给乙机,点亮灯d3与d4;按开关k1三次,发送字符“c”给乙机,全部点亮;按下第四次k1,灯全灭

#include/*甲机*/

sbit k=p1^0;

sbit p00=p0^0;

sbit p03=p0^3;

unsignedchari,no;

voidmain(void) /*主函数*/

switch(no)

}for(i=250;i>0;i--) //延时}#include/*乙机*/

sbit k=p1^0;

sbit p00=p0^0;

sbit p03=p0^3;

unsignedcharno;

voidmain() /*主函数*/}}

符合不???

求简单的单片机c语言程序实例

3楼:匿名用户

^#include//52单片机头文件

sbit led1=p1^0; //单片机管脚位声明void main() //主函数 }够简单了吧

4楼:匿名用户

找找下面的两本书

c51单片机应用与c语言程序设计(第2版)或者avr单片机与小型机器人制作。

里面有很多简单的单片机c程序,对你肯定有帮助。

5楼:做而论道

到这里看看:

http://hi.baidu.***/%d7%f6%b6%f8%c2%db%b5%c0

6楼:匿名用户

单片机c初学者的pdf资料要不要啊?要的话留个邮箱我发给你啊

51单片机最简单的c语言编程求教

7楼:匿名用户

你把里面的数字转换成二进制,比如table[0]=0x3f=00111111b;

由于你这个是共阴极数码管,高电平有效,所以写一的地方对应的led都点亮 至于那七根数码管以及一个小数点和二进制位数对应关系你可以上网上查一下,简单的说小数点也就是dp是最高位,其他的那七根数码管从最上面那个开始顺时针一共是六根从bit(0)到bit(5),最后横着那根是bit(6)。希望能帮到你。至于你说的temp对应p2口,得有硬件图才可以知道有什么作用。

8楼:曾危

table 为一维数组已赋值

temp=temp<<1 temp先向左位移一位再赋给temp

9楼:郎梦玉狄朝

请问为什么开头要定义unsignedchar类型呢,不是可以用unsignedint代替吗??

在单片机中char类型的数据有什么作用呢??

我想说的是,单片机不是通用pc机

虽然说现在的单片机内部的ram越来越大但是比起电脑里还是有限的,unsignedchar是可以用unsignedint代替,但是这样占用的字节数太多了。

字符型的1个字节长,而整型是2个字节长。

单片机的char型和c里面的不太一样,

因为你用的52是8位的单片机,而char型是8位,所以操作方便。

欢迎追问

不会,识别int型的低八位

求51单片机的c语言程序设计大全,谁有?? 5

10楼:还要设置密码

买一本不就行了,我感觉还是看书比较快,老在电脑前看不好

11楼:望大虾多多指教

你要这本书吗?我这里有很多例程,如果要的话,留下邮箱,给你发过去 你还是要书啊?!

求51单片机c语言编程?

12楼:匿名用户

#include

#include

#define uchar unsigned char#define uint unsigned intuchar code table=;

uchar led=;

sbit adrd=p3^7;

sbit adwr=p3^6;

sbit dula=p2^6;

sbit wela=p2^7;

uchar date1=0;

uchar date2=50;

uchar date3=100;

uchar date4=150;

uchar date5=200;

uchar date6=255;

uchar a,sz;

void init();

void delay(uint z);

uchar adchushihua();

void shumaguan(uint shu);

void processing();

void main()}}

void init()

void delay(uint z)

uchar adchushihua()

void shumaguan(uint shu)void processing()

else if((sz>=date2)&&(sz<=date3))else if((sz>=date3)&&(sz<=date4))else if((sz>=date4)&&(sz<=date5))else if((sz>=date5)&&(sz

}这个是我刚刚写的 根据你的需要 反正闲来无事 我写的比较笼统 需要你自己根据 自己的实际情况来判断确定 我只是利用ad简单的处理 成数码管显示的数字 你要是 转换成电压 那就把里面的变量 修改一下 我写的那个控制led灯亮就不要动了 只是修改一下他前面定义的数字就可以 最后那个是我自己加上去的有点趣味性 希望对你有帮助

求51单片机c语言编程 20

13楼:匿名用户

不能直接定时400ms,可定时50ms,采用中断方式,中断8次就是400ms。先计算出定时初始值,x=65536-50000=3cb0h。程序如下

#include

sbit led=p2^0; //led灯在p2.0上,0点亮unsigned char t1n;//对定时50ms中断计数8次为400ms

void main()

void t1_time() interrupt 3}

14楼:盛琦甲向雪

玩过无线遥控的飞机没,里面的pt2262

可以拿来用;时间数码显示

自己用单片机做,要无线控制的话,估计机械那块要花点心思

15楼:折亘广静安

#include

void

main()

就这些。

求51单片机c语言程序编程思路

16楼:匿名用户

#include

//假定继电器是安装在p3.5,按键分别安装在p3.6,p3.7,时钟频率12mhz

sbitsw1=p3^6;

sbitsw2=p3^7;

sbitrelay=p3^5;

voidsetuptimer0()

dataunsignedcharus250;

dataunsignedintrelay_timer;

voidtimer0_isr()interrupt1//定时中断服务程序,为按键消抖服务

if(++us250>=4)//250us中断一次,每四次得到1ms

//如果当前正处于一个动作过程且有sw2按下,则修改继电器延时为1000ms

if(relay_timer&&0==sw2)relay_timer=1000;

}voidmain()

单片机汇编语言,求大神解答,单片机汇编语言,求大神帮忙看下程序什么意思

1楼 单片机没有负数 做完运算后正负由c来表示 单片机汇编语言,求大神帮忙看下程序什么意思 2楼 匿名用户 程序很简单,就是让p1口全高电平一小段时间 执行delay延时子程序所需时间 后,再让p1口全低电平持续20倍的时间,不断重复上述过程。 0000h start mov p1 0ffh 让p1...