本文目录一览

1,单片机程序编程

汇编语言---嵌入式C.先从C80521FXXX开始学。

单片机程序编程

2,单片机编程

1MOV A,R3ADD A,R7DA AMOV R5,AMOV A,R2ADDC A,R6DA AMOV R4,AMOV A,#00HADDC A,#00HMOV R0,A2MOV A,R3DA AMOV R5,AMOV A,#00HADDC A,#00HMOV R4,A

单片机编程

3,求高手帮忙看一下一些单片机代码

具体不清楚 你的程序有几个问题 1,数组LED[]的第一个元素是LED[0],应该从LED[0]到LED[7]; 2,for循环里对n的值没有限定条件 #include <reg52.h>#define uint unsigned intsbit D1=P1^0;sbit D2=P1^1;sbit D3=P1^2;sbit D4=P1^3;sbit D5=P1^4;sbit D6=P1^5;sbit D7=P1^6;sbit D8=P1^7;uint n;uint LED[]; void main() LED[0]=D1; LED[1]=D2; LED[2]=D3; LED[3]=D4; LED[4]=D5; LED[5]=D6; LED[6]=D7; LED[7]=D8; while(1) for(n=0;n<8;++n) LED[n]=0; } }}

求高手帮忙看一下一些单片机代码

4,单片机编程程序

1、首先是打开keil软件,打开后显示的界面如下  2、如下第一张图所示点击project-》new project,点击后将会出现如下第二张图所示界面;在文件框中填写你的工程名,名字可以是任意英文字符组成的(在此时你最好在你所希望存储该工程的地方新建一文件夹,如第二张图所示就是在桌面上建立了一个测试文件夹来存储新建的工程)  3、输入工程名后会出现如下图所示的芯片选择对话框,选择你开发板上的型号即可(相信要看这张帖子的读者一定是在学51单片机,此时只需选择  Atmel-》AT89c52即可。如下第二张图所示)  4、一路点击确认后回到如下图所示的主界面,并如下图所示点击新建程序输入文本  5、点击后出现如下第一张图所示界面,并点击保存按钮  6、点击保存按钮后出现下第一张图所示对话框,在箭头所指的地方输入源文件名称加后缀名(如果你是用C语言编写程序后缀名为*.c;如果你是用汇编语言编写程序则后缀名为*.asm)并点击确认保存。确认后界面如下第二张图所示,注意箭头所指地方的变化。  7、接下来的一步是将源文件加入到工程中,点击选中source group并右击将会出现如下图所示界面。  8、再点击Add files to.。。。。。。;如下第一张图箭头所示处。点击后将会出现第二张图所示的对话框,在该对话框中只要点击选中第五歩保存的源文件并点击Add即可(注意点击选中源文件前后的变化,并且特别注意点击Add后界面没有任何变化,你只要关闭该对话框即可)  9、打开source group后将会出现如下图箭头所指处的变化  10、在右边的源文件输入框中写入程序,并点击如图所示的编译按钮(可以看到该程序没有错误,编译成功)  11、但我们点击进入工程的文件夹没有看到后缀名为.hex文件,如下图所示  12、所以我们需点击target按钮进行设置,如下第一张图所示。点击后出现第二张图所示对话框  13、在对话框中点击output选项如下图1处显示,并勾选create hex file如下图2处显示。勾选后关闭对话框并如第10步再编译一次。可以看到文件夹中生成了.hex文件
问题问的不是很全啊……我就给你确定了几个 数码管使用p0口,加上啦电阻。控制端使用p2.2。中断使用int1(p3.3)低电平中断。 时钟12m。数码管为共阳数码管。 下面是程序: #include unsigned int a; unsigned char table[]={0x92,0xf8,0xb0,0xa4};//数字5,7,3,2 void delay(unsigned int t) //延时50ms { unsigned int i; while(t--) { for(i=0;i<125;i++) {} } } void main() { ea=1; ex1=1; it1=1; while(1) { p2^2=1; p0=table[0]; delay(20); p0=table[1]; delay(20); p0=table[2]; delay(20); } void int1() interrupt 2 { for(a=0;a<3;a++) { p2^2=1; p0=table[4]; delay(20); p2^2=1; delay(20); } } 以下是汇编程序,闪烁三次没有使用循环!! org 0000h sjmp main org 0013h ;使用int1中断 sjmp main1 org 0030h main : mov ie,#84h ;定义中断,使用int1 mov tcon,#00h ;低电平有效 loop1: setb p2.2 mov p0,92h ;数字 5 lcall delay mov p0,f8h ;数字7 lcall delay mov p0,b0h ;数字3 lcall delay sjmp loop1 main1:setb p2.2 ;进入中断,显示第一次 mov p0,a4h ;数字 2 lcall delay lcall delay cpl p2.2 ;熄灭数码管 lcall delay lcall delay setb p2.2 ;点亮第二次 mov p0,a4h lcall delay lcall delay cpl p2.2 lcall delay lcall delay setb p2.2 ;点亮第三次 mov p0,a4h lcall delay lcall delay cpl p2.2 lcall delay lcall delay reti delay: mov r7,#100 ;晶振12m,延时100毫秒 dd0: mov r6,#48 nop djnz r6,$ djnz r7,dd0 ret end 注:程序没有下载试验,有什么问题可以qq联系。希望能给分。

5,单片机程序代码

百度贴吧 有 http://post.baidu.com/f?ct=&tn=&rn=&pn=&lm=&sc=&kw=%B5%A5%C6%AC%BB%FA%B3%F5%D1%A7%D5%DF&rs2=0&myselectvalue=1&word=%B5%A5%C6%AC%BB%FA%B3%F5%D1%A7%D5%DF&submit=%B0%D9%B6%C8%CB%D1%CB%F7&tb=on
#include //********数码管位代码表(p0口)**********// unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //********数码管段代码表(p2口,共阴且高位接a,低位接h笔段)**********// unsigned char code dispcode[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0, 0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x00}; //********8位数据缓冲器**********// unsigned char dispbuf[8]; unsigned char temp[8]; unsigned char dispcount; unsigned char t0count; unsigned char timecount; bit flag; unsigned long x; //*********初始化模块**********// void initial(void){ tmod=0x15; th0=0; tl0=0; th1=(65536-4000)/256; tl1=(65536-4000)%256; tr1=0; tr0=0; et0=1; et1=1; ea=1; } //******************************************************// //*********显示模块**********// void datadisplay(){ unsigned char i; for(i=0;i<8;i++){ temp[i]=0; } i=0; while(x/10){ temp[i]=x%10; x=x/10; i++; } temp[i]=x; for(i=0;i<8;i++){ dispbuf[i]=temp[i]; } p2=dispcode[dispbuf[dispcount]]; p0=dispbit[dispcount]; dispcount++; if(dispcount==8){ dispcount=0; } } //******************************************************// //*********信号频率测量模块**********// float frequency(float freq){ initial(); tr0=1;tr1=1; if(timecount==250){ tr0=0; freq=t0count*65536+th0*256+tl0; return(freq); } } //******************************************************// //*********信号周期测量模块**********// float cycle(float count){ initial(); if(p3_4==1){ tr0=1;tr1=1; if(p3_4==0){ tr0=0; count=1000000/(timecount*4000+th1*256+tl1-61536); } } return(count); } //******************************************************// //*********定时中断服务程序1**********// void t1(void) interrupt 3 using 0{ //initial(); //tr0=1; //tr1=1; th1=(65536-4000)/256; tl1=(65536-4000)%256; timecount++; } //******************************************************// //*********定时中断服务程序2**********// void t0(void) interrupt 1 using 0{ //initial(); //tr0=1; //tr1=1; t0count++; } //******************************************************// //*********主函数**********// void main(void){ while(1){ x=frequency(x); if(x<100){ x=cycle(x); } datadisplay(); } } //******************************************************//

文章TAG:单片机  编程  代码  代码大全  单片机编程代码大全  
下一篇