当前位置:首页 » 课程大全 » 单片机原理及接口课程设计

单片机原理及接口课程设计

发布时间: 2021-02-19 01:41:45

A. 单片机原理与应用课程设计 要汇编语言的 多谢

无法贴上来,给邮箱发给你

B. 求张毅刚老师单片机原理与接口技术仿真原理图和程序

这本的话就有扫描版
《单片机原理及接口技术》
作者:张毅刚,彭喜元编著 页数:277 出版日期:2008.11

C. 单片机原理及接口技术的介绍

单片机原理及接口技术是21世纪高等学校计算机规划教材——名家系列教材,由张毅刚版主编,权2011年8月由人民邮电出版社出版,《单片机原理及接口技术(C51编程)》详细介绍了美国ATMEL公司的AT89S51单片机的硬件结构和片内外围部件的工作原理,Keil C51编程基础知识,并从应用设计的角度介绍AT89S51单片机的各种常用的硬件接口设计,以及相应的Keil C51接口驱动程序设计。本书最后介绍了AT89S51单片机应用系统设计以及一些典型应用举例。

D. 单片机原理及接口技术的内容提要

本书以89C51为典型机,深入浅出地讲述单片机原理、接口及应用技术。主要内容包括: 微机回基础知识、89C51单片机硬件结答构、指令系统、汇编语言程序设计、中断系统、定时器及应用、89C51串行口及串行通信、89C51单片机小系统及片外扩展、应用系统配置及接口技术和系统应用程序实例。
该书内容新颖、实用,删去了原版教材中大部分并行扩展的内容,特别增加了较多串行外设芯片扩展的内容,如SPI、I2C和单总线串行扩展技术、串行A/D、D/A、键盘输入和显示器等实例,可用作大中专院校微机原理、单片机及接口技术的教材,也可供从事单片机产品开发的工程技术人员参考。

E. 单片机原理与接口技术这门课主要讲什麽内容

学习硬件,存储器、定时器/计数器、中断等等 语言是单片机的语言,和汇编差不多,汇编会了,单片机的小意思。
是用8051单片机为内容的.

F. 单片机课程设计,急求!!!

#defineLCD1602_FLAG
#defineLCD1602_PORTP0
#include<reg51.h>
#include<stddef.h>
#defineucharunsignedchar

sbitlcd1602_rs=P2^0;
sbitlcd1602_e=P2^2;
sbitlcd1602_rw=P2^1;
sbitlcd1602_busy=P0^7;

ucharstr[]="ThisisKeyTest";
ucharkeyval,keystr[16];

voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}

/*
************************************
*函数名称:lcd1602_CheckBusy()
*函数功能:状态查询
************************************
*/

voidlcd1602_CheckBusy()
{
do
{
lcd1602_busy=1;
lcd1602_rs=0;
lcd1602_rw=1;
lcd1602_e=0;
lcd1602_e=1;
}
while(lcd1602_busy);
}

/*
***************************************
*函数名称:lcd1602_WriteCmd()
*函数功能:写命令
*入口参数:命令字
*出口参数:无
***************************************
*/

voidlcd1602_WriteCmd(constucharcmd)
{
lcd1602_CheckBusy();
lcd1602_rs=0;
lcd1602_rw=0;
lcd1602_e=1;
LCD1602_PORT=cmd;
lcd1602_e=0;
}

/*
*******************************************
*函数名称:lcd1602_WriteData()
*函数功能:写数据
*入口参数:c--待写数据
*出口参数:无
*********************************************
*/

voidlcd1602_WriteData(constucharc)
{
lcd1602_CheckBusy();
lcd1602_rs=1;
lcd1602_rw=0;
lcd1602_e=1;
LCD1602_PORT=c;
lcd1602_e=0;
}

/*
***********************************************
*函数名称:lcd1602_Init()
*函数功能:初始化LCD
*入口参数:无
*出口参数:无
***********************************************
*/

voidlcd1602_Init()
{
lcd1602_WriteCmd(0x38); //显示模式为8位2行5*7点阵
lcd1602_WriteCmd(0x0c);//displayenable,flagenable,flashenable,
lcd1602_WriteCmd(0x06);//flagmovetoright,screendon'tmove
lcd1602_WriteCmd(0x01);//clearscreen
}

/*
************************************************
*函数名称:lcd1602_Display()
*函数功能:字符显示
*入口参数:ptr--字符或字符串指针
*出口参数:无
*说明:用户可通过以下方式来调用:
*1)lcd1602_Display("Hello,world!");
*2)INT8U存储类型txt[]="要显示的字符串";
*或者INT8U存储类型txt[]={'t','x','t',..,''};
*INT8U*ptr;
*ptr=&txt;
*lcd1602_Display(ptr);
*或lcd1602_Display(txt);
*或lcd1602_Display(&txt);
************************************************
*/

voidlcd1602_Display(constuchar*ptr,ucharline)
{
uchardatai=0;
uchar*dataq;

q=ptr;
switch(line)
{
case0:
lcd1602_WriteCmd(0x80);
while(q!=NULL&&(*q!='')&&i<16)
{
lcd1602_WriteData(*q);
q++;
i++;
}
break;
case1:
lcd1602_WriteCmd(0xc0);
while(q!=NULL&&(*q!='')&&i<16)
{
lcd1602_WriteData(*q);
q++;
i++;
}
break;
}
}

ucharkbscan(void)
{
unsignedcharsccode,recode;
P3=0x0f;//发0扫描,列线输入
if((P3&0x0f)!=0x0f)//有键按下
{
delay(20);//延时去抖动
if((P3&0x0f)!=0x0f)
{
sccode=0xef;//逐行扫描初值
while((sccode&0x01)!=0)
{
P3=sccode;
if((P3&0x0f)!=0x0f)
{
recode=(P3&0x0f)|0xf0;
while((P3&0x0f)!=0x0f);//等待键抬起
return((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
}
return0;//无键按下,返回0
}
uchargetkey(void)
{
ucharkey;
key=kbscan();
if(key==0){keyval=0xff;return(0);}
switch(key)
{
case0x11:keyval=7;break;
case0x12:keyval=4;break;
case0x14:keyval=1;break;
case0x18:keyval=10;break;
case0x21:keyval=8;break;
case0x22:keyval=5;break;
case0x24:keyval=2;break;
case0x28:keyval=0;break;
case0x41:keyval=9;break;
case0x42:keyval=6;break;
case0x44:keyval=3;break;
case0x48:keyval=11;break;
case0x81:keyval=12;break;
case0x82:keyval=13;break;
case0x84:keyval=14;break;
case0x88:keyval=15;break;
default:keyval=0xff;break;
}
if(keyval!=0xff)return(1);
elsereturn(0);
}


main()
{
ucharnum;
lcd1602_Init();
lcd1602_Display(str,0);
while(1)
{
if(getkey())
{
if(keyval<10)keystr[num]=keyval+0x30;
elsekeystr[num]=keyval-10+'A';
lcd1602_Display(keystr,1);
num++;
num%=16;
}

}
}

G. 单片机课题设计

proteus我没用过

不习惯用仿真!!呵呵

hz=500HZ就是你要的频率你可以自己设

晶振我版是按12M算的

我用硬件测试通过权了~~

#include<reg52.h>

#defineucharunsignedchar

uchartemp=0,hz;

sbitbell=P1^0;

voidavf()

{

if(temp==2)

temp=0;

bell=0;

}

main()

{

hz=(1/500)/2;

TMOD=0x01;

ET0=1;

EA=1;

TL0=(65536-hz)/256;

TH0=(65536-hz)%256;

TR0=1;

while(1)

{

avf();

if(temp==1)

bell=1;}

}

voidTO()interrupt1

{

temp++;

TL0=(65536-hz)/256;

TH0=(65536-hz)%256;

}

如果需要汇编~~告诉我

我在写给你

最小系统的原理图我也画给你了

芯片你自己选吧可以换的

其他问题就是概述了~你自己写吧

不过那些都不重要呵呵

其实你只要把程序+硬件设计原理

拿给他就可以了~~

至于proteus你自己画个吧~~

自己调吧~~

H. 单片机原理及其应用技术课程设计任务书

随便翻一本单片机的书都会有这个秒中断的例子,毛主席教导过我们,自己动手,丰衣足食。

I. 微机原理与接口技术课程设计

直流电机速度一般就是控制它的工作电压调速了,输出不同的工作电压,就能改变它的速度,输出能改变的电压的方法基本上有两种:D/A
或PWM,有反馈的电机可以通过检测反馈精确控制.写程序就是跟据上述原理写的....

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919