當前位置:首頁 » 課程大全 » 單片機原理及介面課程設計

單片機原理及介面課程設計

發布時間: 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