第一篇:單片機外圍電路設(shè)計及C語言編程視頻
單片機外圍電路設(shè)計及C語言編程視頻教程介紹
這是一部學(xué)單片機革命性的視頻教程,教程全部十二講,每講3小時左右,講座從最基本的預(yù)備知識開始講起,非常詳細(xì)的講解KEIL編譯器的使用,包括軟件仿真,測定時間,單步運行,全速運行,設(shè)置斷點,調(diào)試,硬件仿真調(diào)試,變量觀察等,整個過程全部用單片機的C語言講解,從C語言的第一個主函數(shù)MAIN講起,一步步一條條講解每一個語法,每條指令的意思,即使對單片機一巧不能,對C語言一無所知,通過本課程十節(jié)課的內(nèi)容也可以讓你輕松掌握51單片機的C語言編程設(shè)計,全新的講課風(fēng)格跳過復(fù)雜的單片機內(nèi)部結(jié)構(gòu)知識,首先從單片機的應(yīng)用講起一步步深入到內(nèi)部結(jié)構(gòu),讓學(xué)生徹底掌握其實際應(yīng)用方法,把51單片機的所有應(yīng)用每個部分都講解的非常仔細(xì),在講解單片機應(yīng)用的同時將單片機的常用外圍電路設(shè)計及電阻,電容選值等都講的清清楚楚,教師在教室前面用電腦一條一條寫程序,旁邊用TX-1C單片機實驗板一個實驗一個的演示,給學(xué)員解釋每條指令的意思及原理,通過十天的時間讓學(xué)生完全掌握單片機的C語言編程及單片機外圍電路設(shè)計的思想。全程的屏幕,聲音,用屏幕錄像,實驗板現(xiàn)象用攝像頭拍攝,這部教程算是國內(nèi)首個如此創(chuàng)新的以教師親自實踐為主,學(xué)員現(xiàn)場寫程序,直接下載到實驗板看現(xiàn)象,講單片機的視頻教程,只要你認(rèn)真看,認(rèn)真聽,保證十天讓你學(xué)會單片機應(yīng)用和C語言編程。
教師推薦書籍如下:
1.如果要學(xué)C語言基本知識請看 譚浩強寫的《C程序設(shè)計》 教師推薦的單片機書籍為以下兩本: 2.新編MCS-51單片機應(yīng)用設(shè)計 哈爾濱工業(yè)大學(xué)出版社
張毅剛
上書主要以匯編語言為主,對單片機內(nèi)部結(jié)構(gòu)介紹較詳細(xì),初學(xué)者可選擇本書,在聽講本課程的同時,不但學(xué)會了C語言,而且通過查看本書還可了解匯編語言。3.8051系列單片機C程序設(shè)計完全手冊 人民郵電出版社
求是科技
第二篇:《單片機與外圍電路設(shè)計》課程設(shè)計大綱(模版)
《單片機與外圍電路設(shè)計》課程設(shè)計大綱
一、基本信息
1、課程中文名稱:單片機與外圍電路設(shè)計課程設(shè)計
2、課程英文名稱:Course Design of Single-Chip Microcomputer
and its Peripheral Circuit Design3、課程編號:XX X XXX6位,1-2位為開課學(xué)院代碼,3位為開課層次(研究生0、本科
1、專科2),4-6位為課程序號。在不同學(xué)期開設(shè)的課程應(yīng)設(shè)置不同的代碼。非單獨設(shè)置的實驗課程依所屬課程代碼。課程編號應(yīng)與教務(wù)綜合管理系統(tǒng)中所用編號一致。
4、課程類別:專業(yè)課(專業(yè)理論課、專業(yè)技術(shù)課、專業(yè)實驗課)。
5、課程性質(zhì):專業(yè)選修課
6、適用層次:漢族本科
7、適用專業(yè):計算機科學(xué)與技術(shù)、通信工程
8、開課學(xué)期:第5學(xué)期
9、學(xué)時:兩周10、學(xué)分:1
二、實踐教學(xué)目標(biāo)與基本要求
隨著就業(yè)形勢日趨嚴(yán)峻,大學(xué)生的動手能力、實踐能力和綜合素質(zhì)越來越受到學(xué)校和用人單位的重視,在大學(xué)期間,課程設(shè)計是培養(yǎng)和鍛煉動手、實踐能力和綜合素質(zhì)的一個重要環(huán)節(jié),通過本課程設(shè)計能使學(xué)生對所學(xué)到的單片機知識進(jìn)行一次綜合實踐,掌握單片機各主要知識點。
學(xué)生應(yīng)了解單片機技術(shù)在家用電器以及自動控制工程中的應(yīng)用,熟悉單片機的原理與結(jié)構(gòu)。通過實驗、實訓(xùn)和一些單片機項目的制作,掌握單片機指令系統(tǒng)、結(jié)構(gòu)原理、接口技術(shù),以及單片機應(yīng)用系統(tǒng)開發(fā)、設(shè)計的基本技能。
三、選題
可供選題如下:(每三人一組,要求同時用匯編、C語言實現(xiàn),并畫出電路圖;總課程設(shè)計時間為兩周,在結(jié)束時須提交作品和課程設(shè)計論文)
(1)萬年歷設(shè)計(LCD顯示)
(2)定時鬧鈴(LCD顯示)
(3)定時鬧鐘(ds1302)
(4)音樂倒數(shù)定時器
(5)密碼鎖控制
(6)可存儲式電子琴
(7)電子搶答器設(shè)計
(8)串行通信設(shè)計
(9)數(shù)顯交通燈設(shè)計
(10)步進(jìn)電機控制設(shè)計
(11)I2C總線器件使用(LCD顯示)
(12)用12864設(shè)計的指針式電子鐘
(13)用1602與ds18b20設(shè)計的溫度報警器
(14)用ADC0808設(shè)計的調(diào)溫報警器
(15)溫度控制直流電機轉(zhuǎn)速
(16)用DAC0808設(shè)計的直流電機調(diào)速器
(17)用74LS595與74LS154設(shè)計的16*16點陣屏
(18)用數(shù)碼管設(shè)計的可調(diào)式電子鐘
(19)簡易計算器設(shè)計
(20)多路數(shù)字溫度測量系統(tǒng)
(21)直流電動機的轉(zhuǎn)速檢測與脈寬調(diào)速
(22)基于單片機的交通燈控制器設(shè)計
(23)基于單片機的路燈控制器設(shè)計
(24)基于51單片機的廣告燈設(shè)計
(25)基于單片機的USB接口設(shè)計
(26)PC機與單片機的串口通信
四、儀器設(shè)備配置
硬件工具:計算機基本的焊接工具萬用表
軟件工具:WINDOWS操作系統(tǒng) 匯編編譯器及連接器
高級語言編譯器 單片機仿真程序
五、教材與教學(xué)參考書
建議實驗指導(dǎo)書:
單片機C語言程序設(shè)計實訓(xùn)100例,彭偉,北京:電子工業(yè)出版社,2009.6,第四次印刷
單片機課程設(shè)計指導(dǎo),樓然苗,北京:北京航空航天大學(xué)出版社,2007.1,第五次印刷
六、實驗(實習(xí))報告
課程設(shè)計報告是課程設(shè)計工作的總結(jié)和提高,課程設(shè)計報告應(yīng)該反映出學(xué)生在課程設(shè)計過程中所做的主要工作和取得的主要成果,以及心得體會。學(xué)生必須以積極認(rèn)真、嚴(yán)謹(jǐn)求實的態(tài)度完成課程設(shè)計報告的撰寫。
課程設(shè)計報告編寫基本要求:
1、每個學(xué)生必須獨立完成課程設(shè)計報告;
2、課程設(shè)計報告應(yīng)書寫規(guī)范、文字通順、圖表清晰、數(shù)據(jù)完整、結(jié)論明確;
3、課程設(shè)計報告應(yīng)附參考文獻(xiàn);
4、課程設(shè)計報告不少于5000字,必須附有必要的結(jié)構(gòu)圖、流程圖及測試結(jié)果等項內(nèi)容。
(一)格式要求:
1、封面(統(tǒng)一格式)
2、課程設(shè)計任務(wù)書(統(tǒng)一格式)
3、報告內(nèi)容:
(1)題目
(2)姓名###,專業(yè)###,年級###,學(xué)號###
(3)摘要
(4)方案論證及概述
①所作題目的意義、本人所做的工作;②系統(tǒng)的主要功能。
(5)電路設(shè)計
原理簡述:①應(yīng)用系統(tǒng)的基本原理;②電路原理;③外圍設(shè)備器件工作原理。
(6)調(diào)試及性能分析
(7)結(jié)果(分析、討論)
(8)參考文獻(xiàn)
4、附件:
附A、原理圖
附B、課程設(shè)計的體會(想法與建議)
附C、學(xué)生反映意見表
(二)課程設(shè)計報告文字編寫格式和裝訂要求
1、設(shè)計報告一律要使用A4紙打印成文。
2、字間距設(shè)置為“標(biāo)準(zhǔn)”;
3、段落設(shè)置為“固定值22磅”;
4、字號設(shè)置為:
標(biāo)題:宋體二號加粗;
正文一級標(biāo)題:宋體四號加粗;
正文二級標(biāo)題:宋體小四號加粗;
其余漢字均為宋體小四號;
正文中所有非漢字均為Times New Roman 體;
5、設(shè)計報告裝訂的順序是:封面、正文、封底(留有指導(dǎo)教師的評閱空間)。
七、考核
課程設(shè)計成績考核,應(yīng)以學(xué)生對待設(shè)計的態(tài)度,設(shè)計中的動手能力和水平,課程設(shè)計說明書、設(shè)計總結(jié)報告的質(zhì)量及實際動手能力幾個方面的情況,對學(xué)生進(jìn)行綜合考核,按優(yōu)、良、中、及格和不及格五個等級評分。成績通過課程設(shè)計表現(xiàn)、動手能力和課程設(shè)計報告綜合評定學(xué)生設(shè)計成績。其中考勤占15%,動手能力和課程設(shè)計效果占50%,課程設(shè)計報告和總結(jié)占35%。
1、優(yōu)秀(成績>90)
課程設(shè)計態(tài)度端正,無缺勤和違紀(jì),勞動刻苦、勤奮,工作積極主動;全面完成大綱要求,實際操作能力強,理論聯(lián)系實際好,作業(yè)質(zhì)量高,內(nèi)容正確,課程設(shè)計報告全面系統(tǒng),考試中回答問題正確完滿。
2、良好(80<成績≤90)
課程設(shè)計態(tài)度端正,無違紀(jì)現(xiàn)象,工作積極主動,較好完成大綱要求,有一定的實際操作能力,能理論聯(lián)系實際,虛心學(xué)習(xí),作業(yè)內(nèi)容正確,課程設(shè)計報告全面系統(tǒng),考試中能較完滿正確地回答問題。
3、中等(70<成績≤80)
學(xué)習(xí)態(tài)度基本正確,無違紀(jì)現(xiàn)象;有一定的實際操作能力,能理論聯(lián)系實際,作業(yè)內(nèi)容基本正確,達(dá)到課程設(shè)計大綱的要求,考核中能正確回答基本問題。
4、及格(60<成績≤70)
課程設(shè)計態(tài)度基本正確,達(dá)到課程設(shè)計大綱的基本要求。能完成課程設(shè)計作業(yè)和課程設(shè)計報告,內(nèi)容基本正確,考試中能回答基本問題。
5、不及格(成績<60)
凡屬下列條件之一者,均以不及格處理。
①未達(dá)到及格要求者;
②因故缺勤時間三分之一以上者。
第三篇:--單片機C語言編程實訓(xùn)
實習(xí)報 告
實習(xí)地點:201機房
實習(xí)時間:2014.12.1——2014.12.6 實習(xí)項目:單片機C語言編程實訓(xùn) 指導(dǎo)老師:駱
樂 姓
名:
班
級:電信3121
一、實習(xí)內(nèi)容 1.計算字符的ASCII碼
編寫一個程序,在終端輸入一個字符,輸出它的ASCII碼。解題思路:通常我們輸出一個字符一般用printf(“%c”,c);的形式,因為輸出格式規(guī)定的是“%c”,因此表示以字符的形式輸出,所以我們看到的是相對應(yīng)的ASCII碼的字符形式。
用char定義字符a,a的值為任意值。輸出結(jié)果a=%d。源代碼:
#include
2.嵌套if-else語句的妙用
學(xué)校進(jìn)行成績分級管理,取消分?jǐn)?shù)制,改為成績分級評定。具體辦
法是:小羽60分為E類;60分至70分(不含70分)為D類;70分至80分(不含)為C類;80分至90分(不含)為B類;90分以上為A類。設(shè)計一個程序。對輸入的成績進(jìn)行等級劃分。
解題思路:先把頭文件和主函數(shù)輸入。定義score為整型變量,定義grade為字符型變量。定義score為任意值scanf(“%d”,score)。使用多分支條件語句,判斷趁機的等級。
源代碼:
#include
}
程序截圖:
3.判斷日期
輸入一個日期(年月日),輸出這是某年的第幾天。源代碼:
#include “stdio.h” void main(){ int year,month,day;int cday;scanf(“%d %d %d”,&year,&month,&day);switch(month){ case 1: cday = 0;break;case 2: cday = 31;break;case 3: cday = 31+28;break;case 4:
cday = 31+28+31;break;case 5: cday = 31+28+31+30;break;
case 6: cday = 31+28+31+30+31;break;case 7: cday = 31+28+31+30+31+30;break;case 8: cday = 31+28+31+30+31+30+31;break;case 9: cday = 31+28+31+30+31+30+31+31;break;case 10: cday = 31+28+31+30+31+30+31+31+30;break;case 11: cday = 31+28+31+30+31+30+31+31+30+31;break;
case 12:
cday = 31+28+31+30+31+30+31+31+30+31+30;
break;} cday += day;
if((year % 4 ==0 && year % 100!=0 || year % 400 == 0)&& month > 2){ cday += 1;} printf(“%d,n DCF 14 ”,cday);
getch();}
程序截圖:
4.打印特殊圖案
請設(shè)計一個程序,實現(xiàn)在屏幕上輸出一個下面的圖案 解題思路:直接輸入編程,但要注意*間的空格。源代碼:
#include
* n * * * n* * * * *n ,DCF 14 n”);getch();}
程序截圖:
5.求兩個數(shù)的最大公約數(shù)和最小公倍數(shù)
編寫一個程序計算兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù)
源代碼:
#include
int main(int argc,int *argv[]){ int num1,num2,temp;int a,b;a > b;printf(“please input 2 number:”);scanf(“%d,%d”,&num1,&num2);if(num1 < num2){ temp = num1;num1 = num2;num2 = temp;} a = num1;b = num2;while(b){ temp = a % b;a = b;b = temp;}
printf(“the zuidagongyuehsu:%d,the zuixiaogongbeishu:%dn”,a,num1 * num2 / a);printf(“%dn,dcf 14 n”);system(“pause”);return 0;getch();}
程序截圖:
6.猴子吃桃問題
有一只猴子第一天摘下若干個桃子,當(dāng)即吃掉了一半,又多吃了一個;第二天又將剩下的桃子吃了一半,有多吃了一個;按照這樣的吃法每天都吃前一天剩下的桃子的一半又一個。到了第10天,就只剩一個桃子。問題:這只猴子第一天摘了多少個桃子。源代碼:
#include
void main(){ int day,x1,x2;day=9;x2=1;while(day>0){ x1=(x2+1)*2;x2=x1;day--;} printf(“total=%dn dcf 14”,x1);getch();}
程序截圖:
7.誰在說謊
3個嫌疑犯在法官面前各執(zhí)一詞,甲說:已在說謊;已說:甲在說謊;丙說:甲已兩人都在說謊。法官為了難,甲乙丙三人到底誰在說謊,睡說的是真話呢?
源代碼:
#include
int main(int argc, char *argv[]){
int a,b,c;
for(a=0;a<2;a++)
for(b=0;b<2;b++)
for(c=0;c<2;c++)
if((a&&!b ||!a&&b)&&(b&&!c || b&&c)&&(c &&a+b == 0 ||!c&&a+b!= 0))
printf(“j told a %sn”,a?“truth”:“l(fā)ie”);
printf(“y told a %sn”,b?“truth”:“l(fā)ie”);
printf(“b told a %sn”,c?“truth”:“l(fā)ie”);
printf(“%dn dcf 14n”);
getch();}
程序截圖:
第四篇:C語言編程
#include(stdio.h)
main()
{ int question[4]={-1,-1,-1,-1},i=0,j=0,k=0,A=0,B=0,answer[4]={0};
char again='y';
while(again=='y'){ srand((int)time(0));
while(i4){ k=(int)rand()%10;
for(j=0;ji;j++)if(k==question[j]){ k=-1;break;}
if(k==-1)continue;question[i]=k;i++;}/*while i*/
for(i=8;i0;i--)/*還有8次機會*/
{ A=0;B=0;printf(“n你還剩下%d次機會。”,i);
printf(“n請輸入四個0-9之間的數(shù)字,中間用空格隔開n”);for(j=0;j4;j++)scanf(“%d”,&answer[j]);
for(j=0;j4;j++)
for(k=0;k4;k++)
{ if(answer[j]==question[k]){ if(j==k)A++;else B++;} }/*for*/
if(A==4){ again='0';
printf(“n你贏了,還繼續(xù)猜嗎?(y/n)”);
while(again!='y'&&again!='n')
scanf(“...%c”,&again);break;}/*if*/
printf(“n%dA%dB”,A,B);if(i==1){ again='0';
printf(“n你輸了,正確答案是”);
for(j=0;j4;j++)
printf(“%dt”,question[j]);
printf(“n還繼續(xù)嗎?(y/n)”);
while(again!='y'&&again!='n')scanf(“%c”,&again);
printf(“%c”,again);break;}/*if*/ }/*for changce*/ }/*while again*/ printf(“感謝您玩這個游戲?!?;}
第五篇:C語言經(jīng)典編程題(推薦)
C語言經(jīng)典編程題
題目01:在一個已知的字符串中查找最長單詞,假定字符串中只含字母和空格,空格用來分隔不同的單詞。
[cpp] view plain copy print?
1.2.3.4.5.6.7.8.9.int main(){
// 用數(shù)組定義一個字符串
char array[50] = “zha junju zhamengjun z mengjun”;
char *str = array;// 定義指針變量str,指向數(shù)組array
int len = 0;// 定義變量len,用于計數(shù)
int max = 0;// 定義變量max,存放最長單詞的長度
char *p = 0;// 定義指針變量p,指向最長單詞的首字符
10.11.// 判斷指針當(dāng)前指向的字符是不是'