基于单片机的函数发生器课程设计原创内容摘要:

航空航天大学出版社 ,1999 [4] 胡汉才 主编 .单片机原理及系统设计 .北京:清华大学出版社, 2020 [5] 万福君 主编 .单片机微机原理系统设计与应用 .合肥:中国科学 技术大学出版社 ,2020 [6] 陈明英 主编 .8051 单片机课程设计实训教材 .北京:清华大学出版社 ,2020 [7] 张 洪润 主编 .单片机应用技术教程(第二版) .北京:清华大学出版社 ,2020 [8] 张淑清 主编 .片微型计算机接口技术及应用 .北京 :国防工业出版社 ,2020 [9] 谭浩强主编 .C 程序设计 .北京 :清华大学出版社 ,2020 16 附录 附录 1 元件清 单 Designator Part Type 7805 7805 C1 C2 C3 C4 104 C6 C+ C7 104 C8 C+ R1 SSOP16 R9 S1 SPST2 S2 SPST2 S3 SPST2 S4 SPST2 S5 SPST2 S6 SPST2 S7 SPST2 S8 SPST2 S9 SPST2 U1 J20A U2 SO8_N U3 1602 U4 SOT1291 Y1 R38 17 附录 2 电路原理图 附图 电路原理图 18 附录 3 程序清单 include define uchar unsigned char sbit rs=P3^0。 sbit rw=P3^1。 sbit eg=P3^2。 uchar code table[]={Volt}。 uchar code table2[]={39。 039。 ,39。 139。 ,39。 239。 ,39。 339。 ,39。 439。 ,39。 539。 ,39。 639。 ,39。 739。 ,39。 839。 ,39。 939。 }。 uchar b=0,c=0,d=0,i,tl,th。 uint k=0 int ww=0,qw=0,bw=9,sw=3,gw=3,n=20,chh=50。 //ww 为万位数字 ,qw为千位数字 ,bw 为百位数 字 , //sw 为十位数字 ,gw 为个位数字 . int t,f,m,choice=1。 //t 为时间变量, f 为频率变量, choice 为波形类 型 选 择 变 量 , **************************************************** void delay(unsigned int x) { int i,j。 for(i=0。 ix。 i++) for(j=0。 j120。 j++)。 } // 写 指 令 函 数***************************************************** void writezl(unsigned char zl) { rs=0。 rw=0。 //满足写指令的条件; P2=zl。 delay(5)。 eg=1。 delay(5)。 eg=0。 } // 写 数 据 函 数************************************************** void writesj(unsigned char sj) { rs=1。 rw=0。 //满足写数据的条件; P2=sj。 delay(5)。 eg=1。 delay(5)。 eg=0。 } // 初 始 化 程 序************************************************** 19 void initial() { eg=0。 writezl(0x38)。 //显示模式设置; writezl(0x0c)。 //开显示,不开光标,光标不闪烁; writezl(0x06)。 //写数据时,每写一个数据,指针后移动一位,但是整屏不动; writezl(0x80+0x00)。 //在显示器的第一行第一位开始写数据; } // 显示函数******************************************************** void display() { int i。 for(i=0。 i3。 i++) writesj(table[i])。 writezl(0x80+0x04)。 writesj(table2[chh/10])。 writezl(0x80+0x05)。 writesj(39。 .39。 )。 writezl(0x80+0x06)。 writesj(table2[chh%10])。 writezl(0x80+0x07)。 writesj(39。 V39。 )。 writezl(0x02)。 //清除指针,但是不清楚显示内容; writezl(0x80+0x40)。 //跳转到下行的第一位开始置显示; writesj(39。 F39。 )。 writezl(0x80+0x41)。 writesj(39。 r。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。