南昌大学单片机课程设计设计图源程序文件

上传人:缘*** 文档编号:54450011 上传时间:2022-02-14 格式:DOCX 页数:34 大小:260.06KB
收藏 版权申诉 举报 下载
南昌大学单片机课程设计设计图源程序文件_第1页
第1页 / 共34页
南昌大学单片机课程设计设计图源程序文件_第2页
第2页 / 共34页
南昌大学单片机课程设计设计图源程序文件_第3页
第3页 / 共34页
资源描述:

《南昌大学单片机课程设计设计图源程序文件》由会员分享,可在线阅读,更多相关《南昌大学单片机课程设计设计图源程序文件(34页珍藏版)》请在装配图网上搜索。

1、专业.专注学习参考(上图硬件原理图可以另存为图片放大了看,清晰度五颗星,放心女?了)源程序清单;主程序入口;外部中断0入口ORG0000H0000020030LJMPMAINORG0003H0003 0200D4 LJMP A2DORG 000BH000B 02007A LJMP SELECTORG 0013H0013 020062 LJMP KEYORG 0030HMAIN:0030 75A886MOV IE,#86H0033 7590F6MOV P1,#0F6H0036 758C3CMOV TH0,#3CH0039 758AB0MOV TL0,#0B0H003C 758901MOV TMO

2、D,#01H003F D288SETB IT00041 120048LCALLXUEHAO0044 7C1EMOV R4,#30台匕目匕时1.5s的功能选择,因为定时器最多计时;踏步命令;学号显示子程程序;t0入口;外部中断1入口;主程序;外部中断0,t0,外部中断1使;键盘初值;t0赋初值;设置t0工作方式为方式1;打开中断0调用显示学号子程序;设置t0延时次数,即任务中延65536us,所以需要多次计时累计004680FESJMP$00489001A7XUEHAO:MOVDPTR,#XUEHAOTAB004B7A03MOVR2,#3;3次刷新;每次发送5个显示码进数码管004D7B05XU

3、EHAO2:MOVR3,#5004F 7400 XUEHAO1:MOV A,#0示的字型码0051 93MOVC A,A+DPTR0052 F599MOV SBUF,A0054 3099FDJNB TI,$0057 C299CLR TI发送0059 A3INC DPTR005A DBF3DJNZ R3,XUEHAO1005C12018DLCALL DELAY1S005F DAECDJNZ R2,XUEHAO20061 22RET0062 12019E KEY:LCALL DELAY10MS0065 20B311JB P3.3,KEY1按下状态,为按下则返回0068 9001B6MOV DPTR

4、,#SHUZITAB006B 1200B4LCALLJUDGEKEY006E 04INC A示的数字比键值大1)006F 93MOVC A,A+DPTR;a清零,dptr自加来选择需要显;查表,给a赋值;a发送到串行口;查询串行口发送中断标志位;清除中断标志位,准备进行下一次;dptr加1,指向下一个字型码地址;执行显示5个字型码;延迟1s;刷新3次;键盘按键响应程序;延迟10ms之后判断是否按键还是;dptr指向数字表首地址;调用判断键值子程序;键值加1调用字型码(因为硬件显;查表得字型码0079 32 KEY1: RETI;发送a到串行口进行显示;;打开定时器t0冲断返回0070F5990

5、0723099FD0075C2990077D28CMOVSBUF,AJNBTI,$CLRTISETBTR0SELECT:;长按1.5s功能选择程序007A20B319JBP3.3,SELECTOUT;判断按键是否按下,否则返回007DDC17DJNZR4,SELECTOUT;判断是否达到1.5s,否则r4减1返回(r4记录中断次数007F1200B4LCALLJUDGEKEY;调用判断键值子程序0082B40003CJNEA,#0,SELECT1;得到a的键值,判断功能008512009DLCALLD2A0088B40103SELECT1:CJNEA,#1,SELECT2008B120048L

6、CALLXUEHAO008EB40303SELECT2:CJNEA,#3,SELECT300911200CALCALLATOD00947C1ESELECT3:MOVR4,#30;r4重新赋初值;定时计数器重新赋初值0096758C3CSELECTOUT:MOVTH0,#3CH0099758A0BMOVTL0,#0BH009C32RETI冲断返回009D900FFFD2A:MOVDPTR,#0FFFH00A074C8MOVA,#20000A27A64MOVR2,#10000A414D2A1:DECA00A5F0MOVXDPTR,A00A6B400FBCJNEA,#0,D2A100A9120195

7、LCALLDELAY3MS00AC04D2A2:INCA00ADF0MOVXDPTR,A00AEB4c8FBCJNEA,#200,D2A200B1DAF1DJNZR2,D2A100B322RET;数模转换程序00B47800JUDGEKEY:MOVR0,#000B67400MOVA,#000B8309402JNBP1.4,JP100BB7801MOVR0,#100BD7590A7JP1:MOVP1,#0A7H00C0309002JNBP1.0,JP200C37402MOVA,#200C528JP2:ADDA,R000C67590F6MOVP1,#0F6H;键值判断程序00C922RET00CA

8、 E4ATOD: CLR A00CB D2A8SETB EX000CD 90FFFEMOV DPTR,#0FFFEH00D0 F0MOVX DPTR,A00D1 7814MOV R0,#2000D3 22RETA2D:00D4 90FFFEMOV DPTR,#0FFFEH00D7 D2D4A2D1: SETB RS100D9 E0MOVX A,DPTR00DA F5F0MOV B,A时候是从高位到低位倒置的)00DC 7400MOV A,#000DE 30F702JNB B.7,SS100E1 D2E0SETB ACC.000E3 30F602SS1:JNB B.6,SS200E6 D2E1S

9、ETB ACC.100E8 30F502SS2:JNB B.5,SS300EB D2E2SETB ACC.2模数转换程序;打开中断0;dptr指向adc0808首地址;启动adc0808;重新设定采样次数返回;模数转换中断响应程序;打开第三组;取得adc0808反馈值;把a中的值倒置(因为采样的00ED30F402SS3:JNBB.4,SS400F0D2E3SETBACC.300F230F302SS4:JNBB.3,SS500F5D2E4SETBACC.400F730F202SS5:JNBB.2,SS600FAD2E5SETBACC.500FC30F102SS6:JNBB.1,SS700FFD

10、2E6SETBACC.6010130F002SS7:JNBB.0,SS80104D2E7SETBACC.7010675F033SS8:MOVB,#51a的范围是0255,电压范围是05,010984DIVAB二位,以此类推010AFBMOVR3,A010BE5F0MOVA,B010D75F00AMOVB,#100110A4MULAB0111FAMOVR2,A0112E5F0MOVA,B0114B4000ACJNEA,#00,LP10117EAMOVA,R2;以下将得到数值转换成bcd码,因为所以将得到值除以51得到最高位整数值;然后第二位再乘10,除以51,得到第011875F033MOVB,

11、#51011B84DIVAB011CFAMOVR2,A011DE5F0MOVA,B011F800BSJMPLP20121EALP1:MOVA,R2012204INCA012375F033MOVB,#51012684DIVAB01272405ADDA,#50129FAMOVR2,A012AE5F0MOVA,B012C75F00ALP2:MOVB,#10012FA4MULAB0130F9MOVR1,A0131E5F0MOVA,B0133B40008CJNEA,#0,LP30136E9MOVA,R1013775F033MOVB,#51013A84DIVAB013BF9MOVR1,A013C8009S

12、JMPLP4013E E9LP3:MOV A,R1013F 04INC A0140 75F033MOV B,#510143 84DIV AB0144 2405ADD A,#50146 F9MOVR1,A0147120157LP4:LCALLDIANYACLR RS1014AC2D4014C90FFFEMOVDPTR,#0FFFEH014FF0MOVXDPTR,A;转换完成,最高位,次高位,最低位分别放在0150 D882DJNZ R0,A2D0152 7814MOV R0,#200154 C2A8CLR EX00156 32RETI0157 74FFDIANYA: MOV A,#0fH;显示电

13、压程序0159 F599MOV SBUF,A显示黑015B3099FDJNBTI,$015EC299CLRTI016074FFMOVA,#0FFH0162F599MOVSBUF,A01643099FDJNBTI,$0167C299CLRTI01699001B6MOVDPTR,#SHUZITAB016CEBMOVA,R3016D93MOVCA,A+DPTR016E547FANLA,#7FH0170F599MOVSBUF,A01723099FDJNBTI,$0175C299CLRTI0177EAMOVA,R2017893MOVCA,A+DPTR0179F599MOVSBUF,A017B3099FD

14、JNBTI,$017EC299CLRTI0180E9MOVA,R1018193MOVCA,A+DPTR0182F599MOVSBUF,A01843099FDJNBTI,$0187C299CLRTI018912018DLCALLDELAY1S018C22RET018D7D64DELAY1S:MOVR5,#100;延时一秒子程序018F12019EDELAY1S1:LCALLDELAY10MS0192DDFBDJNZR5,DELAY1S1019422RET01957E06DELAY3MS:MOVR6,#6;延时一秒子程序01977FFADELAY3MS1:MOVR7,#2500199DFFEDJN

15、ZR7,$019BDEFADJNZR6,DELAY3MS1019D22RET019E7E14DELAY10MS:MOVR6,#20;延时一秒子程序01A07FFADELAY10MS1:MOVR7,#25001A2DFFEDJNZR7,$01A4DEFADJNZR6,DELAY10MS101A622RET01A7FFFFF701AAF7F7XUEHAOTAB:DB0FFH,0FFH,0F7H,0F7H,0F7H01ACFBFBAB01AFA7B3DB0FBH,0FBH,0ABH,0A7H,0B3H01B1F9F9C001B482B0DB0F9H,0F9H,0C0H,82H,0B0H;学号显示表0

16、1B6C0F9A401B9B0999201BC82F88001BF90SHUZITAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H字表符号类型A2D=00D4HCODE标号A2D1=00D7HCODE标号AC=00D6HCONST常量ACCATODBCYD2AD2A1D2A2DELAY10MSDELAY10MS1DELAY1SDELAY1S1DELAY3MSDELAY3MS1DIANYADPHDPLEAESET0ET1EX0=00E0H CONST=00CAH CODE=00F0H CONST=00D7H CONST=009DH CODE=00

17、A4H CODE=00ACH CODE=019EH CODE=01A0H CODE=018DH CODE=018FH CODE=0195H CODE=0197H CODE=0157H CODE=0083H CONST=0082H CONST=00AFH CONST=00ACH CONST=00A9H CONST=00ABH CONST=00A8H CONST=00AAH CONST常量标号常量常量标号标号标号标号标号标号标号标号标号标号常量常量常量常量常量常量常量常量EX1F0=00D5HCONST常量F1=00D1HCONST常量IE=00A8HCONST常量IE0=0089HCONST常量

18、IE1=008BHCONST常量IP=00B8HCONST常量IT0=0088HCONST常量IT1=008AHCONST常量JP1=00BDHCODEJP2=00C5HCODEJUDGEKEY=00B4HCODEKEY=0062HCODEKEY1=0079HCODELP1=0121HCODELP2=012CHCODELP3=013EHCODELP4=0147HCODEMAIN=0030HCODEOV=00D2HCONST常量P=00D0HCONST常量P0=0080HCONST常量P1=0090HCONST常量P2=00A0HCONST常量P3=00B0HCONST常量PCON=0087HC

19、ONST常量PS=00BCHCONST常量PSW=00D0HCONST常量PT0=00B9HCONST常量PT1=00BBHCONST常量PX0=00B8HCONST常量PX1=00BAHCONST常量RB8=009AHCONST常量REN=009CHCONST常量RI=0098HCONST常量RS0=00D3HCONST常量RS1=00D4HCONST常量SBUF=0099HCONST常量SCON=0098HCONST常量SELECT=007AHCODESELECT1=0088HCODESELECT2=008EHCODESELECT3=0094HCODESELECTOUT=0096HCODE

20、SHUZITAB=01B6HCODESM0=009FHCONST常量SM1=009EHCONST常量SM2=009DHCONST常量SP=0081HCONST常量SS1=00E3HCODESS2=00E8HCODESS3=00EDHCODESS4=00F2HCODESS5=00F7HCODESS6=00FCHCODESS7=0101HCODESS8=0106HCODETB8=009BHCONST常量TCON=0088HCONST常量TF0=008DHCONST常量TF1=008FHCONST常量TH0=008CHCONST常量TH1=008DHCONST常量TI=0099HCONST常量TL0

21、=008AHCONST常量TL1=008BHCONST常量TMOD=0089HCONST常量TR0=008cHCONST常量TR1=008EHCONST常量XUEHAO=0048HCODEXUEHAO1=004FHCODEXUEHAO2=004DHCODEXUEHAOTAB=01A7HCODE公有符号:97私有符号:0姓对朋计必通的.山叫6.按广-|的31打故弭察.加I*.矶即也隆晴;- 不*单片机系统硬件原理图以下程序为wave输入源程序,不带机器码,方便同学复制粘贴体验神奇效果ORG 0000HLJMP MAINORG 0003HLJMP A2DORG 000BHLJMP SELECTOR

22、G 0013HLJMP KEYORG 0030HMAIN:MOV IE,#86HMOV P1,#0F6HMOV TH0,#3CHMOV TL0,#0B0HMOV TMOD,#01HSETB IT0LCALLXUEHAOMOV R4,#30SJMP $;主程序入口;外部中断0入口;t0入口;外部中断1入口;主程序;外部中断0,t0,外部中断1使能;键盘初值;t0赋初值;设置t0工作方式为方式1;打开中断0调用显示学号子程序;设置t0延时次数,即任务中延时1.5s的功能选择,因为定时器最多计时65536us,所以需要多次计时累计;踏步命令XUEHAO: MOV DPTR,#XUEHAOTABMOV

23、 R2,#3XUEHAO2:MOV R3,#5XUEHAO1:MOV A,#0MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIINC DPTRDJNZ R3,XUEHAO1LCALL DELAY1SDJNZ R2,XUEHAO2RETKEY: LCALL DELAY10MSJB P3.3,KEY1下则返回MOV DPTR,#SHUZITABLCALLJUDGEKEYINC A值大1);学号显示子程程序;3次刷新;每次发送5个显示码进数码管;a清零,dptr自加来选择需要显示的字型码;查表,给a赋值;a发送到串行口;查询串行口发送中断标志位;清除中断标志位,准备进行下一

24、次发送;dptr加1,指向下一个字型码地址;执行显示5个字型码涎迟1s;刷新3次;键盘按键响应程序;延迟10ms之后判断是否按键还是按下状态,为按;dptr指向数字表首地址;调用判断键值子程序;键值加1调用字型码(因为硬件显示的数字比键(r4记MOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTISETBTR0KEY1:RETISELECT:JBP3.3,SELECTOUTDJNZR4,SELECTOUT录中断次数)LCALLJUDGEKEYCJNEA,#0,SELECT1LCALLD2ASELECT1:CJNEA,#1,SELECT2LCALLXUEHAOSELECT2:CJNE

25、A,#3,SELECT3LCALLATODSELECT3:MOVR4,#30SELECTOUT:MOVTH0,#3CHMOVTL0,#0BHRETI;查表得字型码;发送a到串行口进行显示;打开定时器t0冲断返回;长按1.5s功能选择程序;判断按键是否按下,否则返回;判断是否达到1.5s,否则r4减1;调用判断键值子程序得到a的键值,判断功能;r4重新赋初值;定时计数器重新赋初值冲断返回D2A:MOVDPTR,#0FFFH;数模转换程序MOVA,#200MOVR2,#100D2A1:DECAMOVXDPTR,ACJNEA,#0,D2A1LCALLDELAY3MSD2A2:INCAMOVXDPTR

26、,ACJNEA,#200,D2A2DJNZR2,D2A1RETJUDGEKEY:MOVR0,#0;键值判断程序MOVA,#0JNBP1.4,JP1MOVR0,#1JP1:MOVP1,#0A7HJNBP1.0,JP2MOVA,#2JP2:ADDA,R0MOVP1,#0F6HRETATOD:CLRASETBEX0MOVDPTR,#0FFFEHMOVXDPTR,AMOVR0,#20RET;模数转换程序;打开中断0;dptr指向adc0808首地址;启动adc0808尊新设定采样次数;返回模数转换中断响应程序;打开第三组取彳导adc0808反馈值;把a中的值倒置(因为采样的时候是从高位到A2D:MOV

27、DPTR,#0FFFEHA2D1:SETBRS1MOVXA,DPTRMOVB,A低位倒置的)MOVA,#0JNBB.7,SS1SETBACC.0SS1:JNBB.6,SS2SETBACC.1SS2:JNBB.5,SS3SETBACC.2SS3:JNBB.4,SS4SETBACC.3SS4:JNBB.3,SS5SETBACC.4SS5:JNBB.2,SS6SETBACC.5SS6:JNBB.1,SS7SETBACC.6SS7:JNBB.0,SS8SETBACC.7SS8:MOVB,#51;以下将得到数值转换成bcd码,因为a的范围是0255,电压范围是05,所以将得到值除以51得到最高位整数值D

28、IVAB;然后第二位再乘10,除以51,得到第二位,以此类推MOVR3,AMOVA,BMOVB,#10MULABMOVR2,AMOVA,BCJNEA,#00,LP1MOVA,R2MOVB,#51DIVABMOVR2,AMOVA,BSJMPLP2LP1:MOVA,R2INCAMOVB,#51DIVABADDA,#5MOVR2,AMOVA,BLP2:MOVB,#10MULABMOVR1,AMOVA,BCJNEA,#0,LP3MOVA,R1MOVB,#51DIVABMOVR1,ASJMPLP4LP3:MOVA,R1INCAMOVB,#51DIVABADDA,#5MOVR1,ALP4:LCALLDIA

29、NYACLRRS1MOVDPTR,#0FFFEHMOVXDPTR,A;转换完成,最高位,次高位,最低位分别放在r3,r2,riDJNZR0,A2DMOVR0,#20CLREX0RETI;显示电压程序;显示黑DIANYA:MOVA,#0fHMOVSBUF,AJNBTI,$CLRTIMOVA,#0FFHMOVSBUF,AJNBTI,$CLRTIMOVDPTR,#SHUZITABMOVA,R3MOVCA,A+DPTRANLA,#7FHMOVSBUF,AJNBTI,$CLRTIMOVA,R2MOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,R1MOVCA,A+DPTRMOVS

30、BUF,AJNBTI,$CLRTILCALLDELAY1SRET;延时一秒子程序DELAY1S:MOVR5,#100DELAY1S1:LCALLDELAY10MSDJNZR5,DELAY1S1RETDELAY3MS:MOVR6,#6;延时一秒子程序DELAY3MS1:MOVR7,#250DJNZR7,$DJNZR6,DELAY3MS1RET延时一秒子程序DELAY10MS:MOVR6,#20DELAY10MS1:MOVR7,#250DJNZR7,$DJNZR6,DELAY10MS1RETXUEHAOTAB:DB0FFH,0FFH,0F7H,0F7H,0F7H;学号显示表DB0FBH,0FBH,0ABH,0A7H,0B3HDB0F9H,0F9H,0C0H,82H,0B0HSHUZITAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;数字表

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!