《单片机技术》实验指导书(8)

2019-01-07 19:18

kpTH1

DAC0832AD

EXTRN DATA 3EH XDATA 0F000H

CODE(GetKeyA,Display8)

;DAC0832片选地址

CSEG AT LJMP CSEG AT LJMP CSEG AT LJMP CSEG AT START: MOV

LCALL MAIN: LCALL JNC

JNZ Key0: MOV ADD CJNE JNC

MOV Key0_1: MOV LCALL

SJMP Key1: MOV CLR SUBB JNC

CLR Key1_1: MOV

LCALL Main1: JNB CLR LCALL

JMP ;主程序初始化

0000H START 000BH TIME0 0013H iINT1 0100H SP,#60H MainINIT GetKeyA Main1 Key1 A,#VoltageOffset A,VOLTAGE A,VOLTAGE,$+3 Key0_1 A,#0FFH VOLTAGE,A DAC Main1 A,VOLTAGE C A,#VoltageOffset Key1_1 A VOLTAGE,A DAC F0,MAIN F0

RateTest MAIN

-34-

;定位0

;用于定时

;光电开关产生脉冲,触发中断

;初始化 ;按键扫描

;0号键按下,转速提高

;最大 ;D/A

;1号键按下,转速降低

;最小 ;D/A

;F0=1,定时标志,刷新转速

;计算转速/显示

;循环进行实验内容介绍与测速功能测试

MainINIT: CLR MOV F0

VOLTAGE,#99H A,VOLTAGE DAC

MOV LCALL ;定时器/计数器初始化 MOV MOV MOV

;清读取转速标志

;初始化转换电压输入值,99H-3.0V

;初始D/A

MOV MOV MOV MOV MOV MOV MOV SETB SETB SETB SETB SETB SETB RET

;定时器0中断服务程序 TIME0: PUSH ACC MOV TL0,#0D5H ;产生0.25s的定时(采用晶振11.0592MHZ) MOV TH0,#4BH DJNZ R4,TIMER0_1 SETB F0 ;0.25 * 4s间隔标志F0 MOV R4,#5*4 MOV A,NowCountL RR A RR A ANL A,#3FH MOV Count,A MOV A,NowCountH

-35-

TMOD,#11H

;开定时器0:定时方式1,定时器1:定时方式1 R4,#5*4 ;定时5x50x4 ms

TL0,#0D4H ;初始化定时器0,定时50ms(11.0592MHZ) TH0,#4BH TL1,#00H ;初始化器定时1 TH1,#00H kpTL1,#00H ;保存上一次定时器1的值 kpTH1,#00H NowCountL,#0 ;计数器 NowCountH,#0 TR0 ;开始定时 TR1 ;开始定时 ET0 ;开定时器0中断 EX1 ;开外部中断1 IT1 ;边沿触发 EA ;允许中断

RR A RR A ANL A,#0C0H

;转一圈,产生四个脉冲,Count = NowCount/4 ORL Count,A

MOV MOV TIMER0_1: POP RETI iINT1: PUSH PUSH CLR MOV CLR SUBB MOV MOV SUBB JNZ MOV CJNE JC iINT1_1: INC MOV JNZ INC iINT1_3: MOV iINT1_2: MOV SETB POP POP RETI ;转速测量/显示 RateTest: MOV MOV DIV JNZ MOV RateTest1: MOV

NowCountL,#0 NowCountH,#0 ACC PSW ACC TR1 A,TL1 C A,kpTL1 kpTL1,A A,TH1 A,kpTH1 iINT1_1 A,kpTL1 A,#30H,$+3 iINT1_2 NowCountL A,NowCountL iINT1_3 NowCountH kpTL1,TL1 kpTH1,TH1 TR1 ACC PSW A,Count B,#10 AB RateTest1 A,#10H buffer+1,A -36- ;光电开关产生脉冲,触发中断 ;过滤干扰脉冲 ;高位为0,不需要显示

MOV buffer,B MOV A,VOLTAGE ;给0832送的数据 ANL A,#0FH MOV buffer+4,A MOV A,VOLTAGE ANL A, #0F0H SWAP A MOV buffer+5,A MOV buffer+2,#10H ;不显示 MOV buffer+3,#10H MOV buffer+6,#10H MOV buffer+7,#10H MOV R0,#buffer LCALL Display8 ;显示转换结果 RET ;数模转换,A-转换数字量 DAC: MOV DPTR,#DAC0832AD MOVX @DPTR,A RET END 七.思考题

在日光灯或白炽灯下,将转速调节到25、50、75,观察转盘有什么现象出来?

-37-

实验十三 LED16*16点阵实验 一、实验目的与要求 1、熟悉8155、8255的功能,了解点阵显示的原理及控制方法; 2、学会使用LED点阵,通过编程显示不同字符; 3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。 二、实验设备 STAR系列实验仪一套、PC机一台。 三、实验内容 1、编写程序,用8255的PA、PB口控制16×16点阵的行;8255的PC口、8155的PA口控制16×16点阵的列;显示字符。 2、按图连接线路;运行程序,观察实验结果,学会控制LED点阵显示字符。 四、实验原理图 JP338255JP3481551017151311864219110171513118642A8A7A6A5A4A3A2A1U48SN74LS240NPA0PA1PA2PA3PA4PA5PA6PA7OE2OE1VCCGNDOE2OE120VCCVCCLED387314212115R1R2R3R4R5R6R7R8LED487314212115R1R2R3R4R5R6R7R8PC0PC1PC2PC3PC4PC5PC6PC7R9R10R11R12R13R14R15R16C1C2C3C4C5C6C7C8LG7088BHR1R2R3R4R5R6R7R8DS19R61470VCCJP2212GNDY8Y7Y6Y5Y4Y3Y2Y1A8A7A6A5A4A3A2A1U48SN74LS240N8255357912141618U12119JP23L1L2L3L4L5L6L7L8PA0PA1PA2PA3PA4PA5PA6PA724681113151710OE1OE2A1A2A3A4A5A6A7A8GNDU13119JP24L9L10L11L12L13L14L15L16PB0PB1PB2PB3PB4PB5PB6PB724681113151710OE1OE2A1A2A3A4A5A6A7A8GNDSN74LS244NVCCVCC161649151013LED1C1C2C3C4C5C6C7C8Y1Y2Y3Y4Y5Y6Y7Y818161412975387314212115R1R2R3R4R5R6R7R88255LG7088BHSN74LS244NVCC20161649151013LED218161412975387314212115R1R2R3R4R5R6R7R8Y1Y2Y3Y4Y5Y6Y7Y88255C1C2C3C4C5C6C7C8LG7088BH161649151013C1C2C3C4C5C6C7C8LG7088BH161649151013VCC20VCC35791214161820Y8Y7Y6Y5Y4Y3Y2Y1191 -38- 1112


《单片机技术》实验指导书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《控制工程基础》参考复习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: